Hi, on SMPP 3.4 and above kannel will always try to use receipted_message_id: if this present. There is 100% bug at SMSC because receipted_message_id: must be the same as in submit_sm_resp. You should contact your SMSC operator or you can try to switch to version 3.3 (see userguide).
Alexander Bukharin wrote: > Hello! After i changed source-addr-ton to 5 and source-addr-npi to 0 > (it was 1 and 1 before) kannel started to interpret message id in > deliver_sm SMPP message in a wrong way: > 2007-08-09 11:18:26 [2769] [6] DEBUG: SMPP[smpp]: Manually forced source > addr ton = 5, source add npi = 0 2007-08-09 11:18:26 [2769] [6] DEBUG: > SMPP[smpp]: Manually forced dest addr ton = 1, dest add npi = 1 2007-08-09 > 11:18:26 [2769] [6] DEBUG: SMPP[smpp]: Sending PDU: 2007-08-09 11:18:26 > [2769] [6] DEBUG: SMPP PDU 0x8953520 dump: > 2007-08-09 11:18:26 [2769] [6] DEBUG: type_name: submit_sm > ...(skipped)... > 2007-08-09 11:18:27 [2769] [6] DEBUG: SMPP[smpp]: Got PDU: > 2007-08-09 11:18:27 [2769] [6] DEBUG: SMPP PDU 0x8953520 dump: > 2007-08-09 11:18:27 [2769] [6] DEBUG: type_name: submit_sm_resp > 2007-08-09 11:18:27 [2769] [6] DEBUG: command_id: 2147483652 = > 0x80000004 > 2007-08-09 11:18:27 [2769] [6] DEBUG: command_status: 0 = 0x00000000 > 2007-08-09 11:18:27 [2769] [6] DEBUG: sequence_number: 853 = 0x00000355 > 2007-08-09 11:18:27 [2769] [6] DEBUG: message_id: "0003C463" > 2007-08-09 11:18:27 [2769] [6] DEBUG: SMPP PDU dump ends. > 2007-08-09 11:18:27 [2769] [6] DEBUG: DLR[internal]: Adding DLR smsc=smpp, > ts=246883, src=XXX, dst=7XXXXXXXXXX, mask=31, b As we can see, sent > message id is 246883 (0x3C463), it's ok here, but when we get DLR: > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 69 64 3a 30 30 30 30 32 > 34 36 38 38 33 20 73 75 id:0000246883 su > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 62 3a 30 30 31 20 64 6c > 76 72 64 3a 30 30 31 20 b:001 dlvrd:001 > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 73 75 62 6d 69 74 20 64 > 61 74 65 3a 30 37 30 38 submit date:0708 > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 30 39 30 39 31 38 20 64 > 6f 6e 65 20 64 61 74 65 090918 done date > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 3a 30 37 30 38 30 39 30 > 39 31 38 20 73 74 61 74 :0708090918 stat > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 3a 44 45 4c 49 56 52 44 > 20 65 72 72 3a 30 30 30 :DELIVRD err:000 > 2007-08-09 11:18:32 [2769] [6] DEBUG: data: 20 54 65 78 74 3a 31 > Text:1 ...(skipped)... > 2007-08-09 11:18:32 [2769] [6] DEBUG: receipted_message_id: "C55725" > 2007-08-09 11:18:32 [2769] [6] DEBUG: SMPP PDU dump ends. > 2007-08-09 11:18:32 [2769] [6] DEBUG: SMPP[smpp] handle_pdu, got DLR > 2007-08-09 11:18:32 [2769] [6] DEBUG: DLR[internal]: Looking for DLR > smsc=smpp, ts=12932901, dst=7XXXXXXXXXX, type=1 2007-08-09 11:18:32 [2769] > [6] WARNING: DLR[internal]: DLR for DST<7XXXXXXXXX> not found. 2007-08-09 > 11:18:32 [2769] [6] ERROR: SMPP[smpp]: got DLR but could not find message > or was not interested in it id<12932901> dst<7XXXXXXXXXX>, type<1> Here we > got correct message id (id:0000246883) from SMPP, but Kannel says, that > it's "C55725" (12932901 decimal). Is it a kannel bug or something? I'm > using Kannel 1.4.1 & RHEL 4. PS. I've tried all of the msg-id-type > settings, but it seems that it's fully ignored. > > kannel.conf: > group = smsc > smsc = smpp > smsc-id = smpp > log-file = /var/log/kannel/smpp.log > allowed-smsc-id = smpp > msg-id-type = 0x03 > host = XXX.XXX.XX.XXX > port = XXXX > receive-port = 0 > system-type = "VMA" > address-range = "" > smsc-username = "XXXXXXX" > smsc-password = "XXXXXXX" > transceiver-mode=true > throughput = 1 > validityperiod = 5 > source-addr-autodetect = no > source-addr-ton = 5 > source-addr-npi = 0 > dest-addr-ton = 1 > dest-addr-npi = 1 -- Thanks, Alex
