How to setup 2 NowSms instances in different machines

How to setup 2 NowSms instances in different machines SearchSearch
Author Message
Marcos Nowosad
New member
Username: Mnowosad

Post Number: 7
Registered: 08-2006
Posted on Wednesday, October 04, 2006 - 06:35 am:   

I am trying to have NowSms running in 2 different machines, executing 2-Way commands, that are pointing to the same SMSC connection (same Server Host Name, same Server Port). Our SMSC is mBlox.

The reason is that we need to setup one testing environment separate from production environment. Each connection has a different Sender Address, so the SMSC is able to distinguish between the outbound requests coming from the two machines.

However, when I try to setup this two-machine scenario, what happens is that one machine captures all inbound SMPP coming from the SMSC, while the other does not receive any of them.

Is there a way to have the two machines receiving the SMPP messages coming from the SMSC, using the same Server Host/Server Post connection settings?
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 6630
Registered: 10-2002
Posted on Wednesday, October 04, 2006 - 08:08 pm:   

Hi Marcos,

Unfortunately, this is all under the control of the SMSC to which you are connecting.

The behaviour that you describe is not uncommon ... after all, that SMSC has no way of knowing what your intentions are if you are logging in with the same account credentials for both connections.

That said, there are criteria within the SMPP protocol that are designed to address this issue. However, I would be surprised if mBlox supported this (they might ... I'd put probability at around 25 to 33%).

When you bind to an SMPP connection as a receiver (or transceiver), you can specify an "address range" parameter. This parameter is intended to specify the destination addresses for which this connection wishes to receive.

This parameter can be specified as an optional parameter when you define the SMPP connection to NowSMS.

The SMPP protocol defines this parameter as being a Unix regular expression, and here is a discussion of the syntax from the SMPP protocol specification:


quote:

Full explanations of UNIX regular expressions can be found in section 5 of the standard on-line
UNIX manuals (man 5 regexp). Furthermore, many UNIX books explain regular expressions
and the various syntax used. This section gives useful and applicable examples of regular
expressions in the context of the SMPP usage of same.
SMPP uses a regular expression in the bind_receiver PDU. The ESME uses this to provide
routing criteria to the SMSC, namely, TON, NPI and routing_expr. The TON & NPI values are
fixed values where the routing_expr itself is the regular expression.
• ^1234
The ‘^’ char is used to represent “beginning with”, therefore ^1234 is interpreted as
MSISDNs beginning with 1234. This allows an ESME specify a specific set of numbers
based on a a given prefix common to all.
• 5678$
The ‘$’ char is used to represent “ending with”, thus 5678$ will match any MSISDN
ending with 5678.
• ^123456$
A combination of ‘^’ and ‘$’ at the beginning and end of a regular expression, is used to
specify an absolute address, i.e the above expression will match MSISDNs beginning with
and ending with 123456. The only value ever matched to this will in fact be ‘123456’
itself.
• [13579]$
values within [] denote a character class. The above expression will match MSISDNs
ending with any of 1, 3, 5, 7 or 9. So this expression will match MSISDNs ending in an
odd digit. If a ‘^’ character is placed inside the ‘[‘, then the match is based on any character
not in the specified class; e.g [^13579]$ will match MSISDNs not ending with any of the
specified digits.