CMPP20协议.docx

上传人:b****3 文档编号:4028297 上传时间:2023-05-06 格式:DOCX 页数:53 大小:130.83KB
下载 相关 举报
CMPP20协议.docx_第1页
第1页 / 共53页
CMPP20协议.docx_第2页
第2页 / 共53页
CMPP20协议.docx_第3页
第3页 / 共53页
CMPP20协议.docx_第4页
第4页 / 共53页
CMPP20协议.docx_第5页
第5页 / 共53页
CMPP20协议.docx_第6页
第6页 / 共53页
CMPP20协议.docx_第7页
第7页 / 共53页
CMPP20协议.docx_第8页
第8页 / 共53页
CMPP20协议.docx_第9页
第9页 / 共53页
CMPP20协议.docx_第10页
第10页 / 共53页
CMPP20协议.docx_第11页
第11页 / 共53页
CMPP20协议.docx_第12页
第12页 / 共53页
CMPP20协议.docx_第13页
第13页 / 共53页
CMPP20协议.docx_第14页
第14页 / 共53页
CMPP20协议.docx_第15页
第15页 / 共53页
CMPP20协议.docx_第16页
第16页 / 共53页
CMPP20协议.docx_第17页
第17页 / 共53页
CMPP20协议.docx_第18页
第18页 / 共53页
CMPP20协议.docx_第19页
第19页 / 共53页
CMPP20协议.docx_第20页
第20页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

CMPP20协议.docx

《CMPP20协议.docx》由会员分享,可在线阅读,更多相关《CMPP20协议.docx(53页珍藏版)》请在冰点文库上搜索。

CMPP20协议.docx

CMPP20协议

 

中国移动通信

互联网短信网关接口协议

(ChinaMobilePeertoPeer,CMPP)

(V2.0)

 

中国移动通信集团公司

2002年4月

 

7.6.2ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG的连接(

前言

本规范为中国移动通信集团公司企业规范,简称CMPP,现阶段版本是对1.2.1版修订后形成的,为2.0版。

本规范描述了中国移动短信业务中各网元(包括ISMG、GNS和SP)之间的相关消息的类型和定义。

根据业务的发展,规范中的信令操作和参数将会做进一步的调整和增加。

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

本规范起草单位:

中国移动通信集团公司研发中心。

本标准主要起草人:

党京、孙若雯、于蓉蓉、袁向阳。

1范围

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

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

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

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

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

2缩略语

英文缩写

英文全称

说明

ISMG

InternetShortMessageGateway

互联网短信网关

SMPP

ShortMessagePeertoPeer

短消息点对点协议

CMPP

ChinaMobilePeertoPeer

中国移动点对点协议

SMC

ShortMessageCenter

短消息中心

GNS

GatewayNameServer

网关名称服务器(汇接网关)

SP

ServiceProvider

业务提供者,即信息资源站实体

SMC

ShortMessageControl

SP为收取包月业务费用而向网关发送的消息,网关收到后不送给用户仅产生相应的话单;

ISMG_Id

网关代码:

0XYZ01~0XYZ99,其中XYZ为省会区号,位数不足时左补零,如北京编号为1的网关代码为001001,江西编号为1的网关代码为079101,依此类推。

SP_Id

SP的企业代码:

网络中SP地址和身份的标识、地址翻译、计费、结算等均以企业代码为依据。

企业代码以数字表示,共6位,从“9XY000”至“9XY999”,其中“XY”为各移动公司代码。

SP_Code

SP的服务代码:

服务代码是在使用短信方式的点播类业务中,提供给用户点播的内容/应用服务提供商代码。

服务代码以数字表示,全国业务服务代码长度统一为4位,即“1000”-“9999”;本地业务服务代码长度统一为5位,即

“01000”-“09999”。

Service_Id

SP的业务类型,数字、字母和符号的组合,由SP自定,如图片传情可定为TPCQ,股票查询可定义为11。

3.网络结构

如图1所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和提交给短信中心。

另一方面,移动用户点播SP业务的信息将由短信中心通过互联网短信网关发给SP。

另外,为了减轻短信中心的信令负荷,互联网短信网关还应根据路由原则将SP提交的信息转发到相应的互联网短信网关。

互联网短信网关通过向汇接网关(GNS)查询的方式获得网关间的转发路由信息。

4.CMPP功能概述

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

(1)短信发送(ShortMessageMobileOriginate,SMMO)

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

 

图2需要前转的MO示意图

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)短信接收(ShortMessageMobileTerminated,SMMT)

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

 

图3需要前转的MT示意图

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所示:

图4CMPP协议栈

6.通信方式

SP与ISMG之间、ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。

所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。

短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送。

.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长连接一次操作流程

.2短连接

