Routing between 2 SMPP connections

Routing between 2 SMPP connections SearchSearch
Author Message
DJKR
New member
Username: Djkr

Post Number: 1
Registered: 09-2013
Posted on Monday, September 02, 2013 - 01:59 pm:   

Hi, I am having some trouble with routing SMS messages between two SMPP connections. I assume that is a very basic feature of the Gateway.

e.g.

SMPP Connection A - External
SMPP Connection B - Internal

On SMPP connection A - inbound messages for recipients with MSISDN range +74413520??. I want these messages to be routed over to SMPP connection B.

I have tried setting the preferred SMSC connection for SMPP Connection B to +74413520*

Also in the other direction I would like messages destined for +7* originating from SMPP connection B to be routed over to SMPP connection A.

For this I have tried setting the preferred SMSC connection for SMPP Connection A to +7*

However this does not seem to work. I can see the message logged on the smppin log file, however cannot see anything on the smppout log file.

Any suggestions or have I made a basic error?
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4625
Registered: 08-2008
Posted on Monday, September 02, 2013 - 03:06 pm:   

Hi,

Are both of these connections outbind connections (i.e., NowSMS in the role of ESME ... connection defined in the NowSMS "SMSC" list)?

If so, routing messages between the connections can be a little confusing. It can be done, but let me explain a bit about the considerations.

In the SMPP protocol, the party that initiates the connection is known as the ESME, and the party that accepts the connection is the SMSC.

Messages in the direction of ESME to SMSC are in "submit" format.

Messages in the direction of SMSC to ESME are in "deliver" format.

NowSMS has the ability to take the role of either ESME or SMSC. ESME is when it initiates a connection as defined in the "SMSC" list. SMSC is when it accepts a connection from an account defined in the "SMS Users" list.

"Submit" messages are expected to be routed to an "SMSC" connection.

"Deliver" messages are expected to be routed to an "SMS Users" account (or can be routed to a 2-way SMS command).

As I understand your configuration, you want to treat "deliver" messages from one SMSC as "submit" for the other SMSC.

To do this, there is a ReRouteReceived configuration setting that can be manually applied. It essentially indicates that for "deliver" messages from a specific SMSC connection, these messages should be converted to "submit" messages.

Rather than configuring this manually, in recent versions we have added this configuration setting to the advanced SMPP settings as "Re-Route Received Messages for Outbound Delivery". Since you're just getting started with NowSMS, it's probably easiest to download an interim update that includes this setting in the configuration UI. The latest interim update is at http://www.nowsms.com/download/nowsms20130830.zip

(If you prefer to configure manually, search for ReRouteReceived in this forum for past discussions.)

Be aware, however, that delivery reports will be a problem in this type of configuration.

We have a rather lengthy write-up of why this is the case here: http://www.nowsms.com/sms-hubbing-considerations

The bottom line of that document is that any time you convert from deliver to submit, you are breaking the message-id chain, which means that for any delivery reports, the message-id in the delivery report will not be able to be correlated with the original message.

This is not a NowSMS limitation, but a protocol limitation that happens when deliver messages are converted to submit.

There are two ways to overcome this limitation.

a.) The SMPP protocol defines a generic alternative to submit and deliver known as the "data_sm" format for use in hubbing/peer scenarios. You can configure NowSMS to use "data_sm" under advanced settings for either an SMSC or SMS User account. But in order for this to work, the other SMSCs must also have support and configuration settings for this type of connection. (From practical experience, this support and understanding of the issue is rare and not to be expected.) (Figure 6 in the link that I shared above.)

b.) Each party of a hub connection connects to the other party as both ESME and SMSC. So NowSMS connects to A and B as currently configured (defined in "SMSC" list), but additionally, A and B connect to NowSMS (defined in "SMS Users" list. Regular SMS messages are always routed from ESME to SMSC, and delivery reports are always routed from SMSC to ESME. (Figure 5 in the link that I shared above.)

I realise this is all very confusing for what seems like a simple configuration request. The "Re-Routed Received" configuration setting is quite simple, and if you download the update, and apply that setting to both SMSC connections, it will give you the basics of what you are looking for. I just think you should be aware of how that type of configuration impacts delivery reports.

--
Des
NowSMS Support
DJKR
New member
Username: Djkr

Post Number: 2
Registered: 09-2013
Posted on Monday, September 02, 2013 - 04:37 pm:   

Hi Des,

Thank you very much for the prompt reply. The updated software seems to do the trick and the message is rerouted from one ESME to the other.

I am now working on relaying the delivery reports. It seems that one of the ESME supports data_sm and I am just finding out if the other supports data_sm. I will let you know how I get on.

Many thanks again.