互联网短信网关接口协议
中国移动通信
互联网短信网关接口协议
(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 缩略语
英文缩写 |
英文全称 |
说明 |
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.网络结构
4.CMPP功能概述
(1) 短信发送(Short Message Mobile Originate,SM MO)
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 Terminated,SM 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. 通信方式
6.1 长连接
参数C、T、N原则上应可配置,现阶段建议取值为:C=3分钟,T=60秒,N=3。
网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。
消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建
. . . . . . |
滑动窗口不大于W W |
CMPP消息1 |
客户端 |
服务器端 |
CMPP消息2 |
对CMPP消息1的响应 |
对CMPP消息2的响应 |
链路检测包 |
链路检测包响应 |
建立TCP连接 |
链路检测包 |
链路检测包响应 |
拆除TCP连接 |
. . . . . . |
图5 长连接一次操作流程
6.2 短连接
通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
网关与SP之间、网关之间的消息发送后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。
对CMPP消息1的响应 |
CMPP消息1 |
建立TCP连接 |
拆除TCP连接 |
. . . . . . |
客户端/服务器端 |
服务器/客户端 |
CMPP消息2 |
对CMPP消息2的响应 |
拆除TCP连接 |
建立TCP连接 |
图6 短连接的操作流程
6.3 本协议中涉及的端口号
端口号 |
应用 |
7890 |
长连接(SP与网关间) |
7900 |
短连接(SP与网关间或网关之间) |
7930 |
长连接(网关之间) |
9168 |
短连接(短信网关与汇接网关之间) |
6.4 交互过程中的应答方式
在SP与ISMG之间、SMC与ISMG之间及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)间的消息定义
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)
字段名 |
字节数 |
属性 |
描述 |
Source_Addr |
6 |
Octet String |
源地址,此处为SP_Id,即SP的企业代码。 |
AuthenticatorSource |
16 |
Octet String |
用于鉴别源地址。其值通过单向MD5 hash计算得出,表示如下: AuthenticatorSource = MD5(Source_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 =MD5(Status+AuthenticatorSource+shared secret),Shared secret 由中国移动与源地址实体事先商定,AuthenticatorSource为源地址实体发送给ISMG的对应消息CMPP_Connect中的值。 认证出错时,此项为空。 |
Version |
1 |
Unsigned Integer |
服务器支持的最高版本号 |
7.4.2 SP或ISMG请求拆除连接(CMPP_TERMINATE)操作
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提交短信。
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 |
信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息 8:UCS2编码 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 SP向ISMG查询发送短信状态(CMPP_QUERY)操作
CMPP_QUERY操作的目的是SP向ISMG查询某时间的业务统计情况,可以按总数或按业务代码查询。 ISMG以CMPP_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_Type为0时,此项无效;当Query_Type为1时,此项填写业务类型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 ISMG向SP送交短信(CMPP_DELIVER)操作
CMPP_DELIVER操作的目的是ISMG把从短信中心或其它ISMG转发来的短信送交SP,SP以CMPP_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 |
信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息 8:UCS2编码 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 |
保留项 |
当ISMG向SP送交状态报告时,信息内容字段(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 |
YYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-59) |
Done_time |
10 |
Octet String |
YYMMDDHHMM |
Dest_terminal_Id |
21 |
Octet String |
目的终端MSISDN号码(SP发送CMPP_SUBMIT消息的目标终端) |
SMSC_sequence |
4 |
Unsigned Integer |
取自SMSC发送状态报告的消息体中的消息标识。 |
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为中间状态,网关若从短信中心收到后应丢弃,不做任何操作。
2.Stat字段长度为7个字节,填写时应填表一中Final Message States中的缩写形式,如
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 SP向ISMG发起删除短信(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 à ISMG或ISMGàSP)
7.4.7.2 CMPP_ACTIVE_TEST_RESP定义(SP à ISMG或ISMGàSP)
字段名 |
字节数 |
属性 |
描述 |
Reserved |
1 |
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.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)
字段名 |
字节数 |
属性 |
描述 |
Source_ Id |
6 |
Octet String |
源网关的代码(右对齐,左补0) |
Destination_Id |
6 |
Octet String |
目的网关代码(右对齐,左补0) |
NodesCount |
1 |
Unsigned Integer |
经过的网关数量 |
Msg_Fwd_Type |
1 |
Unsigned Integer |
前转的消息类型 0:MT前转 1:MO前转 2:MT时的状态报告 3:MO时的状态报告 |
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 |
信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息 8:UCS2编码 15:含GB汉字 |
Msg_src |
6 |
Octet String |
信息内容来源(SP_Id,SP的企业代码) |
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消息,应由ISMG向SP返回成功与否的状态报告,格式同7.4.5.1定义,若成功回送Stat值为“DELIVRD”,失败则回送Stat值“UNDELIV”。
2.当转发消息为MO状态报告(MO状态报告的产生见附录1)时,信息内容字段(Msg_Content)格式定义如下:
字段名 |
字节数 |
属性 |
描述 |
Msg_Id |
8 |
Unsigned Integer |
信息标识 给SP的CMPP_Deliver消息中的Msg_Id,与源网关转发MO消息时产生的Msg_Id相同。 |
Stat |
7 |
Octet String |
SP的应答结果,CMPP_DELIVER_RESP中Result为0时,填字符DELIVRD,其余值填REJECTD。 |
CMPP_DELIVER_time |
10 |
Octet String |
YYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-59) 注:短信网关发出CMPP_DELIVER的时间。 |
CMPP_DELIVER_RESP_time |
10 |
Octet String |
YYMMDDHHMM 注:短信网关收到CMPP_DELIVER_RESP的时间。 |
Dest_Id |
21 |
Reserved |
目的SP的服务代码,左对齐。 |
Reserved |
4 |
①②③:ISMG1在处理这三种情况的时候,向ISMG2发送MO状态报告,状态报告中的stat字段取值为“REJECTD”。
④:ISMG1在处理这种情况时,向ISMG2发送MO状态报告,其中stat字段取值“DELIVRD”。
①②③:ISMG1在处理这三种情况的时候,向SP发送MT状态报告(如果SP要求状态报告),状态报告中的stat字段取值为“REJECTD”。
④:ISMG1在处理这种情况时,继续等待ISMG2返回状态报告。
①②③: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)之间的消息定义
要求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.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)
字段名 |
字节数 |
属性 |
描述 |
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端口(7890或7900) |
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查询得到。GNS以CMPP_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查询MO或MT时的路由信息。GNS以CMPP_GET_ROUTE_RESP消息回应。
7.6.5.1 CMPP_GET_ ROUTE消息定义(ISMGàGNS)
字段名 |
字节数 |
属性 |
描述 |
Source_Id |
6 |
Octet String |
源网关代码 |
Route_type |
2 |
Octet String |
路由类型 MO:MO路由 MT:MT路由 |
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路由信息。GNS以CMPP_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路由信息。GNS以CMPP_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路由信息。ISMG以CMPP_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路由信息。ISMG以CMPP_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消息的接收状态,现要求网关处理流程如下图所示:
2. SMSC给用户返回提交短信的应答,让用户知道短信发送成功与否,如果该处失败,则SMSC不再进行下述的流程;
3. SMSC通过SMPP消息DELIVER_SM把短信发送给ISMG1;
4. ISMG1以DELIVER_SM_RESP消息应答给SMSC;
5. ISMG1根据用户发送的短消息中目的SP服务代码查询路由后转发给ISMG2;
9. 为保证ISMG1获知SP的接收情况,此时ISMG2应产生一个状态报告转发给ISMG1;
目的网关用于向源网关通知SP接收情况的状态报告时,CMPP_FWD消息中Msg_Fwd_Type值为3,表示MO的状态报告,信息内容字段(Msg_Content)格式定义如下:
字段名 |
字节数 |
属性 |
描述 |
Msg_Id |
8 |
Unsigned Integer |
信息标识 给SP的CMPP_Deliver消息中的Msg_Id,与源网关转发MO消息时产生的Msg_Id相同。 |
Stat |
7 |
Octet String |
SP的应答结果,CMPP_DELIVER_RESP中Result值的字符表示,左对齐。Result为0时,填字符DELIVRD,其余值填REJECTD |
CMPP_Deliver_time |
10 |
Octet String |
YYMMDDHHMM(YY为年的后两位00-99,MM:01-12,DD:01-31,HH:00-23,MM:00-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_Id(SP企业代码); 4.ISMG与GNS交互的消息中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. 对原协议中的端口号作了重新规定。 |
互联网短信网关接口协议相关推荐
- 中国移动通信互联网短信网关接口协议及相关下载
为了方便大家,这里提供中国移动通信互联网短信网关接口协议的下载 中国移动通信互联网短信网关接口协议DOC版(CMPP3.0).rar 中国移动通信互联网短信网关接口协议DOC版(CMPP2.0).ra ...
- 中国移动通信互联网短信网关接口协议网络结构和功能概述
网络结构 Network Structure 如图1所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心之间的中介实体,互联网短信网关一方面负责接收SP发送给移动用户的信息和 ...
- 互联网短信网关接口协议(V3.0.0)
download
- 移动CMPP3.0短信网关接口协议
----------------------(由于javaEye不能粘贴图片,请下载文章下面附件) 功能概述 CMPP协议主要提供以下两类业务操作: (1)短信发送(Short Message Mob ...
- 上海移动通信企业短信通平台接口协议
上海移动通信 企业短信通平台接口协议 Enterprise Message Point to Point, EMPP (v 2.0) 上海移动通信有限公司 2004 年6 月 上海移动通信有限责任公司 ...
- ISMG(互联网短信网关,详细介绍)
短信网关ISMG全称Internet Short Message Gateway,主要是为了解决各网络.各运营商之间的短信互通和SP的接入问题.它为应用单位收发短信而提供的一个动态数据交换平台系统. ...
- 互联网短信网关(ISMG)详细工作原理
对目前了解的互联网短信网关(ISMG)的工作原理作一下总结 1.短信业务分为以下两种: 1>手机用户到手机用户的点对点短信业务 2>从信息平台到手机用户的短信信息服务业务.该业务已经成为广 ...
- E百科 | 第2期 扒一扒能加速互联网的QUIC协议
简介: 众所周知,QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP.TLS.HTTP/2等协议的可靠性与安 ...
- 扒一扒能加速互联网的QUIC协议
简介:众所周知,QUIC(Quick UDP Internet Connection)是谷歌制定的一种互联网传输层协议,它基于UDP传输层协议,同时兼具TCP.TLS.HTTP/2等协议的可靠性与安全 ...
- 【全栈接口测试进阶系列教程】精通api接口测试,接口分类,接口架构,http,webservice,dubbo接口协议,接口流程,接口工具,cookie,session,token接口鉴权原理以及实战
目录 一,[什么是接口测试?为什么要作接口测试] 1.接口的作用 2.为什么要做接口测试 3.接口都有哪些类型? 二,[接口测试的分类] 接口的分类: http和webservice接口区别: 三,[ ...
最新文章
- 更改c语言程序保存地址吗,(C语言)修改文件时间程序(创建时间、修改时间、访问时间)...
- 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质示例 | 证明 原序列实部 x_R(n) 的 傅里叶变换 是 原序列傅里叶变换 的 共轭对称序列 )
- 软件测试用例设计实用经验之谈
- RDS For MySQL常见连接问题总结
- 每天一个Linux命令之date
- 【离散数学中的数据结构与算法】七 排列与组合三
- bash 不是内部或外部命令_Win10_cmd下提示:‘xxx’不是内部或外部命令,也不是可运行的程序 或批处理文件...
- 批次程序安裝手冊寫法
- iis6 无法访问网站_IIS重启无效
- iPhone不送充电器?工信部发话了
- office 2019 visio 2016安装
- [Java反序列化]AspectJWeaver反序列化
- 对称密钥加密和非对称密钥加密
- 观天涯kk大神10年帖子有感
- 外贸开发信各国发送的最佳时间
- 解决fatal error C1060: 编译器的堆空间不足(详解)
- 欧拉角变化率和机体角速度的关系
- Accuracy, Precision, Recall和F1-score解释
- 桌面环境与桌面搜索Desktop Search tools
- 【电子电路基础实验】LED点阵(上--硬件部分)
热门文章
- 【强烈推荐】ProxyPool-快速构建免费代理池
- Vue进阶(四十四):vue 图片加载完成事件
- 什么是熔断? 熔断有哪几种状态 ?断路器的工作原理
- 【期末大作业】基于HTML+CSS+JavaScript南京大学网页校园教育网站html模板(3页)
- C语言打印平行四边形
- 怎么判断日出时间早晚_怎样知道当地每天几点日出?
- (瑞萨,norti系统,partner-jet2) 实时系统下DMAC使用的注意事项
- 【并发编程神器】,Worker Thread模式
- 软件测试人员所不知道的软件测试七项原则
- vs2019开发android so库