互联网短信网关接口协议

 

 

 

 

 

 

 

 

 

 

中国移动通信

互联网短信网关接口协议

(China Mobile Peer to Peer, CMPP)

V2.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

中国移动通信集团公司

2002年 4 

 

 

 

 

 

  

   ..................................................................................................................................................................... 4

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

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

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

4CMPP功能概述.............................................................................................................................................. 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请求连接到ISMGCMPP_CONNECT)操作....................................... 13

7.4.2  SPISMG请求拆除连接(CMPP_TERMINATE)操作......................... 14

7.4.3  SPISMG提交短信(CMPP_SUBMIT)操作....................................... 15

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

7.4.5  ISMGSP送交短信(CMPP_DELIVER)操作..................................... 18

7.4.6       SPISMG发起删除短信(CMPP_CANCEL)操作............................ 21

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

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

7.5.1 ISMG请求连接到目的ISMGCMPP_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请求连接到GNSGNS请求连接到ISMGCMPP_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版。本规范描述了中国移动短信业务中各网元(包括ISMGGNSSP)之间的相关消息的类型和定义。根据业务的发展,规范中的信令操作和参数将会做进一步的调整和增加。

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

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

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


 

1         范围

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

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

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

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

本规范适用于各SPISMG的开发厂商。

2         缩略语

英文缩写

英文全称

说明

ISMG          

Internet Short Message Gateway

互联网短信网关

SMPP            

Short Message Peer to Peer

短消息点对点协议

CMPP            

China Mobile Peer to Peer

中国移动点对点协议

SMC

Short Message Center

短消息中心

GNS             

Gateway Name Server

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

SP               

Service Provider

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

SMC

Short Message Control

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)查询的方式获得网关间的转发路由信息。

 

4CMPP功能概述

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

(1)           短信发送(Short Message Mobile OriginateSM MO

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

6

4

1

ISMG

目的ISMG

 SMC

 SP

GNS(汇接网关)

3

5

7

8

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)           短信接收(Short Message Mobile TerminatedSM MT

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


 

6

4

1

ISMG

目的ISMG

  SP

 SMC

GNS(汇接网关)

2

3

5

7

8

 

 

 

 

 

 


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


CMPP

TCP

IP

底层承载

ISMG

CMPP

TCP

IP

底层承载

CMPP

TCP

IP

底层承载

CMPP

TCP

IP

底层承载

ISMG

SP

 GNS

 

 

 

 

 

 

 

 

 


4 CMPP协议栈

6. 通信方式

SPISMG之间、ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送。

 

6.1        长连接

通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间C发送链路检测包以维持此连接,当链路检测包发出超过时间T后未收到响应,应立即再发送链路检测包,再连续发送N-1次后仍未得到响应则断开此连接。

    参数CTN原则上应可配置,现阶段建议取值为:C=3分钟,T=60秒,N=3

    网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3

  消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建

议为16,即接收方在应答前一次收到的消息最多不超过16条。

    长连接的操作流程举例如图5所示:

 

 

 

 . . . . . .

滑动窗口不大于W         W

CMPP消息1

客户端

服务器端

CMPP消息2

CMPP消息1的响应

CMPP消息2的响应

链路检测包

  链路检测包响应

建立TCP连接

链路检测包

  链路检测包响应

拆除TCP连接

 . . . . . .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


5 长连接一次操作流程

 

6.2                            短连接

通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

    网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3

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

CMPP消息1的响应

 

CMPP消息1

建立TCP连接

拆除TCP连接

 . . . . . .

客户端/服务器端

服务器/客户端

 

 


 

 

 

 

 

 

 

 

CMPP消息2

CMPP消息2的响应

 

拆除TCP连接

建立TCP连接

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


6 短连接的操作流程

6.3              本协议中涉及的端口号

端口号

应用

7890              

长连接(SP与网关间)

7900

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

7930      

长连接(网关之间)

9168

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

 

6.4  交互过程中的应答方式

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

 

 SMC

 ISMG1

 ISMG2

  SP

 SMPP请求消息

 SMPP响应消息

CMPP请求消息

CMPP响应消息

CMPP请求消息

CMPP响应消息

 

 

 

 

 

 

 

 

 

 

 

 

 

 


7 异步交互方式示意图

 

7.消息定义

 7.1基本数据类型

Unsigned Integer 

无符号整数

Integer

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

Octet String

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

7.2消息结构

项目

说明

Message Header

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

Message Body

消息体

 

7.3 消息头格式Message Header

字段名

字节数

类型

描述

Total_Length  

4

Unsigned  Integer

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

Command_Id

4

Unsigned Integer

命令或响应类型

Sequence_Id

4

Unsigned Integer

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

 

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

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

7.4.1 SP请求连接到ISMGCMPP­_CONNECT)操作

 

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

