Help with MBLOX config - Send US SMS

Help with MBLOX config - Send US SMS SearchSearch
Author Message
Mark Hewson
New member
Username: Markhewson

Post Number: 6
Registered: 08-2012
Posted on Monday, November 04, 2013 - 02:52 pm:   

Hi Des,

Hope you can help me here.

I'm connecting to MBLOX using SMSC connections. Everything is working fine except when I send to a US number.

If I use the following in my browser it sends the SMS no problem:
http://xxx.xxx.xxx.xxx:8800/?PhoneNumber=+16504778671&Sender=99662&user=xxx&pass word=yyy&Text=blahblah&SMSCRoute=SMPPmbloxUS-SR&ServiceType=32635&&SMPPOption_mb lox_serviceid=60025&ReceiptRequested=Yes&SMPPOption_mblox_tariff=&SMPPOption_mbl ox_operator=

My app needs to send worldwide so I need to route the US messages to the SMPPmbloxUS-SR connection. My config for the connection looks as follows:

[SMPP - smpp.mt.us.mblox.com#2:3203]
RouteName=SMPPmbloxUS-SR
SMPPVersion=v3.4
UserName=xxxxxxx
Password=xxxxxxx
SenderAddressOverride=No
Receive=Yes
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
RoutePrefOnly=Yes
Route1=+1
Route2=1
SenderAddress=99662
[SMPPOptions]
ServiceType=32635
SMPPOption_mblox_serviceid=60025

When i send a US message it keep routing to another connection and failing and if it does hit the correct route it fails as well.

The connection it keeps going to is:
[SMPP - smpp4.mblox.com:3200]
RouteName=SMPP4-mblox
SMPPVersion=v3.4
UserName=xxx
Password=xxx
SenderAddress=ZapZap
SenderAddressOverride=Yes
Receive=Yes
ReceiveMMS=No
UseSSL=No
[SMPPOptions]
mblox_operator=1402,String,5
mblox_sessionid=1404,String
mblox_servicedesc=1405,String
mblox_contenttype=1406,String
mblox_serviceid=1407,String
mblox_imei=1501,String
mblox_imode=1502,String
mblox_SubID=1503,String
mblox_HostNet=1504,String
mblox_NewSub=1505,String
mblox_SubRef=1506,String
mblox_SubDate=1509,String
mblox_UAProf=1513,String
mblox_BillId=1519,String
mblox_ProdCode=1520,String
mblox_SessionID=1521,String
mblox_reasonCode=1522,String
mblox_reasonMsg=1523,String
mblox_Command=1524,String
mblox_AVStatus=1526,String
mblox_ProdDesc=1527,String
user_message_reference=204,Integer,2

Thanks for your time,

Mark
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4714
Registered: 08-2008
Posted on Monday, November 04, 2013 - 04:39 pm:   

Hi Mark,


As a first step, change the +1 and 1 in the preferred list to +1* and 1*

That will fix the issue of the US messages going to the wrong connection. (Although since you are including the SMSCRoute parameter, that should take precedence.)

Also, get rid of this section:

[SMPPOptions]
ServiceType=32635
SMPPOption_mblox_serviceid=60025

NowSMS will only read one [SMPPOptions] section, and that section should include parameter format definitions only, not values.

Under [SMPP - smpp.mt.us.mblox.com#2:3203], you could add:

ServiceType=32635
DefaultSMPPOptions=mblox_serviceid=60025

Those values are used as default values for the parameters. They will not override values you specify when submitting via HTTP. (In other words, if you submit a message without specifying these parameters, NowSMS will apply these default values when sending via this connection.)

This assumes that "ServiceType" is referring to the SMPP service_type value and not some other TLV parameter that mBlox has defined.

--
Des
NowSMS Support
Mark Hewson
New member
Username: Markhewson

Post Number: 7
Registered: 08-2012
Posted on Tuesday, November 05, 2013 - 03:39 pm:   

Thanks Des, working perfectly
Rui Goncalves
New member
Username: Ruig

Post Number: 1
Registered: 01-2014
Posted on Tuesday, January 14, 2014 - 12:48 pm:   

Hi Gents,

i am having a similar problem, except this has to do with sending sms's to Canadian numbers.

According to the mblox support team, this is what they receive

2014-01-14 07:15:35.000;;>;cmd=submit_sm,status=0x00000000 (No error),seq=21915,service_type=,source_addr_ton=0,source_addr_npi=1,source_addr=9 27927,dest_addr_ton=1,dest_addr_npi=1,dest_addr=16474621484,esm_class=0,protocol _id=0,priority_flag=0,schedule_delivery_time=,validity_period=,registered_delive ry=0,replace_if_present_flag=0,data_coding=0,sm_default_msg_id=,sm_length=36,sho rt_message=Your
Zapper verification pin is
8849,user_message_reference=,operator=,tariff=,sessionid=,serviceid=,contenttype =,servicedesc=,payload_type=,tags=,
;;

even though

I have entered the below into the ini file under the relevant [SMPP - smpp.psms.us.mblox.com:3204] section.

service_type= 31781
source_addr=927927
operator= 30200
tariff= 0
source_addr_ton=3
SenderAddress=927927

obviously I am doing something wrong, so

1) any ideas on how to fix this?
2) any document that has mappings between mblox terminology and nowsms terminology?

