SMSGW.INI & MMSC.INI Parameters:

SMSGW.INI & MMSC.INI Parameters: SearchSearch
Author Message
Kent Williams
Moderator
Username: Kent

Post Number: 135
Registered: 10-2003
Posted on Friday, August 25, 2006 - 05:04 pm:   

Updated information for SMSGW.INI and MMSC.INI settings in NowSMS 2006 can be found at the following link:

http://support.nowsms.com/discus/messages/485/17220.html
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3349
Registered: 10-2002
Posted on Wednesday, August 25, 2004 - 07:17 pm:   

There are a number of specialised settings for NowSMS that can be applied by manually editing the SMSGW.INI and/or MMSC.INI files.

This thread will attempt to collect the (semi)undocumented settings that can be applied in these files. Most of these settings have previously only been documented in readme.txt files associated with new releases.

This thread will not document any of the settings that can be applied via the NowSMS user interface ... only the settings that are only available through manually editing the configuration files.

Please note that as these settings are not well documented, they do not receive the same amount of real-world testing. Use extreme care when applying any of these settings. You should always test thoroughly after applying any of these settings to make sure that NowSMS continues to function as you need it to.

Also note that this list is for v5.51. Some of the settings mentioned here may not be available in earlier versions.

As this is a rather time consuming process to collect and document these settings, I will start with SMSGW.INI, and add details of MMSC.INI in a future posting.

SMSGW.INI, [SMSGW] section:

MMSDir=d:\path\

Specifies an alternate location for the "MMS-IN" subdirectory in which received MMS messages are deposited.

QDir=d:\path\

Specifies an alternate location for the "Q" subdirectory in which outbound SMS messages are queued. (Note: There was a bug in this setting for versions prior to v5.51 where the MMSC would not check this setting. The MMSC would queue messages into the default "Q" directory location, but they would never be sent.)

WAPPushInitiatorURI=http://server/

Set the default value for the initiator URI in WAP push messages generated by NowSMS. This value is displayed as the message sender with some phones, such as the SonyEricsson P900. (If an initiator URI is not present, some phones display the message as being from a blank or "unknown sender".) See http://support.nowsms.com/discus/messages/485/5910.html.

WAPPushFlag=

Sets the default value for the "Push-Flag" header in a WAP push message. See http://support.nowsms.com/discus/messages/485/5910.html.

MMSCOMPParameters=

Specify command line parameters to pass to MMSCOMP when messages are submitted via the web interface. This is most frequently used to specify the character set to be applied to text files that are submitted via the web interface.

NowSMS will automatically specify the UTF-8 character set, if necessary, for text posted in the "MMSText" variable, but it does not specify a character set for text that is submitted as a file upload.

To specify UTF-8 as the character set for text files submitted for MMS via the web interface, set MMSCOMPParameters=-cUTF-8

RetryDelay=
RetryDelayMultiplier=
RetryDelayAfterAttempts=
RetryDelayMax=
RetryMaxAttempts=

The above parameters control retry behaviour for when NowSMS is submitting messages to an SMSC and an error occurs.

RetryDelay=#### specifies a number of seconds to wait to retry sending after an error condition, the default value is 30.

RetryDelayMultiplier=### specifies a multiplier to be applied for successive send failures, the default value is 1. For each failed attempt, the retry delay will be the product of RetryDelay*RetryDelayMultiplier*#FailedAttempts.

To use a fixed retry delay of RetryDelay, specify RetryDelayMultiplier=0.

RetryDelayAfterAttempts=### specifies that the retry delay should only be applied after ### failed attempts, the default value is 2. NowSMS will immediately retry a failed message send until it has made RetryDelayAfterAttempts, after which it will apply a retry delay.

RetryMaxAttempts=### specifies the maximum number of retries that NowSMS will attempt before a message is rejected, the default value is 20.

ReceiveSMSCharset=

When NowSMS calls a "2-way" command to pass details of a received SMS message, by default it will use the UTF-8 character set for the encoding of text messages.

This setting allows you to condfigure NowSMS to use a character set other than UTF-8 for transmitting text to a 2-way command. This value should specify a valid character set name (such as iso-8859-1 for the standard Western European character set, iso-8859-6 for Arabic, big5 or gb2312 for different Chinese encodings).

2WayProxy=

Specifies that HTTP requests defined in the "2-way" command table should be processed via an HTTP proxy server. Use a format of ip.address:port for specifying the address of the HTTP proxy server.

LogRetainDays=####

#### specifies the number of days for which logs (e.g., SMSOUT-yyyymmdd.LOG) should be retained. Values of 365 or larger are not supported.

Debug=Yes

Enables the SMSDEBUG.LOG file for troubleshooting.

DebugXmlSettings=Yes

Configures NowSMS not to delete temporary XML settings files that are generated when sending OTA configuration messages.

When sending OTA configuration messages, NowSMS generates an XML document containing the settings, before the settings are encoded for sending out over SMS. Normally, NowSMS deletes the XML documents as the settings are sent out. When this setting is enabled, NowSMS leaves the XML documents behind in its "TEMP" subdirectory. This setting is intended primarily to assist users in creating their own XML settings documents. They can view the XML documents created by NowSMS via the menu interface, and then make custom modifications.

This setting should be removed from the INI file when it is no longer needed for testing.

OldModemHandler=Yes (obsolete)

This setting is referenced in various threads on the discussion board as a potential solution for dealing with problem modems. However, the setting is obsolete and should not be used with current versions of NowSMS.

ModemSendDelay=####

#### is a number of milliseconds (thousandths of a second) to pause in between sending commands to a GSM modem. Some poorly engineered modems might not be able to process modem commands as quickly as NowSMS sends them. This setting can force a short delay between commands.

SMSAccountingURL=

See http://www.nowsms.com/support/bulletins/tb-nowsms-001.htm.

