Routing between two SMPP connections based on destination number

Routing between two SMPP connections based on destination number SearchSearch
Author Message
Peter Mohr
New member
Username: Pmoh

Post Number: 16
Registered: 12-2009
Posted on Wednesday, December 08, 2010 - 01:07 pm:   

Hi

I'm trying to set up a route so that some international numbers (+48*) goes to one specific SMPP connection (A) and all other messages goes to another specific SMPP connection (B).

I have A set to NOT have the “Support for any outbound message traffic” set and I have specified preferred SMSC connection (“+48*”). For connection B I’ve allowed “Support for any outbound message traffic”.
When using the NowSMS website routing works, but when my SMPP Client sends then everything goes out using B. Suggestions?

I’m running 2009.07.09
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2701
Registered: 08-2008
Posted on Wednesday, December 08, 2010 - 02:36 pm:   

Hi Peter,

My best guess is that there is a "Default Sender Address" match that is affecting the routing.

If the sender address from your SMPP client submission matches the "Default Sender Address" of one or more SMSC connections, NowSMS will favour the matching connection. (If multiple connections match, then the routing info for the matching connections is used. If no connections match, the routing info for all connections is used.)

In case my guess isn't what is happening on your system, there may be another clue in the routing explanation here: http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route

--
Des
NowSMS Support
Peter Mohr
New member
Username: Pmoh

Post Number: 17
Registered: 12-2009
Posted on Wednesday, December 08, 2010 - 03:07 pm:   

I removed all "Sender addresses" for that particular reason. I have also been looking at the article before with no success.

Is there a routing log I can look at ?

\Peter
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2702
Registered: 08-2008
Posted on Wednesday, December 08, 2010 - 03:20 pm:   

Hi Peter,

Enable the SMSDEBUG.LOG. Submit another message that gets routed the wrong way. (Post the whole log, as I believe the routing config info gets posted to this log shortly after startup.)

Post that and your SMSGW.INI file (just block out username/passwords from SMSGW.INI).

I should be able to see what the issue is based on that info.

--
Des
NowSMS Support
Peter Mohr
New member
Username: Pmoh

Post Number: 18
Registered: 12-2009
Posted on Tuesday, December 28, 2010 - 11:33 pm:   

ok...

SMSGW.ini:
[SMSGW]
Debug=Yes
Modem1=SMPP - 62.80.122.150:12001
WebAuth=No
WebMenu=Yes
WebPort=8800
ConfigurationUpdateTriggerRestart=20101228231919
SeparateUserQueues=Yes
ReceiveSMS=Yes
ReceiveMMS=No
ReceiveSMSCharset=utf-8
SMPPServerEnquireLink=120
SMPPServerMaxConnectionsPerUser=4
SMPPPort=9000
ReceiveSMSCommand1=* "C:\Afaria Data\SMS Gateway\notfound.cmd" @@sender@@ @@msgdate@@ @@msgtime@@ @@fullsms@@ Yes
ReceiveSMSCommand2=NNDE "C:\Afaria Data\SMS Gateway\Germany.cmd" @@sender@@ @@msgdate@@ @@msgtime@@ Yes
ReceiveSMSCommand3=NNIN "C:\Afaria Data\SMS Gateway\India.cmd" @@sender@@ @@msgdate@@ @@msgtime@@ Yes
ReceiveSMSCommand4=NNPL "C:\Afaria Data\SMS Gateway\Poland.cmd" @@sender@@ @@msgdate@@ @@msgtime@@ Yes
ReceiveSMSCommand5=NNPT "C:\Afaria Data\SMS Gateway\Portugal.cmd" @@sender@@ @@msgdate@@ @@msgtime@@ Yes
AlertEMailRecip=pm@mobilityarchitects.com
AlertEMailSender=NNGateway@nn.local
AlertEMailQueueSize=100
Modem2=SMPP - home.mohr.nu:9000
[SMPP - 62.80.122.150:12001]
SMPPVersion=v3.4
UserName=xxxxxxxxxxxxxxxxxxxxx
Password=xxxxxxxxxxxxxxxxxxxxx
SenderAddressOverride=Yes
Receive=No
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
DeliveryReceiptFlag=Yes
Route1=+91
[SMPP - home.mohr.nu:9000]
SMPPVersion=v3.4
UserName=xxxxxxxxxxxxxxxxxxxxx
Password=xxxxxxxxxxxxxxxxxxxxx
SenderAddressOverride=Yes
Receive=No
ReceiveMMS=No
UseSSL=No
Route1=+45
Route2=+48
Route3=+30
LongSMSAlt=Yes