Many thanks in advance.
Rui
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4790
Registered: 08-2008
Posted on Wednesday, January 15, 2014 - 08:37 pm:   

Hi Rui,

mBlox uses a lot of their own terminology that is specific to their service ... so some of what is referred to are SMPP parameters, and some is mBlox specific.

mBlox specific parameters are encoded as SMPP TLV parameters. Before you can use any of these parameters in NowSMS, you need to tell NowSMS how the TLV parameters are formatted ... not the values of the parameters, but the encoding of the parameters.

Add this section to SMSGW.INI exactly as shown:

[SMPPOptions]
mblox_operator=1402,String,5
mblox_tariff=1403,String,5
mblox_sessionid=1404,String
mblox_servicedesc=1405,String
mblox_contenttype=1406,String
mblox_serviceid=1407,String
mblox_imei=1501,String
mblox_imode=1502,String
mblox_SubID=1503,String
mblox_HostNet=1504,String
mblox_NewSub=1505,String
mblox_SubRef=1506,String
mblox_SubDate=1509,String
mblox_UAProf=1513,String
mblox_BillId=1519,String
mblox_ProdCode=1520,String
mblox_SessionID=1521,String
mblox_reasonCode=1522,String
mblox_reasonMsg=1523,String
mblox_Command=1524,String
mblox_AVStatus=1526,String
mblox_ProdDesc=1527,String
user_message_reference=204,Integer,2

Do not change any numbers or text in the above. This section defines parameter formatting only ... not values for the parameters.

Next, we'll look at the parameter values that you want to apply ...

The following are standard parameters defined in the SMPP specification:

service_type= 31781
source_addr=927927
source_addr_ton=3
SenderAddress=927927

The SMPP parameter source_addr is logically equivalent to the "Sender Address" in NowSMS. In the [SMPP - server:port], it is encoded as SenderAddress=927927 ... and in the configuration UI, this is labeled "Default Sender Address". If you will always use this same value, "Allow Sender Address Override" should NOT be checked.

The SMPP parameter source_addr_ton is referred to as "Source TON" in the configuration UI, or SourceTon=3 in the [SMPP - server:port] section of SMSGW.INI.

The SMPP parameter service_type can only be set in the [SMPP - server:port] section of SMSGW.INI as ServiceType= 31781

Now the mBlox specific parameters:

operator= 30200
tariff= 0

For operator, add the following to the [SMPP - server:port] section of SMSGW.INI if you wish to always use this value:

DefaultSMPPOptions=mblox_operator=30200

However, usually this is a parameter you need to set manually.

When you receive a MO message, mBlox supplies the mblox_operator value, and you need to include it in your reply.

When NowSMS generates a 2-way command, if mblox_operator is defined in the [SMPPOptions] section, and a value of 30200 is present in the message, NowSMS appends &SMPPOption_mblox_operator=30200 to the 2-way command URL, so that the value is passed to your application.

If your application generates an HTTP request to send a message, your request should include this same parameter value.

