Discussion:
Something weird with data_coding 0x03
Денис Давыдов
2018-04-18 07:24:34 UTC
Permalink
Hi all,

Can someone explain the weird behavior of Kannel with data coding 0x03.
I've got deliver_sm PDU from my SMPP provider with datacoding 0x03 - Latin
1 (ISO-8859-1). This snip from the kannel's log file of my provider:

2018-04-18 06:24:59 [25987] [21] DEBUG: type_name: deliver_sm
2018-04-18 06:24:59 [25987] [21] DEBUG: command_id: 5 = 0x00000005
2018-04-18 06:24:59 [25987] [21] DEBUG: command_status: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: sequence_number: 40720 =
0x00009f10
2018-04-18 06:24:59 [25987] [21] DEBUG: service_type: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr: "11111111111"
2018-04-18 06:24:59 [25987] [21] DEBUG: dest_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: dest_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: destination_addr: "22222222222"
2018-04-18 06:24:59 [25987] [21] DEBUG: esm_class: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: protocol_id: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: priority_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: schedule_delivery_time: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: validity_period: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: registered_delivery: 0 =
0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: replace_if_present_flag: 0 =
0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: data_coding: 3 = 0x00000003
2018-04-18 06:24:59 [25987] [21] DEBUG: sm_default_msg_id: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: sm_length: 140 = 0x0000008c
2018-04-18 06:24:59 [25987] [21] DEBUG: short_message:
2018-04-18 06:24:59 [25987] [21] DEBUG: Octet string at 0x7f5c5c0022c0:
2018-04-18 06:24:59 [25987] [21] DEBUG: len: 140
2018-04-18 06:24:59 [25987] [21] DEBUG: size: 141
2018-04-18 06:24:59 [25987] [21] DEBUG: immutable: 0
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 4d 3a 31 31 31 0a 52 5f
41 0a 30 36 2e 32 34 2e M:111.R_A.06.24.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 35 35 0a 31 38 2f 30 34
2f 31 38 0a 47 3a 30 0a 55.18/04/18.G:0.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 49 3a 4e 4e 4e 4e 4e 4e
4e 59 0a 4f 3a 4e 4e 4e I:NNNNNNNY.O:NNN
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 4e 0a 41 4b 3a 32 32 2e
36 20 33 2e 36 0a 54 3a N.AK:22.6 3.6.T:
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 2e 30 20 43 0a 41 3a
30 2e 30 20 30 2e 30 0a 0.0 C.A:0.0 0.0.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 36 2e 32 34 2e 35 35
0a 31 38 2f 30 34 2f 31 06.24.55.18/04/1
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 38 0a 4e 30 35 35 20 34
32 2e 32 32 38 38 0a 45 8.N055 42.2288.E
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 33 37 20 33 35 2e 37
38 32 36 0a 30 30 30 0a 037 35.7826.000.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 32 31 38 0a 30 30 30 30
30 35 36 33 218.00000563
2018-04-18 06:24:59 [25987] [21] DEBUG: Octet string dump ends.

After that deliver_sm were re-routed to my test ESME via opensmppbox with
changed 8th byte only. This snip from opensmppbox.log:

