200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 互联网短信网关接口协议

互联网短信网关接口协议

时间:2023-12-14 08:54:50

相关推荐

互联网短信网关接口协议

中国移动通信

互联网短信网关接口协议

(China Mobile Peer to Peer, CMPP)

(V2.0)

中国移动通信集团公司

2002年 4 月

目录

前 言..................................................................................................................................................................... 4

1范围.................................................................................................................................................................. 5

2缩略语.............................................................................................................................................................. 5

3.网络结构........................................................................................................................................................... 6

4.CMPP功能概述.............................................................................................................................................. 7

5. 协议栈................................................................................................................................................................. 8

6. 通信方式............................................................................................................................................................. 9

6.1 长连接........................................................................................................ 9

6.2 短连接....................................................................................................... 11

6.3 本协议中涉及的端口号.............................................................................. 12

6.4 交互过程中的应答方式.................................................................................... 12

7.消息定义......................................................................................................................................................... 12

7.1基本数据类型..................................................................................................... 12

7.2消息结构............................................................................................................ 13

7.3 消息头格式(Message Header)......................................................................... 13

7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义.............................. 13

7.4.1 SP请求连接到ISMG(CMPP_CONNECT)操作....................................... 13

7.4.2 SP或ISMG请求拆除连接(CMPP_TERMINATE)操作......................... 14

7.4.3 SP向ISMG提交短信(CMPP_SUBMIT)操作....................................... 15

7.4.4 SP向ISMG查询发送短信状态(CMPP_QUERY)操作.......................... 17

7.4.5 ISMG向SP送交短信(CMPP_DELIVER)操作..................................... 18

7.4.6 SP向ISMG发起删除短信(CMPP_CANCEL)操作............................ 21

7.4.7 链路检测(CMPP_ACTIVE_TEST)操作............................................ 21

7.5互联网短信网关(ISMG)之间的消息定义............................................................. 22

7.5.1 源ISMG请求连接到目的ISMG(CMPP_CONNECT)操作...................... 22

7.5.2 源ISMG请求拆除到目的ISMG的连接(CMPP_TERMINATE)操作....... 22

7.5.3链路检测(CMPP_ACTIVE_TEST)操作.................................................. 22

7.5.4 源ISMG向目的ISMG转发短信(CMPP_FWD)操作.............................. 22

7.6互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义.................................. 27

7.6.1 ISMG请求连接到GNS或GNS请求连接到ISMG(CMPP_CONNECT)操作. 27

7.6.2 ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(CMPP_TERMINATE)操作 27

7.6.3 ISMG向汇接网关查询MT路由(CMPP_MT_ROUTE)操作..................... 27

7.6.4 ISMG向汇接网关查询MO路由(CMPP_MO_ROUTE)操作.................... 28

7.6.5ISMG向汇接网关获取路由(CMPP_GET_ROUTE)操作........................... 29

7.6.6 ISMG向汇接网关更新MT路由(CMPP_MT_ROUTE_UPDATE)操作...... 30

7.6.7 ISMG向汇接网关更新MO路由(CMPP_MO_ROUTE_UPDATE)操作..... 30

7.6.8汇接网关向ISMG更新MT路由(CMPP_PUSH_MT_ROUTE_UPDATE)操作 31

7.6.9汇接网关向ISMG更新MO路由(CMPP_PUSH_MO_ROUTE_UPDATE)操作 32

7.7系统定义............................................................................................................ 33

7.7.1 Command_Id定义..................................................................................... 33

附录1 MO状态报告的产生........................................................................................................................ 35

修订历史................................................................................................................................................................ 37

前 言

本规范为中国移动通信集团公司企业规范,简称CMPP,现阶段版本是对1.2.1版修订后形成的,为2.0版。本规范描述了中国移动短信业务中各网元(包括ISMG、GNS和SP)之间的相关消息的类型和定义。根据业务的发展,规范中的信令操作和参数将会做进一步的调整和增加。

本规范解释权属于中国移动通信集团公司。

本规范起草单位:中国移动通信集团公司研发中心。

本标准主要起草人:党京、孙若雯、于蓉蓉、袁向阳。

1 范围

本规范规定了以下三方面的内容:

(1)信息资源站实体与互联网短信网关之间的接口协议;

(2)互联网短信网关之间的接口协议;

(3)互联网短信网关与汇接网关之间的接口协议。

本规范适用于各SP和ISMG的开发厂商。

2 缩略语

3.网络结构

如图1所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信中心。另一方面,移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。另外,为了减轻短信中心的信令负荷,互联网短信网关还应根据路由原则将SP提交的信息转发到相应的互联网短信网关。互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。

4.CMPP功能概述

CMPP协议主要提供以下两类业务操作:

(1) 短信发送(Short Message Mobile Originate,SM MO)

典型的业务操作举例如图2所示:

1) 手机发出数据请求(可能是订阅信息或图片点播等),被源ISMG接收;

2) 源ISMG对接收到的信息返回响应;

3) 源ISMG在本地查询不到要连接的SP,向GNS(汇接网关)发路由请求信息;

4) GNS将路由信息返回;

5) 源ISMG根据路由信息将请求前转给目的ISMG;

6) 目的ISMG对接收到的信息返回响应;

7) 目的ISMG将请求信息送SP

8) SP返回响应;

在以上操作中,步骤3到步骤8均使用CMPP协议;

在随后的操作中,目的ISMG在接收到SP的响应后将产生MO状态报告发给源ISMG。

(2) 短信接收(Short Message Mobile Terminated,SM MT)

典型的业务操作举例如图3所示:

1) SP发出数据请求(可能是短信通知或手机铃声等),被源ISMG接收;

2) 源ISMG对接收到的信息返回响应;

3) 源ISMG在本地数据库中找不到要目的手机号段所对应网关代码,向GNS(汇接网关)发路由请求信息;

4) 汇接网关将路由信息返回;

5) 源ISMG根据路由信息将请求前转给目的ISMG;

6) 目的ISMG对接收到的信息返回响应;

7) 目的ISMG将请求信息发送至SMC;

8) SMC向目的ISMG返回响应;

在上述操作中,步骤1到步骤6均使用CMPP协议;

在随后的操作中,SMC将通过NO.7信令网向移动用户发送信息,移动用户收到后将返回状态报告(Delivery-Receipt)给短信中心,短信中心将按照MO操作的流程将状态报告返回给SP(如果SP要求返回状态报告)。

5. 协议栈

CMPP协议以TCP/IP作为底层通信承载,具体结构由图4所示:

图4 CMPP协议栈

6. 通信方式

SP与ISMG之间、ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个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秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。

短连接的操作流程举例如图6所示:

图6 短连接的操作流程

6.3 本协议中涉及的端口号

6.4 交互过程中的应答方式

在SP与ISMG之间、SMC与ISMG之间及ISMG之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送响应消息。举例如图7所示:

图7 异步交互方式示意图

7.消息定义

7.1基本数据类型

7.2消息结构

7.3 消息头格式(Message Header)

7.4信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义

SP与ISMG之间互为客户/服务器,但要求SP首先以客户的身份请求连接到ISMG,之后SP与ISMG之间方可进行数据传输。

7.4.1 SP请求连接到ISMG(CMPP­_CONNECT)操作

CMPP_CONNECT操作的目的是SP向ISMG注册作为一个合法SP身份,若注册成功后即建立了应用层的连接,此后SP可以通过此ISMG接收和发送短信。

ISMG以CMPP_CONNECT_RESP消息响应SP的请求。

7.4.1.1 CMPP_CONNECT消息定义(SPàISMG)

7.4.1.2 CMPP_CONNECT_RESP消息定义(ISMG à SP)

7.4.2 SP或ISMG请求拆除连接(CMPP­_TERMINATE)操作

CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作。此操作完成后SP与ISMG之间的应用层连接被释放,此后SP若再要与ISMG通信时应发起CMPP_CONNECT操作。

ISMG或SP以CMPP_TERMINATE_RESP消息响应请求。

7.4.2.1 CMPP­_TERMINATE消息定义(SPàISMG或ISMG à SP)

无消息体。

7.4.2.2 CMPP­_TERMINATE_RESP消息定义(SPàISMG或ISMG à SP)

无消息体。

7.4.3 SP向ISMG提交短信(CMPP­_SUBMIT)操作

CMPP_SUBMIT操作的目的是SP在与ISMG建立应用层连接后向ISMG提交短信。

ISMG以CMPP_SUBMIT_RESP消息响应。

7.4.3.1 CMPP­_SUBMIT消息定义(SPàISMG)

注意:关于短信群发的问题,若SP对于群发消息不要求状态报告的回送时,才可以考虑群发,否则必须逐条发送。

7.4.3.2 CMPP­_SUBMIT_RESP消息定义(ISMG à SP)

7.4.4 SP向ISMG查询发送短信状态(CMPP­_QUERY)操作

CMPP_QUERY操作的目的是SP向ISMG查询某时间的业务统计情况,可以按总数或按业务代码查询。 ISMG以CMPP_QUERY_RESP应答。

7.4.4.1 CMPP_QUERY消息的定义(SPàISMG)

7.4.4.2 CMPP_QUERY_RESP消息的定义(ISMG àSP)

7.4.5 ISMG向SP送交短信(CMPP­_DELIVER)操作

CMPP_DELIVER操作的目的是ISMG把从短信中心或其它ISMG转发来的短信送交SP,SP以CMPP_DELIVER_RESP消息回应。

7.4.5.1 CMPP_DELIVER消息定义(ISMGàSP)

当ISMG向SP送交状态报告时,信息内容字段(Msg_Content)格式定义如下:

表一 Stat字段定义

注意:

1.其中ACCEPTED为中间状态,网关若从短信中心收到后应丢弃,不做任何操作。

2.Stat字段长度为7个字节,填写时应填表一中Final Message States中的缩写形式,如

状态为DELIVERED时填写DELIVRD,依此类推。

3.SP等待状态报告缺省时间为48小时。

7.4.5.2 CMPP_DELIVER_RESP消息定义(SP à ISMG)

7.4.6 SP向ISMG发起删除短信(CMPP­_CANCEL)操作

CMPP_CANCEL操作的目的是SP通过此操作可以将已经提交给ISMG的短信删除,ISMG将以CMPP_CANCEL_RESP回应删除操作的结果。

7.4.6.1 CMPP_CANCEL消息定义(SP à ISMG)

7.4.6.2 CMPP_CANCEL_RESP消息定义(ISMG à SP)

7.4.7 链路检测(CMPP­_ACTIVE_TEST)操作

本操作仅适用于通信双方采用长连接通信方式时用于保持连接。

7.4.7.1 CMPP_ACTIVE_TEST定义(SP à ISMG或ISMGàSP)

无消息体。

7.4.7.2 CMPP_ACTIVE_TEST_RESP定义(SP à ISMG或ISMGàSP)

7.5互联网短信网关(ISMG)之间的消息定义

网关之间互为客户/服务器,任一方都可在需要时建立连接进行数据传输。

7.5.1 源ISMG请求连接到目的ISMG(CMPP­_CONNECT)操作

消息定义同7.4.1.1和7.4.1.2所述。其中Source_Addr填源网关代码。

7.5.2 源ISMG请求拆除到目的ISMG的连接(CMPP­_TERMINATE)操作

消息定义同7.4.2.1和7.4.2.2所述。

7.5.3链路检测(CMPP­_ACTIVE_TEST)操作

本操作仅用于通信双方采用长连接通信方式时保持连接。消息定义同7.4.6.1和7.4.6.2所述。

7.5.4 源ISMG向目的ISMG转发短信(CMPP­_FWD)操作

CMPP_FWD操作的目的是源ISMG可以根据一定的路由策略将SP提交的短信、MO状态报告、短信中心产生的状态报告、用户提交的短信转发到目的ISMG,目的ISMG以CMPP_FWD_RESP回应。

7.5.4.1 CMPP_FWD定义(ISMGà ISMG)

注意:

1.对于包月的SMC消息,应由ISMG向SP返回成功与否的状态报告,格式同7.4.5.1定义,若成功回送Stat值为“DELIVRD”,失败则回送Stat值“UNDELIV”。

2.当转发消息为MO状态报告(MO状态报告的产生见附录1)时,信息内容字段(Msg_Content)格式定义如下:

注意:

在MO流程中,若短信经ISMG2转发给与SP相连的ISMG1,ISMG1在给SP发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息。对这四种情况的处理描述如下:

①②③:ISMG1在处理这三种情况的时候,向ISMG2发送MO状态报告,状态报告中的stat字段取值为“REJECTD”。

④:ISMG1在处理这种情况时,向ISMG2发送MO状态报告,其中stat字段取值“DELIVRD”。

3.当转发消息为MT状态报告时,信息内容字段(Msg_Content)格式同7.4.5.1定义。若SP发送的短信经由ISMG1转发给ISMG2,ISMG1给ISMG2发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息。对这四种情况的处理描述如下:

①②③:ISMG1在处理这三种情况的时候,向SP发送MT状态报告(如果SP要求状态报告),状态报告中的stat字段取值为“REJECTD”。

④:ISMG1在处理这种情况时,继续等待ISMG2返回状态报告。

随后,ISMG2给SMC发送消息时可能存在四种情况:①发送消息前连接断开;②多次发送消息后没有接收到响应消息;③发送消息后接收到错误的响应消息;④发送消息后接收到正确的应答消息。对这四种情况的处理描述如下:

①②③:ISMG2在处理这三种情况的时候,向SP发送MT状态报告(如果SP要求状态报告),状态报告中的stat字段取值为“REJECTD”。

④:ISMG2在处理这种情况时,继续等待SMC返回状态报告。

7.5.4.2 CMPP_FWD_RESP定义(ISMGà ISMG)

7.6互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义

要求ISMG与GNS在信息交互时使用短连接的通信方式。ISMG与GNS可互为客户/服务器。

7.6.1 ISMG请求连接到GNS或GNS请求连接到ISMG(CMPP_CONNECT)操作

消息定义同7.4.1.1和7.4.1.2所述,其中Source_Addr填源网关代码,可能是ISMG代码或GNS代码。

7.6.2 ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(CMPP­_TERMINATE)操作

消息定义同7.4.2.1和7.4.2.2所述。

7.6.3 ISMG向汇接网关查询MT路由(CMPP_MT_ROUTE)操作

CMPP_MT_ROUTE操作用于ISMG不知道需要转发MT消息的路由时查询GNS。GNS以CMPP_MT_ROUTE_RESP应答。

7.6.3.1 CMPP_MT_ROUTE消息定义(ISMGàGNS)

7.6.3.2 CMPP_MT_ROUTE_RESP消息定义(GNS à ISMG)

7.6.4 ISMG向汇接网关查询MO路由(CMPP_MO_ROUTE)操作

CMPP_MO_ROUTE操作的目的是使ISMG当不知道需要转发MO消息的路由时可向GNS查询得到。GNS以CMPP_MO_ROUTE_RESP应答。

7.6.4.1 CMPP_MO_ROUTE消息定义(ISMGàGNS)

7.6.4.2 CMPP_MO_ROUTE_RESP消息定义(GNS à ISMG)

7.6.5ISMG向汇接网关获取路由(CMPP_GET_ROUTE)操作

CMPP_GET_ROUTE操作的目的是使ISMG可向GNS查询MO或MT时的路由信息。GNS以CMPP_GET_ROUTE_RESP消息回应。

7.6.5.1 CMPP_GET_ ROUTE消息定义(ISMGàGNS)

7.6.5.2 CMPP_GET_ ROUTE_RESP消息定义(GNS à ISMG)

7.6.6 ISMG向汇接网关更新MT路由(CMPP_MT_ROUTE_UPDATE)操作

CMPP_MT_ROUTE_UPDATE操作的目的是使ISMG可向GNS更新MT路由信息。GNS以CMPP_MT_ROUTE_UPDATE _RESP消息回应。

7.6.6.1 CMPP_MT_ROUTE_UPDATE消息定义(ISMGàGNS)

7.6.6.2 CMPP_MT_ROUTE_UPDATE_RESP消息定义(GNS à ISMG)

7.6.7 ISMG向汇接网关更新MO路由(CMPP_MO_ROUTE_UPDATE)操作

CMPP_MO_ROUTE_UPDATE操作的目的是使ISMG可向GNS更新MO路由信息。GNS以CMPP_MO_ROUTE_UPDATE _RESP消息回应。

7.6.7.1 CMPP_MO_ROUTE_UPDATE消息定义(ISMGàGNS)

7.6.7.2CMPP_MO_ROUTE_UPDATE_RESP消息定义(GNS à ISMG)

7.6.8汇接网关向ISMG更新MT路由(CMPP_PUSH_MT_ROUTE_UPDATE)操作

CMPP_PUSH_MT_ROUTE_UPDATE操作的目的是使GNS可向ISMG更新MT路由信息。ISMG以CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消息回应。

7.6.8.1 CMPP_PUSH_MT_ROUTE_UPDATE消息定义(GNSàISMG)

7.6.8.2 CMPP_PUSH_MT_ROUTE_UPDATE_RESP消息定义(ISMG à GNS)

7.6.9汇接网关向ISMG更新MO路由(CMPP_PUSH_MO_ROUTE_UPDATE)操作

CMPP_PUSH_MO_ROUTE_UPDATE操作的目的是使GNS可向ISMG更新MO路由信息。ISMG以CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消息回应。

7.6.9.1 CMPP_PUSH_MO_ROUTE_UPDATE消息定义(GNSàISMG)

7.6.9.2 CMPP_PUSH_MO_ROUTE_UPDATE_RESP消息定义(ISMG à GNS)

7.7系统定义

7.7.1 Command_Id定义

附录1 MO状态报告的产生

为解决MO业务计费及使源网关获知SP对转发的MO消息的接收状态,现要求网关处理流程如下图所示:

附录1-图1 MO状态报告的产生

1. 用户提交短信到SMSC;

2. SMSC给用户返回提交短信的应答,让用户知道短信发送成功与否,如果该处失败,则SMSC不再进行下述的流程;

3. SMSC通过SMPP消息DELIVER_SM把短信发送给ISMG1;

4. ISMG1以DELIVER_SM_RESP消息应答给SMSC;

5. ISMG1根据用户发送的短消息中目的SP服务代码查询路由后转发给ISMG2;

6. ISMG2发送CMPP_FWD_RESP消息应答;

7. SP对 ISMG2将用户的短信提交给SP;

8. ISMG2发送提交应答;

9. 为保证ISMG1获知SP的接收情况,此时ISMG2应产生一个状态报告转发给ISMG1;

10. ISMG1收到此状态报告后发送转发应答响应;

目的网关用于向源网关通知SP接收情况的状态报告时,CMPP_FWD消息中Msg_Fwd_Type值为3,表示MO的状态报告,信息内容字段(Msg_Content)格式定义如下:

修订历史

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。