7

What is the meaning of "data_coding" field in the SMPP protocol?

I searched for this but couldn't find any helpful resource.

informatik01
  • 16,038
  • 10
  • 74
  • 104
Prasad Weera
  • 1,223
  • 3
  • 13
  • 25
  • _As a side note:_ the number one source of information in such cases is the **specification**: [_SMPP Protocol Specification v3.4_](http://opensmpp.org/specs/SMPP_v3_4_Issue1_2.pdf) and [_SMPP Protocol Specification v5.0_](http://opensmpp.org/specs/smppv50.pdf) – informatik01 Apr 07 '17 at 07:55

3 Answers3

23

In short, datacoding contains the information on how the text in an smpp SubmitSM (i.e. a typical SMS message) message is encoded. The SubmitSM packet contains a binary encoded body, and the dataCoding is how the text is stored in this body.

The most important values are:

  • 00000000 (0) - usually GSM7 (the default 7 bit encoding for messages, with a few characters that are encoded as two bytes), but technically could be something else
  • 00000011 (3) for standard ISO-8859-1
  • 00001000 (8) for the universal character set -- de facto UTF-16

Other possible values (rarely used):

  • 00000001 - IA5_CCITT_T_50_ASCII_ANSI_X3_4
  • 00000010 - OCTET_UNSPECIFIED_8BIT_BINARY_1
  • 00000100 - OCTET_UNSPECIFIED_8BIT_BINARY_2
  • 00000101 - JIS_X_02081990
  • 00000110 - CYRLLIC_ISO88595
  • 00000111 - LATIN_HEBREW_ISO88598
  • 00001001 - PICTOGRAM_ENCODING
  • 00001010 - ISO2022JP_MUSIC_CODES
  • 00001101 - EXTENDED_KANJI_JISX_02121990
  • 00001110 - KS_C_5601

And two reserved for special uses:

  • 00001011 - RESERVED #1
  • 00001100 - RESERVED #2

In short, if your binary body is unicode (UTF-16) you will set dataCoding to 8. If your message is stored as GSM7 then it will (usually) be 0.

puzz
  • 746
  • 4
  • 7
  • 3
    Actually data coding 0x00 in SMPP means 'SMSC Default Alphabet' which is *usually* GSM7, but technically could be something else – artbristol Aug 16 '12 at 12:20
  • Is there any article or any other reference for that ? – Prasad Weera Aug 16 '12 at 13:17
  • @PrasadWeera not an easy read, but my knowledge comes from http://www.scribd.com/doc/64970163/SMPP-v3-4-Issue1-2 (SMPP specification). – puzz Aug 16 '12 at 13:30
0

It means how text is converted into bytes, since SMPP is a binary protocol but applications typically deal with text strings. The first hit on google for 'smpp data coding' explains it well http://sourceforge.net/apps/trac/smstools/raw-attachment/wiki/MiscWikiFiles/smppv34_gsmumts_ig_v10.pdf in section 2.2.2.

artbristol
  • 32,010
  • 5
  • 70
  • 103
  • Then what is the difference between encoding(like using UTF-8) and data coding ? – Prasad Weera Aug 16 '12 at 10:28
  • Data coding means the same as encoding. – artbristol Aug 16 '12 at 10:33
  • I'm using smpp Connector with an additional parameter for passing the data coding. When I asked about that, I was told that it represents if the content is binary or text or flash... Can you please explain that ? – Prasad Weera Aug 16 '12 at 10:38
  • I read that post but still got the issue. here in this post [link](http://www.telecomspace.com/smsforum.net_archive/smf/index00d0.html?topic=1257.0), they are talking about a **data coding**. That's what I don't get. – Prasad Weera Aug 16 '12 at 12:00
0

This should definitely help: ETSI GSM 03.38 Specification

michael.bochkaryov
  • 2,318
  • 18
  • 14