Routing SMS messages to a Specifc SMSC Route

Posted by on Jul 10, 2008 in Support Blog | 0 comments

If you need control over routing to particular SMSC connections, the logic in NowSMS works like this:

When NowSMS routes a message, it first looks to see if a sender address has been specified for the message submission (normally there is not a sender address specified, unless either you submitted the message via HTTP and specified a “Sender=” parameter, or a “Forced Sender Address” is configured for the user account that is submitting the message). If a sender address was specified, then NowSMS checks to see if the sender address matches the “Default Sender Address” that is configured for any of the SMSC links (or the “Phone Number” associated with a GSM modem). If NowSMS finds a match, then it will route the message only via an SMSC connection with a matching sender address.

(Note: It is possible for the “Default Sender Address” field to include a comma delimited list of phone/shortcode numbers, indicating that a message with a sender address that matches any of these numbers should be routed via the connection.)

If NowSMS did not find a match on the sender address, then it evaluates the recipient address, and it will look to see if it finds a match in the “Preferred SMSC Connection for” recipient address masks associated with any of the SMSC connections. (These recipient address masks can be wildcards such as “+44*” to match any phone number that starts with “+44″.) If NowSMS finds a match, then it looks for the longest mask that provides a match, and routes the message via the connection with the longest matching mask. (For example, if you were sending to +447624999999, and you had one connection with a mask of “+44*”, and another with “+447624*”, then the connection with the mask of “+447624*” would be used as it is a longer match than “+44*”.)

If there is no match on the recipient address mask, then the message will be routed via any connection that has “Support any outbound message traffic” checked.

(Note: It should also be mentioned that if NowSMS found multiple matches on the sender address, it evaluates the “Preferred SMSC Connection for” recipient address masks for each of the connections that had a sender address match.)

There is also an additional HTTP parameter setting that can be used to explicitly route a message via a particular SMSC, so that you don’t have to use the sender/recipient matching logic if it is not appropriate for your configuration.

This additional HTTP parameter works like this:

When you submit a message via HTTP, 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, rather than using the SMSC name, it can be a route name that is defined as associated with an SMSC. To define a route name for an SMSC, it is necessary to manually edit SMSGW.INI, and under the appropriate section header (e.g., [Modem - Bluetooth Modem] or [SMPP - a.b.c.d:xyz]), add RouteName=xxxxx. It is possible for multiple SMSCs to share the same route name, meaning that if a message is submitted with “&SMSCRoute=xxxxx”, it will be routed outbound over the first available SMSC that is configured with RouteName=xxxxx.

With mobile number portability (MNP), it can be difficult to determine the mobile operator to which any given phone number belongs. If mobile subscribers initiate their subscription to your service by sending an SMS to your short code, it may be useful for your service to remember the SMSC route from which the message was received. This way, you can be sure to route any future messages to that subscriber via the same SMSC connection. If you use the 2-way command functionality in NowSMS, include an @@SMSCROUTE@@ parameter in your 2-way command, and NowSMS will insert the received “RouteName” into this parameter value. More information on this topic can be found in the posting titled 2-way SMS: Multiple operators with the same shortcode.

Update: Additional related information can be found in the posting titled Dynamic SMS Message Routing with HTTP Callbacks.


Related pages:

  • SMS Routing Logic For the sake of clarity, this section will define the routing logic that NowSMS uses to determine which connection should...
  • Routing Options The “Routing Options” dialog for a modem connection contains a field to set the Phone Number of the GSM modem...
  • Block/Reject Message There are no parameters to define, other that “Account Name”, “Account Description”, and “Route Messages to this account for recipient...
  • MMSC Routing – EAIF Below is shown the configuration for an “MMSC Routing” using an EAIF connection to another MMSC: “Account name” and “Account...
  • MMSC Routing – MM4 Below is shown the configuration for an “MMSC Routing” using an MM4 connection to another MMSC: “Account name” and “Account...
  • MMSC Routing Similar to how the Now SMS & MMS Gateway allows recipient phone number masks to be defined to route SMS...
  • MMSC Routing – MM1 (GPRS Modem) When adding an “MMSC Routing”, the options on the dialog box will change, depending on the type of MMSC connection....
  • Routing MMS Messages to E-Mail MMS to e-mail is part of the standard MMSC functionality when a mobile phone is configured to use NowSMS as...
  • MMSC Routing – MM7 Below is shown the configuration for an “MMSC Routing” using an MM7 connection to an operator MMSC (or other MMSC...
  • Using NowSMS as an SMPP Server for Another Application One of the more unusual features of NowSMS is its ability to operate as an SMPP server. NowSMS can relay...

Topic Category: ,

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