2018-04-18 06:24:59 [25989] [37] DEBUG: SMPP PDU 0x7fd1c4007a10 dump:
2018-04-18 06:24:59 [25989] [37] DEBUG: type_name: deliver_sm
2018-04-18 06:24:59 [25989] [37] DEBUG: command_id: 5 = 0x00000005
2018-04-18 06:24:59 [25989] [37] DEBUG: command_status: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sequence_number: 4 = 0x00000004
2018-04-18 06:24:59 [25989] [37] DEBUG: service_type: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr: "11111111111"
2018-04-18 06:24:59 [25989] [37] DEBUG: dest_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: dest_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: destination_addr: "22222222222"
2018-04-18 06:24:59 [25989] [37] DEBUG: esm_class: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: protocol_id: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: priority_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: schedule_delivery_time: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: validity_period: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: registered_delivery: 0 =
0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: replace_if_present_flag: 0 =
0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: data_coding: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sm_default_msg_id: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sm_length: 140 = 0x0000008c
2018-04-18 06:24:59 [25989] [37] DEBUG: short_message:
2018-04-18 06:24:59 [25989] [37] DEBUG: Octet string at 0x7fd1c4007f20:
2018-04-18 06:24:59 [25989] [37] DEBUG: len: 140
2018-04-18 06:24:59 [25989] [37] DEBUG: size: 141
2018-04-18 06:24:59 [25989] [37] DEBUG: immutable: 0
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 4d 3a 31 31 31 0a 52 11
41 0a 30 36 2e 32 34 2e M:111.R.A.06.24.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 35 35 0a 31 38 2f 30 34
2f 31 38 0a 47 3a 30 0a 55.18/04/18.G:0.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 49 3a 4e 4e 4e 4e 4e 4e
4e 59 0a 4f 3a 4e 4e 4e I:NNNNNNNY.O:NNN
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 4e 0a 41 4b 3a 32 32 2e
36 20 33 2e 36 0a 54 3a N.AK:22.6 3.6.T:
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 2e 30 20 43 0a 41 3a
30 2e 30 20 30 2e 30 0a 0.0 C.A:0.0 0.0.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 36 2e 32 34 2e 35 35
0a 31 38 2f 30 34 2f 31 06.24.55.18/04/1
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 38 0a 4e 30 35 35 20 34
32 2e 32 32 38 38 0a 45 8.N055 42.2288.E
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 33 37 20 33 35 2e 37
38 32 36 0a 30 30 30 0a 037 35.7826.000.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 32 31 38 0a 30 30 30 30
30 35 36 33 218.00000563
2018-04-18 06:24:59 [25989] [37] DEBUG: Octet string dump ends.

As you can see there's only changes in datacoding (datacoding 0x03 after
re-routing became 0x00) and changed 8th byte in data section (original byte
0x5f after re-routing to opensmppbox became 0x11). Why?

--
Regards,
Denis
a***@kannel.org
2018-04-19 08:58:21 UTC
Permalink
Hi,

I don’t see any issue here, _ is in LATIN1 0x5f BUT in GSM 03.38 (which is used per default with data_coding=0) 0x11.

