Hi,
We are using the latest stable Kannel with the 64 bit patch.
If we use source addr ton = 5, source add npi = 0 then the @ sign
is encoded
by Kannel incorrectly.
The consequence of this bug is the message is truncated after the
@ sign, so
only the text before the @ sign is sent to the mobile.
This is shown in the example for smsc1 below. (where we are using
addr ton =
5, source add npi = 0)
PDU's from smcs2 and smsc3 below send the @ sign correctly where
source addr
ton = 0, source add npi = 0 or source addr ton = 1, source add npi
= 1
2009-01-30 11:43:09 [21274] [9] DEBUG: data: 63 74 65 72 20
40 20 57 68
79 20 69 73 20 69 74 cter @ Why is it
2009-01-30 10:20:19 [21274] [10] DEBUG: data: 63 74 65 72 20
00 20 57
68 79 20 69 73 20 69 74 cter . Why is it
The @ char which is Hex 40 is being sent as Hex 00, see
http://www.asciitable.com/
Kannel is incorrectly changing the data encoding in the text
message for the
@ sign if the addr ton = 5, source add npi = 0.
Regards
Example 1: smsc1 with source addr ton = 5, source add npi = 0
2009-01-30 10:20:19 [21274] [10] DEBUG: SMPP[smsc1]: Sending PDU:
2009-01-30 10:20:19 [21274] [10] DEBUG: SMPP PDU 0x2aaaac001110
dump:
2009-01-30 10:20:19 [21274] [10] DEBUG: type_name: submit_sm
2009-01-30 10:20:19 [21274] [10] DEBUG: command_id: 4 = 0x00000004
2009-01-30 10:20:19 [21274] [10] DEBUG: command_status: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: sequence_number: 23798 =
0x00005cf6
2009-01-30 10:20:19 [21274] [10] DEBUG: service_type: NULL
2009-01-30 10:20:19 [21274] [10] DEBUG: source_addr_ton: 5 =
0x00000005
2009-01-30 10:20:19 [21274] [10] DEBUG: source_addr_npi: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: source_addr: "Testing"
2009-01-30 10:20:19 [21274] [10] DEBUG: dest_addr_ton: 1 =
0x00000001
2009-01-30 10:20:19 [21274] [10] DEBUG: dest_addr_npi: 1 =
0x00000001
2009-01-30 10:20:19 [21274] [10] DEBUG: destination_addr:
"27831230003"
2009-01-30 10:20:19 [21274] [10] DEBUG: esm_class: 3 = 0x00000003
2009-01-30 10:20:19 [21274] [10] DEBUG: protocol_id: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: priority_flag: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: schedule_delivery_time:
NULL
2009-01-30 10:20:19 [21274] [10] DEBUG: validity_period:
"090206082019000+"
2009-01-30 10:20:19 [21274] [10] DEBUG: registered_delivery: 1 =
0x00000001
2009-01-30 10:20:19 [21274] [10] DEBUG: replace_if_present_flag:
0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: data_coding: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: sm_default_msg_id: 0 =
0x00000000
2009-01-30 10:20:19 [21274] [10] DEBUG: sm_length: 44 = 0x0000002c
2009-01-30 10:20:19 [21274] [10] DEBUG: short_message:
2009-01-30 10:20:19 [21274] [10] DEBUG: Octet string at
0x2aaaac004cb0:
2009-01-30 10:20:19 [21274] [10] DEBUG: len: 44
2009-01-30 10:20:19 [21274] [10] DEBUG: size: 45
2009-01-30 10:20:19 [21274] [10] DEBUG: immutable: 0
2009-01-30 10:20:19 [21274] [10] DEBUG: data: 54 65 73 74 69
6e 67 20
61 74 20 63 68 61 72 61 Testing at chara
2009-01-30 10:20:19 [21274] [10] DEBUG: data: 63 74 65 72 20
00 20 57
68 79 20 69 73 20 69 74 cter . Why is it
2009-01-30 10:20:19 [21274] [10] DEBUG: data: 20 6e 6f 74 20
77 6f 72
6b 69 6e 67 not working
2009-01-30 10:20:19 [21274] [10] DEBUG: Octet string dump ends.
2009-01-30 10:20:19 [21274] [10] DEBUG: SMPP PDU dump ends.
2009-01-30 10:20:20 [21274] [10] DEBUG: SMPP[smsc1]: Got PDU:
2009-01-30 10:20:20 [21274] [10] DEBUG: SMPP PDU 0x2aaaac00bbc0
dump:
2009-01-30 10:20:20 [21274] [10] DEBUG: type_name: submit_sm_resp
2009-01-30 10:20:20 [21274] [10] DEBUG: command_id: 2147483652 =
0x80000004
2009-01-30 10:20:20 [21274] [10] DEBUG: command_status: 0 =
0x00000000
2009-01-30 10:20:20 [21274] [10] DEBUG: sequence_number: 23798 =
0x00005cf6
2009-01-30 10:20:20 [21274] [10] DEBUG: message_id: "123330365371"
2009-01-30 10:20:20 [21274] [10] DEBUG: SMPP PDU dump ends.
Example 2: smsc2 with source addr ton = 0, source add npi = 0
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP[smsc2]: Sending PDU:
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP PDU 0x2aaab0004020 dump:
2009-01-30 11:43:09 [21274] [9] DEBUG: type_name: submit_sm
2009-01-30 11:43:09 [21274] [9] DEBUG: command_id: 4 = 0x00000004
2009-01-30 11:43:09 [21274] [9] DEBUG: command_status: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: sequence_number: 37626 =
0x000092fa
2009-01-30 11:43:09 [21274] [9] DEBUG: service_type: NULL
2009-01-30 11:43:09 [21274] [9] DEBUG: source_addr_ton: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: source_addr_npi: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: source_addr:
"2783930026100221"
2009-01-30 11:43:09 [21274] [9] DEBUG: dest_addr_ton: 1 =
0x00000001
2009-01-30 11:43:09 [21274] [9] DEBUG: dest_addr_npi: 1 =
0x00000001
2009-01-30 11:43:09 [21274] [9] DEBUG: destination_addr:
"27831230003"
2009-01-30 11:43:09 [21274] [9] DEBUG: esm_class: 3 = 0x00000003
2009-01-30 11:43:09 [21274] [9] DEBUG: protocol_id: 0 = 0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: priority_flag: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: schedule_delivery_time:
NULL
2009-01-30 11:43:09 [21274] [9] DEBUG: validity_period:
"090206094309000+"
2009-01-30 11:43:09 [21274] [9] DEBUG: registered_delivery: 1 =
0x00000001
2009-01-30 11:43:09 [21274] [9] DEBUG: replace_if_present_flag:
0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: data_coding: 0 = 0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: sm_default_msg_id: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: sm_length: 44 = 0x0000002c
2009-01-30 11:43:09 [21274] [9] DEBUG: short_message:
2009-01-30 11:43:09 [21274] [9] DEBUG: Octet string at
0x2aaab00036c0:
2009-01-30 11:43:09 [21274] [9] DEBUG: len: 44
2009-01-30 11:43:09 [21274] [9] DEBUG: size: 45
2009-01-30 11:43:09 [21274] [9] DEBUG: immutable: 0
2009-01-30 11:43:09 [21274] [9] DEBUG: data: 54 65 73 74 69
6e 67 20 61
74 20 63 68 61 72 61 Testing at chara
2009-01-30 11:43:09 [21274] [9] DEBUG: data: 63 74 65 72 20
40 20 57 68
79 20 69 73 20 69 74 cter @ Why is it
2009-01-30 11:43:09 [21274] [9] DEBUG: data: 20 6e 6f 74 20
77 6f 72 6b
69 6e 67 not working
2009-01-30 11:43:09 [21274] [9] DEBUG: Octet string dump ends.
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP PDU dump ends.
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP[smsc2]: Got PDU:
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP PDU 0x2aaab0004020 dump:
2009-01-30 11:43:09 [21274] [9] DEBUG: type_name: submit_sm_resp
2009-01-30 11:43:09 [21274] [9] DEBUG: command_id: 2147483652 =
0x80000004
2009-01-30 11:43:09 [21274] [9] DEBUG: command_status: 0 =
0x00000000
2009-01-30 11:43:09 [21274] [9] DEBUG: sequence_number: 37626 =
0x000092fa
2009-01-30 11:43:09 [21274] [9] DEBUG: message_id: "171AAA7C"
2009-01-30 11:43:09 [21274] [9] DEBUG: SMPP PDU dump ends.
Example 1: smsc3 with source addr ton = 1, source add npi = 1
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP[smsc3]: Sending PDU:
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP PDU 0x2aaab0004020
dump:
2009-01-30 11:53:01 [21274] [13] DEBUG: type_name: submit_sm
2009-01-30 11:53:01 [21274] [13] DEBUG: command_id: 4 = 0x00000004
2009-01-30 11:53:01 [21274] [13] DEBUG: command_status: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: sequence_number: 47612 =
0x0000b9fc
2009-01-30 11:53:01 [21274] [13] DEBUG: service_type: NULL
2009-01-30 11:53:01 [21274] [13] DEBUG: source_addr_ton: 1 =
0x00000001
2009-01-30 11:53:01 [21274] [13] DEBUG: source_addr_npi: 1 =
0x00000001
2009-01-30 11:53:01 [21274] [13] DEBUG: source_addr:
"2782004871000430"
2009-01-30 11:53:01 [21274] [13] DEBUG: dest_addr_ton: 1 =
0x00000001
2009-01-30 11:53:01 [21274] [13] DEBUG: dest_addr_npi: 1 =
0x00000001
2009-01-30 11:53:01 [21274] [13] DEBUG: destination_addr:
"27825681344"
2009-01-30 11:53:01 [21274] [13] DEBUG: esm_class: 3 = 0x00000003
2009-01-30 11:53:01 [21274] [13] DEBUG: protocol_id: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: priority_flag: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: schedule_delivery_time:
NULL
2009-01-30 11:53:01 [21274] [13] DEBUG: validity_period:
"090206095301000+"
2009-01-30 11:53:01 [21274] [13] DEBUG: registered_delivery: 1 =
0x00000001
2009-01-30 11:53:01 [21274] [13] DEBUG: replace_if_present_flag:
0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: data_coding: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: sm_default_msg_id: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: sm_length: 44 = 0x0000002c
2009-01-30 11:53:01 [21274] [13] DEBUG: short_message:
2009-01-30 11:53:01 [21274] [13] DEBUG: Octet string at
0x2aaab0000900:
2009-01-30 11:53:01 [21274] [13] DEBUG: len: 44
2009-01-30 11:53:01 [21274] [13] DEBUG: size: 45
2009-01-30 11:53:01 [21274] [13] DEBUG: immutable: 0
2009-01-30 11:53:01 [21274] [13] DEBUG: data: 54 65 73 74 69
6e 67 20
61 74 20 63 68 61 72 61 Testing at chara
2009-01-30 11:53:01 [21274] [13] DEBUG: data: 63 74 65 72 20
40 20 57
68 79 20 69 73 20 69 74 cter @ Why is it
2009-01-30 11:53:01 [21274] [13] DEBUG: data: 20 6e 6f 74 20
77 6f 72
6b 69 6e 67 not working
2009-01-30 11:53:01 [21274] [13] DEBUG: Octet string dump ends.
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP PDU dump ends.
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP[smsc3]: Got PDU:
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP PDU 0x2aaab0004020
dump:
2009-01-30 11:53:01 [21274] [13] DEBUG: type_name: submit_sm_resp
2009-01-30 11:53:01 [21274] [13] DEBUG: command_id: 2147483652 =
0x80000004
2009-01-30 11:53:01 [21274] [13] DEBUG: command_status: 0 =
0x00000000
2009-01-30 11:53:01 [21274] [13] DEBUG: sequence_number: 47612 =
0x0000b9fc
2009-01-30 11:53:01 [21274] [13] DEBUG: message_id:
2009-01-30 11:53:01 [21274] [13] DEBUG: Octet string at
0x2aaab0000900:
2009-01-30 11:53:01 [21274] [13] DEBUG: len: 28
2009-01-30 11:53:01 [21274] [13] DEBUG: size: 29
2009-01-30 11:53:01 [21274] [13] DEBUG: immutable: 0
2009-01-30 11:53:01 [21274] [13] DEBUG: data: 32 37 2f 30 30
2f 31 65
35 65 62 32 33 38 2f 31 27/00/1e5eb238/1
2009-01-30 11:53:01 [21274] [13] DEBUG: data: 31 32 37 38 32
35 36 38
31 33 38 38 127825681388
2009-01-30 11:53:01 [21274] [13] DEBUG: Octet string dump ends.
2009-01-30 11:53:01 [21274] [13] DEBUG: SMPP PDU dump ends.