LogDirectory=d:\path

Specifies an alternate location for the log files (e.g., SMSOUT-yyyymmdd.LOG). Does not affect the location of debug log files.

BinaryDCS=

Specifies a hex value to be used as the DCS value when sending WAP Push messages or MMS notifications via WAP Push.

NowSMS default value is F5, however a value of 4 may be required on some networks.

LongTextDCS=

Specifies a hex value to be used as the DCS value when sending long text messages.

NowSMS default value is 0. (And I'm not aware of any configurations where this had to be changed.)

ExtraHttpArgList=var1,var2,...

"var1", "var2", etc., are the names of HTTP variables. (Use only a comma to separate the variable names if you have multiple variables ... with no white space around the commas.) NowSMS parses requests that it receives, looking for these variable names. If the message is routed to an HTTP-based SMSC, it appends these variables and their associated values to the HTTP URL. (If the message is routed to any other type of SMSC, the variables are ignored.)

See http://support.nowsms.com/discus/messages/1/321.html.

2WaySMSThreadCount=##

When NowSMS receives an SMS message over an SMSC connection, it can be configured to process a "2-way" command to process the message.

NowSMS queues the received SMS message, and a separate thread within NowSMS processes the callbacks, so other gateway activity of sending and receiving messages can continue while the callbacks are being processed.

This approach is reasonably efficient. However, if you receive a large volume of messages, our experience has shown that HTTP callbacks can only be processed at a rate of 3 to 4 messages per second.

If you need to process inbound messages at a faster rate, it is possible to allocate additional threads to the receive SMS processing. This parameter specifies how many threads should be allocated for processing received messages.

In practice, the overhead of allocating additional threads for this processing is relatively low, as the threads spend most of their time waiting for a message to process or waiting for an HTTP response from the callback that is issued.


SMSGW.INI, section specific to an SMSC defintion:

SMSCSendLimit=

SMSCSendLimit=x/y setting can specify that the gateway will send no more than x messages per y seconds. If y is not specified, then the default is 1. For example, to limit a connection to 1 message every 5 seconds, specify SMSCSendLimit=1/5. To limit a connection to 3 messages per second, specify SMSCSendLimit=3 or SMSCSendLimit=3/1.

Charset= (HTTP SMSC definitions only)

Specifies the character set to be used when submitting text messages to an HTTP based SMSC. By default NowSMS uses UTF-8, however some service European or American providers might expect iso-8859-1 (the standard Western European "text" character set).

ExcludeSMSC=Yes (GSM modems only)

Necessary when using the Siemens M1 as a modem. This older modem does not properly implement the syntax for sending SMS messages in PDU format, and does not expect an SMSC field to be specified in the PDU. This parameter allows NowSMS to be used with the Siemens M1. Without this setting the M1 will report "ERROR" on every message send attempt.

SMSC= (GSM modems only)

When sending messages via a GSM modem, by default NowSMS specifies that the default SMSC should be used. This default SMSC value is normally pre-configured on the SIM card.

Some older GSM modems may require the SMSC value to be explicitly set when NowSMS sends a message. (We have only observed this once with an old Ericsson DI28 modem, which is an external snap on infrared modem that attaches to some older Ericsson phones.)

This SMSC address varies depending upon what operator you are subscribed to.

You can set the SMSC address by manually editing the SMSGW.INI file. Under the section header for the modem configuration (e.g., [Modem - ...], add SMSC=+phonenumber, where "+phonenumber" is the address of the SMSC. Here's a link to a good list of SMSC phone numbers: http://www.cellular.co.za/smsc_lists.htm. A more reliable way of determining the correct SMSC number is to put your SIM into a phone, and go through the SMS configuration menus on the phone to determine the currently configured SMSC number. When you enter the SMSC phone number, always start it with a "+" and don't include any other non-numeric characters (no dashes or dots) in the address.

DelayAfterSend= (GSM modems only)
DelayAfterError= (GSM modems only)

This setting can be useful for modems that encounter problems with the speed at which NowSMS attempts to send messages. In the appropriate [Modem Name] section of the SMSGW.INI file, the following settings can be specified: DelayAfterSend=#### specifies a number of milliseconds to wait after successfully sending a message (1000 milliseconds = 1 second). DelayAfterError=#### specifies a number of milliseconds to wait after a message send attempt fails.

CommandPreInit#= (GSM modems only)
CommandPostInit#= (GSM modems only)
CommandPreSend#= (GSM modems only)
CommandPostSend#= (GSM modems only)

Substitute # with a number, starting at 1, and increasing sequentially for each additional command to be sent. CommandPreInit is sent before NowSMS performs its modem initialisation sequence. CommandPostInit is sent after NowSMS performs its modem initialisation sequence. CommandPreSend is sent before NowSMS attempts to send a message using the modem. CommandPostSend is sent after NowSMS attempts to send a message using the modem. Examples:
CommandPreInit1=ATZ
CommandPreInit2=ATE0V1
CommandPreInit3=AT+CSMS=0


Steve Hooper
Unregistered guest
Posted on Wednesday, September 15, 2004 - 09:48 am:   

Bryce,

I understand that there are certain entries in the mmsc.ini file which permit the nowsms gateway to act as an effective "relay" from another email (SMTP) server. (We're looking to run nowsms behind our existing Groupwise installation). I believe you can tie down access to specific IP addresses which would seem ideal. Any advice gratefully received.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3534
Registered: 10-2002
Posted on Thursday, September 30, 2004 - 07:38 pm:   

Hi Steve,

Yes, I haven't had time to do a similar document for the MMSC.INI file yet, but you can find info on the setting that you are after at the following link:

http://support.nowsms.com/discus/messages/1/3451.html
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4746
Registered: 10-2002
Posted on Thursday, August 11, 2005 - 08:31 pm:   

Continuing on with MMSC.INI.

Remember, this thread does not document any of the settings that can be applied via the NowSMS user interface ... only the settings that are only available through manually editing the configuration files.

MMSC.INI, [MMSC] section:

Debug=Yes

Enables the MMSCDEBUG.LOG file for troubleshooting.

DebugLogDirectory=d:\path

Specifies an alternate location for the MMSCDEBUG.LOG file when Debug=Yes is configured.

LogDirectory=d:\path

Specifies an alternate location for the log files (e.g., MMSC-yyyymmdd.LOG). Does not affect the location of debug log files.

DataDir=d:\path

Specifies an alternate location for the MMSCDATA directory, where MMS messages are stored. By default, this is a directory named MMSCDATA beneath the NowSMS installation.

DataRetainDays=xxx

xxx is the number of days that messages should be retained. The default is 30 days. Note that this setting has not been tested for values exceeding one year, but a value of 180 days (appox 6 months) should be fine.

LogRetainDays==####

#### specifies the number of days for which logs (e.g., MMSC-yyyymmdd.LOG) should be retained. Values of 365 or larger are not supported.

ExpireDynamicLinks=###

This configuration parameter is used to delete dynamically generated links (such as those used when sending MMS or Multimedia WAP Push), after they are accessed. ### is the number of minutes after the link is first accessed before it should be automatically deleted

AdminPasswordDelete=xxxxxxxx

Allows a separate password to be required for web administration access before a user account can be deleted via the web interface.

AdminPasswordModify=xxxxxxxx

Allows a separate password to be required for web administration access before a user account can be modified via the web interface. When this setting is present, the regular admin password can only be used to view account details.

UAProfProxy=ip.address:port

(v5.51b+) Specifies that the MMSC should download UAProf files via an HTTP Proxy server (used when MMSC does not have direct internet connectivity). This setting must specify an IP address and port number for the HTTP Proxy.

MMSNoSubject=subject line text

(v5.51b+) Some operator MMSCs do not like a blank subject header. When routing a message from SMTP to MMS, if there is no subject header, or the subject header is blank, NowSMS does not include a subject header in the resulting MMS message. To include a subject, use this setting to specify the text to be inserted as the subject when a subject header is not present in a message received from SMTP.

DomainNameAlias1=domaina.com
DomainNameAlias2=domainb.com
DomainNameAlias3=domainc.com
DomainNameAlias4=domaind.com
DomainNameAlias5=domaine.com
DomainNameAlias6=domainf.com
DomainNameAlias7=domaing.com
DomainNameAlias8=domainh.com
DomainNameAlias9=domaini.com
DomainNameAlias10=domainj.com

These settings are used to specify alternate domain names for which the MMSC's SMTP server will accept e-mail for routing to MMS recipients. Normally, the MMSC will only accept messages addressed to username@domain, where domain matches either the "Domain Name for MMS E-Mail" or "Local Host Name or IP Address" setting.

SMSDomainNameAlias1=domaina.com
SMSDomainNameAlias2=domainb.com
SMSDomainNameAlias3=domainc.com
SMSDomainNameAlias4=domaind.com
SMSDomainNameAlias5=domaine.com
SMSDomainNameAlias6=domainf.com
SMSDomainNameAlias7=domaing.com
SMSDomainNameAlias8=domainh.com
SMSDomainNameAlias9=domaini.com
SMSDomainNameAlias10=domainj.com

These settings are used to specify alternate domain names for which the MMSC's SMTP server will accept e-mail for routing to SMS recipients. Normally, the MMSC will only accept messages for routing to SMS when addressed to username@domain, where domain matches the "Domain Name for SMS E-Mail" setting.

VASPQRetryMaxAttempts=##

(v5.51b+) This configuration option limits the number of retries for processing of messages in the MMS Outbound Routing queue, which contains messages that are being routed to an external MMSC connection (EAIF, MM1, MM4, MM7). By default, retries will be performed for 24 hours, with the retry interval moving from 1 minute to 2 minutes to 3 minutes, up to 15 minutes per retry. This setting will limit the number of retries.

More Discussion at http://support.nowsms.com/discus/messages/485/8212.html

HeaderUserAgent=any text

This setting specifies a value to be set for the "User-Agent:" header when submitting/retrieving MMS messages from/to an operator MMSC.

HeaderProfile=http://host.name/path/filename.ext

This setting specifies a value to be set for the "Profile:" header when submitting/retrieving MMS messages from/to an operator MMSC. This should be a URL that points to a User Agent profile (UAProf).

UndeliverableRouteToSMS=VASPOutboundRouteName

(v5.51d+) Specifies the name of an MMSC Outbound Route that is defined in the "MMSC Routing" list, which must be of the type "Convert to SMS with Web Link". By default, if an MMS message has not been retrieved within 120 minutes, the message will be rerouted to be sent as an SMS with a web link for accessing the MMS content.

UndeliverableRouteToSMSTimeout=####

(v5.51d+)#### is a value in minutes that changes the time period after which the UnderliverableRouteToSMS setting is applied.

Nokia3510Compatible=No

This setting enables a more compact form of encoding for MMS notifications, as it uses a single byte for encoding the MMS content type in the MMS notification. The default setting requires 33 bytes for encoding the content type, so this setting will save 32 bytes in the size of the MMS notification message that is sent over SMS. However, some early MMS phones did not understand the short encoding for the MMS content type, and this setting will cause those phones to be unable to receive any MMS messages. It has been observed that the original releases of the Nokia 3510 and Panasonic GD87 did not understand the short encoding, and other phones may also be affected. Use this setting with caution.

MMSNotificationNoSubject=Yes

This setting will disable the inclusion of the subject header in the MMS notification message delivered over SMS, resulting in a smaller size for the MMS notification message. The only known side effect of this setting is that if a user has configured their phone to prompt them before downloading an MMS message, the user will be unable to see a message subject until after the message is downloaded.

MMSNotificationNoSender=Yes

This setting will disable the inclusion of the sender header in the MMS notification message delivered over SMS, resulting in a smaller size for the MMS notification message. Use of this setting is not recommended. Some phones, in their default configuration, will ignore MMS notifications where there is no sender specified. Additionally, some SonyEricsson phones will disable reply capability when this setting is enabled, even though the sender will clearly be displayed in the received message.

CompactMMSURL=Yes

This setting uses a more compact encoding of the URL value that is sent out in MMS notifications, saving several bytes in the size of the MMS notification that is sent out over SMS.

EnableReadReceipt=No

(v5.51d+) This setting removes the "read receipt request" attribute from any messages that are submitted to the MMSC by local users (and MM1 or EAIF VASPs).

MMSMessageSizeLimit=#####

Specifies a maximum size, in KB, for MMS messages that will be accepted by the MMSC when submitted by local users (and MM1 or EAIF VASPs).

NoChargeMMSToEMail=Yes

When this setting is present, MMS messages sent to e-mail recipients will not count against the daily or monthly quotas.

MM4AckToSourceIP=Yes

When this setting is present, MM4 ACKs will always be sent back to the same IP address from which the MM4 message submission was received. Usage of this setting is NOT recommend. Instead, you should define an MM4 outbound route under "MMSC Routing", and configure the "MMSC VASP" account to route MM4 ACKs via the appropriate route.

ReplaceCIDInSMIL=Yes

When this setting is present (and content conversion is enabled), content conversion will be forced upon any messages where the SMIL file contains "cid:" (content-id) references in the SMIL. Content conversion always converts these references to point to "Content-location" references instead. There is no known reason to use this setting.

RemovePlusFromEMail=Yes

When this setting is present, the leading "+" character will be stripped from phone numbers when routing from MMS to e-mail, so that a "+" character is not included as the sender address in the outbound message.

EnableKeepAlive=No

This setting disables the use of keep-alive sockets by the MMSC. By default, the MMSC will enable the use of keep-alive sockets when communicating with MMS clients that request them through HTTP/1.1. When this setting is used, the MMSC will inform the clients that keep alive sockets are not supported. (This setting is not recommended, as it has been observed that some MMS clients assume that keep-alive sockets are supported, and will report an error after downloading a message if keep-alive sockets are disabled.)

EMailAutoSmil=No

By default, NowSMS will automatically generate a SMIL presentation for content that is received via SMTP without an existing SMIL presentation. This setting disables that behaviour.

EMailAutoSmilOldFormat=Yes

(v5.51c+) Beginning in v5.51c, the way that SMIL that is auto-generated when routing e-mail to MMS was changed to include a simple "layout" section, and "region" attributes for included content. This is necessary for proper message display on Blackberry devices. If this change causes a problem when upgrading from a prior version, this setting will revert to the old auto-generated SMIL format.

EMailKeepSmil=Yes

(v5.51c+) Beginning in v5.51c, when an MMS message is routed to an e-mail recipient, any SMIL presentation attachment is discarded, as this can cause confusion for e-mail recipients who are not familiar with SMIL. Use this setting to enable the SMIL to be retained.

EMailAutoSmilParDur=xxxxx

When automatically generating SMIL for SMTP e-mail messages routed to MMS recipients, an option has been added to specify that a "dur=" parameter be included in the paragraph headers. By default, if the message only requires a single page (paragraph element), then no "dur=" parameter will be specified. If a message requires multiple pages, a "dur='5000ms'" parameter will be included in the paragraph header. However, these settings may not be appropriate for all environments. Additionally, there is a bug in some versions of the SonyEricsson P900 where messages will display as blank if a pargraph header does not have a "dur=" parameter. To override the default behaviour, use this parameter, where "xxxxx" specifies a duration in milliseconds (ms) or seconds (s) such as "5000ms" (5000 milliseconds = 5 seconds) or "30s" (30 seconds).


EMailSMSTextOnly=Yes

This setting will suppress the SMTP sender and subject from being included when routing SMTP e-mail to SMS recipients. Only message text from the e-mail will be included in the SMS. This setting is useful when SMTP is being used as an API for submitting SMS messages, instead of as a more general e-mail to SMS gateway.


DisableMMSDirectDelivery=Yes

(v5.51a+) This setting is used when NowSMS is primarily being used for e-mail to MMS purposes, and the MMS connection is via an external MMSC connection instead of MMS direct delivery. This setting will stop NowSMS from performing MMS direct delivery for accounts that are defined in the "MMSC Users" list. By default, NowSMS will always perform MMS direct delivery to accounts that are defined in the "MMSC Users" list. When NowSMS is being used for e-mail to MMS, this setting allows those recipients to be routed via an external MMSC connection

DisableTransactionID=Yes

(v5.51b+) This setting is useful when NowSMS is being used as a direct delivery MMSC, but not as the user's primary MMSC. This setting causes the MMSC not to request any delivery acknowledgements from the receiving MMS client. These acknowledgements are always posted to the MMSC that is configured as the primary MMSC in the phone, so if NowSMS is not the primary MMSC, these acknowledgements are posted to the wrong MMSC.

MSISDNHeader=HTTP-Header-Name

This setting is used to identify the phone number (MSISDN) of MMS clients when they submit messages to the MMSC. This setting specifies the name of the HTTP header that will contain the MSISDN on MMS submission requests from MMS clients. This header is usually inserted by the WAP proxy. For example, with NowWAP, the appropriate setting would be: MSISDNHeader=X-MSISDN

See http://www.nowsms.com/support/bulletins/tb-nowsms-002.htm for more general detail about this capability.

This setting can support a comma-delimited list of headers, so that the MMSC can be configured to accept MSISDN information from one of multiple headers, with the first listed header always being given priority.

MSISDNHeaderGateways=ip.address

This setting specifies a list of one or more IP addresses from which the MMSC will accept the MSISDNHeader. This is to prevent forged requests, where another gateway or application inserts an MSISDN header to attempt to fool the MMSC. One or more IP addresses can be listed in this configuration setting. Each address must be separated by a comma. Wildcard addresses are supported by placing a “*” in place of a position within the IP address. For example, a setting of 9.10.11.* would mean that the MSISDNHeader would be accepted from any request originating from an IP address in the range of 9.10.11.1 thru 9.10.11.255.

MSISDNHeaderPrefixConvert=xxx:yyy

(v5.51a+) This setting is used for applying a standard conversion to MSISDN header from a WAP proxy. MSISDNHeaderPrefixConvert=xxx:yyy allows you to convert all MSISDN values reported by the WAP proxy which start with "xxx" so that they start with "yyy" instead. Multiple conversion entries can be specified by including them in the header, separated by a comma (e.g., xxxx:yyyy,aa:bb).


MSISDNHeaderDefaultCountryCode=##

This setting specifies a default country code to be applied to MSISDN numbers presented in the MSISDNHeader, so that the gateway can convert the MSISDN address to international format automatically.

MSISDNHeaderLocalPrefix=#

This setting specifies the default prefix that is used for phone numbers in the MSISDN header that are in local (national) format. For example, in the UK, the MSISDNHeaderDefaultCountryCode would be 44, and the MSISDNHeaderLocalPrefix would be 0. With these settings, and MSISDN header of “07778001210” would automatically be converted to “+447778001210” by the MMSC

MSISDNHeaderAutoProvision=Yes

This setting specifies whether or not user accounts should be automatically provisioned on the MMSC the first time that a user sends a message through the MMSC. This removes the requirement to automatically provision accounts. Any user that makes a request through the appropriate WAP gateway with the MSISDNHeader set will be automatically provisioned on the MMSC.

MSISDNHeaderEricssonFormat=Yes

This setting specifies that the MSISDN header information is in a format typically used by an Ericsson WAP Gateway.

MSISDNHeaderNokiaFormat=Yes

This setting specifies that the MSISDN header information is in a format typically used by an Nokia WAP Gateway.

MSISDNHeaderConvertToLocalNumber=Yes

When MSISDNHeaderDefaultCountryCode and MSISDNHeaderLocalPrefix are enabled, NowSMS will convert MMS sender and recipient information to international number format when delivering messages. As many users may be unfamiliar with international number format, this setting translates the phone number format that appears in the MMS message so that it appears in local number instead.

MSISDNHeaderRequiredForReceive=Yes

(v5.51c+) When this setting is present, in order for a client to retrieve an MMS message from the MMSC, the MMSC will check to make sure that the retrieving client presents an MSISDNHeader that matches the intended message recipient.

MSISDNMatchRequiredForReceive=No

(v5.51c+) Similar to MSISDNHeaderRequiredForReceive explanation. By default, NowSMS will expect a URL request to include the appropriate MMS filename, and the phone number of an intended recipient. The MMS message can only be downloaded if the MMS file exists, and the phone number in the URL matches an intended recipient. This check is performed by default to make it considerably more difficult for an automated process to guess at MMS filenames. If there is a reason that this check needs to be disabled, use this setting.

MSISDNHeaderDNCode=
MSISDNHeaderDNOffsetMin=
MSISDNHeaderDNOffsetMax=

These settings all are used in conjunction with MSISDN parsing in Argentina, where the local number format includes a DN code in the middle of the phone number string. Further information can be supplied on request. Use these settings in Argentina:

MSISDNHeaderDefaultCountryCode=54
MSISDNHeaderDNCode=15
MSISDNHeaderDNOffsetMin=3
MSISDNHeaderDNOffsetMax=6

SMTPIPAddressList=ip.address.1,ip.address.2,192.168.1.*

This parameter can have a comma-delimited list of IP addresses (no white space, if you specify multiple addresses, separate with a comma only) that are allowed to connect via SMTP and send to *any* phone number using an addressing format of phonenumber@domain.name.sms.or.mms. The IP addresses specified, can also include a "*" place holder as a wildcard match for all addresses in that network (for example, *.*.*.* would open access to any address, so you could use that value if you have complete confidence in your firewall).

MMSCIPRestrict=ip.address.1,ip.address.2,192.168.1.*

This parameter restricts connections to the MMSC to a specified list of IP addresses. This setting can contain a a comma delimited list of IP addresses that are allowed access to the MMSC. Do not include any spaces between addresses. To specify a wildcard address for a subnet, use the "*" character (for example, 192.168.1.* to allow all addresses in the 192.168.1 subnet).

LocalNumberPrefix=xxxxx
LocalNumberMaxLength=#

These settings are used in situations where a provider serves a particular city code within a country code, which sometimes happens with island operators.

If the MMSC receives a message addressed to a recipient whose phone number length is less than or equal to LocalNumberMaxLength, it automatically prepends LocalNumberPrefix to the number, before applying standard local number to international number conversion.

ShortCodeMaxLength=####

Specifies the maximum length allowed for short codes. When the MMSC receives a message addressed to a recipient whose phone number length is less than or equal to ShortcodeMaxLength, no international conversion will be applied to the phone number before routing. The default value is 4.

MMSAccountingURL=http://server/path

Before the gateway accepts an SMS or MMS message for delivery, the gateway will connect to a configurable customer-provided URL, providing information about the message to be sent, and who is sending the message. The customer provided URL can either tell the gateway to either accept or reject the message. This is a “pre-authorisation” request, and does not mean that the message will actually be accepted for delivery. If the gateway cannot successfully connect to the URL, or the URL returns a response other than a standard “HTTP 200 OK”, the user request to send a message will be blocked. A “PreAuth” request to send a message will also be blocked if the response includes the text “PreAuth=Deny”.


After an SMS or MMS message is accepted for delivery, the gateway will connect to a configurable customer provided URL, providing accounting information about the message being sent, allowing the customer to maintain external accounting information on messages processed by the Now SMS/MMS Gateway. The gateway ignores HTTP responses to the accounting callbacks.

See http://www.nowsms.com/support/bulletins/tb-nowsms-001.htm

MMSRoutingURL=http://server/path

This setting enables an HTTP-based routing callback for dynamic routing of MMS messages. When the MMSC receives a message, it will connect to a configurable customer-provided URL, passing the message recipient to the URL. The customer provided URL can return a response to indicate that the message should be routed via a specific route defined in the "MMSC Routing" page of the NowSMS configuration dialog.

The variables listed below will be added to the MMSRoutingURL when the URL is executed by the gateway as HTTP GET (CGI-style) parameters.

Type=MMSRouteCheck (Note: Future "Type" values may be added in the future.)
From=SenderPhoneNumber or e-mail address
VASPIN=VASPname (present if the message was received via a specific account defined in the "MMSC VASP" list)
To=RecipientPhoneNumber

Example:

http://server/path?Type=MMSRouteCheck&From=%2B1234567&VASPIN=test&To=%2B99999999

(Note: The "%2B" in the above examples is URL escaping for the "+" character.)
To specify which of the routes defined in the "MMSC Routing" list should be used to route this message, the URL must return a standard HTTP 200 OK response, and include the following text somewhere in the response:

Route=xxxxxxx

"xxxxxxx" should match an "Account Name" defined in the "MMSC Routing" list, or it can use the predefined values of "Direct" (signifying MMSC Direct Delivery) or "WAPPush" (signifying "Convert to Multimedia WAP Push").
If it is possible to route the message via one of several defined routes, multiple routes can be returned in the response, separated by ":". For example:

Route=xxxxxxx:yyyyyy:zzzzzz


MMSC.INI, [ShortCode] section:

Short codes can be used to map a short phone number to a longer phone number or e-mail address. Short codes can also be used to map an e-mail address to a short code that is route to a VASP.

For example, a short code of 200 could be rerouted to an e-mail address. To define short codes, create a section titled [ShortCode] in the MMSC.INI file. Under that section, create entries in the following format:

###=+44335830375474/TYPE=PLMN
###=user@domain.com

In the examples above, "###" is a numeric short code address, and the value after the "=" sign is the address the short code should be rerouted to, specified as either a phone number in MMS addressing format (/TYPE=PLMN) or as an e-mail address.

Similarly, to route an e-mail address to a short code that is routed via a VASP, use the following format:

user@domain.com=6000/TYPE=PLMN

Note: For routing short codes to a VASP, it is recommended that you define an "MMSC Outbound Routing" definition to connect to the VASP via an MMS protocol, such as MM7. Then define the short codes for the VASP in the "Route messages to this account for recipient phone number(s)" field within the route definition.

MMSC.INI, [IPNotify] section:

This section allows MMS notifications for select phone numbers to be routed via IP instead of via SMS. Under this section header, specify PhoneNumber=IP.Address (e.g., +9999999=192.168.1.200), to have MMS notifications for the specified phone number get routed to the specified IP address. (This feature is intended primarily for testing environments.)

MMSC.INI, [HostNameSenderOverride] section:

Some mobile operators, such as Vodafone UK, require that content providers use different URLs for adult vs. non-adult content. When sending MMS or Multimedia WAP push via NowSMS, the URL that NowSMS generates includes the "Local Host Name or IP Address" that is specified on the "MMSC" page of the NowSMS configuration. It is now possible to override that host name in generated URLs based upon the MMS Sender address ("MMSFROM" parameter when using NowSMS proprietary URL submission) that is specified in a submitted message. Within the MMSC.INI, it is possible to define a section titled [HostNameSenderOverride]. Under that section, specify a sender address and the alternate host name to use for notifications generated by that sender (e.g., +447778001212=212.100.225.164 or nowsms@now.co.uk=contentserver1.now.co.uk).

MMSC.INI, [TranslateText] section:

This section allows you to define translation text for the text prompts that are used in the WML that is generated for multimedia WAP Push.

Under this section, the following translations can be defined:

Multimedia Message=
Subject=
From=
Download image=
Download audio=
Download video=
Download file=

The text after the "=" sign will be used to replace the text before the "=" sign.
David Chkhartishvili
New member
Username: Datoch

Post Number: 37
Registered: 06-2004
Posted on Friday, August 12, 2005 - 06:56 am:   

Thanks Bryce, great job!
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4930
Registered: 10-2002
Posted on Friday, September 16, 2005 - 10:53 pm:   

Recent Additions to SMSGW.INI, [SMSGW] section:

AlertEMailRecip=user@domain.com

(v5.51d+) This setting enables e-mail sending of alerts that would normally be written to the Windows event log.

Forwarding alerts to an e-mail address requires that the MMSC service be activated (because it includes an SMTP mailer), and that an "SMTP Relay Host" be defined (the server will connect to this SMTP server every time it has a message to send, so if you are just using it for alerts, specify your SMTP mail server).

Only one e-mail address can be specified here.

AlertEMailSendInfo=No

(v5.51d+) This setting disables "informational" alerts, which include start-up / shut-down events, and reconnection to an SMSC after failure. By default, these alerts are enabled when the AlertEMailRecip setting is non-blank.

AlertEMailSendWarning=No

(v5.51d+) This setting disables "warning" alerts, including accounts over quota and message delivery failures. By default, these alerts are enabled when the AlertEMailRecip setting is non-blank.

AlertEMailSendError=No

(v5.51d+) This setting disables "error" alerts, including SMSC or modem off-line errors, and TCP/IP port allocation problems. By default, these alerts are enabled when the AlertEMailRecip setting is non-blank.

AlertEMailSender=user@domain.com

(v5.51d+) Specifies the sender ("From:") address for alert e-mails.

SMPPRejectErrorCodes=x,y,z

(v5.51g+) This option specifies SMPP error codes that should be considered a permanent error (for which NowSMS will not retry sending the message). By default, NowSMS treats the following SMPP error codes as a permanent error: A (ESME_RINVSRCADR - invalid source address), B (ESME_RINVDSTADR - invalid destination address), 66 (ESME_RX_R_APPN - ESME Receiver Reject Message). To add additional error codes that should be considered as a permanent error, this setting can be used. The value for this setting can contain a comma delimited list of SMPP error codes. Values should be specified in hex, with no leading zeroes, e.g., "SMPPRejectErrorCodes=A,B,66".

MaxSMPPShortCodeLen=#

(v5.51g+) By default, a source_addr_ton (source address type of number) value of 3 will be used for any messages where the sender address is numeric, and of length less than or equal to 5 digits. To disable this behaviour, use the setting MaxSMPPShortCodeLen=0. (Note: If the sender address contains alpha characters, source_addr_ton will be 5 by default. If the sender address starts with a "+", then source_addr_ton will be set 1 by default. In all other cases, the default value for source_addr_ton will be 0.)

SMPPThrottleErrorDelay=##

(v5.51b+) If an SMPP SMSC returns a throttling error (ESME_RTHROTTLED), previous versions of NowSMS would delay 15 seconds before attempting to process another message over that SMPP connection. This default delay was changed to 5 seconds in v5.51b. It has been observed that some SMSCs might return this error condition when it will not accept any more messages for a particular phone number, in which case a general delay is not desirable. To change this delay, use this parameter, where ## is a number of seconds. SMPPThrottleErrorDelay=0 will disable the delay.

InitRetryDelay=
InitRetryDelayMultiplier=
InitRetryDelayAfterAttempts=
InitRetryDelayMax=


(v5.51b+) By default, if NowSMS cannot connect to an SMSC (or initialise a modem), it will wait 20 seconds before attempting another connection. For each successive connection failure, NowSMS will wait an additional 20 seconds (e.g., 40 seconds after 2 failures, 60 seconds after 3 failures, etc.), up to a maximum of 300 seconds (5 minutes) between retries. The reason for these delays is to adhere to various operator guidelines which are designed to prevent an SMSC from becoming overloaded with reconnections when recovering from a failure. It is possible to modify these retry timings using the following SMSGW.INI file parameters under the [SMSGW] section header:

InitRetryDelay=#### specifies a number of seconds to wait to retry after a connection failure, the default value is 20.

InitRetryDelayMultiplier=### specifies a multiplier to be applied for successive connection failures, the default value is 1. For each failed attempt, the retry delay will be the product of InitRetryDelay+((InitRetryDelay-1)*InitRetryDelayMultiplier*#FailedAttempts). To use a fixed retry delay of InitRetryDelay, specify InitRetryDelayMultiplier=0.

InitRetryDelayAfterAttempts=### specifies that the retry delay should only be applied after ### failed attempts, the default value is 1.

InitRetryDelayMax=### specifies the maximum number of seconds that NowSMS will allow to elapse between connection retries, the default value is 300.

WAPPushIncludeDate=Yes

(v5.51a+) Some Samsung phones display a date/time associated with received WAP Push messages, where the date/time displayed is inaccurate. This setting forces NowSMS to insert a date/time stamp into WAP Push messages. Note that this setting was implemented to resolve a specific incident report, and has not been tested against a wide range of other phones.

ExcludeSmsDetailsFromLog=

(v5.51a+) In standard operation, NowSMS logs the text of sent messages in the SMSOUT log files. This setting prevents the SMS message details (text) from being included in the standard log files.

SMSGW.INI, section specific to an SMSC defintion:

RouteName=xxxxx

(v5.51b+) When submitting a message via HTTP, it is possible to indicate that the message should be routed via a specific SMSC. The HTTP interface supports "&SMSCRoute=xxxxx", where the value of this setting can be the name of a defined SMSC (e.g., "Bluetooth Modem" or "SMPP - a.b.c.d:xyz"), or it can be a route name that is defined to be associated with one or more SMSCs. This parameter setting is used to define a route name to be associated with an SMSC.

PriorityFlag=#

(v5.51a+) For SMPP connections, this setting can specify the priority_flag value to use when submitting messages. This flag will apply to all messages submitted via a specific SMSC link.

AllowedUserOnly=
AllowedUser1=
AllowedUser2=
AllowedUser...=


(v5.51a+) These configuration settings are defined to limit particular outbound "SMSC" connections to use by selected "SMS Users" accounts.

AllowedUserOnly=Yes -- This setting specifies that the SMSC connection can only be used by users that are specifically authorised to use this SMSC. When routing messages from users that are not specifically authorised for this connection, NowSMS will not use this SMSC and route messages as if this SMSC definition did not exist.

AllowedUser1=username -- This setting can be repeated with sequentially assigned numbers (e.g., AllowedUser2=xxx; AllowedUser3=yyyy). This entry is used to specify specific "SMS Users" accounts that are allowed to use the SMSC connection when AllowedUserOnly=Yes.

Note: It is NOT necessary to restart NowSMS when making updates to the AllowedUserOnly or AllowedUser1 settings in SMSGW.INI. These changes will be detected dynamically by NowSMS.

SMSGW.INI, [SMPPOptions] section:

This section is used to enable support for SMPP Optional parameters. In particular, mBlox customers may wish to configure these settings in order to enable support for mBlox specific settings related to premium rate SMS.

Other SMS providers might also use SMPP Optional parameters for similar purposes.

The [SMPPOptions] section contains a list of SMPP optional parameters that NowSMS should support.

Some optional parameters are defined in the SMPP specification, while others, such as the mBlox settings that we reference below, are vendor specific.

The format of entries in the [SMPPOptions] section is:

setting_name=SMPPTagValue,Type,Len

setting_name is a descriptive name for the setting. For each setting that is defined, NowSMS will support an additional parameters when submitting a message to NowSMS via an HTTP URL request. "&SMPPOption_setting_name=" will specify a value to be set for this parameter.

For each optional parameter that is defined, NowSMS will also route these parameters to HTTP-based 2-way commands. If a message is received which contains values for any optional parameter defined in the [SMPPOptions] section, NowSMS will automatically append "&SMPPOption_setting_name=value" to the 2-way URL, if the optional parameter is present in a received parameter. It is not necessary to add any variables to the 2-way command template, as these values will be appended automatically if present in a received message.

SMPPTagValue is the SMPP tag value associated with the parameter, in hex format. For example, the SMPP v3.4 specification defines the tag value for user_message_reference to be 0204.

Type can be either String, CString or Integer. String corresponds to the "Octet String" definition in the SMPP specification. CString corresponds to the "C-Octet String" (null terminated) definition in the SMPP specification. Integer corresponds to the "Integer" definition in the SMPP specification.

Length specifies the field length, and is optional. If specified for a String parameter, it specifies a fixed length for the string (longer strings will be truncated, shorter strings will be padded with nulls to meet this length). If specified for an Integer parameter, the value should be either 1 or 2, otherwise NowSMS will choose a size based upon whether the value requires 1 or 2 bytes to encode. Length is ignored for CString typed parameters.

In the context of mBlox, the following settings are intended to enable support for their premium rate parameters:

[SMPPOptions]
mblox_operator=1402,String,5
mblox_tariff=1403,String,5
mblox_sessionid=1404,String,45
user_message_reference=204,Integer,2

When these settings are present, additional parameters are supported when submitting a message to NowSMS via an HTTP URL request. "&SMPPOption_mblox_operator=" will specify a value for the destination operator. "&SMPPOption_mblox_tariff=" will specify a value for the premium rate tariff associated with the message. "&SMPPOption_mblox_sessionid=" is required for some premium rate SMS operator implemtnations. For additional information on any of these parameters, please refer to the mBlox SMPP Gateway Version 3.0 Manual.

"&SMPPOption_user_message_reference=" is a generic option that allows you to set/retrieve the value of the SMPP "user_message_reference" variable. An mBlox FAQ suggests that it is possible to use this option to specify a billing reference.

Please note that mBlox support will often suggest that you use a value of "0" for the mblox_tariff initially. However, customers have reported to us that mBlox appears to require a 5 digit code for this field, and that "00000" should be used instead of "0".

When these SMSGW.INI file settings are present, NowSMS will also route these parameters to HTTP-based 2-way commands. If a message is received which contains values for either of these settings, NowSMS will automatically append "&SMPPOption_mblox_operator=value" and/or "&SMPPOption_mblox_tariff=" to the 2-way URL. It is not necessary to add any variables to the 2-way command template, as these values will be appended automatically if present in a received message.

In addition to supporting these options via HTTP URL request, it is possible to configure default settings for any of these options for each outbound SMPP connection. To define default settings, manually edit the SMSGW.INI, and in the section header for an SMPP connection (e.g., [SMPP - ip.address:port]), add a "DefaultSMPPOptions=" setting, where the value of this setting can contain any of the "SMPPOptions" settings. For example, "DefaultSMPPOptions=mblox_tariff=00000". To include multiple options, separate the entries with a ";", for example, "DefaultSMPPOptions=mblox_tariff=00000;user_message_reference=1".

Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4947
Registered: 10-2002
Posted on Monday, September 19, 2005 - 07:52 pm:   

SMSGW.INI, [UCP] section:

IncludeXSerDCS=No

By default, any non-text DCS (data coding scheme) value will be encoded in the XSer field. Use this setting to disable this behaviour.

LongSMSTextEncoding=Yes

This field specifies that long text messages should be encoded in text format. By default, NowSMS will convert long text messages to a binary format with UDH before sending. If long text messages are garbled, try this setting.

SMSGW.INI, [SMPP] section:

DisableDeliveryReceipt=Yes

This setting will make sure that the delivery receipt flag is not set for any outbound messages routed via an SMPP connection.

Additional SMSGW.INI, section specific to an SMSC defintion:

InternationalPrefix=###

(UCP/EMI only) If a destination phone number is of international format, the "+" character will be replaced with the prefix specified here. (This setting is only respected if the sender address is NOT in international format.)

CommandTimeout=###

(SMPP only) Specifies a timeout in seconds to wait for an SMPP response. Default is 120 seconds.

NullRemap=40

(SMPP only) This setting is used to resolve character set conversion problems where the "@" character is not handled correctly on received messages. Note that the preferred solution for this problem is to define the "SMSC Character Set" as "iso 8859-1 (Latin)" under "Advanced Settings". This setting should only be used if problems persist after configuring that setting.
Anonymous
 
Posted on Thursday, November 17, 2005 - 04:12 pm:   

Is there a timeout parameter that sets how long NowSMS will wait for the http call made for incoming (2-way) messages?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 5318
Registered: 10-2002
Posted on Friday, December 02, 2005 - 07:58 pm:   


quote:

Is there a timeout parameter that sets how long NowSMS will wait for the http call made for incoming (2-way) messages?




No, it is hard coded for 2 minutes. (I believe it is 2 minutes of inactivity, not 2 minutes total.)
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 6444
Registered: 10-2002
Posted on Friday, August 25, 2006 - 04:50 pm:   

Updated information for SMSGW.INI and MMSC.INI settings in NowSMS 2006 and later versions can be found at a new link:

http://support.nowsms.com/discus/messages/485/17220.html