通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。

系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。

现阶段建议取值为:

T=60秒,N=3。

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

 

图6短连接的操作流程

6.3本协议中涉及的端口号

端口号

应用

7890

长连接(SP与网关间)

7900

短连接(SP与网关间或网关之间)

7930

长连接(网关之间)

9168

短连接(短信网关与汇接网关之间)

6.4交互过程中的应答方式

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

举例如图7所示:

 

图7异步交互方式示意图

7.消息定义

7.1基本数据类型

UnsignedInteger

无符号整数

Integer

整数,可为正整数、负整数或零

OctetString

定长字符串,位数不足时,如果左补0则补ASCII表示的零,如果右补0则补二进制的零

7.2消息结构

项目

说明

MessageHeader

消息头(所有消息公共包头)

MessageBody

消息体

7.3消息头格式(MessageHeader)

字段名

字节数

类型

描述

Total_Length

4

UnsignedInteger

消息总长度(含消息头及消息体)

Command_Id

4

UnsignedInteger

命令或响应类型

Sequence_Id

4

UnsignedInteger

消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)

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

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

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

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

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

7.4.1.1CMPP_CONNECT消息定义(SPISMG)

字段名

字节数

属性

描述

Source_Addr

6

OctetString

源地址,此处为SP_Id,即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位数字的整型,右对齐。

7.4.1.2CMPP_CONNECT_RESP消息定义(ISMGSP)

字段名

字节数

属性

描述

Status

1

UnsignedInteger

状态

0:

正确

1:

消息结构错

2:

非法源地址

3:

认证错

4:

版本太高

5~:

其他错误

AuthenticatorISMG

16

OctetString

ISMG认证码,用于鉴别ISMG。

其值通过单向MD5hash计算得出,表示如下:

AuthenticatorISMG=MD5(Status+AuthenticatorSource+sharedsecret),Sharedsecret由中国移动与源地址实体事先商定,AuthenticatorSource为源地址实体发送给ISMG的对应消息CMPP_Connect中的值。

认证出错时,此项为空。

Version

1

UnsignedInteger

服务器支持的最高版本号

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

CMPP_TERMINATE操作的目的是SP或ISMG基于某些原因决定拆除当前的应用层连接而发起的操作。

此操作完成后SP与ISMG之间的应用层连接被释放,此后SP若再要与ISMG通信时应发起CMPP_CONNECT操作。

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

7.4.2.1CMPP_TERMINATE消息定义(SPISMG或ISMGSP)

无消息体。

7.4.2.2CMPP_TERMINATE_RESP消息定义(SPISMG或ISMGSP)

无消息体。

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

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

ISMG以CMPP_SUBMIT_RESP消息响应。

7.4.3.1CMPP_SUBMIT消息定义(SPISMG)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识,由SP侧短信网关本身产生,本处填空。

Pk_total

1

UnsignedInteger

相同Msg_Id的信息总条数,从1开始

Pk_number

1

UnsignedInteger

相同Msg_Id的信息序号,从1开始

Registered_Delivery

1

UnsignedInteger

是否要求返回状态确认报告:

0:

不需要

1:

需要

2:

产生SMC话单

(该类型短信仅供网关计费使用,不发送给目的终端)

Msg_level

1

UnsignedInteger

信息级别

Service_Id

10

OctetString

业务类型,是数字、字母和符号的组合。

Fee_UserType

1

UnsignedInteger

计费用户类型字段

0:

对目的终端MSISDN计费;

1:

对源终端MSISDN计费;

2:

对SP计费;

3:

表示本字段无效,对谁计费参见Fee_terminal_Id字段。

Fee_terminal_Id

21

UnsignedInteger

被计费用户的号码(如本字节填空,则表示本字段无效,对谁计费参见Fee_UserType字段,本字段与Fee

_UserType字段互斥)

TP_pId

1

UnsignedInteger

GSM协议类型。

详细是解释请参考GSM03.40中的9.2.3.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汉字。

Msg_src

6

OctetString

信息内容来源(SP_Id)

FeeType

2

OctetString

资费类别

01:

对“计费用户号码”免费

02:

对“计费用户号码”按条计信息费

03:

对“计费用户号码”按包月收取信息费

04:

对“计费用户号码”的信息费封顶

05:

对“计费用户号码”的收费是由SP实现

FeeCode

6

OctetString

资费代码(以分为单位)

ValId_Time

17

OctetString

存活有效期,格式遵循SMPP3.3协议

At_Time

17

OctetString

定时发送时间,格式遵循SMPP3.3协议

Src_Id

21

OctetString

源号码

SP的服务代码或前缀为服务代码的长号码,网关将该号码完整的填到SMPP协议Submit_SM消息相应的source_addr字段,该号码最终在用户手机上显示为短消息的主叫号码

