DLR problem with VIANETT

107 views
Skip to first unread message

Marc

unread,
Sep 22, 2015, 6:30:20 AM9/22/15
to Jasmin SMS Gateway
Hello,

I'm trying to receive DLRs from VIANETT, but DLR are rejected/refused with "" and this is logged:

Traceback (most recent call last):

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/twisted/protocol.py", line 195, in rawMessageReceived

    pdu = self.encoder.decode(StringIO.StringIO(message))

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 935, in decode

    self.decodeBody(file, pdu, headerParams['command_length'] - self.HEADER_LEN)

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 975, in decodeBody

    optionalParams = self.decodeOptionalParams(pdu.optionalParams, file, bodyLength - mParamsLen)

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 1022, in decodeOptionalParams

    option = self.optionEncoder.decode(file)

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 826, in decode

    tag = TagEncoder().decode(file)

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 96, in decode

    return self._decode(bytes)

  File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 265, in _decode

    raise self.decodeErrorClass(errStr, self.decodeErrorStatus)

PDUParseError: Error in the optional part of the PDU Body: Unknown tag value 0x60d

2015-09-22 12:21:23 CRITICAL 21542 Received unparsable PDU 000000de000000050000000055dc3fbc00000033353236363137303631363100000030000400000000000000008569643a3443383243443935207375623a30303120646c7672643a303031207375626d697420646174653a3135303932323132303120646f6e6520646174653a3135303932323132303120737461743a44454c49565244206572723a3030303020746578743a4757323530204d43433d323730204d4e433d312042696c6c696e674d4e433d31001e0009344338324344393500000e000101060d000731323730303100060f000532373030310427000102


I have already requested more information concerning tag 0x60d from VIANETT.


Any idea if this could be a configuration issue on my end?


Regards,


Marc

Marc

unread,
Sep 22, 2015, 6:44:26 AM9/22/15
to Jasmin SMS Gateway
According to VIANETT this is the definition of this optional part is:

0x060d = source_network_id (seems to be set to the value 1xxxyy, where xxx is the MCC value and yy is the MNC value, i.e Mobile Country Code and Mobile Network Code, respectively)

Marc

unread,
Sep 22, 2015, 8:39:43 AM9/22/15
to Jasmin SMS Gateway
DLR are rejected/refused with "ESME_RINVOPTPARSTREAM"

zoufou

unread,
Sep 22, 2015, 3:47:09 PM9/22/15
to Jasmin SMS Gateway
That means the optional tag is not handled, it is a vendor specific tag.

If you provide complete specs from your vendor, i can schedule it in next releases.

Marc

unread,
Sep 22, 2015, 5:13:18 PM9/22/15
to Jasmin SMS Gateway
According to the service provider the value contains seven digits starting by 1 + MCC + MNC, e.g. 126220 for Germany (MCC 262) E-Plus (MNC 20).

Do you have any specific questions I should ask the service provider?

Regards,

Marc

Marc

unread,
Sep 23, 2015, 6:24:03 AM9/23/15
to Jasmin SMS Gateway
VIANETT provided the following info on the tags used in DLR:

* 0x001e = receipted_message_id (basically the same value that you get from us in the submit_sm_resp)


* 0x000e = source_network_type (always set to 1, apparently, at least in our implementation)


* 0x060d = source_network_id (seems to be set to the value 1xxxyy, where xxx is the MCC value and yy is the MNC value, i.e Mobile Country Code and Mobile Network Code, respectively)


* 0x060f = source_node_id (seems to be set to the value xxxyy, where xxx is the MCC value and yy is the MNC value, i.e Mobile Country Code and Mobile Network Code, respectively)


* 0x0427 = message_state (this says something about the message state, depending on the status of the message it's set to 1 if BUFFERD, 2 if DELIVRD, 3 if EXPIRED, 4 if DELETED, 5 if UNDELIV, 6 if ACCEPTD, 7 if UNKNOWN, 8 if REJECTD and 9 if SKIPPED)


Please let me know if you require further details.


Regards,


Marc

Marc

unread,
Sep 24, 2015, 6:23:46 AM9/24/15
to Jasmin SMS Gateway
In case MNC has 3 digits, according to VIANETT support, the length for both values will be increased to accommodate the additional digit.

So the value length for 0x060d and 0x060f seems variable.


* 0x060d = source_network_id (seems to be set to the value 1xxxyy, where xxx is the MCC value and yy is the MNC value, i.e Mobile Country Code and Mobile Network Code, respectively)


* 0x060f = source_node_id (seems to be set to the value xxxyy, where xxx is the MCC value and yy is the MNC value, i.e Mobile Country Code and Mobile Network Code, respectively)


Regards,

Marc 

Marc

unread,
Oct 7, 2015, 11:53:41 AM10/7/15
to Jasmin SMS Gateway
Hello,

is the provided information sufficient? Do you need further info? What exactly?

Regards,

Marc

zoufou

unread,
Oct 8, 2015, 4:45:45 PM10/8/15
to Jasmin SMS Gateway
Could you upgrade to 0.6.post43 and retest ?

Marc

unread,
Oct 8, 2015, 7:23:13 PM10/8/15
to Jasmin SMS Gateway
Good evening,

I updated my system.

The console confirms the version:

"Welcome to Jasmin 0.6.post43 console"



But DLR still fails:

ERROR 318 Error in the optional part of the PDU Body: Unknown tag value 0x60d

Traceback (most recent call last):

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/twisted/protocol.py", line 195, in rawMessageReceived

pdu = self.encoder.decode(StringIO.StringIO(message))

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 945, in decode

self.decodeBody(file, pdu, headerParams['command_length'] - self.HEADER_LEN)

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 985, in decodeBody

optionalParams = self.decodeOptionalParams(pdu.optionalParams, file, bodyLength - mParamsLen)

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 1032, in decodeOptionalParams

option = self.optionEncoder.decode(file)

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 836, in decode

tag = TagEncoder().decode(file)

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 96, in decode

return self._decode(bytes)

File "/usr/lib/python2.7/dist-packages/jasmin/vendor/smpp/pdu/pdu_encoding.py", line 271, in _decode

raise self.decodeErrorClass(errStr, self.decodeErrorStatus)

PDUParseError: Error in the optional part of the PDU Body: Unknown tag value 0x60d

2015-10-09 01:05:07 CRITICAL 318 Received unparsable PDU 000000de0000000500000000569d3e3600000033353236393136303034303300000030000400000000000000008569643a3444313943383343207375623a30303120646c7672643a303031207375626d697420646174653a3135313030393031303520646f6e6520646174653a3135313030393031303520737461743a44454c49565244206572723a3030303020746578743a4757323530204d43433d323730204d4e433d312042696c6c696e674d4e433d31001e0009344431394338334300000e000101060d000731323730303100060f000532373030310427000102


Did I miss something?

Regards,

Marc

zoufou

unread,
Oct 9, 2015, 5:09:41 AM10/9/15
to Jasmin SMS Gateway
Opened a related issue here: https://github.com/jookies/jasmin/issues/325
Reply all
Reply to author
Forward
0 new messages