NowSMS v5.51 Release Available

NowSMS v5.51 Release Available SearchSearch
Author Message
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 3313
Registered: 10-2002
Posted on Thursday, August 19, 2004 - 10:25 pm:   

NowSMS v5.51 will be available for download on Monday, August 23, 2004 at the standard download link: http://www.nowsms.com/downloads/smsmmsgateway.htm

Highlights regarding this release can be found in our Newsletter at http://www.nowsms.com/newsletter/20040823.htm

This posting provides a detailed list of the new features, functionality, and changes in the v5.51 release.

  • MMSC Outbound Routing - MM7/MM4/MM1/EAIF: Add configuration parameter to allow extra headers to be inserted into the HTTP or SMTP header for outbound 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).
  • MMSC: Fix for corrupted "To:" header when a message addressed to multiple recipients is transmitted over an MM4 link.
  • SMS Gateway: 2-way SMS, add @@MESSAGEID@@ replaceable parameter for 2-way commands.
  • CIMD: Fix for problem connecting to a CIMD2 host by a host name reference. (Connecting to an IP address was not a problem.)
  • Multimedia WAP Push: Support added for defining templates for the WML generated for Multimedia WAP Push. See http://support.nowsms.com/discus/messages/485/3315.html for more information.
  • SMS Gateway: SMS to e-mail routing (mailto: in 2-way command) was including the recipient e-mail address in the text of the e-mail message.
  • MMSC/MM7: Delivery reports sent back to an MM7 client did not include the correct message-id (missing "@hostname" part of the message-id that was originally returned when the message was submitted).
  • SMS Gateway: Increase limit size on "forced sender address" for "SMS Users" account to 19 characters (previously 10 character limit).
  • MMSC: Fix for missing "from" header when routing received MM7 messages to the MMS-IN directory interface.
  • MMS over GPRS: Add support for inserting custom "User-Agent:" and "Profile:" headers when submitting/retrieving MMS messages from an operator MMSC. To insert a custom "User-Agent:" header, add a setting to MMSC.INI, under the [MMSC] section header of HeaderUserAgent=string. Similarly, use a setting of HeaderProfile=http://profileurl for setting a custom "Profile:" header.
  • MMSC: Add configuration option for using Ericsson's pseudo-MM7 format when defining an MMSC Routing to an MMSC.
  • SMS Gateway: Add configuration parameter to allow for "2-way" commands to be processed via a proxy server. Under the [SMSGW] section header of SMSGW.INI, NowSMS will look for a configuration parameter of 2WayProxy=ip.address:port. If that setting is present, 2-way HTTP commands will be routed via the specified proxy server.
  • MMSC: Performance enhancements when routing MMS messages to a large number of recipients.
  • SMS Gateway: Fix for preferred routing problem for situations where messages are being routed using a combination of sender address and recipient address masks.
  • MMSC: Fix for a situation where if a text part of an MMS message being sent to an e-mail address was encoded using quoted printable text, it was possible for a "." character to appear as the first character on a line of text. This could cause problems at the SMTP transmision layer.
  • MMSC: Fix for a 100% CPU utilisation problem that could occur when routing some MMS messages to an e-mail address when the MMS client encodes SMIL using cid: references and does not insert line breaks into the SMIL. (Observed with some messages submitted from Alcatel OT 735.)
  • MMSC: Fix for ReplaceCIDInSMIL=Yes setting introduced in v5.50 triggering exception errors.
  • MM7: When receiving MMS messages over MM7, NowSMS is mixing up the codes for MessageClass = Informational and Advertisement. Messages with either message class were being converted to the other message class.
  • SMPP Server: Fix for a sporadic problem where the SMPP server would reject a submitted message and return an "invalid command" error.
  • MMSC: When submitting over MM7, take extra precaution to generate a unique transaction id.
  • MMSC: Add support for keep alive connections over the MM1 interface. This setting is not enabled by default, to enable add EnableKeepAlive=Yes under the [MMSC] section of MMSC.INI.
  • MMSC/MM7: DeliverReq messages included an extra, invalid <Sender> element, following the valid <Sender> element. SubmitReq messages did not have the <SenderAddress> element encoded correctly (address should have been in <RFC2822Address> or <Number> element within this element). DeliveryReportReq messages did not have the <Sender> or <Recipient" elements encoded correctly (address should have been in <RFC2822Address> or <Number> element within this element).
  • MMSC: "MSISDNHeader=" setting in MMSC.INI now supports a comma-delimited list of headers, so that the MMSC can be configured to accept MSISDN information from one of multiple headers.
  • MMSC: When routing e-mail to MMS, if there is no subject header in the e-mail message, the MMSC will insert a blank subject header in the MMS message (previously the MMSC would not include a Subject header in the MMS message in such a situation). Instead of a blank header, custom text can be inserted as the header by adding a parameter MMSNoSubject=text under the [MMSC] section of MMSC.INI.
  • SMS: If a message cannot be routed (because no SMSC definition has "Support any outbound message traffic" checked), stop attempting to route the message.
  • SMS: Fix for message size calculation error. If a message included some extended characters (such as Greek characters), NowSMS would not calculate the SMS message size properly, and could use segmentation to send a message over multiple messages, even if the message was 160 characters or less.
  • SMS: If a "2-way" command returns a redirect response, and the redirect URL is on the same host as the original URL request, include an "Authorization:" header when retrieving the redirect URL if a username and password were configured for the 2-way command definition.
  • SMPP: Add advanced parameter settings for "Sender Port Number" and "Receiver Port Number". If settings are configured, NowSMS will bind to the specified local port number when initiating SMPP connections. This setting is implemented for configurations where the SMS service provider requires the client to connect from a specific port only.
  • XML Settings: Add support for the Nokia "PoC Invitation Message Structure v1.0", supported by Nokia push-to-talk phones. XML documents following this structure can be posted via the "XML Settings" interface and NowSMS will perform the appropriate binary encoding.
  • SMS: "ReceiptRequested=Yes" parameter supported for HTTP submissions. When this parameter is specified, NowSMS will request a delivery status report for messages submitted via GSM modem, or via SMPP. Delivery receipt formats are service specific. For most GSM modem connections, the format of the delivery status will be as follows: "Report: RecipientPhoneNumber SMSC: SMSCAddress Submitted: yyyy-mm-dd hh:mm:ss +0000 Reported: yyyy-mm-dd hh:mm:ss -0000 Status: ## (Status Text)". Status values are defined in ETSI GSM 03.40, Section 9.2.3.15. Within the Status Text, the start of the status text will be one of the following to indicate status: "Delivered", "Forwarded" (message accepted by SMSC, but forwarded to another system for delivery, no delivery confirmation available), "Temp Error" (an error condition is being reported, but the SMSC will continue to retry), or "Error" (permanent error condition). Note that many mobile operators will always return a "Delivered" status, regardless of whether or not the message could be delivered.
  • MMS Message Retrieval over GPRS: An additional setting can be specified in an MMSWAP.INI file, under an [MMSWAP] section header. SarMaxGroupSize=####, where #### is a numeric value requesting that the WAP gateway send no more than #### bytes without an acknowledgement from the client. This setting may need to be adjusted for troubleshooting purposes.
  • MMSC Outbound Routing - MM7/MM4: Add configuration parameter to disable delivery receipts from being routed over the specified route (some MMSC interconnect providers charge for delivery reports). In the VASPOUT\accountname\VASP.INI file, under the [VASP] header, add "DisableDeliveryReport=Yes" and any delivery reports for the specified route will be silently discarded.
  • MMSC: Add MMSC.INI file parameter for restricting connections to the MMSC to a specified list of IP addresses. Under the [MMSC] section header, added supported for MMSCIPRestrict setting, which is 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).
  • MMSC: Automatically generate a simple SMIL presentation for e-mail to MMS routing. To disable automatic SMIL generating, add EMailAutoSmil=No under the [MMSC] section header in MMSC.INI.
  • WAP Push & OMA Settings: Add configuration parameters to SMSGW.INI for setting "X-WAP-Initiator-URI" and "Push-Flag" values in WAP Push and OMA settings messages. Under the [SMSGW] section header of SMSGW.INI, the setting "WAPPushInitiatorURI=" can be used to set the "X-WAP-Initiator-URI:" header, and "WAPPushFlag=" can be used to the set the "Push-Flag:" header. "WAPPushInitiatorURI=" and "WAPPushFlag=" parameters can also be used in HTTP requests when submitting SMS messages.
  • MMSC: Updated accounting callbacks for MMS delivery reports. In previous versions, no accounting callbacks were called when an MMS delivery report was generated as a result of a message delivered by the MMSC. In this release, a callback of "Type=MMSDeliveryReport" is generated whenever a delivery report is generated. A "PreAuth=Yes" callback is generated before the delivery report is generated (and allows the callback to suppress the delivery report), and a standard accounting callback is generated after the delivery report is generated. The format of this callback is the same as for the "MMSSend" callback (note that the "From" field in the callback indicates the recipient address to which the original message was delivered, and the "To" field in the callback indicates the address which is to receive the delivery report). For delivery reports received over an MM4 or MM7 connection, these messages now generate "MMSDeliveryReport" callbacks instead of "MMSSend" callbacks. (Also, MMSC-yyyymmdd.LOG file entries have been updated to indicate that the message being routed is a delivery report. Record types "MMSIN-DeliveryReport" and "MMSOUT-DeliveryReport" are now generated when delivery reports are routed.)
  • SMPP Server: Fix for SMPP server interface not correctly recognising data_coding = 2 as signifying binary encoding. (SMPP Server expected data_coding = 4, or a GSM specific value like F5 for a binary message.)
  • MMS Notification via Web Interface: Add support for parameter "MMSURLValidate=No". When submitting an MMS Notification (using the MMSURL parameter), this parameter can be added to the request to tell NowSMS not to pre-fetch (validate) the URL before sending the notification. Note that if NowSMS does not pre-fetch the URL, NowSMS cannot verify that the URL is of the correct MIME type or content format. Also, note that if NowSMS does not pre-fetch the URL, NowSMS cannot read the "From" and "Subject" headers from the MMS message, and the "MMSFROM=" and "MMSSUBJECT=" parameters should be used to supply these values. ("Subject" is optional, but a "From" header should be included, otherwise many MMS terminals will reject the message.)
  • SMS Gateway: Add SMSGW.INI file setting that can be applied to GSM modem connections. ExcludeSMSC=Yes under the [Modem - Driver Name] section of the SMSGW.INI file will provide for an alternate encoding to get around problems with the Siemens M1 module.
  • SMPP: Add character set options for SMPP connections. Our default behaviour is to use the GSM character set (IA5), specifying the "default character set" when submitting the message to the SMSC. New configuration options for setting the character set to IA5 or ISO-8859-1. When IA5 is configured, the same IA5/GSM character set is used, but the character set is set explicitly in the request. When ISO-8859-1 is set, that character set will be used for submissions. (Note that Greek characters cannot be supported when ISO-8859-1 is used.)
  • SMS Gateway: Fix for problem where after making some configuration changes, NowSMS prompts that the service needs to be restarted for configuration changes to be applied, when a restart is actually not required (such as adding user credits).
  • SMS Gateway: Ignore UTF-8 text file signature bytes for text file distribution lists that were created external to NowSMS.
  • SMS Gateway - HTTP SMSC: Fix for "Send long messages without segmentation" option not working properly for long text messages.
  • SMS Gateway - HTTP SMSC: Update request format to HTTP/1.1.
  • SMS Gateway: Web interface added for provisioning "SMS Users" and "MMSC Users" accounts. To enable this interface, check the checkbox on the "Web" page of the NowSMS configuration dialog, and define a username and password to be used for access to these functions via the web interface. Web administration functionality can be limited to a specified list of IP addresses by entering one or more IP addresses in the "IP Address Restrictions" field. The IP address restrictions field can contain a comma-delimited list of IP addresses, with the ability for wild cards to be specified (e.g., 192.168.1.*,127.0.0.1).
    When web administration is enabled, accessing the web interface with a URL of "/admin" will allow access for the web interface for account administration.
    Additionally, an HTTP-based interface has been added to allow for account provisioning by external applications. This interface is accessed with a URL of "/provision" followed by a series of "HTTP GET" parameters. (The admin username and password must be supplied in the HTTP GET request within an "Authorization:" header.)
    Two different provisioning request formats are defined, one for defining "SMS Users" accounts, and a second for defining "MMSC Users" accounts.
    If a parameter of "Type=SMS" is specified, the following parameters are supported:
    AdminAction=Add, Modify, Delete, or CreditCheck
    Name=Account Name
    Password=password
    Fullname=Full Name
    EnableWebLogin=Yes/No
    EnableSmppLogin=Yes/No
    EnableSmtpLogin=Yes/No
    ForcedSenderAddress=Sender Address
    RestrictIPAddress=list of IP addresses
    EnableCreditBalance=Yes/No
    CreditsToAdd=####
    MessageLimitDefault=Yes/No
    MessageLimitPerDay=####
    MessageLimitPerMonth=####
    RecipientAddresses=list of recipient phone numbers that should be routed to this account
    As an example, to add credits to an existing account, issue the following URL request:
    http://server:port/provision?Type=SMS&AdminAction=Modify&Name=accountname&Credit sToAdd=100
    Assuming that the user is authorized to issue a provisioning command (valid username/password, and supported IP address for originating the request), the server will return a normal HTTP response code of 200 with a MIME content type of “text/plain”. The response will start with “OK” if the request was successful, or “ERROR” if the request failed. If a "CreditsToAdd" parameter was specified, or "AdminAction=CreditCheck", the HTTP response will include the text "Credits=####", where "####" is the current balance for the account.
    If a parameter of "Type=MMS" is specified, the following parameters are supported:
    AdminAction=Add, Modify, Delete, or CreditCheck
    PhoneNumber=phonenumber
    Name=Alias
    Password=password
    Fullname=Full Name
    MessageLimitDefault=Yes/No
    MessageLimitPerDay=####
    MessageLimitPerMonth=####
  • SMS Gateway: Add support for WAP Push Cache Operation (CO) messages. XML documents of the format "text/vnd.wap.co" can be submitted via the "Send XML Settings" option in the web interface, or via the PAP (Push Access Protocol) interface
  • 2-way SMS: Fix for "?" characters not being properly URL escaped when executing 2-way SMS commands.
  • Add SSL/TLS Support: SSL/TLS (https://) support is now available for the following functions:
    • SMS Gateway Web Interface - The web interface for the SMS gateway component can be configured to accept SSL/TLS connections. The port number that the server will listen to for SSL/TLS connections is specified on the "Web" page of the configuration dialog. Note that this option is not available until a "Server Certificate" is generated on the SSL/TLS page of the configuration dialog. If you want to require SSL/TLS connections, two options are available: a.) Configure a port number for the "SSL port number for web interface", but leave the "Port number for web interface" blank. b.) Configure port numbers for both the "SSL port number" and standard "Port number" settings, but check "SSL Redirect only". The "SSL Redirect only" setting will redirect any requests to the standard port to use SSL/TLS instead. (Note: The default port for https:// servers is 443. If you want to be able to connect to the web interface without specfying a port number in the URL, specify an SSL port number of 443.)
    • SMPP Server Interface - The SMTP server component can accept SMPP over SSL/TLS connections. On the "Web" page of the configuration dialog, there are two port number settings: "Port number for SMPP Server" and "SSL port number for SMPP Server". The SMPP server can be configured to accept SMPP connections on either or both of these ports.
    • HTTP SMSC Interface - When connecting to an HTTP-based SMSC, NowSMS can now use SSL/TLS. There is a checkbox for specifying that SSL/TLS should be used in the dialog where HTTP SMSC connections are defined. If you are connecting to an https:// URL that does not include a port number, specify 443 as the port number.
    • SMPP SMSC Interface - When connecting to an SMPP-based SMSC (such as another NowSMS server), NowSMS can now use SMPP over SSL/TLS. There is a checkbox for specifying that SSL/TLS should be used in the dialog where SMPP SMSC connections are defined.
    • MMSC HTTP Interface (used for MM1, MM7 and EAIF submissions) - An additional setting is defined on the "MMSC" page of the configuration dialog for specifying the HTTPS port number for the MMSC. The MMSC will accept MM1 client connections, or MM7/MM1/EAIF VASP connections on this port. Please note that it is not possible to force MM1 or EAIF connections to use SSL/TLS. A setting is provided to require that MM7 VASP connections use SSL/TLS to connect. This setting is available on the "MMSC VASP" page of the configuration dialog. (Note: This option is not available until a "Server Certificate" is generated on the SSL/TLS page of the configuration dialog.)
    • MMSC Routing Interface - When defining a connection to an external MMSC using EAIF or MM7, it is possible to specify an https:// based URL in the "Server Address" field.
    Note: Some functions (specifically the SMS Gateway Web Interface and the MMSC HTTP Interface) require an SSL Server Certificate before they can function properly. In SSL environments, server certificates are used to identify the server and to validate that the individual or organisation operating the server is who they claim to be. The "Generate Server Certificate" option on the "SSL/TLS" page of the NowSMS configuration dialog allows you to build a self-signed certificate. This will allow you to accept HTTPS connections, however web browsers will display a warning message when a user first connects to your site. To remove this warning, you must have your certificate signed by a recognised Certificate Authority (CA). A CA verifies that the identity claimed on your certificate is valid, which in theory helps prevent another party from masquerading with your server's identity. For more information on Certificate Authorities, please visit http://www.sslreview.com. The following file names are used by NowSMS for SSL related keys and certificates: SSL.KEY - Server Private Key; SSL.CRT - Self-signed server certificate; SSL.CSR - Certificate Signing Request (CSR) that can be submitted to a CA; SSL.CA - The file name that should be used to store a certificate returned by a CA.
  • Added 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 MMS routing callback URL is defined in the MMSC.INI file, under the [MMSC] section header:
    MMSRoutingURL=http://server/path
    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
    In this case, the message could be routed through any of the listed routes.
  • MMSC: MM7 VASP interface was expecting a "MessageId" property in response to both submit and deliver requests. However, this should only be exepected for submit requests, not for deliver requests.
  • MMSC: MM7 server interface was not properly parsing priority values for messages submitted via MM7.
  • MMSC: Add settings on the web menu interface to allow the following settings to be specified for an MMS Message: "Delivery Report", "Read Report", "Priority", and "Message Class".
  • SMS Gateway: Fix for user account "stats" counter problem. If a user account exceeds their credit balance, additional attempts to submit a message will increase the "stats" counter for that account, resulting in statistics that make it appear that the user has submitted more messages than they actually were allowed to submit.
  • SMS via E-Mail/SMTP: Add configuration option under [MMSC] section of MMSC.INI. Set EMailSMSTextOnly=Yes to suppress sender and subject from being included when routing SMTP to SMS. (Message text only from the e-mail is included.)
  • MMSC: Add support for "X-Oma-Drm-Separate-Delivery" header when routing from MM7.
  • MMS over GPRS: Add support for connecting to an HTTP proxy (used by some WAP2 devices) rather than a conventional WAP proxy. To specify this type of connection when configuring a connection to an operator MMSC over GRPS, in the "WAP Gateway IP Address" field use the format "http://ipaddress:port" to specify the proxy address. A prefix of "http://" will tell NowSMS to use HTTP instead of WAP.
  • SMS Gateway: Fix for SMS PreAuth callback not reflecting an accurate message count (MsgCount) parameter when routing long messages. The regular accounting callback would record the correct number of messages, however the PreAuth callback would record only the number of recipients.
  • SMS Gateway: Add SMSGW.INI file settings to limit the speed at which messages are submitted to any of the defined SMSC interfaces. Under the section of the INI file that defines a particular SMSC connection (e.g., [SMPP - ip:port]), an SMSCSendLimit=x/y setting can be defined which specifies 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.
  • EAIF Connections: Add support for setting the reverse charging header (charge recipient for message).
  • Ericsson MM7 Connections: Add support for setting the reverse charging header (charge recipient for message).
  • MM7 Connections: Add support for setting the Service Code which is sometimes used in relation to charging for MMS message delivery.
  • MM7 Connections: Add configuration option to indicate whether the connection is to a VASP or to an MMSC. When routing a message to a VASP, MM7 DeliverReq messages will be transmitted. When routing messages to an MMSC, MM7 SubmitReq messages will be transmitted. The default behaviour is to keep the message in the same format as it was received into NowSMS, so a message submitted to NowSMS remains in submit format, a message delivered to NowSMS remains in deliver format.
  • MMSC: SMSGW.INI "QDir" setting was not being parsed properly. The MMSC would not recognise an alternate location for the outbound SMS Q directory.