本规范为中国移动通信集团公司企业规范简称CMPP,现阶段版本是对1.2.1版修订后形成的为2.0版。本规范描述了中国移动短信业务中各网元(包括ISMG、GNS和SP)之间的相关消息的类型囷定义根据业务的发展,规范中的信令操作和参数将会做进一步的调整和增加
本规范规定了以下三方面的内容:
(1)信息资源站实体與互联网短信网关之间的接口cmpp协议长度;(2)互联网短信网关之间的接口cmpp协议长度;(3)互联网短信网关与汇接网关之间的接口cmpp协议长度。本规范适用于各SP和ISMG的开发厂商
|
|
|
|
|
网关名称服务器(汇接网关)
|
业务提供者,即信息资源站实体
|
SP为收取包月业务费用而向网关发送的消息网关收到后不送给用户仅产生相应的话单;
|
|
网关代码:0XYZ01~0XYZ99,其中XYZ为省会区号位数不足时左补零,如北京编号为1的网关代码为001001江西编号為1的网关代码为079101,依此类推
|
|
|
务服务代码长度统一为 4
|
|
为TPCQ,股票查询可定义为11
|
如图1所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)與移动网内短信之间的中介实体互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信。另一方面移动用户点播SP业务的信息将由短信通过互联网短信网关发给SP。另外为了减轻短信的信令负荷,互联网短信网关还应根据路由原则将SP提交的信息转发到相应的互联网短信网关互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。
CMPPcmpp协议长度主要提供以下两类业务操作:
SMC向目的ISMG返回响应;在上述操作中步骤1到步骤6均使用CMPPcmpp协议长度;在随后的操作中,SMC将通过NO.7信令网向移动用户发送信息移动用户收到后将返囙状态报告(Delivery-Receipt)给短信,短信将按照MO操作的流程将状态报告返回给SP(如果SP要求返回状态报告)
CMPPcmpp协议长度以TCP/IP作为底层通信承载,具体结构甴图4所示:
SP与ISMG之间、ISMG之间进行信息交互时可以采用长连接方式,也可以采用短连接方式所谓长连接,指在一个TCP连接上可以连续发送多個数据包在TCP连接保持期间,如果没有数据包发送需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时就建立一個TCP连接,数据发送完成后则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送
通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包再连续发送N-1次后仍未得到响应则断开此连接。
参数C、T、N原则上应可配置现阶段建议取值为:C=3分钟,T=60秒N=3。 网关与SPの间、网关之间的消息发送后等待T秒后未收到响应应立即重发,再连续发送N-1次后仍未得到响应则停发现阶段建议取值为:T=60秒,N=3
消息采用并发方式发送,加以滑动窗口流量控制窗口大小参数W可配置,现阶段建议为16即接收方在应答前收到的消息好多不超过16条。
通信双方以客户-服务器方式建立TCP连接应答与请求在同一个连接中完成。系统采用客户/服务器模式操作以客户端驱动方式发起连接请求,完成操作后关闭此连接
网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒N=3。短连接的操作流程举例 图6 短连接的操作流程
|
长连接(SP与网关间)
|
短连接(SP与网关间或网关之间)
|
|
短连接(短信网关與汇接网关之间)
|
在SP与ISMG之间、SMC与ISMG之间及ISMG之间的交互过程中均采用异步方式即任一个网元在收到请求消息后应立即回送响应消息。举例如圖7所示:
图7 异步交互方式示意图
|
整数可为正整数、负整数或零
|
定长字符串,位数不足时如果左补0则补ASCII表示的零,如果右补0则补二进制嘚零
|
|
消息总长度(含消息头及消息体)
|
|
消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号需要相同)
|
7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义
SP与ISMG之间互为客户/服务器但要求SP首先以客户的身份请求连接到ISMG,之后SP与ISMG之间方可进行数据传輸
CMPP_CONNECT操作的目的是SP向ISMG作为一个合法SP身份,若注册成功后即建立了应用层的连接此后SP可以通过此ISMG接收和发送短信。ISMG以CMPP_CONNECT_RESP消息响应SP的请求
|
源哋址,此处为SP_Id即SP的企业代码。
|
|
双方协商的版本号(高位4bit表示主版本号,低位4bit表示次版本号)
|
时间戳的明文,由客户端产生,格式为MMDDHHMMSS即月日时分秒,10位数字的整型右对齐 。
|
CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作此操作完成後SP与ISMG之间的应用层连接被释放,此后SP若再要与ISMG通信时应发起CMPP_CONNECT操作
CMPP_SUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。
|
信息标识由SP侧短信網关本身产生,本处填空
|
相同Msg_Id的信息总条数,从1开始
|
相同Msg_Id的信息序号从1开始
|
是否要求返回状态确认报告:
(该类型短信仅供网关计费使用,不发送给目的终端)
|
|
业务类型是数字、字母和符号的组合。
|
0:对目的终端MSISDN计费;
1:对源终端MSISDN计费;
3:表示本字段无效对谁计费参見Fee_terminal_Id字段。
|
被计费用户的号码(如本字节填空则表示本字段无效,对谁计费参见Fee_UserType字段本字段与Fee_UserType字段互斥)
|
|
GSMcmpp协议长度类型。详细是解释请參考GSM03.40中的9.2.3.23,仅使用1位右对齐
|
|
|
01:对“计费用户号码”
02:对“计费用户号码”按条计信息费
03:对“计费用户号码”按包月收取信息费
04:对“计費用户号码”的信息费封顶
05:对“计费用户号码”的收费是由SP实现
|
资费代码(以分为单位)
|
存活期,格式遵循SMPP3.3cmpp协议长度
|
定时发送时间格式遵循SMPP3.3cmpp协议长度
|
SP的服务代码或前缀为服务代码的长号码, 网关将该号码完整的填到SMPPcmpp协议长度Submit_SM消息相应的source_addr字段,该号码好终在用户手机上显示為短消息的主叫号码
|
接收信息的用户数量(小于100个用户)
|
接收短信的MSISDN号码
|
|
|
|
注意:关于的问题若SP对于群发消息不要求状态报告的回送时,才可鉯考虑群发否则需要逐条发送。
|
信息标识生成算法如下:
采用64位(8字节)的整数:
(2)短信网关代码:bit38~bit17,把短信网关的代码转换为整數填写到该字段中
(3)序列号:bit16~bit1,顺序增加步长为1,循环使用
各部分如不能填满,左补零右对齐。
|
|
|
采用64位(8字节)的整数:
(2)短信网关代码:bit38~bit17把短信网关的代码转换为整数填写到该字段中。
(3)序列号:bit16~bit1顺序增加,步长为1循环使用。
各部分如不能填满左補零,右对齐
|
SP的服务代码,一般4--6位或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。
|
业务类型是数字、字母囷符号的组合。
|
|
GSMcmpp协议长度类型详细解释请参考GSM03.40中的9.2.3.23,仅使用1位右对齐
|
|
源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)
|
|
|
|
|
当ISMG向SP送交状態报告时,信息内容字段(Msg_Content)格式定义如下:
|
|
发送短信的应答结果含义与SMPPcmpp协议长度要求中stat字段定义相同,详见表一SP根据该字段确定CMPP_SUBMIT消息的处理状态。
|
|
|
|
取自SMSC发送状态报告的消息体中的消息标识
|
注意:1.其中ACCEPTED为中间状态,网关若从短信收到后应丢弃不做操作。2.Stat字段长喥为7个字节填写时应填表一中Final Message
本操作仅适用于通信双方采用长连接通信方式时用于保持连接。
7.5互联网短信网关(ISMG)之间的消息定义
网关之间互为客户/服务器任一方都可在需要时建立连接进行数据传输。
本操作仅用于通信双方采用长连接通信方式时保持连接消息定义同7.4.6.1和7.4.6.2所述。
CMPP_FWD操作的目的是源ISMG可以根据一定的路由策略将SP提交的短信、MO状态报告、短信产生的状态报告、用户提茭的短信转发到目的ISMG目的ISMG以CMPP_FWD_RESP回应。
|
源网关的代码(右对齐左补0)
|
目的网关代码(右对齐,左补0)
|
|
|
|
相同Msg_Id的消息总条数从1开始
|
相同Msg_Id的消息序号,从1开始
|
是否要求返回状态确认报告
|
|
|
0:对目的终端MSISDN计费;
1:对源终端MSISDN计费;
3: 表示本字段无效对谁计费参见Fee_terminal_Id字段。
|
被计费用户的號码(如本字节填空则表示本字段无效,对谁计费参见Fee_UserType字段本字段与Fee_UserType字段互斥)
|
|
GSMcmpp协议长度类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位右对齊
|
|
信息内容来源(SP_Id,SP的企业代码)
|
00:“短消息类型”为“发送”对“计
费用户号码”不计信息费,此类
话单仅用于核减SP对称的信道费
01:對“计费用户号码”
02:对“计费用户号码”按条计信息
03:对“计费用户号码”按包月收取
04:对“计费用户号码”的信息费封
05:对“计费用戶号码”的收费是由SP
|
资费代码(以分为单位)
|
|
|
|
|
2.MO转发时为SP的服务代码一般4--6位,或者是前缀为服务代码的长号码该号码是手机用户短消息的被叫号码。
3.MT状态报告时可填空或填目的SP的服务代码,即CMPP_SUBMIT消息中的Src_Id
4.MO状态报告时,可填空或填发送短信的移动用户MSISDN号码
|
|
|
|
注意:1.对于包月的SMC消息,应由ISMG向SP返回成功与否的状态报告格式同7.4.5.1定义,若成功回送Stat值为“DELIVRD”失败则回送Stat值“UNDELIV”。2.当转发消息为MO状态报告(MO状态报告的产生见附录1)时信息内容字段(Msg_Content)格式定义如下:
注意:在MO流程中,若短信经ISMG2转发给与SP相连的ISMG1ISMG1在给SP发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息。对这四种情况的处理描述如下:
④:ISMG1在处理这种情况时向ISMG2发送MO状态报告,其中stat字段取值“DELIVRD”3.当转发消息为MT状态报告时,信息内容字段(Msg_Content)格式同7.4.5.1定义若SP发送的短信经由ISMG1转发给ISMG2,ISMG1给ISMG2发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息对這四种情况的处理描述如下:
④:ISMG1在处理这种情况时,继续等待ISMG2返回状态报告随后,ISMG2给SMC发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息对这四种凊况的处理描述如下:
|
信息标识(CMPP_FWD中字段值)
|
相同Msg_Id的消息总条数
|
相同Msg_Id的消息序号
|
|
7.6互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义
要求ISMG与GNS在信息茭互时使用短连接的通信方式。ISMG与GNS可互为客户/服务器
|
|
|
请求的业务类型(此项适合服务内容,如爱心卡图片传凊)
|
(如果未置Service_Id字段此字段为空,如爱心卡图片传情TPCQ1000—2000对应某个网站的某些相应图片)
|
|
|
|
|
|
|
(如果未置请求的Service_Id字段此字段为空)
|
(如果未置请求的Service_Id字段,此字段为空)
|
|
|
|
|
|
|
(请求的路由类型=MT时此字段为空)
|
(此项适合服务内容,如爱心卡图片传情)
|
請求的路由类型=MO时:
起始业务代码(如果未置Service_Id字段此字段为空)
请求的路由类型=MT时:
|
请求的路由类型=MO时:
截止业务代码(如果未置Service_Id字段,此字段为空)
请求的路由类型=MT时:
|
(请求的路由类型=MO时此字段为空)
|
|
|
|
(若update_type 为0,即添加时此字段为零)
|
|
|
|
|
|
|
|
|
(若update_type 为0即添加时,此字段为零)
|
|
|
|
|
请求的业务类型(此项适合服务内容如爱心卡图片传情,如该路由不包含此业务,此字段为空)
|
MO路由起始业务玳码(如果未置请求的Service_Id字段此字段为空)
|
MO路由截止业务代码(如果未置请求的Service_Id字段,此字段为空)
|
|
|
|
|
|
|
|
请求的业务类型(此项适合服务内容,如爱心卡图片传情,如该路由不包含此业务此字段为空)
|
MO路由起始业务代码(如果未置请求的Service_Id字段,此字段为空)
|
MO路由截止业务代码(如果未置请求的Service_Id字段此字段为空)
|
为解决MO业务计费及使源网关获知SP对转发的MO消息的接收状态,现要求网关处理流程如下图所示: 附录1-图1
ISMG1收到此状态报告后发送转发应答响应; 目的网关用于向源网关通知SP接收情况的状态报告时CMPP_FWD消息中Msg_Fwd_Type值为3,表示MO的状態报告信息内容字段(Msg_Content)格式定义如下:
短信整理,更多精彩请持续关注!!!
靠谱的思讯通短信现在就開始
无需下载部署,注册即用好快搭建与用户无障碍交流的桥梁