中国移动通信互联网短信网关接口协议doc.docx
《中国移动通信互联网短信网关接口协议doc.docx》由会员分享,可在线阅读,更多相关《中国移动通信互联网短信网关接口协议doc.docx(59页珍藏版)》请在冰豆网上搜索。
中国移动通信互联网短信网关接口协议doc
中国移动通信互联网短信网关接口协议
(ChinaMobilePeertoPeer,CMPP)
V2.0)
中国移动通信集团公司
2002年4月
、八
前
1.
2.
3.网络结构
4.CMPP功能概述
5.协议栈
6.通信方式
6.1
6.2
6.3
6.4
7.消息定义
7.1基本数据类型
7.2消息结构
7.3消息头格式(MessageHeader)
7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义
7.4.1SP请求连接至UISMG(CMPP_CONNECT)操作
7.4.1.1CMPP_CONNECT消息定义(SPISMG)
7.4.1.2CMPP_CONNECT_RESP消息定义(ISMGSP)
742SP或ISMG请求拆除连接(CMPP_TERMINATE)操作
742.1CMPP_TERMINATE消息定义(SPISMG或ISMGSP)
742.2CMPP_TERMINATE_RESP消息定义(SPISMG或ISMG
7.4.3SP向ISMG提交短信(CMPP_SUBMIT)操作
7.4.3.1CMPP_SUBMIT消息定义(SPISMG)
7.4.3.2CMPP_SUBMIT_RESP消息定义(ISMGSP)
7.4.4SP向ISMG查询发送短信状态(CMPP_QUERY)操作
7.4.4.1CMPP_QUERY消息的定义(SPISMG)
7.4.4.2CMPP_QUERY_RESP消息的定义(ISMGSP)
7.4.5ISMG向SP送交短信(CMPP_DELIVER)操作
7.4.5.1CMPP_DELIVER消息定义(ISMGSP)
7.4.5.2CMPP_DELIVER_RESP消息定义(SPISMG)
7.4.6SP向ISMG发起删除短信(CMPP_CANCEL)操作
7.4.6.1CMPP_CANCEL消息定义(SPISMG)
7.4.6.2CMPP_CANCEL_RESP消息定义(ISMGSP)
7.4.7链路检测(CMPP_ACTIVE_TEST)操作
7.4.7.1CMPP_ACTIVE_TEST定义(SPISMG或ISMGSP)..
7.4.7.2CMPP_ACTIVE_TEST_RESP定义(SPISMG或ISMGSP)
7.5互联网短信网关(ISMG)之间的消息定义
7.5.1源ISMG请求连接到目的ISMG(CMPP_CONNECT)操作
7.5.2源ISMG请求拆除到目的ISMG的连接(CMPP_TERMINATE)操作.
7.5.3链路检测(CMPP_ACTIVE_TEST)操作18
7.5.4源ISMG向目的ISMG转发短信(CMPP_FWD)操作18
7.5.4.1CMPP_FWD定义(ISMGISMG)19
7.5.4.2CMPP_FWD_RESP定义(ISMGISMG)22
7.6互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义22
7.6.1ISMG请求连接到GNS或GNS请求连接到ISMG(CMPP_CONNECT)操作.22
7.6.2ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接
(CMPP_TERMINATE)操作22
7.6.3ISMG向汇接网关查询MT路由(CMPP_MT_ROUTE)操作
7.6.3.1CMPP_MT_ROUTE消息定义(ISMGGNS)
7.6.3.2CMPP_MT_ROUTE_RESP消息定义(GNS
764ISMG向汇接网关查询MO路由(CMPP_MO_ROUTE
7.6.4.1CMPP_MO_ROUTE消息定义(ISMGGNS)
7.6.4.2CMPP_MO_ROUTE_RESP消息定义(GNS
7.6.5ISMG向汇接网关获取路由(CMPP_GET_ROUTE)操作24
7.6.5.1CMPP_GET_ROUTE消息定义(ISMGGNS)24
7.6.5.2CMPP_GET_ROUTE_RESP消息定义(GNSISMG)24
7.6.6ISMG向汇接网关更新MT路由(CMPP_MT_ROUTE_UPDATE)操作25
7.6.6.1CMPP_MT_ROUTE_UPDATE消息定义(ISMGGNS)25
7.6.6.2CMPP_MT_ROUTE_UPDATE_RESP消息定义(GNSISMG)25
7.6.7ISMG向汇接网关更新MO路由(CMPP_MO_ROUTE_UPDATE)操作25
7.6.7.1CMPP_MO_ROUTE_UPDATE消息定义(ISMGGNS)25
7.6.7.2CMPP_MO_ROUTE_UPDATE_RESP消息定义(GNSISMG)26
7.6.8汇接网关向ISMG更新MT路由(CMPP_PUSH_MT_ROUTE_UPDATE)操作26
7.6.8.1CMPP_PUSH_MT_ROUTE_UPDATE消息定义(GNSISMG)26
7.6.8.2CMPP_PUSH_MT_ROUTE_UPDATE_RESP消息定义(ISMGGNS)26
7.6.9汇接网关向ISMG更新MO路由(CMPP_PUSH_MO_ROUTE_UPDATE)操作27
7.6.9.1CMPP_PUSH_MO_ROUTE_UPDATE消息定义(GNSISMG)....27
7.6.9.2CMPP_PUSH_MO_ROUTE_UPDATE_RESP消息定义(ISMG
27
27
27
29
31
GNS)
7.7系统定义
7.7.1Command_ld定义附录1MO状态报告的产生.....修订历史
、八—
前言
本规范为中国移动通信集团公司企业规范,简称
CMPP,现阶段版本是对1.2.1版修订
后形成的,为2.0版。
本规范描述了中国移动短信业务中各网元(包括
ISMG、GNS和SP)
之间的相关消息的类型和定义。
根据业务的发展,规范中的信令操作和参数将会做进一步的
调整和增加。
本规范解释权属于中国移动通信集团公司。
本规范起草单位:
中国移动通信集团公司研发中心。
1.
范围
本规范规定了以下三方面的内容:
1)信息资源站实体与互联网短信网关之间的接口协议;
2)互联网短信网关之间的接口协议;
3)互联网短信网关与汇接网关之间的接口协议。
本规范适用于各SP和ISMG的开发厂商。
2.
缩略语
英文缩写
ISMG
SMPP
CMPP
SMC
GNSSP
英文全称InternetShortMessageGatewayShortMessagePeertoPeerChinaMobilePeertoPeerShortMessageCenterGatewayNameServerServiceProvider
SMC
ShortMessageControl
ISMG_Id
说明互联网短信网关短消息点对点协议中国移动点对点协议短消息中心网关名称服务器(汇接网关)业务提供者,即信息资源站实体SP为收取包月业务费用而向网关发送的消息,网关收到后不送给用户仅产生相应的话单;网关代码:
0XYZ01~0XYZ99,其中位数不足时左补零,如北京编号为001001,江西编号为1的网关代码为
XYZ为省会区号,1的网关代码为079101,依此类推。
SP_ld
SP_Code
ServiceId
份的标识、地址翻译、
计费、
结算
均以企业代码为依据。
企业代
码以
字表示,共6位,从
.“9XY000”
“9XY999”,其中“XY
”为各
移动
司代码。
SP的服务代码:
服务
代码是
在使
短信方式的点播类业
务中,
提供
用户点播的内容/应用
服务提
供商
码。
服务代码以数字
表示,
全国
务服务代码长度统一
为4
位,
“1000”-“9999”;
本地业
务服
代码长度统一为
5位
“01000”—“09999”。
SP的业务类型,数字、
字母和
符号
组合,由SP自定,如
图片传
情可
的企业代码:
网络中SP地址
和
SP
为TPCQ,股票查询可定义为
11。
身等数至
公
的定
用给代业即务
3.网络结构
短信
中心
SMPP
...ISP
'于
SP
ISMG
&^MPPInternet、、
.吴Internet...X
SMPP氓能丁二二1
J
专线或局域网
专线或局域网
Internet
GNS
图1互联网短信网关逻辑网络结构
如图1所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信
中心。
另一方面,移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。
另外,为了减轻短信中心的信令负荷,互联网短信网关还应根据路由原则将SP提交的信息
转发到相应的互联网短信网关。
互联网短信网关通过向汇接网关(GNS)查询的方式获得网
关间的转发路由信息。
4.CMPP功能概述
CMPP协议主要提供以下两类业务操作:
(1)短信发送(ShortMessageMobileOriginate,SMMO)
2所示:
典型的业务操作举例如图
手机发出数据请求(可能是订阅信息或图片点播等)
源ISMG对接收到的信息返回响应;
源ISMG在本地查询不到要连接的SP,向GNS(汇接网关)发路由请求信息;
GNS将路由信息返回;
源ISMG根据路由信息将请求前转给目的ISMG;
目的ISMG对接收到的信息返回响应;
目的ISMG将请求信息送SP
SP返回响应;在以上操作中,步骤3到步骤8均使用CMPP协议;
在随后的操作中,目的ISMG在接收到SP的响应后将产生M0状态报告发给源ISMG。
(2)短信接收(ShortMessageMobileTerminated,SMMT)
3所示:
图3需要前转的MT示意图
典型的业务操作举例如图
5)
6)
7)
8)
源ISMG根据路由信息将请求前转给目的ISMG;
目的ISMG对接收到的信息返回响应;目的ISMG将请求信息发送至SMC;
SMC向目的ISMG返回响应;在上述操作中,步骤1到步骤6均使用CMPP协议;
在随后的操作中,SMC将通过N0.7信令网向移动用户发送信息,移动用户收到后将返回状态报告(Delivery-Receipt)给短信中心,短信中心将按照M0操作的流程将状态报告返回给SP(如果SP要求返回状态报告)。
5.协议栈
CMPP协议以TCP/IP作为底层通信承载,具体结构由图4所示:
图4CMPP协议栈
6.通信方式
SP与ISMG之间、
方式。
所谓长连接,如果没有数据包发送,需要双方发链路检测包以维持此连接。
短连接是指通信双方有数据交
互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送。
6.1长连接
通信双方以客户-服务器方式建立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条。
长连接的操作流程举例如图5所示:
图5长连接一次操作流程
6.2
短连接
通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。
系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续
T=60秒,N=3。
发送N-1次后仍未得到响应则停发。
现阶段建议取值为:
短连接的操作流程举例如图6所示:
6.3本协议中涉及的端口号
端口号
应用
7890
长连接(SP与网关间)
7900
短连接(SP与网关间或网关之间)
7930
长连接(网关之间)
9168
短连接(短信网关与汇接网关之间)
6.4交互过程中的应答方式
在SP与ISMG之间、SMC与ISMG之间及ISMG之间的交互过程中均采用异步方式,即任
7所示:
一个网元在收到请求消息后应立即回送响应消息。
举例如图
SMPP响应消息
CMPP请求消息
CMPP响应消息
CMPP请求消息
CMPP响应消息
图7异步交互方式示意图
7.消息定义
7.1基本数据类型
UnsignedInteger
无符号整数
Integer
整数,可为正整数、负整数或零
OctetString
定长字符串,位数不足时,如果左补0则补ASCII表示的零,如果右补0则补二进制的零
7.2消息结构
项目
说明
MessageHeader
消息头(所有消息公共包头)
MessageBody
消息体
7.3消息头格式(MessageHeader)
字段名
字节数
类型
描述
TotalLength
4
UnsignedInteger
消息总长度(含消息头及消息体)
Commandld
4
UnsignedInteger
命令或响应类型
Sequence_ld
4
UnsignedInteger
消息流水号,顺序累加渉长为1,循环使用(一对请求和应答消息的流水号必须相同)
7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义
SP与ISMG之间互为客户/服务器,但要求SP首先以客户的身份请求连接到ISMG,之
后SP与ISMG之间方可进行数据传输。
741SP请求连接至UISMG(CMPP_CONNECT)操作
CMPP_CONNECT操作的目的是SP向ISMG注册作为一个合法SP身份,若注册成功后即
建立了应用层的连接,此后SP可以通过此ISMG接收和发送短信。
ISMG以CMPP_CONNECT_RESP消息响应SP的请求。
741.1CMPPCONNECT消息定义(SPISMG)
字段名
字节数
属性
描述
SourceAddr
6
OctetString
源地址,此处为SPld,g卩SP的企业代码。
AuthenticatorSource
16
OctetString
用于鉴别源地址。
其值通过单向MD5hash计算得出,表示如下:
AuthenticatorSource=
MD5(Source_Addr+9字节的0+sharedsecret+timestamp)
Sharedsecret由中国移动与源地址实体事先商定,timestamp格式为:
MMDDHHMMSS,即月日时分秒,10位。
Version
1
UnsignedInteger
双方协商的版本号(咼位4bit表示主版本号,低位
4bit表示次版本号)
Timestamp
4
UnsignedInteger
时间戳的明文,由客户端产生,格式为
MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐。
字段名
字节数
属性
描述
Status
1
UnsignedInteger
状态
0:
正确
1:
消息结构错
2:
非法源地址
3:
认证错
4:
版本太咼
5~:
其他错误
AuthenticatorISMG
16
OctetString
ISMG认证码,用于鉴别ISMG。
其值通过单向MD5hash计算得出,表示如下:
AuthenticatorlSMG=MD5
(Status+AuthenticatorSource+sharedsecret),
Sharedsecret由中国移动与源地址实体事先商定,AuthenticatorSource为源地址实体发送给
ISMG的对应消息CMPP_Connect中的值。
认证出错时,此项为空。
Version|
1
UnsignedInteger
服务器支持的最高版本号
7.4.1.2CMPPCONNECTRESP消息定义(ISMGSP)
742SP或ISMG请求拆除连接(CMPP_TERMINATE)操作
CMPPTERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而
发起的操作。
此操作完成后SP与ISMG之间的应用层连接被释放,
此后SP若再要与ISMG
通信时应发起CMPP_CONNECT操作。
ISMG或SP以CMPPTERMINATERESP消息响应请求。
7.4.2.1CMPP_TERMINATE消息定义(SPISMG或ISMGSP)
无消息体。
742.2CMPP_TERMINATE_RESP消息定义(SPISMG或ISMG无消息体。
SP)
743SP向ISMG提交短信(CMPP_SUBMIT)操作
CMPPSUBMIT操作的目的是SP在与ISMG建立应用层连接后向
ISMG提交短信。
ISMG以CMPP_SUBMIT_RESP消息响应。
字段名
字节数
属性
描述
MsgId
8
UnsignedInteger
信息标识,由SP侧短信网关本身产生,本处填空。
Pktotal
1
UnsignedInteger
相同MsgId的信息总条数,从1开始
Pknumber
1
UnsignedInteger
相同MsgId的信息序号,从1开始
7.4.3.1CMPPSUBMIT消息定义(SPISMG)
Registered_Delivery
1
UnsignedInteger
是否要求返回状态确认报告:
0:
不需要
1:
需要
2:
产生SMC话单
(该类型短信仅供网关计费使用,不发送给目的
终端)
Msglevel
1
UnsignedInteger
信息级别
ServiceId
10
OctetString
业务类型,是数字、字母和符号的组合。
Fee_UserType
1
UnsignedInteger
计费用户类型字段
0:
对目的终端MSISDN计费;
1:
对源终端MSISDN计费;
2:
对SP计费;
3:
表示本字段无效,对谁计费参见Feeterminalld字段。
--
Fee_terminal_Id
21
UnsignedInteger
被计费用户的号码(如本字节填空,则表示本字段无效,对谁计费参见Fee_UserType字段,本字
段与FeeUserType字段互斥)
TP_pld
1
UnsignedInteger
GSM协议类型。
详细是解释请参考GSM03.40中
的923.9
TP_udhi
1
UnsignedInteger
GSM协议类型。
详细是解释请参考GSM03.40中
的9.2.3.23,仅使用1位,右对齐
Msg_Fmt
1
UnsignedInteger
信息格式
0:
ASCII串
3:
短信写卡操作
4:
二进制信息
8:
UCS2编码
15:
含GB汉字。
。
。
。
。
。
Msgsrc
6
OctetString
信息内容来源(SPld)
FeeType
2
OctetString
资费类别
01:
对“计费用户号码”免费
02:
对“计费用户号码”按条计信息费
03:
对“计费用户号码”按包月收取信息费
04:
对“计费用户号码”的信息费封顶
05:
对“计费用户号码”的收费是由SP实现
FeeCode
6
OctetString
资费代码(以分为单位)
ValIdTime
17
OctetString
存活有效期,格式遵循SMPP3.3协议
AtTime
17
OctetString
定时发送时间,格式遵循SMPP3.3协议
Src_Id
21
OctetString
源号码
SP的服务代码或前缀为服务代码的长号码,网关
将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码
DestUsrtl
1
UnsignedInteger
接收信息的用户数量(小于100个用户)
Dest_terminal_ld
21*DestUsrtl
OctetString
接收短信的MSISDN号码
Msg_Length
1
UnsignedInteger
信息长度(Msg_Fmt值为0时:
<160个字节;其它<=140个字节)
Msg_Content
Msg_length
OctetString
信息内容
Reserve
8
OctetString
保留
注意:
关于短信群发的问题,若SP对于群发消息不要求状态报告的回送时,才可以考虑群
发,否则必须逐条发送。
743.2CMPP_SUBMIT_RESP消息定义(ISMGSP)
字段名
Msg_ld
字节数
8
属性
UnsignedInteger
描述
信息标识,生成算法如下:
采用
(1)
(2)
64位(8字节)的整数:
时间(格式为MMDDHHMMSS,即月日时分秒):
bit64~bit39,其中
bit64~