High Availability Environments

For many configurations it is desirable to install NowSMS on multiple servers in order to achieve fault tolerance and/or improved throughput and performance. NowSMS offers extreme configuration flexibility to facilitate these requirements.

This document outlines the multi-server configuration options that exist for NowSMS v2008.06.03 and later versions.

Preferred Solution for Load-Balanced Multi-Server NowSMS Configuration

For most load-balanced multi-server installations it is desirable for each NowSMS server to share the exact same configuration information (SMSC and MMSC connections, user accounts) and message queues.

To run NowSMS in this configuration, the NowSMS program files are installed locally on each server. A load balancer is used to route network traffic to any of the NowSMS servers.

The shared configuration information and message queues are stored on a shared (often fault-tolerant) network storage server.

After installing NowSMS on each of the load balanced servers it is necessary to then create a special file named SHAREDVOLUME.INI in the NowSMS program directory. In this file, under a header of [SharedVolume], the following settings are supported:

SharedVolume=\\server\path\

The “SharedVolume” setting specifies a shared directory location under which NowSMS should look for and store all configuration files and message queues.

MessageIDPrefix=xxx

The “MessageIDPrefix” setting specifies a prefix that should be added to all SMS message IDs generated by NowSMS. By specifying a unique value for this setting on each NowSMS server, this ensures that the message IDs that NowSMS generates are unique across each server in a multi-server installation. (Note: For installations that do not use SHAREDVOLUME.INI, it is also possible to specify this setting under the [SMSGW] header of SMSGW.INI.)

LogDirectory=d:\path\

The “LogDirectory” setting specifies a directory under which NowSMS should generate all log files other than debug logs. If not specified, this defaults to the NowSMS program directory. (Note: For installations that do not use SHAREDVOLUME.INI, it is also possible to specify this setting under the [SMSGW] header of SMSGW.INI.)

DebugLogDirectory=d:\path\

The “DebugLogDirectory” setting specifies a directory under which NowSMS should generate any debug log files. If not specified, this defaults to the NowSMS program directory. (Note: For installations that do not use SHAREDVOLUME.INI, it is also possible to specify this setting under the [SMSGW] header of SMSGW.INI.)

Advanced and Custom Multi-Server Configurations

The SHAREDVOLUME.INI solution is ideal for most load-balanced multi-server NowSMS installations. However, for some installations it may be desirable to have slightly different configurations on each server, while sharing some message queues. In those installations, rather than using the SHAREDVOLUME.INI file, settings for individual shared queues or configuration information can be applied in the SMSGW.INI or MMSC.INI file by advanced users.

The following advanced settings are supported for this purpose:

QDir=d:\path or QDir=\\server\path

This setting can be applied in the [SMSGW] section of the SMSGW.INI file to specify the location of the outbound SMS message queue. By default this is the “Q” subdirectory of the NowSMS installation.

BulkQDir=d:\path or BulkQDir=\\server\path

This setting can be applied in the [SMSGW] section of the SMSGW.INI file to specify the location of the outbound bulk SMS message queue. This message queue is used only when the web interface is used to submit the same message to a large number of recipients. By default this is the “BulkQ” subdirectory of the NowSMS installation.

MessageIDTrackingDir=d:\path or MessageIDTrackingDir=\\server\path

This setting can be applied in the [SMSGW] section of the SMSGW.INI file to specify the location of the SMPP receipt message id tracking database. By default this is the “SMPPData” subdirectory of the NowSMS installation.

UsersDir=d:\path or UsersDir=\\server\path

This setting can be applied in the [SMSGW] section of the SMSGW.INI file to specify the location of the “SMS Users” database, which contains all “SMS Users” account information and pending message queues. By default this is the “Users” subdirectory of the NowSMS installation and the SMSUsers.D2A/D2I files in the NowSMS directory.

SMSInDir=d:\path or SMSInDir=\\server\path

This setting can be applied in the [SMSGW] section of the SMSGW.INI file to specify the location of the SMS-IN directory which is used to queue received SMS messages that are pending for delivery to a 2-way command. By default this is the “SMS-IN” subdirectory of the NowSMS installation.

DataDir=d:\path or DataDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of the MMS Message Store for messages pending delivery. By default this is the “MMSCData” subdirectory of the NowSMS installation.

MMSDir=d:\path or MMSDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of the MMS-IN directory that is used when received MMS messages are converted to a file/ directory based interface. By default this is the “MMS-IN” subdirectory of the NowSMS installation.

MMSCUsersDir=d:\path or MMSCUsersDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of the “MMSC Users” database. By default this is the “MMSCUsers” subdirectory of the NowSMS installation, and the MMSCUsers.DB file in the NowSMS directory.

MMSSMSDataDir=d:\path or MMSSMSDataDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of the MMS Message Store for messages that have been converted to an “SMS with web link”. By default this is the “MMSSMS” subdirectory of the NowSMS installation.

VASPConfigDir=d:\path or VASPConfigDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of all configuration information for incoming and outgoing MMSC routes (e.g., “MMSC VASP” and “MMSC Routing” definitions). By default this is the “VASPIN” and “VASPOUT” subdirectories of the NowSMS installation, along with the VASPIN.D2A/D2I and VASPOUT.D2A/D2I files.

VASPQDir=d:\path or VASPQDir=\\server\path

This setting can be applied in the [MMSC] section of the MMSC.INI file to specify the location of the MMS message queue for messages pending delivery to an external MMSC (“MMSC Routing”). By default this is the “VASPQ” subdirectory of the NowSMS installation.