If your application generates a simple response by returning text in the HTTP response, then you need to configure NowSMS to copy this value automatically when generating 2-way command replies. To enable this add 2WayReplyCopySMPPOptions=mblox_operator to the [SMSGW] section of SMSGW.INI.

mblox_tariff is a parameter that seems to cause a lot of confusion. Our experience is that mBlox actually expects a 5 digit value. So when they say to use 0, they seem to actually mean 00000.

You can either set this value in HTTP submissions using &SMPPOption_mblox_tariff=00000 in the URL request, or set a default value for this parameter using the DefaultSMPPOptions= parameter in the [SMPP - server:port] section of SMSGW.INI.

If there are multiple of these TLV/SMPPOption values to set, separate them with ; ... like this:

DefaultSMPPOptions=mblox_operator=30200;mblox_tariff=00000


Here is a good general reference on TLV parameter usage: http://www.nowsms.com/smpp-tlv

Some mBlox specific info is here: http://www.nowsms.com/mblox-and-nowsms-premium-rate-sms-and-oppc

There are also some good threads that come pup in search on pour forums if you search on some of these terms.

--
Des
NowSMS Support
Rui Goncalves
New member
Username: Ruig

Post Number: 2
Registered: 01-2014
Posted on Tuesday, January 21, 2014 - 06:46 am:   

Des, thank you so much for you guidance here.
Will update you as soon as I have resolved this problem.
Rui Goncalves
New member
Username: Ruig

Post Number: 3
Registered: 01-2014
Posted on Tuesday, January 21, 2014 - 12:08 pm:   

Hi Des,

Adding

DefaultSMPPOptions=mblox_operator=30200;mblox_tariff=00000

to the bottom of the

[SMPP - server:port] section still does not pass the parameters.

operator or tarrif according to the mblox team how have advised that this is what they are seeing in their logs.

2014-01-21 06:40:10.000;;>;cmd=submit_sm,status=0x00000000 (No error),seq=5595,service_type=31781,source_addr_ton=3,source_addr_npi=1,source_ad dr=927927,dest_addr_ton=1,dest_addr_npi=1,dest_addr=16474621484,esm_class=0,prot ocol_id=0,priority_flag=0,schedule_delivery_time=,validity_period=,registered_de livery=0,replace_if_present_flag=0,data_coding=0,sm_default_msg_id=,sm_length=36 ,short_message=Your
Zapper verification pin is
5555,user_message_reference=,operator=,tariff=,sessionid=,serviceid=,contenttype =,servicedesc=,payload_type=,tags=,
;;


Any ideas?

Thanks
Rui
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 4797
Registered: 08-2008
Posted on Tuesday, January 21, 2014 - 05:03 pm:   

Hi Rui,

The quickest way to resolve this issue would be for you to e-mail me the SMSGW.INI file so that I can verify the settings are correctly formatted. In particular, make sure that separate [SMPPOptions] section that I referenced above is included in the file.

You can either post in reply here (just mask out username & passwords and any other info that is too specific to your environment) or e-mail to nowsms@nowsms.com with Attention: Des in the subject line. If you do send via e-mail,please also post a quick reply here to tell me you have done so, so that I can go look for the e-mail if necessary.

As a next step diagnostic ... assuming that I don't see an issue with the SMSGW.INI configuration file ... I would suggest that you enable the SMSDEBUG.LOG (checkbox option on "Serial #" page). This enables the SMPPDEBUG.LOG which is the file we want to see. This will show the raw SMPP dialog. So after enabling this debug log and send another message, and e-mail the SMPPDEBUG.LOG in the same manner as instructed above.

(Alternatively, use Wireshark and capture the packets directly. Wireshark is useful because the protocol decoders will identify all of the SMPP protocol elements present, so you can see for yourself if they are present. The mblox specific parameters will show up with a TLV tag number instead of a name.)

--
Des
NowSMS Support
Rui Goncalves
New member
Username: Ruig

Post Number: 4
Registered: 01-2014
Posted on Wednesday, January 22, 2014 - 12:42 pm:   

Hi Des,


This has been resolved. Thank you for your help!.

Rui