TLV/Optional Parameter

TLV/Optional Parameter SearchSearch
Author Message
Arefin Bhuiyan
New member
Username: Arefin00

Post Number: 1
Registered: 11-2017
Posted on Wednesday, November 15, 2017 - 12:18 pm:   

This is my configuration in ini file,

[SMPP - 000.000.000.0:00000]
DefaultSMPPOptions=PRICEPOINT=000000;PRODUCT=0000;PARTNER_ROLE_ID=946
RouteName=Ooredoo Oman
SMPPVersion=v3.4
UserName=946
Password=aBx_456
SenderAddress=00000
SenderAddressOverride=Yes
Receive=No
ReceiveMMS=No
UseSSL=No
LongSMSAlt=Yes
UseTLV=Yes

In my ini file there are more 5 modems connected.

Problem is when I am tracing the optional parameters in Wireshark there is no optional
parameter segment. But There should a optional parameter segment as like the attached file

Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5870
Registered: 08-2008
Posted on Wednesday, November 15, 2017 - 02:28 pm:   

Hi,

Do you have an [SMPPOptions] section that defines the numeric code and format of these parameters?

--
Des
NowSMS Support
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5871
Registered: 08-2008
Posted on Wednesday, November 15, 2017 - 02:36 pm:   

Expanding on my previous reply, the Wireshark trace suggests all three parameters are 4 byte integers. I'm not sure which name belongs to which number...so you may need to adjust the following:

[SMPPOptions]
PRICEPOINT=1400,Integer,4
PRODUCT=1401,Integer,4
PARTNER_ROLE_ID=1402,Integer,4
Arefin Bhuiyan
New member
Username: Arefin00

Post Number: 2
Registered: 11-2017
Posted on Wednesday, November 15, 2017 - 03:57 pm:   

I am using
DefaultSMPPOptions=PRICEPOINT=000000;PRODUCT=0000;PARTNER_ROLE_ID=946

If I am using this should I use [SMPPOptions] also? I am very confused about the value of [SMPPOptions] section.

I got below value in SMPP document also.
PRICEPOINT=1400,Integer,4
PRODUCT=1401,Integer,4
PARTNER_ROLE_ID=1402,Integer,4

But Provider gave me 600000 this value for price point also. product value 1100 and PARTNER_ROLE_ID value 200.

So which value I need to use in [SMPPOptions] ?
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5872
Registered: 08-2008
Posted on Thursday, November 16, 2017 - 03:29 am:   

I will try to explain, but also see https://www.nowsms.com/smpp-tlv for more explanation.


quote:

I am using
DefaultSMPPOptions=PRICEPOINT=000000;PRODUCT=0000;PARTNER_ROLE_ID=946

If I am using this should I use [SMPPOptions] also? I am very confused about the value of [SMPPOptions] section.




Both.

These TLV parameters are specific to your SMS provider. The SMPP protocol allows providers to define their own parameters.

The [SMPPOptions] section tells NowSMS how the provider expects the TLV parameter to be encoded.

TLV stands for Tag, Length, Value.

Descriptive names are not used in SMPP. The provider assigns a tag number to each parameter type...so each descriptive name is mapped to a tag. The Wireshark trace shows tag numbers 1400, 1401 and 1402 being used. I am guessing about which descriptive name goes with each tag number.


quote:

But Provider gave me 600000 this value for price point also. product value 1100 and PARTNER_ROLE_ID value 200.




These are values (the V in TLV). Values go in DefaultSMPPOptions=, like in your first post.

Tag number and format/length for encoding the TLV parameters go into a separate [SMPPOptions] section.

Hope that answers your question.

--
Des
NowSMS Support
Arefin Bhuiyan
New member
Username: Arefin00

Post Number: 3
Registered: 11-2017
Posted on Thursday, November 16, 2017 - 07:09 am:   

Thank you for you support. Now I am getting "Optional Parameter" section in wireshark.

But Now I am facing another problem.

Telco expecting value as like below image


I am getting value from wireshark as like below image.


Here is my SMPPOptions
[SMPPOptions]
PRICEPOINT=1400,Integer,4
PRODUCT=1401,Integer,4
PARTNER_ROLE_ID=1402,Integer,4

And below value I am sending as DefaultSMPPOptions
DefaultSMPPOptions=PRICEPOINT=000000;PRODUCT=0000;PARTNER_ROLE_ID=946
Des - NowSMS Support
Board Administrator
Username: Desosms

Post Number: 5873
Registered: 08-2008
Posted on Thursday, November 16, 2017 - 01:43 pm:   

Hi,

NowSMS appears to be encoding the parameters as text strings instead of integers. (With values of 621325, 1149 and 213...do you know where those values are from?)

What is the NowSMS version? Is it several years old or is it current? I know 4 byte integer support for these parameters was added in 2013...

I tried your settings on a test server and the parameters did get encoded as integer, as expected.

I am especially confused, because the default format is Cstring, not String. So I do not understand why NowSMS is choosing String format.

Is there any chance that SMSGW.INI might contain multiple [SMPPOptions] sections?

If you are running a 2015 or later NowSMS version, and you continue to see this problem, enable the SMSDEBUG.LOG (checkbox on Serial # page). Send a test message. E-mail the SMSDEBUG.LOG, SMPPDEBUG.LOG and full SMSGW.INI to nowsms@nowsms.com with Attention: Des in the subject line.

--
Des
NowSMS Support