I've solved the problem myself.

In at2_pdu_decode function those DLRs have type 1 ("AT_SUBMIT_SM")
instead of 2 ("AT_STATUS_REPORT_SM").

Probably operator make some modifications in DLR PDUs he sends.

After adding support for AT_SUBMIT_SM type there all DLRs are processed
correctly again.

Tomasz

W Twoim liście datowanym 30 sierpnia 2012 (12:36:59) można przeczytać:

> Hello,

> I'm using Kannel since few years as a core for gateway based on GSM
> modems (AT). Since few days I've got a problem with DLRs. I'm
> receiving only DLRs for some messages (before DLRs for all SMS were
> delivered correctly). No configuration changes were made from that
> time on my side. I've looked into logs and have seen that when
> receiving DLRs sometimes all is ok and sometimes there is "could not
> decode PDU to a message" message.

> 2012-08-28 09:22:01 [3626] [42] DEBUG: AT2[modem_032]: <-- +CDSI: "SM",0
> 2012-08-28 09:22:01 [3626] [42] DEBUG: AT2[modem_032]: +CMTI
> incoming SMS indication: +CDSI: "SM",0
> 2012-08-28 09:22:01 [3626] [42] DEBUG: AT2[modem_032]: <-- ^MODE:3,3
> 2012-08-28 09:22:02 [3626] [42] DEBUG: AT2[modem_032]: --> AT+CMGR=0^M
> 2012-08-28 09:22:02 [3626] [42] DEBUG: AT2[modem_032]: <-- +CMGR: 0,,25
> 2012-08-28 09:22:02 [3626] [42] DEBUG: AT2[modem_032]: <--
> 07918405210077F79EC00B918405566182F6218082900332802180829003828000
> 2012-08-28 09:22:02 [3626] [42] DEBUG: AT2[modem_032]: received message from 
> SMSC: +48501200777
> 2012-08-28 09:22:02 [3626] [42] ERROR: AT2[modem_032]: could not decode PDU 
> to a message.
> 2012-08-28 09:22:02 [3626] [42] DEBUG: AT2[modem_032]: <-- OK


> ...but some DLRs are processed correctly:


> 2012-08-28 08:48:54 [3626] [42] DEBUG: AT2[modem_032]: <-- +CDSI: "SM",0
> 2012-08-28 08:48:54 [3626] [42] DEBUG: AT2[modem_032]: +CMTI
> incoming SMS indication: +CDSI: "SM",0
> 2012-08-28 08:48:54 [3626] [42] DEBUG: AT2[modem_032]: <-- ^MODE:3,3
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: --> AT+CMGR=0^M
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: <-- +CMGR: 0,,25
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: <--
> 07918405210077F706B90B918405693009F2218082807541802180828075918000
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: received message from 
> SMSC: +48501200777
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: got STATUS-REPORT for 
> message <185>:
> 2012-08-28 08:48:56 [3626] [42] DEBUG: AT2[modem_032]: Numeric
> receiver (international) <+48509603XXX>

> I've decoded both PDUs using a tool from
> http://www.diafaan.com/sms-tutorials/gsm-modem-tutorial/online-sms-pdu-decoder/
> and both could be decoded properly (as SMS-STATUS-REPORT).

> The one difference between those PDUs is that
> 07918405210077F706B90B918405693009F2218082807541802180828075918000 has
> PDU header: 06 and
> 07918405210077F79EC00B918405566182F6218082900332802180829003828000 has
> PDU header: 9E. I've made more tests and have seen that all DLRs with PDU
> header: 06 are decoded by kannel and processed correctly, but when PDU
> header: 9E than DLR isn't decoded properly and in logs there is "could
> not decode PDU to a message" message.

> Probably my GSM operator made some modifications and it delivers DLRs
> with 9E and 06 headers. I've looked into kannel source code but I
> can't find a place where to make modifications to have kannel decode
> PDU with 9E header correctly. Could you help me?

> Tomasz





-- 
Pozdrowienia,
 Tomasz


Reply via email to