Skip to content

Commit fe4fa83

Browse files
committed
fixed SmsDeliver parsing on missing SMSC address
1 parent dae6d65 commit fe4fa83

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

messaging/sms/deliver.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,17 @@ def _set_pdu(self, pdu):
6868
data = to_array(self._pdu)
6969

7070
# Service centre address
71-
smscl = data.pop(0) - 1
72-
73-
smscertype = data.pop(0)
74-
smscer = swap_number(encode_bytes(data[:smscl]))
75-
76-
data = data[smscl:]
77-
78-
if (smscertype >> 4) & 0x07 == consts.INTERNATIONAL:
79-
smscer = '+%s' % smscer
71+
smscl = data.pop(0)
72+
if smscl > 0:
73+
smscertype = data.pop(0)
74+
smscl -= 1
75+
self.csca = swap_number(encode_bytes(data[:smscl]))
76+
if (smscertype >> 4) & 0x07 == consts.INTERNATIONAL:
77+
self.csca = '+%s' % self.csca
78+
data = data[smscl:]
79+
else:
80+
self.csca = None
8081

81-
self.csca = smscer
8282
# 1 byte(octet) == 2 char
8383
# Message type TP-MTI bits 0,1
8484
# More messages to send/deliver bit 2

0 commit comments

Comments
 (0)