smsout.log:
2010-12-28 23:26:47,4B4AC231.req,127.0.0.1,+48785863888,OK -- SMPP - 62.80.122.150:12001,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=41B4E207;Text="short test. ignore..."
2010-12-28 23:26:49,4B4AC232.req,127.0.0.1,+919986023843,OK -- SMPP - 62.80.122.150:12001,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=41B4E209;Text="short test. ignore..."
2010-12-28 23:26:49,4B4AC233.req,127.0.0.1,+4531621290,OK -- SMPP - home.mohr.nu:9000,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=4AC46C75;Text="short test. ignore..."

SMSDEBUG.log attached.
application/octet-streamSMSDEBUG.log
SMSDEBUG.LOG (33.0 k)
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2788
Registered: 08-2008
Posted on Wednesday, December 29, 2010 - 03:40 pm:   

Use +48* instead of +48
Peter Mohr
New member
Username: Pmoh

Post Number: 19
Registered: 12-2009
Posted on Wednesday, December 29, 2010 - 08:05 pm:   

yes. Sorry....

This time with. +48*

As you can see even though +91* has routing to 62.80.122.150 then it still gets sent using home.mohr.nu

SMSout.log:
2010-12-29 19:56:03,4B4AC23A.req,127.0.0.1,+48785863888,OK -- SMPP - home.mohr.nu:9000,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=4AC46CA 5;Text="Peter Mohr test....Ignore!"
2010-12-29 19:56:05,4B4AC23B.req,127.0.0.1,+4531621290,OK -- SMPP - home.mohr.nu:9000,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=4AC46CA 6;Text="Peter Mohr test....Ignore!"
2010-12-29 19:57:01,4B4AC23C.req,127.0.0.1,+919986023843,OK -- SMPP - home.mohr.nu:9000,SubmitUser=NovoNordisk;Sender=NovoNordiskSMS;SMSCMsgId=4AC46CA 7;Text="Peter Mohr test....Ignore!"