Thanks,
Alex
Post by Денис Давыдов
Hi all,
2018-04-18 06:24:59 [25987] [21] DEBUG: type_name: deliver_sm
2018-04-18 06:24:59 [25987] [21] DEBUG: command_id: 5 = 0x00000005
2018-04-18 06:24:59 [25987] [21] DEBUG: command_status: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: sequence_number: 40720 = 0x00009f10
2018-04-18 06:24:59 [25987] [21] DEBUG: service_type: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: source_addr: "11111111111"
2018-04-18 06:24:59 [25987] [21] DEBUG: dest_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: dest_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25987] [21] DEBUG: destination_addr: "22222222222"
2018-04-18 06:24:59 [25987] [21] DEBUG: esm_class: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: protocol_id: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: priority_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: schedule_delivery_time: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: validity_period: NULL
2018-04-18 06:24:59 [25987] [21] DEBUG: registered_delivery: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: replace_if_present_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: data_coding: 3 = 0x00000003
2018-04-18 06:24:59 [25987] [21] DEBUG: sm_default_msg_id: 0 = 0x00000000
2018-04-18 06:24:59 [25987] [21] DEBUG: sm_length: 140 = 0x0000008c
2018-04-18 06:24:59 [25987] [21] DEBUG: len: 140
2018-04-18 06:24:59 [25987] [21] DEBUG: size: 141
2018-04-18 06:24:59 [25987] [21] DEBUG: immutable: 0
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 4d 3a 31 31 31 0a 52 5f 41 0a 30 36 2e 32 34 2e M:111.R_A.06.24.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 35 35 0a 31 38 2f 30 34 2f 31 38 0a 47 3a 30 0a 55.18/04/18.G:0.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 49 3a 4e 4e 4e 4e 4e 4e 4e 59 0a 4f 3a 4e 4e 4e I:NNNNNNNY.O:NNN
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 2e 30 20 43 0a 41 3a 30 2e 30 20 30 2e 30 0a 0.0 C.A:0.0 0.0.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 36 2e 32 34 2e 35 35 0a 31 38 2f 30 34 2f 31 06.24.55.18/04/1 <http://6.24.55.18/04/1>
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 38 0a 4e 30 35 35 20 34 32 2e 32 32 38 38 0a 45 8.N055 42.2288.E
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 30 33 37 20 33 35 2e 37 38 32 36 0a 30 30 30 0a 037 35.7826.000.
2018-04-18 06:24:59 [25987] [21] DEBUG: data: 32 31 38 0a 30 30 30 30 30 35 36 33 218.00000563
2018-04-18 06:24:59 [25987] [21] DEBUG: Octet string dump ends.
2018-04-18 06:24:59 [25989] [37] DEBUG: type_name: deliver_sm
2018-04-18 06:24:59 [25989] [37] DEBUG: command_id: 5 = 0x00000005
2018-04-18 06:24:59 [25989] [37] DEBUG: command_status: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sequence_number: 4 = 0x00000004
2018-04-18 06:24:59 [25989] [37] DEBUG: service_type: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: source_addr: "11111111111"
2018-04-18 06:24:59 [25989] [37] DEBUG: dest_addr_ton: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: dest_addr_npi: 1 = 0x00000001
2018-04-18 06:24:59 [25989] [37] DEBUG: destination_addr: "22222222222"
2018-04-18 06:24:59 [25989] [37] DEBUG: esm_class: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: protocol_id: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: priority_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: schedule_delivery_time: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: validity_period: NULL
2018-04-18 06:24:59 [25989] [37] DEBUG: registered_delivery: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: replace_if_present_flag: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: data_coding: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sm_default_msg_id: 0 = 0x00000000
2018-04-18 06:24:59 [25989] [37] DEBUG: sm_length: 140 = 0x0000008c
2018-04-18 06:24:59 [25989] [37] DEBUG: len: 140
2018-04-18 06:24:59 [25989] [37] DEBUG: size: 141
2018-04-18 06:24:59 [25989] [37] DEBUG: immutable: 0
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 4d 3a 31 31 31 0a 52 11 41 0a 30 36 2e 32 34 2e M:111.R.A.06.24.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 35 35 0a 31 38 2f 30 34 2f 31 38 0a 47 3a 30 0a 55.18/04/18.G:0.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 49 3a 4e 4e 4e 4e 4e 4e 4e 59 0a 4f 3a 4e 4e 4e I:NNNNNNNY.O:NNN
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 2e 30 20 43 0a 41 3a 30 2e 30 20 30 2e 30 0a 0.0 C.A:0.0 0.0.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 36 2e 32 34 2e 35 35 0a 31 38 2f 30 34 2f 31 06.24.55.18/04/1 <http://6.24.55.18/04/1>
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 38 0a 4e 30 35 35 20 34 32 2e 32 32 38 38 0a 45 8.N055 42.2288.E
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 30 33 37 20 33 35 2e 37 38 32 36 0a 30 30 30 0a 037 35.7826.000.
2018-04-18 06:24:59 [25989] [37] DEBUG: data: 32 31 38 0a 30 30 30 30 30 35 36 33 218.00000563
2018-04-18 06:24:59 [25989] [37] DEBUG: Octet string dump ends.
As you can see there's only changes in datacoding (datacoding 0x03 after re-routing became 0x00) and changed 8th byte in data section (original byte 0x5f after re-routing to opensmppbox became 0x11). Why?
--
Regards,
Denis
Loading...