CMPP 和 SMPP 协议的区别
并非同类型协议
CMPP 和 SMPP 都是短信协议中的一
种,但它们不是同一类型的协议。SMPP 和 ESME 和 SMC
(短信中心)之间的协议,而 CMPP 是 SP 和中国移动 ISMG之间的通讯协议。
以下是 CMPP 3.0 文档中的图示。
<!--[if !vml]-->
<!--[endif]-->
与 CMPP 对应的协议有,联通的 SGIP 协议,中国电信的 SMGP协议,网通的 CNGP 协议。
作为 SP ,只需要了解 CMPP ,不需要了解 SMPP 。
最新版本和兼容
SMPP 协议是一个国际标准,有
SMS
论坛制定,官方网址为 smsforum.net,截至 2006
年 7 月 2
日,最新版本是 5.0。曾经流行的版本是 3.3、3.4。SMPP 协议向后兼容的。
CMPP 最新版本似乎是 3.0。现在(2006 年 7 月),大多数还是使用
CMPP
2.0
。CMPP
协议没
有做到向后兼容,3.0 的文档本身也没有讲到兼容的问题,甚至认为,协议制定
者压根没想过要兼容。CMPP 3.0 没做到向后兼容导致了一个问题,就是 SP 无法平滑升级。
PDU 格 式
PDU 是协议数据单元的缩写,SMPP 和 CMPP 都使用最先一个 4 位的长度标志整
个 PDU 的长度。
SMPP 是一个国际标准,不同的 SMC 的是实现可能要增加特定参数,为了具备更好的扩展
性,
SMPP 3.4 以上版本,增加了可选参数,在 5.0 中,可选参数叫做 TLVTable。
CMPP 是中国移动定义的其内部 ISMG (互联网短信网关)之间、ISMG与 SP 之间的通讯
标准,涉及一些具体的计费信息,但没有可选参数。
在 SMPP 中,消息头包括 4 部分:PDU 长度、Command_Id 、Command_Status
、Sequence_Id。其中 Command_Status 字段,只在回应消息中使用,存在冗余。
CMPP 中,消息头部包括 3 部分:PDU 长度、Command_Id 、Sequence_Id。个人认
为,CMPP 中的消息头,不包括 Command_Status ,似乎更好一些。
消息传输模式
SMPP 和 CMPP 都支持异步传输,CMPP 中,建议异步传输的窗口大小为
16。CMPP 使用一个连接发送短信息和接收短信息。
SMPP 支持多种的连接,其中 TX 类型的连接,只能发送短信息,RX 类型的连接只能接收
短信息,TRX 类型的连接支持接收和发送短信息。
SMPP 3.4 中,消息传输模式分三中:Store And Forwar、d Datagram、Forward。分别
用在大吞吐量、可靠性保证等不同的应用场合。
CMPP 没有规定其消息传输的模式,根据实际使用的情况看来,华为的网关的消息传输模式
类似 SMPP 协议中规定的 Datagram 模式
基于 CMPP3.0 的企业短信网关 API 设计
摘 要 CMPP (中国移动点对点协议)规定了移动梦网短信业务开展过程中各网元(包括
ISMG 、GNS 和 SP )之间的消息类型和定义,本文讲述基
于 CMPP3.0 标准的企业短信网关设计,支持 CONNECT,SUBMIT,DELIVER,QUERY
,CANCEL,TERMINA TE 消息。
关键词 短信 短信网关 CMPP SP ISMG
1 引言
随着短信息业务的快速发展,短信息已经成为手机用户最经常使用的业务之一。除了大量
使用的手机用户到手机用户的点对点短信业务之外,从信息平台到手机用 户的短信信息服