debug.log
19:53:04:477 [0] main: Now SMS/MMS Gateway v2009.07.09 Web server started on port number 8800
19:53:06:492 [0] main: Now SMS/MMS Gateway SMPP server started on port number 9000
19:53:06:492 [0] main: preferred routing = +91*,SMPP - 62.80.122.150:12001
19:53:06:492 [0] main: preferred routing = +30*,SMPP - home.mohr.nu:9000
19:53:06:492 [0] main: preferred routing = +45*,SMPP - home.mohr.nu:9000
19:53:06:492 [0] main: preferred routing = +48*,SMPP - home.mohr.nu:9000
19:53:06:492 [3] ThreadProcessModem: SMPP - 62.80.122.150:12001
19:53:06:492 [4] ThreadProcessModem: SMPP - home.mohr.nu:9000
19:53:08:524 [3] ThreadProcessModem: SMPP connection OK
19:53:08:524 [3] ThreadProcessModem: SMPP - 62.80.122.150:12001
19:53:08:524 [3] ThreadProcessModem: Processing 09F638FD.req...
19:53:08:540 [4] ThreadProcessModem: SMPP connection OK
19:53:08:540 [4] ThreadProcessModem: SMPP - home.mohr.nu:9000
19:53:08:540 [4] SkipQAdd: Debug: SkipQSize = 1000, SkipQCount = 0
19:53:08:540 [3] ThreadProcessModem: Processing 30212684.req...
19:53:09:540 [3] ThreadProcessModem: Processing DD533446.req...
19:53:11:024 [14] ThreadProcessSMPPConnection: Processing SMPP connection from 127.0.0.1...
19:53:36:589 [3] ThreadProcessModem: Processing 0BD09FB5.req...
19:53:36:605 [3] ThreadProcessModem: Processing 4462EDA0.req...
19:53:37:683 [3] ThreadProcessModem: Processing 612F0EA8.req...
19:54:00:029 [3] ThreadProcessModem: Processing 64AA0F73.req...
19:54:01:029 [3] ThreadProcessModem: Processing 926B60B8.req...
19:54:02:029 [3] ThreadProcessModem: Processing 955D665B.req...
19:54:03:029 [3] ThreadProcessModem: Processing 9F02F29D.req...
19:54:04:029 [3] ThreadProcessModem: Processing AE414AEE.req...
19:55:00:019 [3] ThreadProcessModem: Processing B5187C6B.req...
19:55:01:019 [3] ThreadProcessModem: Processing C07DAA31.req...
19:55:02:019 [3] ThreadProcessModem: Processing E2DE527B.req...
19:55:03:316 [3] ThreadProcessModem: Processing 326971C6.req...
19:55:04:019 [3] ThreadProcessModem: Processing 579C0519.req...
19:56:00:025 [3] ThreadProcessModem: Processing 9B68B733.req...
19:56:00:900 [14] SMPPServerReceiveMessageCallback: inbound message: sender=NovoNordiskSMS, recip=++48785863888, pid=0, dcs=0, msgFlags=0, udh=, msg=Peter Mohr test....Ignore!
19:56:00:915 [14] SMPPServerReceiveMessageCallback: inbound message: sender=NovoNordiskSMS, recip=++4531621290, pid=0, dcs=0, msgFlags=0, udh=, msg=Peter Mohr test....Ignore!
19:56:00:915 [14] SMPPServerReceiveMessageCallback: inbound message: sender=NovoNordiskSMS, recip=++919986023843, pid=0, dcs=0, msgFlags=0, udh=, msg=Peter Mohr test....Ignore!
19:56:00:947 [4] ThreadProcessModem: Processing 4B4AC23A.req...
19:56:02:009 [3] ThreadProcessModem: Processing D14DDD0C.req...
19:56:03:009 [4] ThreadProcessModem: Processing 4B4AC23B.req...
19:56:04:009 [3] ThreadProcessModem: Processing EDD52404.req...
19:56:05:010 [4] ThreadProcessModem: Processing 4B4AC23C.req...
19:56:05:025 [3] ThreadProcessModem: Processing F4DD4142.req...
19:57:01:077 [3] ThreadProcessModem: Processing 0D9A9878.req...
19:57:02:031 [3] ThreadProcessModem: Processing 3381E775.req...
19:57:03:031 [3] ThreadProcessModem: Processing 43DFE43A.req...
Peter Mohr
New member
Username: Pmoh

Post Number: 20
Registered: 12-2009
Posted on Wednesday, December 29, 2010 - 08:06 pm:   

Why do I have recip=++48xxx in the debug.log and not in the outbound log ?

I mean why ++ ?

\Peter
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2792
Registered: 08-2008
Posted on Wednesday, December 29, 2010 - 08:34 pm:   

The double + is definitely a problem. The submitting SMPP client should not have a + in the phone number field. Instead of setting a +, it sets the TON to 1.

It appears that the messages arriving from the SMPP client have a + in the destination field, and TON=1.

--
Des
NowSMS Support
Peter Mohr
New member
Username: Pmoh

Post Number: 21
Registered: 12-2009
Posted on Sunday, January 02, 2011 - 05:16 pm:   

I’ve corrected the SMPP client config to remove to “+” and now it works. Why does the “normal” logs show just one + and the debug log ++ ?? At least it should be consistent.

Cheers

Peter
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 2802
Registered: 08-2008
Posted on Tuesday, January 04, 2011 - 09:32 pm:   

Hi Peter,

This has me confused as well.

As best as I can determine, there is a check in our SMPP module that looks for common problems before submitting messages ... such as an extra + character, or (parentheses) or -dash- characters ... and removes these characters.

However, the routing check happens before this cleanup.

That said, for this particular issue, we should probably filter the + as the SMPP server receives the message.

--
Des
NowSMS Support