ISMGCMPP_CONNECT_RESP消息响应SP的请求。

7.4.1.1 CMPP_CONNECT消息定义(SPàISMG

字段名

字节数

属性

描述

Source_Addr 

6

Octet String

源地址,此处为SP_Id,即SP的企业代码。

AuthenticatorSource

16

Octet String

用于鉴别源地址。其值通过单向MD5 hash计算得出,表示如下:

AuthenticatorSource =

MD5Source_Addr+9 字节的0 +shared secret+timestamp

Shared secret 由中国移动与源地址实体事先商定,timestamp格式为:MMDDHHMMSS,即月日时分秒,10位。

Version

1

Unsigned Integer

双方协商的版本号(高位4bit表示主版本号,低位4bit表示次版本号)

Timestamp

4

Unsigned Integer

时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位数字的整型,右对齐

7.4.1.2 CMPP_CONNECT_RESP消息定义(ISMG à SP

字段名

字节数

属性

描述

Status

1

Unsigned Integer

状态

0:正确

1:消息结构错

 2:非法源地址

 3:认证错

 4:版本太高

  5~ :其他错误

AuthenticatorISMG

16

Octet String

ISMG认证码,用于鉴别ISMG

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

AuthenticatorISMG =MD5Status+AuthenticatorSource+shared secret),Shared secret 由中国移动与源地址实体事先商定,AuthenticatorSource为源地址实体发送给ISMG的对应消息CMPP_Connect中的值。

 认证出错时,此项为空。

Version

1

Unsigned Integer

服务器支持的最高版本号

 

7.4.2  SPISMG请求拆除连接(CMPP­_TERMINATE)操作

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

ISMGSPCMPP_TERMINATE_RESP消息响应请求。

7.4.2.1 CMPP­_TERMINATE消息定义(SPàISMGISMG à SP

无消息体。

7.4.2.2 CMPP­_TERMINATE_RESP消息定义(SPàISMGISMG à SP

无消息体。

 

7.4.3  SPISMG提交短信(CMPP­_SUBMIT)操作

 

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

ISMGCMPP_SUBMIT_RESP消息响应。

 

 

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

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

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

Pk_total

1

Unsigned Integer

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

Pk_number

1

Unsigned Integer

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

Registered_Delivery

1

Unsigned Integer

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

0:不需要

1:需要

2:产生SMC话单

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

Msg_level

1

Unsigned Integer

信息级别

Service_Id

10

Octet String

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

Fee_UserType

1

Unsigned Integer

计费用户类型字段

0:对目的终端MSISDN计费;

1:对源终端MSISDN计费;

2:对SP计费;

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

Fee_terminal_Id

21

Unsigned Integer

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

TP_pId

1

Unsigned Integer

GSM协议类型。详细是解释请参考GSM03.40中的9.2.3.9

TP_udhi

1

Unsigned Integer

GSM协议类型。详细是解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐

Msg_Fmt

1

Unsigned Integer

信息格式

  0ASCII

  3:短信写卡操作

  4:二进制信息

  8UCS2编码

15:含GB汉字  。。。。。。

Msg_src

6

Octet String

信息内容来源(SP_Id)

FeeType

2

Octet String

资费类别

01:对“计费用户号码”免费

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

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

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

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

FeeCode

6

Octet String

资费代码(以分为单位)

ValId_Time

17

Octet String

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

At_Time

17

Octet String

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

Src_Id

21

Octet String

源号码

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

DestUsr_tl

1

Unsigned Integer

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

Dest_terminal_Id

21*DestUsr_tl

Octet String

接收短信的MSISDN号码

Msg_Length

1

Unsigned Integer

信息长度(Msg_Fmt值为0时:<160个字节;其它<=140个字节)

Msg_Content

Msg_length

Octet String

信息内容

Reserve

8

Octet String

保留

 

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

 

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

 

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

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

采用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

Unsigned Integer

结果

0:正确

1:消息结构错

 2:命令字错

 3:消息序号重复

4:消息长度错

5:资费代码错

6:超过最大信息长

7:业务代码错

8:流量控制错

9~ :其他错误

 

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

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

 

 

7.4.4.1 CMPP_QUERY消息的定义(SPàISMG

字段名

字节数

属性

描述

Time

8

Octet String

时间YYYYMMDD(精确至日)

Query_Type

1

Unsigned Integer

查询类别

0:总数查询

1:按业务类型查询

Query_Code

10

Octet String

查询码

Query_Type0时,此项无效;当Query_Type1时,此项填写业务类型Service_Id.

Reserve

8

Octet String

保留

 

7.4.4.2 CMPP_QUERY_RESP消息的定义(ISMG àSP

字段名

字节数

属性

描述

Time

8

Octet String

时间(精确至日)

Query_Type

1

Unsigned Integer

查询类别

0:总数查询

1:按业务类型查询

Query_Code

10

Octet String

查询码

MT_TLMsg

4

Unsigned Integer

SP接收信息总数

MT_Tlusr

4

Unsigned Integer

SP接收用户总数

MT_Scs

4

Unsigned Integer

成功转发数量

MT_WT

4

Unsigned Integer

待转发数量

MT_FL

4

Unsigned Integer

转发失败数量

MO_Scs

4

Unsigned Integer

SP成功送达数量

MO_WT

4

Unsigned Integer

SP待送达数量

MO_FL

4

Unsigned Integer

SP送达失败数量

 

7.4.5  ISMGSP送交短信(CMPP­_DELIVER)操作

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

7.4.5.1 CMPP_DELIVER消息定义(ISMGàSP

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识

生成算法如下:

采用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

Octet String

目的号码

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

Service_Id

10

Octet String

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

TP_pid

1

Unsigned Integer

GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9

TP_udhi

1

Unsigned Integer

GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐

Msg_Fmt

1

Unsigned Integer

信息格式

  0ASCII

  3:短信写卡操作

  4:二进制信息

  8UCS2编码

15:含GB汉字   

Src_terminal_Id

21

Octet String

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

Registered_Delivery

1

Unsigned Integer

是否为状态报告

0:非状态报告

1:状态报告

Msg_Length

1

Unsigned Integer

消息长度

Msg_Content

Msg_length

Octet String

消息内容

Reserved

8

Octet String

保留项

 

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

 

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识

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

Stat

7

Octet String

发送短信的应答结果,含义与SMPP协议要求中stat字段定义相同,详见表一。SP根据该字段确定CMPP_SUBMIT消息的处理状态。

Submit_time

10

Octet String

YYMMDDHHMMYY为年的后两位00-99MM01-12DD01-31HH00-23MM00-59

Done_time

10

Octet String

YYMMDDHHMM

Dest_terminal_Id

21

Octet String

目的终端MSISDN号码(SP发送CMPP_SUBMIT消息的目标终端)

SMSC_sequence

4

Unsigned Integer

取自SMSC发送状态报告的消息体中的消息标识。

 

表一  Stat字段定义

Message State

Final Message States

Description

DELIVERED

DELIVRD

Message is delivered to destination

EXPIRED

EXPIRED

Message validity period has

expired

DELETED

DELETED

Message has been deleted.

UNDELIVERABLE

UNDELIV

Message is undeliverable

ACCEPTED

ACCEPTD

Message is in accepted state(i.e. has been manually read on behalf of the subscriber by customer service)

UNKNOWN

UNKNOWN

Message is in invalid state

REJECTED

REJECTD

Message is in a rejected state

 

 

 

 

注意:

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

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

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

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

 

7.4.5.2 CMPP_DELIVER_RESP消息定义(SP à ISMG

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识

CMPP_DELIVER中的Msg_Id字段)

Result

1

Unsigned Integer

结果

0:正确

1:消息结构错

 2:命令字错

 3:消息序号重复

4:消息长度错

5:资费代码错

6:超过最大信息长

7:业务代码错

8: 流量控制错

9~ :其他错误

 

7.4.6             SPISMG发起删除短信(CMPP­_CANCEL)操作

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

 

7.4.6.1 CMPP_CANCEL消息定义(SP à ISMG

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识(SP想要删除的信息标识)

 

7.4.6.2 CMPP_CANCEL_RESP消息定义(ISMG à SP

字段名

字节数

属性

描述

Success_Id

1

Unsigned Integer

成功标识

0:成功

1:失败

 

 

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

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

7.4.7.1 CMPP_ACTIVE_TEST定义(SP à ISMGISMGàSP

无消息体。

7.4.7.2 CMPP_ACTIVE_TEST_RESP定义(SP à ISMGISMGàSP

字段名

字节数

属性

描述

Reserved

1

 

 

 

 

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

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

7.5.1 ISMG请求连接到目的ISMGCMPP­_CONNECT)操作

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

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

消息定义同7.4.2.17.4.2.2所述。

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

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

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

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

7.5.4.1 CMPP_FWD定义(ISMGà ISMG

字段名

字节数

属性

描述

Source_ Id

6

Octet String

源网关的代码(右对齐,左补0

Destination_Id

6

Octet String

目的网关代码(右对齐,左补0

NodesCount

1

Unsigned Integer

经过的网关数量

Msg_Fwd_Type

1

Unsigned Integer

前转的消息类型

0MT前转

1MO前转

2MT时的状态报告

3MO时的状态报告

Msg_Id

8

Unsigned Integer

信息标识

Pk_total

1

Unsigned Integer

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

Pk_number

1

Unsigned Integer

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

Registered_Delivery

1

Unsigned Integer

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

0:不需要

1:需要

2:产生SMC话单

Msg_level

1

Unsigned Integer

信息级别

Service_Id

10

Octet String

业务类型

Fee_UserType

1

Unsigned Integer

计费用户类型字段

0:对目的终端MSISDN计费;

1:对源终端MSISDN计费;

2:对SP计费;

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

Fee_terminal_Id

21

Unsigned Integer

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

TP_pid

1

Unsigned Integer

GSM协议类型。详细解释请参考GSM03.40中的9.2.3.9

TP_udhi

1

Unsigned Integer

GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐

Msg_Fmt

1

Unsigned Integer

信息格式

  0ASCII

  3:短信写卡操作

  4:二进制信息

  8UCS2编码

15:含GB汉字  

Msg_src

6

Octet String

信息内容来源(SP_IdSP的企业代码)

FeeType

2

Octet String

资费类别

00:“短消息类型”为“发送”,对“计

费用户号码”不计信息费,此类

话单仅用于核减SP对称的信道费

01:对“计费用户号码”免费

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

   

03:对“计费用户号码”按包月收取

    信息费

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

   

05:对“计费用户号码”的收费是由SP

    实现

FeeCode

6

Octet String

资费代码(以分为单位)

Valid_Time

17

Octet String

有效期

At_Time

17

Octet String

定时发送的时间

Src_Id

21

Octet String

源号码

1.   MT时为SP的服务代码,即CMPP_SUBMIT消息中的Src_Id

2.   MO时为发送此消息的源终端MSISDN号码。

3.   MT状态报告时,可填空或填接收到短信的终端MSISDN号码,即对应CMPP_SUBMIT消息中的Dest_Terminal_Id

4.   MO状态报告时,可填空或填SP的服务代码,即CMPP_DELIVER中的Dest_Id

DestUsr_tl

1

Unsigned Integer

接收消息的用户数量

Dest_Id

21*DestUsr_tl

Octet String

目的号码

1.MT转发时为目的终端MSISDN号码,即对应CMPP_SUBMIT消息中的Dest_Terminal_Id

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

3.MT状态报告时,可填空或填目的SP的服务代码,即CMPP_SUBMIT消息中的Src_Id

4.MO状态报告时,可填空或填发送短信的移动用户MSISDN号码。

Msg_Length

1

Unsigned Integer

消息长度

Msg_Content

Msg_length

Octet String

消息内容

Reserve

8

 

保留

 

注意:

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

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

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识

SPCMPP_Deliver消息中的Msg_Id,与源网关转发MO消息时产生的Msg_Id相同。

Stat

7

Octet String

SP的应答结果,CMPP_DELIVER_RESPResult0时,填字符DELIVRD,其余值填REJECTD

CMPP_DELIVER_time

10

Octet String

YYMMDDHHMMYY为年的后两位00-99MM01-12DD01-31HH00-23MM00-59

注:短信网关发出CMPP_DELIVER的时间。

CMPP_DELIVER_RESP_time

10

Octet String

YYMMDDHHMM

注:短信网关收到CMPP_DELIVER_RESP的时间。

Dest_Id

21

Reserved

目的SP的服务代码,左对齐。

Reserved

4

 

 

 

注意:

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

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

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

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

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

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

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

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

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

 

7.5.4.2 CMPP_FWD_RESP定义(ISMGà ISMG

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识(CMPP_FWD中字段值

Pk_total

1

Unsigned Integer

相同Msg_Id的消息总条数

Pk_number

1

Unsigned Integer

相同Msg_Id的消息序号

Result

1

Unsigned Integer

结果

0:正确

1:消息结构错

 2:命令字错

 3:消息序号重复

4:消息长度错

5:资费代码错

6:超过最大信息长

7:业务代码错

8: 流量控制错

9: 前转判断错(SP不应发往本ISMG)

10~ :其他错误

 

 

 

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

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

7.6.1 ISMG请求连接到GNSGNS请求连接到ISMGCMPP_CONNECT)操作

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

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

消息定义同7.4.2.17.4.2.2所述。

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

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

7.6.3.1 CMPP_MT_ROUTE消息定义(ISMGàGNS

字段名

字节数

属性

描述

Source_Id

6

Octet String

源网关代码

Terminal_Id

21

Octet String

目的终端MSISDN号码

7.6.3.2 CMPP_MT_ROUTE_RESP消息定义(GNS à ISMG

字段名

字节数

属性

描述

Route_Id

4

Unsigned Integer

路由编号(0开始,GNS统一分配)

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口(78907900)

Start_Id

6

Octet String

MT路由起始号码段

End_Id

6

Octet String

MT路由截止号码段

Area_code

4

Octet String

手机所属省代号

Result

1

Unsigned Integer

结果

0:正常

1:没有匹配路由

2:这是最后1条路由

 

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

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

7.6.4.1 CMPP_MO_ROUTE消息定义(ISMGàGNS

字段名

字节数

属性

描述

Source_Id

6

Octet String

源网关代码

SP_Code

21

Octet String

SP的服务代码

Service_Id

10

Octet String

请求的业务类型(此项适合全网服务内容,如爱心卡图片传情)

Service_Code

4

Unsigned Integer

请求的业务代码

(如果未置Service_Id字段,此字段为空,如爱心卡图片传情TPCQ1000—2000对应某个网站的某些相应图片)

7.6.4.2 CMPP_MO_ROUTE_RESP消息定义(GNS à ISMG

字段名

字节数

属性

描述

Route_Id

4

Unsigned Integer

路由编号

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

SP_Id

21

Octet String

SP的企业代码

Start_code

4

Unsigned Integer

MO路由起始业务代码

(如果未置请求的Service_Id字段,此字段为空)

End_code

4

Unsigned Integer

MO路由截止业务代码

(如果未置请求的Service_Id字段,此字段为空)

Result

1

Unsigned Integer

结果

0:正常

1:没有匹配路由

2:这是最后1条路由

 

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

CMPP_GET_ROUTE操作的目的是使ISMG可向GNS查询MOMT时的路由信息。GNSCMPP_GET_ROUTE_RESP消息回应。

7.6.5.1 CMPP_GET_ ROUTE消息定义(ISMGàGNS

字段名

字节数

属性

描述

Source_Id

6

Octet String

源网关代码

Route_type

2

Octet String

路由类型

MOMO路由

MTMT路由

Last_route_Id

4

Integer

已经接收的上一条路由编号

(第1次发送此请求时Last_route_Id=

-1

7.6.5.2 CMPP_GET_ ROUTE_RESP消息定义(GNS à ISMG

字段名

字节数

属性

描述

Route_Id

4

Unsigned Integer

路由编号

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

SP_Code

21

Octet String

SP的服务代码

(请求的路由类型=MT时,此字段为空)

Service_Id

10

Octet String

请求的业务类型

(此项适合全网服务内容,如爱心卡图片传情)

Start_code

4

Unsigned Integer

请求的路由类型=MO时:

起始业务代码(如果未置Service_Id字段,此字段为空)

请求的路由类型=MT时:

手机号码段的起始号码

End_code

4

Unsigned Integer

请求的路由类型=MO时:

截止业务代码(如果未置Service_Id字段,此字段为空)

请求的路由类型=MT时:

手机号码段的截止号码

Area_code

4

Octet String

手机所属省代码

(请求的路由类型=MO时,此字段为空)

Result

1

Unsigned Integer

结果

0:正常

1:没有匹配路由

2:这是最后1条路由

 

 

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

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

7.6.6.1 CMPP_MT_ROUTE_UPDATE消息定义(ISMGàGNS

字段名

字节数

属性

描述

Update_type

1

Unsigned Integer

0:添加

1:删除

2:更新

Route_Id

4

Unsigned Integer

路由编号

(若update_type 0,即添加时,此字段为零)

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

Start_Id

6

Octet String

MT路由起始号码段

End_Id

6

Octet String

MT路由截止号码段

Area_code

4

Octet String

手机所属省代码

7.6.6.2 CMPP_MT_ROUTE_UPDATE_RESP消息定义(GNS à ISMG

字段名

字节数

属性

描述

Result

1

Unsigned Integer

0:数据合法,等待核实

1:数据不合法

 

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

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

7.6.7.1 CMPP_MO_ROUTE_UPDATE消息定义(ISMGàGNS

字段名

字节数

属性

描述

Update_type

1

Unsigned Integer

0:添加

1:删除

2:更新

Route_Id

4

Unsigned Integer

路由编号

(若update_type 0,即添加时,此字段为零)

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

SP_Code

21

Octet String

SP的服务号码

Service_Id

10

Octet String

请求的业务类型(此项适合全网服务内容,如爱心卡图片传情,如该路由不包含此业务,此字段为空)

Start_code

4

Unsigned Integer

MO路由起始业务代码(如果未置请求的Service_Id字段,此字段为空)

End_code

4

Unsigned Integer

MO路由截止业务代码(如果未置请求的Service_Id字段,此字段为空)

7.6.7.2CMPP_MO_ROUTE_UPDATE_RESP消息定义(GNS à ISMG

字段名

字节数

属性

描述

Result

1

Unsigned Integer

0:数据合法,等待核实

1:数据不合法

 

 

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

 

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

7.6.8.1  CMPP_PUSH_MT_ROUTE_UPDATE消息定义(GNSàISMG

字段名

字节数

属性

描述

Update_type

1

Unsigned Integer

0:添加;

1:删除;

2:更新

Route_Id

4

Unsigned Integer

路由编号

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

Start_Id

6

Octet String

MT路由起始号码段

End_Id

6

Octet String

MT路由截止号码段

Area_code

4

Octet String

手机所属省代码

7.6.8.2  CMPP_PUSH_MT_ROUTE_UPDATE_RESP消息定义(ISMG à GNS

字段名

字节数

属性

描述

Result

1

Unsigned Integer

0:成功更改

1:更改失败

 

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

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

7.6.9.1  CMPP_PUSH_MO_ROUTE_UPDATE消息定义(GNSàISMG

字段名

字节数

属性

描述

Update_type

1

Unsigned Integer

0:添加;

1:删除;

2:更新

Route_Id

4

Unsigned Integer

路由编号

Destination_Id

6

Octet String

目标网关代码

Gateway_IP

15

Octet String

目标网关IP地址

Gateway_port

2

Unsigned Integer

目标网关IP端口

SP_Code

21

Octet String

SP的服务号码

Service_Id

10

Octet String

请求的业务类型(此项适合全网服务内容,如爱心卡图片传情,如该路由不包含此业务,此字段为空)

Start_code

4

Unsigned Integer

MO路由起始业务代码(如果未置请求的Service_Id字段,此字段为空)

End_code

4

Unsigned Integer

MO路由截止业务代码(如果未置请求的Service_Id字段,此字段为空)

7.6.9.2  CMPP_PUSH_MO_ROUTE_UPDATE_RESP消息定义(ISMG à GNS

字段名

字节数

属性

描述

Result

1

Unsigned

Integer

0:成功更改

1:更改失败

 

 

7.7系统定义

7.7.1 Command_Id定义

消息

Command_Id

说明

CMPP_CONNECT

0x00000001

请求连接

CMPP_CONNECT_RESP

0x80000001

请求连接应答

CMPP_TERMINATE

0x00000002

终止连接

CMPP_TERMINATE_RESP

0x80000002

终止连接应答

CMPP_SUBMIT   

0x00000004

提交短信

CMPP_SUBMIT_RESP

0x80000004

提交短信应答

CMPP_DELIVER

0x00000005

短信下发

CMPP_DELIVER_RESP

0x80000005

下发短信应答

CMPP_QUERY

0x00000006

发送短信状态查询

CMPP_QUERY_RESP

0x80000006

发送短信状态查询应答

CMPP_CANCEL  

0x00000007

删除短信

CMPP_CANCEL_RESP

0x80000007

删除短信应答

CMPP_ACTIVE_TEST

0x00000008

激活测试

CMPP_ACTIVE_TEST_RESP

0x80000008

激活测试应答

CMPP_FWD

0x00000009

消息前转

CMPP_FWD_RESP

0x80000009

消息前转应答

CMPP_MT_ROUTE

0x00000010

MT路由请求

CMPP_MT_ROUTE_RESP

0x80000010

MT路由请求应答

CMPP_MO_ROUTE

0x00000011

MO路由请求

CMPP_MO_ROUTE_RESP

0x80000011

MO路由请求应答

CMPP_GET_ROUTE

0x00000012

获取路由请求

CMPP_GET_ROUTE_RESP

0x80000012

获取路由请求应答

CMPP_MT_ROUTE_UPDATE

0x00000013

MT路由更新

CMPP_MT_ROUTE_UPDATE_RESP

0x80000013

MT路由更新应答

CMPP_MO_ROUTE_UPDATE

0x00000014

MO路由更新

CMPP_MO_ROUTE_UPDATE_RESP

0x80000014

MO路由更新应答

CMPP_PUSH_MT_ROUTE_UPDATE

0x00000015

MT路由更新

CMPP_PUSH_MT_ROUTE_UPDATE_RESP

0x80000015

MT路由更新应答

CMPP_PUSH_MO_ROUTE_UPDATE

0x00000016

MO路由更新

CMPP_PUSH_MO_ROUTE_UPDATE_RESP

0x80000016

MO路由更新应答

 


 

附录1  MO状态报告的产生

 

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

 


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

 

 

1.         用户提交短信到SMSC

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

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

4.         ISMG1DELIVER_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)格式定义如下:

字段名

字节数

属性

描述

Msg_Id

8

Unsigned Integer

信息标识

SPCMPP_Deliver消息中的Msg_Id,与源网关转发MO消息时产生的Msg_Id相同。

Stat

7

Octet String

SP的应答结果,CMPP_DELIVER_RESPResult值的字符表示,左对齐。Result0时,填字符DELIVRD,其余值填REJECTD

CMPP_Deliver_time

10

Octet String

YYMMDDHHMMYY为年的后两位00-99MM01-12DD01-31HH00-23MM00-59

注:短信网关发出CMPP_DELIVER的时间。

CMPP_Deliver_RESP_time

10

Octet String

YYMMDDHHMM

注:短信网关收到CMPP_DELIVER_RESP的时间。

Dest_Id

21

Octet String

目的SP的服务代码,左对齐。

Reserved

4

Reserved

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

修订历史

版本号

时间

主要内容或重大修改

CMPP V1.2.1

2001.6

 

CMPP V2.0

2002.4

1.修改了Msg_Id的生成算法;

2.明确了有关短信群发的问题;

3.CMPP_MO_ROUTE_RESP中的SP_CODE改为SP_IdSP企业代码);

4.ISMGGNS交互的消息中Area_Code含义定义为省代码,用省会城市区号表示;

5.Service_Id字段的要求放宽,可以是数字、字母和符号的组合;

6.明确Dest_terminal_Id字段允许在用户终端号码前加“86”或“+86”;

7.规定网关SP之间、网关之间消息发送等待确认时间暂定为60秒,超过则认为超时需要重发两次;

8.规定了对于包月的SMC消息,应向SP返回成功与否的状态报告,若成功Stat值为DELIVRD,失败Stat值为UNDELIV

9.明确状态报告中ACCEPTED为中间状态,网关收到后应丢弃不做任何操作;

10.     修改了CMPP_ACTIVE_TEST_RESP的消息格式;

11.     增加了MO状态报告的格式、流程;

12.     在缩略语中增加了一些定义,改正了一些文字上前后不一致的地方,进行了版面调整;

13.     增加了网关在异常情形下的MO/MT状态报告的产生机制;

14.     对原协议中的端口号作了重新规定。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
短信网关接口源代码:口标准:客户端通过Tcp连接到服务器(211.162.36.89:8021, IP可能会变动,变动时,以www.pohoo.com网站公布的为准)。连接成功后客户端应首先发送注册串为:Login Name=【注册名】&Pwd=【注册密码】&Type=【注册类型,0:接收和发送;1:接收;2:发送;默认为0】(回车换行) 注:强烈建议使用Type=0的模式。如果所有服务注册成功,服务器返回给客户端字符串:Pass(回车换行)否则将断开连接。指令集: 1:分发中心向服务方发送用户的短信请求,格式如下: 分发中心==>Deliver CommandId=【命令标识,4字节整型,循环使用】 &GateName=【源网关名】 &ItemId=【节目标识】 &UserNumber=【用户号码】 &SpNumber=【服务号码,必须以9160开头】 &MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字; 24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字)】 &Msg:=【短信内容,经加码处理,需解码】 (回车换行) 回应:Received CommandId=【对应于发送时的命令标识】(回车换行) 2:服务方向分发中心提交发送内容,格式如下: 服务方==>Submit (空格) CommandId=【命令标识,4字节整型,循环使用】 &GateName=【目的网关名】,默认由分发中心根据手机号码决定目的网关名】 &ItemId=【节目标识】 &SpNumber=【服务号码,以9160开头】 &UserNumber=【目的用户号码,如果是群发将个号码之间用“,”隔开,注意最多只能有255个群发号码】 &FeeNumber=【计费号码,短信产生的费用由该号码承担,不填时默认向目的用户号码收费】 &FeeType=【计费类型,1:免费,需申请,2:按条计费,3:定制包月计费(同时要求ReportFlag=2)。默认:2】 &ScheduleTime=【定时发送时间,默认立即发送,格式举例:2002年09月10日20:08:00为:020910200800】 &ExpireTime=【短信寿命中止时间,格式举例:021201090508,默认为移动或联通(24小时后)中止时间】 &MtFlag=【*引起MT消息的原因,仅当向联通用户发短信时需要该参数,0-MO点播引起的第一条MT消息;1-MO点播引起的非第一条MT消息; 2-非MO点播引起的MT消息;3-系统反馈引起的MT消息。默认为0】 &ReportFlag=【状态报告标志,0:不需要 状态报告;1:无论成功与否都返回状态报告;2:该条消息仅携带包月计费信息,不下发给用户; 3:只有最后出错时要返回状态报告,默认:0】 注:在每次包月定制计费时都需发送一条内容为空串,ReportFlag=2,FeeType=3的记录,该短信不会下发给用户,仅用于告知网关向 该用户收取包月费用,在用户没有取消定制的情况下每月必须且只能发送一次。 &MsgCode=【短信编码,0:ASCII串;3:短信写卡操作;4:二进制信息;8:UCS2编码;15:含GB汉字; 24:UCS2编码闪电短信(Msg<=69个汉字),124:GBK编码闪电短信(Msg<=69个汉字)】 &MsgId=【用户自定义消息标识,推荐格式:年月日时分秒+6位自递增码,例如:9月23日10:00:03发出的序号为1记录可定义为 923100003000001。自定义格式最大不超过20个字符且不能有需加码解码的特殊字符】 &ExtData:=【短信扩展数据,服务方短信发送的附加信息,在有报告反馈时会连带该扩展数据反馈给服务方,需加码处理,但加码后不能超过 120个字节长度。默认为空串】 &TP_pId=【GSM协议类型。详细解释请参考GSM0 3.40中的9.2.3.9】 &TP_udhi=【GSM协议类型。详细解释请参考GSM03.40中的9.2.3.23,仅使用1位,右对齐】 &Msg:=【短信内容,需加码处理】 (回车换行) 回应:Received CommandId=【对应于发送时的命令标识】(回车换行) 3:分发中心向服务方发送报告,格式如下: 分发中心==>Report CommandId=【命令标识,4字节整型,循环使用】 &GateName=【源网关名】 &MsgId=【服务方在Submit时写在MsgId参数中的值】 &ExtData=【服务方在Submit时写在ExtData参数中的值】 &State=【发送状态,0:向网关提交成功,1:向网关提交失败,2:发送成功,3:等待发送,4:发送失败,5:Submit参数错误】 (回车换行) 回应:Received CommandId=【对应于发送时的命令标识】(回车换行) 4:分发中心为了测试服务方是否连接,会在等待1分钟未收到任何数据发送测试指令,该指令也可由服务方主动发起: 分发中心或服务方==>ActiveTest CommandId=【命令标识,4字节整型,循环使用】(回车换行) 回应:Received CommandId=【对应于发送时的命令标识】(回车换行) 5:无论分发中心还是服务方,只要3分钟之内未收到任何数据要主动断开连接,对于服务方在断开后重新连接。加码解码规则: 加码时将字符串中的所有字符转换成其对应的ASCII值的16进制值,例如:“A”的ASCII码值为65,以16进制值表示为41,故应发送两个字符 “41”以代表字符“A”。对于汉字则以其内码的16进制值来表示,如“测试”应为:B2E2CAD4。参数中只要参数标识与内容之间用 “:=”连接的都需要解码后方可使用,解码时将没两位当成其ASCII值的16进制值将其还原。 注: 1、命令和回应并非一个命令完了后紧接者就回应,服务方可一次发出许多条指令,可能在若干条后才陆续收到回应,根据“Received”的 “CommandId”可知道是对于哪一条发出指令的回应。 2、指令和参数标识不区分大小写,但各参数内容区分大小写。 3、不需要的参数可不参与发送,此时系统认为该参数值为系统默认值。同时所有参数的位置并不固定,请不要按照位置获取特定参数值。 4、信息发送方对于参数如果进行过加码处理的其参数标识和参数之间用“:=”连接,否则用“=”连接。同样对于接收方,只要发现参数标识和 参数之间用“:=”连接,接收方必须对参数内容进行解码方可使用。 5、当注册类型为发送,回应内容也是从该通道反馈,但报告的反馈是从同注册名的接收注册通道反馈的。 6、新网关测试需向鸿讯要求提供测试的注册名和密码。 6: 错误代码: 1、 100:用户名或密码不正确,登录失败 2、 110:记费号码与注册手机不符。 3、 111: 实际IP与登录IP不符

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值