Re: SMPP Patch for data_coding: 3
Stipe Tolj <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Organization | tolj.org system architecture |
| Message-ID | <[email protected]> |
Michael Zervakis schrieb:
> Actually we noticed that certain mobile phones use data_coding 3 when
> sending MO SM with greek characters (not UCS-2) instead of 0
> as you can see in the following example:
> 2008-09-30 13:19:31 [19193] [13] DEBUG: SMPP PDU 0x8268558 dump:
> 2008-09-30 13:19:31 [19193] [13] DEBUG: type_name: deliver_sm
> 2008-09-30 13:19:31 [19193] [13] DEBUG: command_id: 5 = 0x00000005
> 2008-09-30 13:19:31 [19193] [13] DEBUG: command_status: 0 = 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: sequence_number: 229 = 0x000000e5
> 2008-09-30 13:19:31 [19193] [13] DEBUG: service_type: NULL
> 2008-09-30 13:19:31 [19193] [13] DEBUG: source_addr_ton: 1 = 0x00000001
> 2008-09-30 13:19:31 [19193] [13] DEBUG: source_addr_npi: 1 = 0x00000001
> 2008-09-30 13:19:31 [19193] [13] DEBUG: source_addr: "3069XXXXXXXX"
> 2008-09-30 13:19:31 [19193] [13] DEBUG: dest_addr_ton: 3 = 0x00000003
> 2008-09-30 13:19:31 [19193] [13] DEBUG: dest_addr_npi: 9 = 0x00000009
> 2008-09-30 13:19:31 [19193] [13] DEBUG: destination_addr: "99999"
> 2008-09-30 13:19:31 [19193] [13] DEBUG: esm_class: 0 = 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: protocol_id: 0 = 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: priority_flag: 0 = 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: schedule_delivery_time: NULL
> 2008-09-30 13:19:31 [19193] [13] DEBUG: validity_period: NULL
> 2008-09-30 13:19:31 [19193] [13] DEBUG: registered_delivery: 0 =
> 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: replace_if_present_flag: 0 =
> 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: data_coding: 3 = 0x00000003
> 2008-09-30 13:19:31 [19193] [13] DEBUG: sm_default_msg_id: 0 = 0x00000000
> 2008-09-30 13:19:31 [19193] [13] DEBUG: sm_length: 4 = 0x00000004
> 2008-09-30 13:19:31 [19193] [13] DEBUG: short_message:
> 2008-09-30 13:19:31 [19193] [13] DEBUG: Octet string at 0x8266ae0:
> 2008-09-30 13:19:31 [19193] [13] DEBUG: len: 4
> 2008-09-30 13:19:31 [19193] [13] DEBUG: size: 5
> 2008-09-30 13:19:31 [19193] [13] DEBUG: immutable: 0
> 2008-09-30 13:19:31 [19193] [13] DEBUG: data: 18 54 4f
> 16 .TO.
> 2008-09-30 13:19:31 [19193] [13] DEBUG: Octet string dump ends.
> 2008-09-30 13:19:31 [19193] [13] DEBUG: user_message_reference: 7 =
> 0x00000007
> 2008-09-30 13:19:31 [19193] [13] DEBUG: SMPP PDU dump ends.
if this payload 0x17 0x54 0x4f is UCS2 encoded, then the SMSC breaks the
protocol, since it indicates via data_coding = 0x03 that this SHALL be latin1.
For UCS2 payload the data_coding = 0x08 should be set.
See SMPP v3.4 spec, section 5.2.19, page 126 for the list of defined DCS values
in the protocol.
You may ask your SMSC provider why they "bahave wrong"?
Stipe
--
-------------------------------------------------------------------
Kölner Landstrasse 419
40589 Düsseldorf, NRW, Germany
tolj.org system architecture Kannel Software Foundation (KSF)
http://www.tolj.org/ http://www.kannel.org/
mailto:st_{at}_tolj.org mailto:stolj_{at}_kannel.org
-------------------------------------------------------------------