Sorry Guys! As I could see now I did not have studied everything :) After a good night of sleep I return my tests
I connect on my gsm modem using minicom and test some CNMI commands, to see the ones how get error, and the ones who are accept. When I change my init string to init-string = "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0;+CNMI=1,3,2,2,1;+CMEE=1;+CPMS="SM","SM","SM";+CMGF=0" I finally get the DLR from my carrier, as the log shows me: 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: TP-Validity-Period: 24.0 hours 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: --> AT+CMGS=15^M 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: <-- AT+CMGS=15 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: <-- > 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: send command status: 1 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: --> 0031000B811082027141F80000A70131 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: --> ^Z 2012-12-04 11:10:36 [9027] [6] DEBUG: AT2[tim01]: <-- > 0031000B811082027141F80000A70131 2012-12-04 11:10:38 [9027] [6] DEBUG: AT2[tim01]: <-- +CMGS: 233 2012-12-04 11:10:38 [9027] [6] DEBUG: AT2[tim01]: <-- OK 2012-12-04 11:10:38 [9027] [6] DEBUG: AT2[tim01]: send command status: 0 2012-12-04 11:10:38 [9027] [6] DEBUG: DLR[internal]: Adding DLR smsc=tim01, ts=233, src=01282592157, dst=01282017148, mask=31, boxc=smsbox01 2012-12-04 11:10:38 [9027] [6] DEBUG: SMSC[tim01]: creating DLR message 2012-12-04 11:10:38 [9027] [6] DEBUG: SMSC[tim01]: DLR = http://192.168.6.5/dlr2.php?id_msg=1&status=%d 2012-12-04 11:10:42 [9027] [6] DEBUG: AT2[tim01]: <-- +CDSI: "SR",66 2012-12-04 11:10:42 [9027] [6] DEBUG: AT2[tim01]: +CMTI incoming SMS indication: +CDSI: "SR",66 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: --> AT+CPMS="SR"^M 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- AT+CPMS="SR" 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- +CPMS: 17,100,0,50,0,50 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- OK 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: --> AT+CMGR=66^M 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- AT+CMGR=66 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- +CMGR: ,,25 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: <-- 0294F806E90B811082027141F8212140110160882121401101608800 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: received message from SMSC: +8 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: got STATUS-REPORT for message <233>: 2012-12-04 11:10:44 [9027] [6] DEBUG: AT2[tim01]: Numeric receiver <01282017148> 2012-12-04 11:10:44 [9027] [6] DEBUG: DLR[internal]: Looking for DLR smsc=tim01, ts=233, dst=01282017148, type=1 2012-12-04 11:10:44 [9027] [6] DEBUG: DLR[internal]: created DLR message for URL <http://192.168.6.5/dlr2.php?id_msg=1&status=%d> Now is OK :) 2012/12/3 Carlos Eduardo Langoni <[email protected]> > Hi Folks! > > I'm talking from Brazil, so, sorry for some english mistakes. > > After read everything I could about AT Commands, DLR and read all > unreplied messages about the "got +CMT but pdu_extract failed" I don't have > other place to look for help. > > Only in delivery confirmation messages I got the pdu_extract failed error. > I have compiled the daily snapshot and the binary version on debian and > ubuntu (1.4.3) > I running these last tests on a ubuntu 64bit, 11.04, with > kernel 3.2.0-34-generic, my libxml is 2.7.8.dfsg-5.1ubuntu4.2. I'm also > using AT SMSC, with a ZTE MF100 GSM Modem. My configuration file is in the > end od this message. > > Let's talk about the problem itself. > I can receive sms, I cannot receive only status delivery messages. > > In my modem log I have the following > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: TP-Validity-Period: > 24.0 hours > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: --> AT+CMGS=15^M > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: <-- AT+CMGS=15 > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: <-- > > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: send command status: 1 > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: --> > 0031000B811092169874F40000A70131 > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: --> ^Z > 2012-12-03 23:17:02 [23788] [6] DEBUG: AT2[tim01]: <-- > > 0031000B811092169874F40000A70131 > 2012-12-03 23:17:04 [23788] [6] DEBUG: AT2[tim01]: <-- +CMGS: 222 > 2012-12-03 23:17:04 [23788] [6] DEBUG: AT2[tim01]: <-- OK > 2012-12-03 23:17:04 [23788] [6] DEBUG: AT2[tim01]: send command status: 0 > 2012-12-03 23:17:04 [23788] [6] DEBUG: DLR[internal]: Adding DLR > smsc=tim01, ts=222, src=01282592157, dst=01296189474, mask=31, > boxc=smsbox01 > 2012-12-03 23:17:04 [23788] [6] DEBUG: SMSC[tim01]: creating DLR message > 2012-12-03 23:17:04 [23788] [6] DEBUG: SMSC[tim01]: DLR = > http://192.168.6.5/dlr2.php?id_msg=1&status=%d > 2012-12-03 23:17:09 [23788] [6] DEBUG: AT2[tim01]: <-- +CDS: ,25 > 2012-12-03 23:17:09 [23788] [6] DEBUG: AT2[tim01]: <-- > 079155111831280006DE0C91552169814947212130327185882121303271858800 > 2012-12-03 23:17:09 [23788] [6] ERROR: AT2[tim01]: got +CMT but > pdu_extract failed > > As I could understood my Mobile Company (TIM Brasil) is sending back the > delivery status, but kannel cannot understand the content of the message. > > In http://www.rednaxela.net/pdu.php I asked to convert the PDU message, > and I got the following > > Status Report > SMSC# > +551181138200 > Sender: > +55129618**** (I ommit the last for numbers for security) > Message Ref#: > 221 > TimeStamp: > 03/12/12 23:04:40 GMT +22 > TimeStamp2: > 03/12/12 23:04:40 GMT +1 > Status Byte: 00 > > Anyway, I receive the delivery confirmation and kannel cannot process this. > > So I ask you guys, is there anything I can do? I'm not a C programmer and > don't have lots of experience in programming, but I think that should be > something that could be done in at2_pdu_extract to make kannel understand > the reply from my mobile company, but I don't have a clue about what to do. > > Part os my kannel.conf related to smsc and modem > > #Zte > group = smsc > smsc = at > smsc-id = tim01 > modemtype = zte-tim01 > device = /dev/tim01 > sms-center = +551181138200 > my-number = 01282592157 > allowed-smsc-id = tim01 > #transceiver-mode = true > sim-buffering = true > log-level = 0 > log-file = "/var/log/kannel/tim01.log" > > group = modems > id = zte-tim01 > name = zte-tim01 > init-string = "ATQ0 V1 E1 S0=0 &C1 &D2 > +FCLASS=0;+CNMI=1,2,0,1,0;+CMEE=2;+CPMS="SM","SM","SM";+CMGF=0" > detect-string = "ZTE INCORPORATED" > message-storage = "SM" > keepalive-cmd = "AT+CBC;+CSQ" > speed = 28800 > > > Thanks a lot!! > > Carlos >
