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


Reply via email to