DestUsr_tl

1

UnsignedInteger

接收信息的用户数量(小于100个用户)

Dest_terminal_Id

21*DestUsr_tl

OctetString

接收短信的MSISDN号码

Msg_Length

1

UnsignedInteger

信息长度(Msg_Fmt值为0时:

<160个字节;其它<=140个字节)

Msg_Content

Msg_length

OctetString

信息内容

Reserve

8

OctetString

保留

注意:

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

7.4.3.2CMPP_SUBMIT_RESP消息定义(ISMGSP)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识,生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)短信网关代码:

bit38~bit17,把短信网关的代码转换为整数填写到该字段中。

(3)序列号:

bit16~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

(SP根据请求和应答消息的Sequence_Id一致性就可得到CMPP_Submit消息的Msg_Id)

Result

1

UnsignedInteger

结果

0:

正确

1:

消息结构错

2:

命令字错

3:

消息序号重复

4:

消息长度错

5:

资费代码错

6:

超过最大信息长

7:

业务代码错

8:

流量控制错

9~:

其他错误

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

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

ISMG以CMPP_QUERY_RESP应答。

7.4.4.1CMPP_QUERY消息的定义(SPISMG)

字段名

字节数

属性

描述

Time

8

OctetString

时间YYYYMMDD(精确至日)

Query_Type

1

UnsignedInteger

查询类别

0:

总数查询

1:

按业务类型查询

Query_Code

10

OctetString

查询码

当Query_Type为0时,此项无效;当Query_Type为1时,此项填写业务类型Service_Id.

Reserve

8

OctetString

保留

7.4.4.2CMPP_QUERY_RESP消息的定义(ISMGSP)

字段名

字节数

属性

描述

Time

8

OctetString

时间(精确至日)

Query_Type

1

UnsignedInteger

查询类别

0:

总数查询

1:

按业务类型查询

Query_Code

10

OctetString

查询码

MT_TLMsg

4

UnsignedInteger

从SP接收信息总数

MT_Tlusr

4

UnsignedInteger

从SP接收用户总数

MT_Scs

4

UnsignedInteger

成功转发数量

MT_WT

4

UnsignedInteger

待转发数量

MT_FL

4

UnsignedInteger

转发失败数量

MO_Scs

4

UnsignedInteger

向SP成功送达数量

MO_WT

4

UnsignedInteger

向SP待送达数量

MO_FL

4

UnsignedInteger

向SP送达失败数量

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

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

7.4.5.1CMPP_DELIVER消息定义(ISMGSP)

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

生成算法如下:

采用64位(8字节)的整数:

(1)时间(格式为MMDDHHMMSS,即月日时分秒):

bit64~bit39,其中

bit64~bit61:

月份的二进制表示;

bit60~bit56:

日的二进制表示;

bit55~bit51:

小时的二进制表示;

bit50~bit45:

分的二进制表示;

bit44~bit39:

秒的二进制表示;

(2)短信网关代码:

bit38~bit17,把短信网关的代码转换为整数填写到该字段中。

(3)序列号:

bit16~bit1,顺序增加,步长为1,循环使用。

各部分如不能填满,左补零,右对齐。

Dest_Id

21

OctetString

目的号码

SP的服务代码,一般4--6位,或者是前缀为服务代码的长号码;该号码是手机用户短消息的被叫号码。

Service_Id

10

OctetString

业务类型,是数字、字母和符号的组合。

TP_pid

1

UnsignedInteger

GSM协议类型。

详细解释请参考GSM03.40中的9.2.3.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汉字

Src_terminal_Id

21

OctetString

源终端MSISDN号码(状态报告时填为CMPP_SUBMIT消息的目的终端号码)

Registered_Delivery

1

UnsignedInteger

是否为状态报告

0:

非状态报告

1:

状态报告

Msg_Length

1

UnsignedInteger

消息长度

Msg_Content

Msg_length

OctetString

消息内容

Reserved

8

OctetString

保留项

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

字段名

字节数

属性

描述

Msg_Id

8

UnsignedInteger

信息标识

SP提交短信(CMPP_SUBMIT)操作时,与SP相连的ISMG产生的Msg_Id。

Stat

7

OctetString

发送短信的应答结果,含义与SMPP协议要求中stat字段定义相同,详见表一。

SP根据该字段确定CMPP_SUBMIT消息的处理状态。

Submit_time

10

OctetString

YYMMDDHHMM(YY为年的后两位00-99,MM:

01-12,DD:

01-31,HH:

00-23,MM:

00-59)

Done_time

10

OctetString

YYMMDDHHMM

Dest_terminal_Id

21

Octet

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2