- Short Message, 短信
- SMS, Short Message Service, 短信服务
- MO, Mobile Originate, 发短信
- MT, Mobile Terminate, 收短信
Terminal 终端
SMC 短信中心
SMS GW 短信网关
重要协议
- GSM 03.40
- SMPP
编码方案
- 7bit ASCII
- 8bit ASCII
- UCS2 (早期的 Unicode 方案,2 Bytes 表示一个字)
长度
受协议限制,短信内容最大 140 字节,所以:
采用 8bit 编码的话,最长 140 字符。
采用 7bit 编码的话,最长 160 字符(正好)。
采用 UCS2 编码的话,最长 70 字符。
如果涉及长短信切割,根据通行的拓展协议,需要采用头三个字节存储相关信息。
采用 8bit 编码的话,每段最长 137 字符。
采用 7bit 编码的话,每段最长 156 字符(最后剩余 4 bits 空着)。
采用 UCS2 编码的话,每段最长 67 字符。
长短信分割
参考 GSM 03.40 9.2.3.24 TP-User Data (TP-UD) 部分,一般有两种方案:
\x05 剩余协议头长度
\x00 短信标识 GSM 03.40
\x03 剩余短信标识长度
随机字节(1 字节)
总包数
包序号(1 开始)
还有一种没有怎么见过的方案,就是采用两个字节做随机标识,然后头三字节改成 \x06\x08\x04
。
第二字节叫做 The Information Element Identifier(信息元素标识符),上面的 \x00
,\x08
分别标识 1 字节,2 字节随机标识方案。其他值可以参考文档。