smpp二进制消息

时间:2011-08-09 06:17:29

标签: java smpp

在smpp中区分文本短信和二进制短信的参数是什么。我假设这两个消息都是在submitSM对象中编码的。如果没有,请告诉我们如何将smpp二进制消息编码为短信。

2 个答案:

答案 0 :(得分:2)

检查data_coding参数。

以下是一些值

 0 0 0 0 0 0 0 0 SMSC Default Alphabet
 0 0 0 0 0 0 0 1 IA5 (CCITT T.50)/ASCII (ANSI X3.4)
 0 0 0 0 0 0 1 0 Octet unspecified (8-bit binary)
 0 0 0 0 0 0 1 1 Latin 1 (ISO-8859-1)
 0 0 0 0 0 1 0 0 Octet unspecified (8-bit binary)
 0 0 0 0 0 1 0 1 JIS (X 0208-1990)
 0 0 0 0 0 1 1 0 Cyrllic (ISO-8859-5)
 0 0 0 0 0 1 1 1 Latin/Hebrew (ISO-8859-8)
 0 0 0 0 1 0 0 0 UCS2 (ISO/IEC-10646)
 0 0 0 0 1 0 0 1 Pictogram Encoding 
 0 0 0 0 1 0 1 0 ISO-2022-JP (Music Codes)
 0 0 0 0 1 0 1 1 reserved
 0 0 0 0 1 1 0 0 reserved
 0 0 0 0 1 1 0 1 Extended Kanji JIS(X 0212-1990)
 0 0 0 0 1 1 1 0 KS C 5601 
 0 0 0 0 1 1 1 1 reserved

在这里,您可以看到二进制文件的一些值。

对于枯燥的列表,请检查SMPPv3.4规范。

答案 1 :(得分:1)

要添加上面的Incognitos答案,如果您要发送二进制消息,那么重要的另一个参数是esm_class。

两个最常见的值是:

  • 0x00,用于标准文本消息
  • 0x40设置用户数据标题指示符(UDHI)

如果设置了UDHI,则需要在有效负载的开头解析二进制头,由用户数据头长度(UDHL)组成,表示应该读取多少字节作为头,然后是二进制头本身

有关esm_class参数的所有可能值,请参阅SMPP规范的5.2.12节。