v5.50 Beta Release Available

v5.50 Beta Release Available SearchSearch
Author Message
Keith Norris
Username: Admin

Post Number: 5
Registered: 05-2003
Posted on Friday, March 12, 2004 - 09:09 pm:   

A beta release of the latest version of the Now SMS/MMS Gateway, v5.50, is currently available for download at the following link:


Highlights of features available in this release include support for Open Mobile Alliance (OMA) Digital Rights Management (DRM) v1.0, and expanded WAP Push capabilities. For an overview of these features, please see our newsletter at the following link: http://www.nowsms.com/newsletter/20040315.htm.

The following is a list of changes/enhancements in this release:

  • MMS over GPRS/MM1: Improved modem handling for GSM/GPRS modems. Fix for difficulty setting the GPRS APN with some modems, where connections would fail because the GPRS APN setting was not being applied.
  • MMSC: UAProf for content conversion was not parsing content types correctly from UAProf for Nokia 6600.
  • MM7: When receiving MM7 content, the "charset=" parameter of the "Content-Type:" header of individual content pieces was only recognised if it was the first optional parameter following the content type.
  • WAP Push: URL prefixes other than "http://" and "https://" for the push URL were having any extra "http://" prefix added.
  • E-mail to SMS: Remove excess text headers from SMS messages. Format for SMS generated is now: "sender@domain.com /subject /message text"
  • MMS Accounting Callbacks: PreAuth for MM7 and MM1 message delivery now includes a list of recipients in the "&To=" parameter. MMSSend transaction for message received from a VASP now includes the sender address in the "&From=" parameter, and the VASP from which the message was received is specified in the new "&VaspIn=" parameter.
  • SMPP Client Accounts: Messages were not properly logged when a message is submitted to NowSMS for delivery, and that message is routed locally to an account defined under "SMS Users".
  • 2-way SMS: Add support for command table to include different commands for messages received on different phone numbers.
  • SMPP Server: Message text for messages submitted using the optional parameter tag "message_payload" were not being parsed correctly.
  • SMPP Server: Add support for receiving messages submitted via "data_sm" PDU, in addition to "submit_sm".
  • MMSC: One of the updates between v5.0 and v5.01 related to MM4 internetworking caused a problem with delivery receipts. Delivery receipts generated by the MMSC contained an incomplete message id, so clients could not properly match the delivery receipt with a sent message.
  • MMSC: Add support for routing MMS notifications to an IP address. In the MMSC.INI file, it is possible to create an [IPNotify] section. Under this section header, specify PhoneNumber=IP.Address (e.g., +9999999=, to have MMS notifications for the specified phone number get routed to the specified IP address. (This feature is intended primarily for testing environments.)
  • MM4: Add configuration parameter to allow extra headers to be inserted into the SMTP header for MMS messages. In the VASPOUT\accountname\VASP.INI file, under the [VASP] header, add "ExtraHeader=header: text of header" or "ExtraHeader=header1: text of header\r\nheader2: text of header" (if multiple headers are to be included, insert the text \r\n between the headers).
  • SMS Gateway: When submitting "flash messages" (DCS=10), if the message text required Unicode encoding, NowSMS would change the DCS to Unicode encoding, but would discard the request that the message be sent as a flash. The flash attributes are now preserved when sending messages that require Unicode encoding.
  • 2-way SMS: The processing of the queue of received messages is single threaded. In some environments, it may be beneficial to enable multithreaded processing of the 2-way SMS command table. To enable multithreaded processing of these commands, edit SMSGW.INI, and under the [SMSGW] section header, add 2WaySMSThreadCount=xx, where xx is a value greater than 1.
  • UCP/EMI: Fix for encoding/decoding problem for alphanumeric sender addresses.
  • SMPP Server: Fix for clients submitting multiple outstanding SMPP transactions.
  • MM7: Put quotes around "text/xml" in the type parameter of "Content-type: multipart/related" when submitting an MM7 message. (Quotes are not included in examples from 3GPP MM7 spec, but a strict interpretation of the HTTP spec indicates that since the "/" character is present in the type value, the string should be quoted.)
  • SMTP/MM4: When routing a received message, if the "From:" address is in our local domain, attempt to present the sender address as a phone number rather than an SMTP address. (Useful mainly for VASPs connecting via SMTP/MM4.)
  • Fix for serialisation routines encountering problems in Windows 2003.
  • Send MMS Message Web Interface: Add SMSGW.INI configuration setting for specifying the default character set to pass to MMSCOMP. To specify UTF-8 as the character set for text files submitted for MMS via the web interface, manually edit SMSGW.INI, and under the [SMSGW] section header, add MMSCOMPParameters=-cUTF-8
  • Fix for problem parsing received MMS message coming from an MMSC that had used MIME encoding to encode a filename. The resulting filename was invalid, and caused our MMS parsing logic to skip the file.
  • Preliminary support for PAP (Push Access Protocol). To submit PAP requests to send WAP push messages, post to a URL on the web interface port (same port as used to submit SMS messages via HTTP) of /PAP. Either use basic authentication (HTTP "Authorization:" header) or include a username and password in the URL (/PAP?user=username&password=password) to submit via a user account defined on the "SMS Users" page of the NowSMS configuration dialog.
  • XML Settings documents: WAP Push Service Indication (SI) and Service Load (SL) XML documents can now be posted via the "Send XML Settings" interface. NowSMS will automatically identify these documents based upon the presence of the "<si>" or "<sl>" XML tag, and convert them to the appropriate WBXML format for sending.
  • XML Settings documents: Add support for Wireless Village settings per the Nokia/Ericsson OTA Specification v7.1. If the settings posted include an "<WVSettings>" XML tag, they will be assumed to be Wireless Village settings per this specification, and encoded with the appropriate WBXML. These documents can be sent via the "Send XML Settings" dialog, or as a ".ota" file in the NowSMS "OTA" directory.
  • CIMD: Fix for problem where NowSMS was not properly receiving SMS messages (NowSMS did not like packet #0).
  • 2-way SMS: Tab characters in the message text were not being properly URL escaped.
  • MMSC Outbound Routing: Multiple outbound routes for MMS messages are processed concurrently, simliar to how multiple outbound routes for SMS messages are processed concurrently (previously only one outbound MMS message was routed at a time). To have multiple MMS Outbound routes simultaneously act as the default outbound route, configure each route with "Route messages to this account for recipient phone number(s)" set to "*".
  • SMPP: Fix for problem routing Siemens SEO messages, or other binary messages which do not include UDH, where NowSMS could corrupt the content.
  • Add support for OMA DRM v1.0 Rights documents. These documents can be sent via the "Send XML Settings" dialog, or as a ".ota" file in the NowSMS "OTA" directory. These documents can also be posted via PAP using either text or binary format.
  • Fix for 2-way SMS problem where received messages would be truncated at approximately 1000 characters.
  • SMPP: Fix for problem where original sender address was lost when routing a message to an SMPP client (defined locally to NowSMS in the "SMS Users" list), when the "Forced Sender" field is set.
  • Forward-lock: Add support for forward lock content for multimedia WAP push. If the MMSForwardLock variable is set when submitting a multimedia WAP push, non-text content files will have the forward lock attribute applied. Forward lock support also implemented when sending MMS messages, however testing has revealed unexpected results using forward-lock within MMS message content with current generation mobile phones.
  • OMA OTA Settings: Fix for problem using the IMSI as a network PIN when the IMSI is 14 digits long instead of 15.
  • MMSC: The Maxon O2 X1 does not display images in messages were the SMIL file references images by content-id [cid:] instead of filename (Nokia Series 40 phones always reference by content-id in MMS messages they create). A configuration setting was added to force the NowSMS MMSC to change all "cid:" references within SMIL files to filename references to address this problem. To enable this setting, under the [MMSC] section in MMSC.INI, add ReplaceCIDinSMIL=Yes.
  • XML Settings: Add support for OMA E-Mail Notification v1.0 documents. If the settings posted include an "<emn>" XML tag, they will be assumed to be an OMA E-Mail Notification per this specification, and encoded with the appropriate WBXML. These documents can be sent via the "Send XML Settings" dialog, or via the PAP interface using a MIME type of "text/vnd.wap.emn+xml"
  • MM7: Fix for the "Sender address" not appearing consistently when routing received messages to an MM7 client connection.
  • MMSCOMP: -c parameter (character set) was not applied to the encoding of the MMS subject header.
  • MMSC: Vodafone UK now requires 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= or nowsms@now.co.uk=contentserver1.now.co.uk).

The v5.50 beta includes fixes from all previous versions, including the fixes in v5.01 which were not previously detailed on this page:

  • SMPP: Add configuration parameter under [SMPP - ip.address:port] section of SMSGW.INI. If ReceiveSingleConnection=Yes, NowSMS will bind to the SMPP server as a transceiver to send and receive over a single connection, instead of establishing a separate connection for receiving messages.
  • SMSGW: Add support for sending UDH with a text message. If UDH is specified in a submitted message, but the "Text" or "Data" parameter does not contain a valid hex string, NowSMS will convert the message text appropriately. This simplifies the process of sending text messages with an EMS header.
  • SMSGW: Fix for problem where COM port numbers beyond COM9: would not always appear in the list to be selected.
  • MMSC: Fix for connection to operator network over GPRS where setting the GPRS access point did not always work on a Nokia 6600. (NowSMS would report "unable to connect to wap gateway" ... because it was connecting to the wrong GPRS access point.)

Keith Norris
Username: Admin

Post Number: 6
Registered: 05-2003
Posted on Wednesday, April 21, 2004 - 03:15 pm:   

The v5.50 beta release was refreshed on April 16, 2004, and includes the following updated in addition to those listed above:

  • MMS/Multimedia WAP Push: Fix for problem where "MMSFILE" parameter pointing to a URL did not like a URL that included a "?" character, as parsing of the "MMSFILE" parameter expected the last part of the URL to be a valid filename. Filename is now truncated at a "?" character.
  • MM7: Allow different MM7 schema URLs and MM7 versions to be defined for MM7 connections. For each outbound "MMSC Routing", there is a configuration file located in VASPOUT\AccountName\VASP.INI. In this configuration file, you can define the following settings under a [VASP] header: MM7Version=; MM7Schema=; VASPID=; VASID=. The default value for MM7Version is "5.3.0". The default value for MM7Schema is "http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2". There is no default value for the VASPID and VASID settings, which means that the VASPID and VASID elements will not be included when submitting a message over MM7 unless these values are specified. These settings can also be applied for "MMSC VASP" defintions, where the configuration file is located in VASPIN\AccountName\VASP.INI. The MM7Version and MM7Schema settings are supported for "MMSC VASP" definitions.
  • Accounting Logs: MMSRETRIEVE log entry updated to include sender phone number. Also, the recipient phone number displayed in the MMSRETRIEVE log entry was not always in the same format as the recipient logged in the MMSIN log entry, the MMSRETRIEVE record now contains a recipient phone number in the same format as the MMSIN log entry.
  • MMSC VASP Interface: When an MMSC VASP is configured for received MMS messages to be received to the MMS-IN directory, NowSMS was not applying the "VASP Sender Address". This caused problems for submissions from MM1 clients, where the MM1 client does not have a sender address configured. The "VASP Sender Address" is now applied when receiving MMS messages to the MMS-IN directory.
  • SMS Queue Processing: New configuration options for specifying the retry delays when there is an error submitting a message. (This applies only to errors when NowSMS is able connect to the SMSC or initialise the modem, but an error is returned. This does not apply when the SMSC or modem is off-line.) The following settings can be specified under the [SMSGW] section header of SMSGW.INI: 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.
  • GSM Modem Processing: New configuration options for specifying a forced delay after a message is successfully sent over a GSM modem interface, or after a failed message sent attempt over a GSM modem interface. 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.
  • Web interface updates to support an address book, improvements in distribution list interface.
  • Support added for additional modem initialisation commands. In the appropriate modem section of the SMSGW.INI file, the following configuration parameters are supported:
    CommandPreInit#=modem commmand
    CommandPostInit#=modem command
    CommandPreSend#=modem command
    CommandPostSend#=modem command
    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:
  • SMPP: Add configuration parameter under [SMPP - ip.address:port] section of SMSGW.INI. ServiceType=xxxxxx can provide a service_type value to be submitted to the SMSC when submitting messages.
  • UCP/EMI: Add configuration parameter under [UCP - ip.address:port] section of SMSGW.INI. InternationalPrefix=xx is used to specify a prefix to be added to a phone number (e.g., 00) when sending to an international recipient.
  • HTTP SMSC Interface: Add configuration parameter under [Modem Name] section of SMSGW.INI. Charset=charsetName is used to specify that NowSMS should convert text messages to a particular character set before attempting to submit them to the specified HTTP SMSC. The default character set encoding for NowSMS is UTF-8. Other encodings supported include iso-8859-1, us-ascii, big5 (big-5), gb2312 (gbk, gb2312-80), shift-jis (shift_jis), iso-8859-2, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9.
  • SMPP: Add configuration parameter under [SMPP - ip.address:port] section of SMSGW.INI. If WDPAdaptation=Yes, NowSMS will submit WAP push messages following the WDP and WCMP Adapation guidelines published by the OMA/WAP Forum. This will allow WAP push and MMS support over CDMA with compatible SMPP gateways that support WDP Adaptation and the WAP CDMA Teleservice.
  • Web interface - charset parameter now applies to the "Text", "MMSSubject" and "MMSText" parameters. If "charset=xxx" is specified in a URL request, NowSMS will convert the data specified any of these parameters to UTF-8. Cncodings supported include iso-8859-1, us-ascii, big5 (big-5), gb2312 (gbk, gb2312-80), shift-jis (shift_jis), iso-8859-2, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9.
  • Receive MMS Messages to File: If a message contains multiple files with duplicate names, previous versions would overwrite the contents of the first file with the content of subsequent file parts. The web interface will still exhibit this behaviour. When submitting messages through the web interface, each file name must be unique.
Keith Norris
Username: Admin

Post Number: 7
Registered: 05-2003
Posted on Saturday, May 01, 2004 - 04:09 am:   

Additional enhancements and fixes included in the final v5.50 release:

  • Add support for sending EMS in a CDMA environment when connecting to an SMPP-based SMSC that supports the WEMT teleservice. Manually edit SMSGW.INI, and under the [SMPP - ip.address:port] section of SMSGW.INI, add EMSServiceType=WEMT. This causes NowSMS to set the service type to WEMT when submitting a message in EMS format.
  • Sending pre-compiled MMS file through web interface: Fix for a bug that could occur when sending a pre-compiled MMS message through the web interface, where NowSMS will not properly override the recipient list of the pre-compiled MMS message with a list of recipients specified in the send request.
  • MM7 VASP: Allow VASP account name and password to be specified in the URL of the MM7 post, using the format /mm7/accountname=password
  • Receiving VASP Messages: When routing a received message to the MMS-IN directory, recipient information was not being recorded in the received message file.
  • Receiving MM7 messages: In a message received from a service provider, a recipient address is not required. If the "MMSC Routing for Received Messages" is set to a value other than "Standard MMS Delivery", NowSMS will now accept messages that do not include a recipient address. If the routing is specified to forward to an e-mail address, NowSMS will insert that e-mail address as the recipient. If the routing is specified to forward via MM7 or to write the message to the MMS-IN directory, NowSMS will insert a dummy recipient address of "unknown@unknown.com". To override this address, edit VASPIN\accountname\VASP.INI, and under the [VASP] section header, add DefaultRecipient=address.
  • MMSC to E-mail: Add MMSC.INI configuration parameter, under [MMSC] section header, RemovePlusFromEMail=Yes will configure NowSMS to remove the plus sign from e-mail addresses that it generates when sending from an MMS sender to e-mail.
  • SMS Gateway Logs: SMSIN log now receives the recipient address in the log file entry.
  • WAP SL Push: Interpretation of the WAPSLACTION parameter encoded the wrong values for "execute-high" and "execute-low" ("execute-high" was sent out with the binary code for "execute-low" and vice versa).
  • MMSC: To simplify the process of routing short codes to VASPs, configuration setting added to MMSC.INI, under [MMSC] header. ShortcodeMaxLength=# specifies the maximum length in digits, of a short code. If the length of a recipient phone number is less than or equal to this value, the MMSC will not perform any conversions (such as adding the default country code) on the recipient address.
  • Modify Short Code Processing logic. 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:
    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: