当前位置: 首页 > 党团工作 >

关于SGIP和CMCC两种短消息协议的比较

发布时间:2022-03-11 15:30:58 | 来源:网友投稿

(1.中国移动通信集团 内蒙古有限公司;2.中国人寿保险股份公司 内蒙古分 公司,内蒙古 呼和浩特 010010)
摘 要: 文章通过对SGIP和CMCC两种短消息协议介绍,从消息定义、通信流程、连接方式等 方面对这两种短消息协议进行了较为深入的比较。
关键词:协议;SGIP; CMCC;短消息
中图分类号:TN915.04  文献标识码:A  文章编 号:1007—6921(2009)01—0064—02
1 SMPP协议概述

SMPP(Short Message Peer to Peer)协议是一种开放的、工业化的接口协议,为短消息中心( 如SMSC、USSD、分散的辅助服务的数据服务器或其他的消息中心)和SMS应用系统(如WAP代理 服务器、E-mail网关或其他消息网关)之间的短消息的转换提供了灵活的数据通信接口。SMP P协议作为一个开放的消息转换协议,完成SMSC与ESMEs(外部短消息实体)的信息交换,它定义 了一系列操作的协议数据单元(PDUs)和SMPP运行时ESMS应用系统与SMSC之间交换的数据。通 常将SMSC称为SMPP的“服务器”实体,而EMSE(外部短消息实体)称为“客户”。
2 SGIP协议介绍

SGIP协议是SMG和SP之间、SMG和GNS之间以及SMG和SMG之间的接口协议,简称SGIP。通过应 用SGIP协议,SP可以接入到SMG,实现SP应用的一点接入、全网服务;SMG可以通过SGIP协议 ,实现消息在不同SMG之间的路由和转发。同时,SMG通过该协议也可以和GNS通信,以实现 各SMG和GNS之间路由表的同步功能。
2.1 通信流程

SGIP有两种具体实现方式,一种是采用专用SGIP方式,另一种是采用通用HTTP方式。SMG和G NS以及SMG和SMG之间采用专用SGIP方式作为承载协议;而SP和SMG的通信同时支持专用SGIP 方式和通用HTTP方式两种承载协议。
2.1.1 专用SGIP方式。采用专用SGIP方式承载时,通信双方互为客户端和服务器端。当客户端要发送命令时,主动 向服务器端建立连接,然后向服务器端发送命令,并接收应答;服务器端从客户端接收命令 ,返回应答。连接建立以后,客户端可以连续发送多条命令。命令发送完并接收到所有应答 后,客户端应该主动断开连接。但是,命令及其应答之间的时间间隔最大不能超过30s(默 认,可配置)。如果命令应答时间超过最大等待时间,则要求客户端按照重发机制重发该条 命令,且待应答的命令不得超过32条(可以根据线路的质量和服务器的处理能力配置)。而 且,如果服务器端检测出一条连接长时间空闲(默认60s,可配置),可以主动断开该连接。 如果需要,客户端可以同时向一个服务器端建立多个连接(SMG与单个其他SMG最多不能建立 超过15个连接,对与之相连的单个SP的最大连接数视具体情况而定)。采用专用SGIP承载方 式时,SMG和SMG、SP和SMG之间使用的端口号是8801,GNS监听SMG的端口号为8802,SMG监听 GNS的端口号为8803,主GNS和备用GNS之间的端口号为8804,SMG之间的测试用端口号为8810 。
2.1.2 通用HTTP方式。HTTP承载方式只适用于SP和SMG的通信中。与SP与SMG之间的专用SGIP承载方式不同的是,该 种方式一次连接仅仅传送一条命令,而且连接的认证采用HTTP的URL的授权认证的方式,不 需要专门的连接认证的命令,使用的端口号是80。
2.2 消息定义

消息分基于HTTP的消息、基于TCP/IP的消息和鉴权消息三种,每个消息包最大不超过2K字节 。专用SGIP协议中定义的消息由消息头和消息体组成。


2.2.1 消息头格式(见表1)。
2.2.2 消息体的格式
2.2.2.1 Bind操作。Bind操作由Bind命令和Bind[CD#*4]Resp应答组成。客户端首先发送Bind命令,服务器端收 到Bind命令后,对命令发送方进行验证,然后返回Bind[CD#*4]Resp应答。
2.2.2.2 Unbind操作。Unbind操作由Unbind命令和Unbind_Resp应答组成。通信连接建立以后,客户端如果要停止 通信,需要发送Unbind命令;服务器端收到Unbind命令后,向客户端发送Unbind_Resp相应 ,然后双方断开连接。Unbind命令和Unbind_Resp应答都没有消息体。
2.2.2.3 Submit操作。在SP和SMG的通信中,SP用Submit命令向SMG提交MT短消息,发送到用户的手机中。SMG接收 到Submit命令,会返回Submit_Resp应答。SMG根据Submit命令中的付费号码,判断出该命令 是否应从本地SMSC发送,如果属于本地发送,则直接发送到相应的SMSC,否则路由至相应的SMG。

在SMG和SMG的通信中,Submit命令用于SMG客户端向服务器端路由从SP收到的MT短消息。服 务器端接收到Submit命令后,再发送到与之相连的目的SMSC。
2.2.2.4 Deliver操作。在SP和SMG的通信中,SMG用Deliver命令向SP发送一条MO短消息。SP接收到Deliver命令,会 返回Deliver[CD#*4]Resp应答。SMG根据Deliver命令中目的特服号,判断出该服务属于和哪 一个SMG相连接的SP,如果属于本地SP,则直接发送到SP,否则路由至相应的SMG。

在SMG和SMG的通信中,Deliver命令用于SMG客户端向服务器端路由MO短消息。服务器端接收 到Deliver命令后,再发送到与之相连的目的SP。
2.2.2.5 Report操作。Report命令用于向SP发送一条先前的Submit命令的当前状态,或者用于向前转SMG发送一条 先前的Deliver命令的当前状态。Report命令的接收方需要向发送方返回Report[CD#*4]Resp 命令。
3 CMPP协议介绍

CMPP协议是中国移动通信互联网短信网关接口协议(China Mobile Peer to Peer),是中国 移动通信集团公司企业规范,简称CMPP,现阶段版本为2.0版。CMPP协议描述了中国移动短 信业务中网元(包括ISMG、GNS和SP)之间的相关消息的类型和定义。
3.1 CMPP功能概述

CMPP协议主要提供以下两类业务操作:
3.1.1 短信发送(Short Message Mobile Originate,SM MO)。典型的业务操作举例如图 1所示:

①手机发出数据请求(可能是订阅信息或图片点播等),被源ISMG接收;②源ISMG对接收到的信息返回响应;③源ISMG在本地查询不到要连接的SP,向GNS(汇接网关)发路由请求信息;④GNS将路由信息返回;
⑤源ISMG根据路由信息将请求前转给目的ISMG;⑥目的ISMG对接收到的信息返回响应;⑦目的ISMG将请求信息送SP;⑧SP返回响应。

在以上操作中,步骤3到步骤8均使用CMPP协议;在随后的操作中,目的ISMG在接收到SP的响 应后将产生MO状态报告发给源ISMG。
3.1.2 短信接收(Short Message Mobile Terminated,SM MT)。典型的业务操作举例如图2所示: 

     
①SP发出数据请求(可能是短信通知或手机铃声等),被源ISMG接收;②源ISMG对接收到的信息返回响应;
③源ISMG在本地数据库中找不到要目的手机号段所对应网关代码,向GNS(汇接网关)发路 由请求信息;
④汇接网关将路由信息返回;⑤源ISMG根据路由信息将请求前转给目的ISMG;⑥目的ISMG对接收到的信息返回响应;⑦目的ISMG将请求信息发送至SMC;⑧SMC向目的ISMG返回响应。

在上述操作中,步骤1到步骤6均使用CMPP协议;在随后的操作中,SMC将通过NO.7信令网向 移动用户发送信息,移动用户收到后将返回状态报告(Delivery-Receipt)给短信中心,短 信中心将按照MO操作的流程将状态报告返回给SP(如果SP要求返回状态报告)。
3.2 通信方式

CMPP协议以TCP/IP作为底层通信承载。SP与ISMG之间、ISMG之间进行信息交互时,可以采用 长连接方式,也可以采用短连接方式。所谓长连接,指在一个TCP连接上可以连续发送多个 数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接 。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP 连接,即每次TCP连接只完成一对CMPP消息的发送。
3.2.1 长连接。通信双方以客户——服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数 据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时 间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连 接。
参数C、T、N原则上应可配置,现阶段建议取值为:C=3min,T=60s,N=3。

网关与SP之间、网关之间的消息发送后等待Ts后未收到响应,应立即重发,再连续发送N-1 次后仍未得到响应则停发。现阶段建议取值为:T=60s,N=3。消息采用并发方式发送,加 以滑动窗口流量控制,窗口大小参数W可配置。现阶段建议为16,即接收方在应答前一次收 到的消息最多不超过16条。
3.2.2 短连接。

通信双方以客户——服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用 客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。网 关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次 后仍未得到响应则停发。现阶段建议取值为:T=60s,N=3。
4 SGIP协议与CMPP协议的比较

通过对SGIP协议和CMPP协议的阐述,结合应用SGIP协议的实际开发经验,对这两种短消息协 议比较如下:
目前国内服务提供商(SP)与短信网关接入主要有两种方式,即中国联通采用的SGIP协议和 中国移动采用的CMPP协议。

SGIP和CMPP都定义了MO和MT方法,SP可以发送消息到短信网关,消息也可以从短信网关发送 到SP。同时也提供了短信息发送状态报告,SP根据自己的情况在发送时可以指定需要此短信 的报告。

这两个协议中SP与网关的连接都是基于请求响应模式,双方互为客户/服务器(客户就是请求 连接的一方如MT中就是SP发到网关,则SP是客户;反之,在MO中网关是客户)。客户发出请 求,服务器返回对这个请求的响应。

SGIP与短信网关有两种连接方式:HTTP连接和TCP连接。HTTP连接就是使用HTTP协议发送短信 ,TCP连接就是向短信网关发送TCP包,下面说明它与CMPP的区别。CMPP只有TCP连接,但是 它定义了长连接和短连接方式,短连接就是一次连接只进行一个请求——响应操作,操作完 成后断开连接,下次操作再建立连接。长连接则是一个连接中可以进行多次请求——响应操 作。

SGIP的TCP连接和CMPP中的长连接使用的是流水线的形式,也就是可以一连发出好多个 请求,然后再等待它们所有的响应,如果某个响应超过一定时间没有收到返回信息,那么可 以进行重发,两个协议的重发机制不一样,SGIP协议是简单的超时重发,CMPP的重发机制比 较复杂一些。SGIP和CMPP长连接方式的区别是CMPP协议定义了连接检测包 ,而SGIP协议没 有这样的定义,所以CMPP的长连接可以保持很长时间不断开,而 SGIP协议则超时后就会被 断开。

对于MO和MT的实现,短信网关定义了接口用于接受来自SP的连接,但是到SP的连接两个标准 实现不一样。SGIP协议里面规定了SP应该监听的端口用于接受来自短信网关的连接,但是CM PP协议中没有这样的规定,所以CMPP协议中实现没有统一的规则,其实现与不同的设备提供 商有关。

另外,CMPP协议中定义了CMPP_QUERY和CMPP_CANCEL两个操作,但是这两个操 作并没有被多数设备厂商实现。而SGIP协议的功能很简单,均可实现。
[参考文献]
[1] 代建军.基于SGIP协议的SMS增值业务开发与研究(学位论文)[D],2005.
[2] 周学泳,石丹.短消息(SMS)与WAP的开发与应用[M].北京:电子工业出版 社,2002.

推荐访问:两种 短消息 协议 SGIP CMCC

本文标题:关于SGIP和CMCC两种短消息协议的比较
链接地址:http://www.ylwt22.com/dangtuangongzuo/2022/0311/103274.html

版权声明:
1.十号范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《关于SGIP和CMCC两种短消息协议的比较》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

十号范文网 |
Copyright © 2018-2024 十号范文网 Inc. All Rights Reserved.十号范文网 版权所有
本站部分资源和信息来源于互联网,如有侵犯您的权益,请尽快联系我们进行处理,谢谢!备案号:粤ICP备18086540号