Using NowSMS as an SMPP Server for Another Application

Posted by on Oct 2, 2009 in Support Blog

Topic Keywords: ,

One of the more unusual features of NowSMS is its ability to operate as an SMPP server. NowSMS can relay messages submitted to its SMPP server to any outbound SMSC connection, which could be one or more GSM modems and/or SMPP, UCP/EMI, CIMD2 or HTTP SMSC connections.
There are a few different reasons why this feature would be used. The simplest scenario is when an end user wants to use a software product that has an existing SMPP interface, but does not want to enter a commercial arrangement with an SMPP based SMS provider. In this scenario, NowSMS acts as a protocol converter between SMPP and other types of SMSC connections.

Another scenario is when it is desirable to have multiple applications share an existing SMPP connection. Multiple SMPP applications can connect to a NowSMS server and share an upstream SMPP connection.

We tend to get the most questions from end users who have an SMPP-based application that they want to interface with NowSMS where NowSMS is sending and receiving SMS messages via a GSM modem.

To answer the most frequently asked question, yes, the SMPP application can both send (MT, or mobile terminated) and receive (MO, or mobile originated) messages. This does require that the GSM modem being used supports sending and receiving SMS messages over the GSM modem interface (this is normally not a problem, except when using a Nokia phone as a modem … use a dedicated GSM modem device instead).

In this posting, we’ll give a quick overview of how to configure this type of setup.

Before you configure any SMPP related settings, start by setting up NowSMS to work with your GSM modem. The first two guides on the Quick Start Guide page of the NowSMS web site provide a good overview of this process.

Before continuing to the next step, confirm that you are able to successfully send SMS messages from the NowSMS web interface.

To enable an SMPP client to connect to the NowSMS server, there are two configuration steps that are required.

1.) The NowSMS SMPP server needs to be enabled. To enable the SMPP server, go to the “Web” tab of the NowSMS configuration. Check “Enable SMPP Server”, and specify a port on which NowSMS should listen for SMPP connections.

Any firewalls between your SMPP client and the NowSMS server will need to be configured to allow this connection.

2.) A user account needs to be defined on the NowSMS server. Your SMPP client will authenticate to NowSMS with this account information.

To define a user account, go to the “SMS Users” tab of the NowSMS configuration. Press “Add” to define a new user account.

Specify a “User Name” and “Password” to be used for the account.

Ensure that “Enable SMPP Login for this User” is enabled.

We also recommend specifying IP address restrictions to limit the IP addresses from which this account is allowed to connect. The “Restrict to IP Address(es)” field can contain a comma delimited list of allowed IP addresses. A wildcard character of “*” can also be used to specify an entire subnet, such as 192.168.0.*.

It is now possible to configure your SMPP client software to connect to NowSMS using the IP address or host name of the NowSMS server, and the port number that we configured in step 1.

Your SMPP client might refer to the “User Name” as a “system_id”, but it is just different terminology for the same parameter.

An additional point of confusing in SMPP environments are the TON and NPI values. The NPI value is not important for this type of configuration. The TON value should be set to “1” if you are sending messages where the recipient phone number is in international format (includes a country code). If the recipient phone number is in local format, use a TON value of “0”.

So far we’ve only covered how an SMPP client can send messages through NowSMS.

It is also possible for an SMPP client to receive messages from NowSMS. There are two different ways to configure this:

A.) If you are using a GSM modem and want all messages received via that modem to be routed to your SMPP client, select “Properties” for the modem in the NowSMS SMSC list.  Select the name of your SMPP user account in the “Route SMS to local user” field. When this option is set, all SMS messages that NowSMS receives via this modem will be routed for delivery to your SMPP client.

B.) An alternative solution is available for more complex systems. One of the properties for the “SMS User” account is “Recipient address(es) to route to this user”. This property can contain a comma delimited list of phone numbers, which can include “?” (match 1 character) and “*” (match 0 or more characters) wildcards.

Whenever NowSMS routes a message that is addressed to a phone number that matches this list, it will route the message to the SMPP client instead of sending it via an outbound SMSC connection.

This property also applies to SMS messages that are received via an upstream SMSC connection. For example, if you have an SMSC connection that receives messages for multiple short codes, NowSMS can route the received messages to different SMPP clients depending on the short code number for which the message is received on.

That’s a quick overview of this functionality. If you have any questions, please visit us in the NowSMS Support Forum.

For comments and further discussion, please click here to visit the NowSMS Technical Forums (Discussion Board)...