中国移动通信
互联网短信网关接口协议
(China Mobile Peer to Peer, CMPP)
()
中国移动通信集团公司
2002年 4 月
目 录
前 言 .....................................................................................................................................................4
1 范围 ...................................................................................................................................................5
2 缩略语 ...............................................................................................................................................5
3.网络结构 .............................................................................................................................................6
4.CMPP 功能概述 .................................................................................................................................7
5. 协议栈 ..................................................................................................................................................8
6. 通信方式 ..............................................................................................................................................9
长连接........................................................................................................................9
短连接......................................................................................................................11
本协议中涉及的端口号..........................................................................................12
交互过程中的应答方式.................................................................................................12
7.消息定义 ...........................................................................................................................................13
基本数据类型....................................................................................................................13
消息结构............................................................................................................................13
消息头格式(Message Header) ....................................................................................13
信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义....................................13
SP 请求连接到 ISMG(CMPP_CONNECT)操作.............................................13
SP 或 ISMG 请求拆除连接(CMPP_TERMINATE)操作 ............................15
SP 向 ISMG 提交短信(CMPP_SUBMIT)操作 ............................................15
SP 向 ISMG 查询发送短信状态(CMPP_QUERY)操作..............................18
ISMG 向 SP 送交短信(CMPP_DELIVER)操作 ..........................................19
SP 向 ISMG 发起删除短信(CMPP_CANCEL)操作 ...............................22
链路检测(CMPP_ACTIVE_TEST)操作...................................................23
互联网短信网关(ISMG)之间的消息定义 .......................................................................23
源 ISMG 请求连接到目的 ISMG(CMPP_CONNECT)操作 .........................23
源 ISMG 请求拆除到目的 ISMG 的连接(CMPP_TERMINATE)操作........23
链路检测(CMPP_ACTIVE_TEST)操作..........................................................23
源 ISMG 向目的 ISMG 转发短信(CMPP_FWD)操作 ..................................23
互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义 ........................................28
ISMG 请求连接到 GNS 或 GNS 请求连接到 ISMG(CMPP_CONNECT)操作
..........................................................................................................................................28
ISMG 请 求 拆 除 到 GNS 的 连 接 或 GNS 请 求 拆 除 到 ISMG 的 连 接
(CMPP_TERMINATE)操作......................................................................................28
ISMG 向汇接网关查询 MT 路由(CMPP_MT_ROUTE)操作........................28
ISMG 向汇接网关查询 MO 路由(CMPP_MO_ROUTE)操作.......................29
向汇接网关获取路由(CMPP_GET_ROUTE)操作...............................30
ISMG 向汇接网关更新 MT 路由(CMPP_MT_ROUTE_UPDATE)操作......31
ISMG 向汇接网关更新 MO 路由(CMPP_MO_ROUTE_UPDATE)操作 .....32
汇接网关向 ISMG 更新 MT 路由(CMPP_PUSH_MT_ROUTE_UPDATE)操
作......................................................................................................................................33
汇接网关向 ISMG 更新 MO 路由(CMPP_PUSH_MO_ROUTE_UPDATE)操
作......................................................................................................................................34
系统定义............................................................................................................................35
Command_Id 定义..................................................................................................35
附录 1 MO 状态报告的产生...............................................................................................................37
修订历史 .................................................................................................................................................39
前 言
本规范为中国移动通信集团公司企业规范,简称 CMPP,现阶段版本是对 版修订
后形成的,为 版。本规范描述了中国移动短信业务中各网元(包括 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.网络结构
如图 1 所示,互联网短信网关(ISMG)是外部信息资源站实体(SP)与移动网内短信中心
之间的中介实体,互联网短信网关一方面负责接收 SP 发送给移动用户的信息和提交给短信
中心。另一方面,移动用户点播 SP 业务的信息将由短信中心通过互联网短信网关发给 SP。
另外,为了减轻短信中心的信令负荷,互联网短信网关还应根据路由原则将 SP 提交的信息
转发到相应的互联网短信网关。互联网短信网关通过向汇接网关(GNS)查询的方式获得网
关间的转发路由信息。
4.CMPP 功能概述
CMPP协议主要提供以下两类业务操作:
短 信
中 心
SM PP
Internet
. . .
. . .SP
SP
SP
G N S
G N S
短 信
中 心
SM PP
ISM G短 信
中 心
SM PP
ISM G
.
.
.
ISM G
.
.
.
短 信
中 心
SM PP
ISM G
In terne t
专 线 或 局 域 网
专 线 或 局 域 网
SP
短 信
中 心
SM PP
ISM G
CM PP
图 1 互 联 网 短 信 网 关 逻 辑 网 络 结 构
(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所示:
图 2 需要前转的 MO 示意图
6
4
1
源 ISMG 目的 ISMG
SMC SP
GNS(汇接网关)
3
5
7 82
1) SP 发出数据请求(可能是短信通知或手机铃声等),被源 ISMG 接收;
2) 源 ISMG 对接收到的信息返回响应;
3) 源 ISMG 在本地数据库中找不到要目的手机号段所对应网关代码,向 GNS(汇接网关)
发路由请求信息;
4) 汇接网关将路由信息返回;
5) 源 ISMG 根据路由信息将请求前转给目的 ISMG;
6) 目的 ISMG 对接收到的信息返回响应;
7) 目的 ISMG 将请求信息发送至 SMC;
8) SMC 向目的 ISMG 返回响应;
在上述操作中,步骤 1 到步骤 6 均使用 CMPP 协议;
在随后的操作中,SMC 将通过 信令网向移动用户发送信息,移动用户收到后将返回
状态报告(Delivery-Receipt)给短信中心,短信中心将按照 MO 操作的流程将状态报告返回
给 SP(如果 SP 要求返回状态报告)。
5. 协议栈
CMPP 协议以 TCP/IP 作为底层通信承载,具体结构由图 4 所示:
6
4
1
源 ISMG 目的 ISMG
SP SMC
GNS(汇接网关)
2
3
5
7 8
图 3 需要前转的 MT 示意图
图 4 CMPP 协议栈
6. 通信方式
SP 与 ISMG 之间、ISMG 之间进行信息交互时,可以采用长连接方式,也可以采用短连接
方式。所谓长连接,指在一个 TCP 连接上可以连续发送多个数据包,在 TCP 连接保持期间,
如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交
互时,就建立一个 TCP 连接,数据发送完成后,则断开此 TCP 连接,即每次 TCP 连接只完
成一对 CMPP 消息的发送。
长连接
通信双方以客户-服务器方式建立 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 所示:
CMPP
TCP
IP
底层承载
ISMG
CMPP
TCP
IP
底层承载
CMPP
TCP
IP
底层承载
CMPP
TCP
IP
底层承载
ISMGSP GNS
图 5 长连接一次操作流程
. . . . . .
建立 TCP 连接
滑动窗口不大于 W
W
CMPP 消息 1
客户端 服务器端
CMPP 消息 2
对 CMPP 消息 1 的响应
对 CMPP 消息 2 的响应
链路检测包
链路检测包响应
建立 TCP 连接
链路检测包
链路检测包响应
拆除 TCP 连接
. . . . . .
建立 TCP 连接
短连接
通信双方以客户-服务器方式建立 TCP 连接,应答与请求在同一个连接中完成。系统采用客
户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
网关与 SP 之间、网关之间的消息发送后等待 T 秒后未收到响应,应立即重发,再连续
发送 N-1 次后仍未得到响应则停发。现阶段建议取值为:T=60 秒,N=3。
短连接的操作流程举例如图 6 所示:
图 6 短连接的操作流程
本协议中涉及的端口号
端口号 应用
对 CMPP 消息 1 的响应
CMPP 消息 1
建立 TCP 连接
拆除 TCP 连接
CMPP 消息 2
对 CMPP 消息 2 的响应
建立 TCP 连接
拆除 TCP 连接
. . . . . .
建立 TCP 连接
客户端/服务器
端
服务器/客户端
7890 长连接(SP 与网关间)
7900 短连接(SP 与网关间或网关之间)
7930 长连接(网关之间)
9168 短连接(短信网关与汇接网关之间)
交互过程中的应答方式
在 SP 与 ISMG 之间、SMC 与 ISMG 之间及 ISMG 之间的交互过程中均采用异步方式,即任
一个网元在收到请求消息后应立即回送响应消息。举例如图 7 所示:
图 7 异步交互方式示意图
7.消息定义
基本数据类型
Unsigned Integer 无符号整数
Integer 整数,可为正整数、负整数或零
Octet String 定长字符串,位数不足时,如果左补 0 则补 ASCII 表示的
零,如果右补 0 则补二进制的零
消息结构
项目 说明
Message Header 消息头(所有消息公共包头)
SMC ISMG1 ISMG2 SP
SMPP 请求消息
SMPP 响应消息
CMPP 请求消息
CMPP 响应消息
CMPP 请求消息
CMPP 响应消息
Message Body 消息体
消息头格式(Message Header)
字段名 字节数 类型 描述
Total_Length 4 Unsigned
Integer
消息总长度(含消息头及消息体)
Command_Id 4 Unsigned
Integer
命令或响应类型
Sequence_Id 4 Unsigned
Integer
消息流水号,顺序累加,步长为 1,循环使用
(一对请求和应答消息的流水号必须相同)
信息资源站实体(SP)与互联网短信网关(ISMG)间的消息定义
SP 与 ISMG 之间互为客户/服务器,但要求 SP 首先以客户的身份请求连接到 ISMG,之
后 SP 与 ISMG 之间方可进行数据传输。
SP 请求连接到 ISMG(CMPP_CONNECT)操作
CMPP_CONNECT 操作的目的是 SP 向 ISMG 注册作为一个合法 SP 身份,若注册成功后即
建立了应用层的连接,此后 SP 可以通过此 ISMG 接收和发送短信。
ISMG 以 CMPP_CONNECT_RESP 消息响应 SP 的请求。
CMPP_CONNECT 消息定义(SPISMG)
字段名 字节数 属性 描述
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 双方协商的版本号(高位 4bit 表示主
Integer 版本号,低位 4bit 表示次版本号)
Timestamp 4 Unsigned
Integer
时间戳的明文,由客户端产生,格式为
MMDDHHMMSS,即月日时分秒,10
位数字的整型,右对齐 。
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+shar
ed secret),Shared secret 由中国移
动 与 源 地 址 实 体 事 先 商 定 ,
AuthenticatorSource 为源地址实体
发 送 给 ISMG 的 对 应 消 息
CMPP_Connect 中的值。
认证出错时,此项为空。
Version 1 Unsigned
Integer
服务器支持的最高版本号
SP 或 ISMG 请求拆除连接(CMPP_TERMINATE)操作
CMPP_TERMINATE 操作的目的是 SP 或 ISMG 基于某些原因决定拆除当前的应用层连接
而发起的操作。此操作完成后 SP 与 ISMG 之间的应用层连接被释放,此后 SP 若再要与
ISMG 通信时应发起 CMPP_CONNECT 操作。
ISMG 或 SP 以 CMPP_TERMINATE_RESP 消息响应请求。
CMPP_TERMINATE 消息定义(SPISMG 或 ISMG SP)
无消息体。
CMPP_TERMINATE_RESP 消息定义(SPISMG 或 ISMG
SP)
无消息体。
SP 向 ISMG 提交短信(CMPP_SUBMIT)操作
CMPP_SUBMIT 操作的目的是 SP 在与 ISMG 建立应用层连接后向 ISMG 提交短信。
ISMG 以 CMPP_SUBMIT_RESP 消息响应。
CMPP_SUBMIT 消息定义(SPISMG)
字段名 字节数 属性 描述
Msg_Id 8 Unsigned
Integer
信息标识,由 SP 侧短信网关本身产生,
本处填空。
Pk_total 1 Unsigned
Integer
相同 Msg_Id 的信息总条数,从 1 开始
Pk_number 1 Unsigned
Integer
相同 Msg_Id 的信息序号,从 1 开始
Registered_Del
ivery
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_I
d
21 Unsigned
Integer
被计费用户的号码(如本字节填空,则表
示 本 字 段 无 效 , 对 谁 计 费 参 见
Fee_UserType 字 段 , 本 字 段 与
Fee_UserType 字段互斥)
TP_pId 1 Unsigned GSM 协议类型。详细是解释请参考
Integer 中的
TP_udhi 1 Unsigned
Integer
GSM 协议类型。详细是解释请参考
中的 ,仅使用 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 存活有效期,格式遵循 协议
At_Time 17 Octet String 定时发送时间,格式遵循 协议
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 对于群发消息不要求状态报告的回送时,才可以考虑群
发,否则必须逐条发送。
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~ :其他错误
SP 向 ISMG 查询发送短信状态(CMPP_QUERY)操作
CMPP_QUERY 操作的目的是 SP 向 ISMG 查询某时间的业务统计情况,可以按总数或按业
务代码查询。 ISMG 以 CMPP_QUERY_RESP 应答。
CMPP_QUERY 消息的定义(SPISMG)
字段名 字节数 属性 描述
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 保留
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 送达失败数量
ISMG 向 SP 送交短信(CMPP_DELIVER)操作
CMPP_DELIVER 操作的目的是 ISMG 把从短信中心或其它 ISMG 转发来的短信送交 SP,
SP 以 CMPP_DELIVER_RESP 消息回应。
CMPP_DELIVER 消息定义(ISMGSP)
字段名 字节数 属性 描述
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 协议类型。详细解释请参考
中的
TP_udhi 1 Unsigned Integer GSM 协议类型。详细解释请参考
中的 ,仅使用 1
位,右对齐
Msg_Fmt 1 Unsigned
Integer
信息格式
0:ASCII 串
3:短信写卡操作
4:二进制信息
8:UCS2 编码
15:含 GB 汉字
Src_terminal_Id 21 Octet String 源终端 MSISDN 号码(状态报告时
填为 CMPP_SUBMIT 消息的目的
终端号码)
Registered_Deliver
y
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 发送状态报告的消息体中的消息标
识。
表一 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(. 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 中的缩写形式,如
状态为 DELIVERED 时填写 DELIVRD,依此类推。
3.SP 等待状态报告缺省时间为 48 小时。
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~ :其他错误
SP 向 ISMG 发起删除短信(CMPP_CANCEL)操作
CMPP_CANCEL 操作的目的是 SP 通过此操作可以将已经提交给 ISMG 的短信删除,ISMG
将以 CMPP_CANCEL_RESP 回应删除操作的结果。
CMPP_CANCEL 消息定义(SP ISMG)
字段名 字节数 属性 描述
Msg_Id 8 Unsigned
Integer
信息标识(SP 想要删除的信息标识)
CMPP_CANCEL_RESP 消息定义(ISMG SP)
字段名 字节数 属性 描述
Success_Id 1 Unsigned
Integer
成功标识
0:成功
1:失败
链路检测(CMPP_ACTIVE_TEST)操作
本操作仅适用于通信双方采用长连接通信方式时用于保持连接。
CMPP_ACTIVE_TEST 定义(SP ISMG 或 ISMGSP)
无消息体。
CMPP_ACTIVE_TEST_RESP 定 义 ( SP ISMG 或
ISMGSP)
字段名 字节数 属性 描述
Reserved 1
互联网短信网关(ISMG)之间的消息定义
网关之间互为客户/服务器,任一方都可在需要时建立连接进行数据传输。
源 ISMG 请求连接到目的 ISMG(CMPP_CONNECT)操作
消息定义同 和 所述。其中 Source_Addr 填源网关代码。
源 ISMG 请求拆除到目的 ISMG 的连接(CMPP_TERMINATE)操作
消息定义同 和 所述。
链路检测(CMPP_ACTIVE_TEST)操作
本操作仅用于通信双方采用长连接通信方式时保持连接。消息定义同 和 所述。
源 ISMG 向目的 ISMG 转发短信(CMPP_FWD)操作
CMPP_FWD 操作的目的是源 ISMG 可以根据一定的路由策略将 SP 提交的短信、MO 状态
报告、短信中心产生的状态报告、用户提交的短信转发到目的 ISMG,目的 ISMG 以
CMPP_FWD_RESP 回应。
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_Deli 1 Unsigned 是否要求返回状态确认报告
very 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_I
d
21 Unsigned
Integer
被计费用户的号码(如本字节填空,则
表 示 本 字 段 无 效 , 对 谁 计 费 参 见
Fee_UserType 字 段 。 本 字 段 与
Fee_UserType 字段互斥)
TP_pid 1 Unsigned
Integer
GSM 协议类型。详细解释请参考
中的
TP_udhi 1 Unsigned
Integer
GSM 协议类型。详细解释请参考
中的 ,仅使用 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 返回成功与否的状态报告,格式同 定义,
若成功回送 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 10 Octet String YYMMDDHHMM
_RESP_time 注 : 短 信 网 关 收 到
CMPP_DELIVER_RESP 的时间。
Dest_Id 21 Reserved 目的 SP 的服务代码,左对齐。
Reserved 4
注意:
在 MO 流程中,若短信经 ISMG2 转发给与 SP 相连的 ISMG1,ISMG1 在给 SP 发送消息时
可能存在四种情况:①发送消息前连接断开;①多次发送消息后没有接收到响应消息;①发
送消息后接收到错误的响应消息;①发送消息后接收到正确的应答消息。对这四种情况的处
理描述如下:
①①①:ISMG1 在处理这三种情况的时候,向 ISMG2 发送 MO 状态报告,状态报告中
的 stat 字段取值为“REJECTD”。
①:ISMG1 在处理这种情况时,向 ISMG2 发送 MO 状态报告,其中 stat 字段取值
“DELIVRD”。
3.当转发消息为 MT 状态报告时,信息内容字段(Msg_Content)格式同 定义。若 SP
发送的短信经由 ISMG1 转发给 ISMG2,ISMG1 给 ISMG2 发送消息时可能存在四种情况:
①发送消息前连接断开;①多次发送消息后没有接收到响应消息;①发送消息后接收到错
误的响应消息;①发送消息后接收到正确的应答消息。对这四种情况的处理描述如下:
①①①:ISMG1 在处理这三种情况的时候,向 SP 发送 MT 状态报告(如果 SP 要求状态
报告),状态报告中的 stat 字段取值为“REJECTD”。
①:ISMG1 在处理这种情况时,继续等待 ISMG2 返回状态报告。
随后,ISMG2 给 SMC 发送消息时可能存在四种情况:①发送消息前连接断开;①多次发
送消息后没有接收到响应消息;①发送消息后接收到错误的响应消息;①发送消息后接收
到正确的应答消息。对这四种情况的处理描述如下:
①①①:ISMG2 在处理这三种情况的时候,向 SP 发送 MT 状态报告(如果 SP 要求状态
报告),状态报告中的 stat 字段取值为“REJECTD”。
①:ISMG2 在处理这种情况时,继续等待 SMC 返回状态报告。
CMPP_FWD_RESP 定义(ISMG ISMG)
字段名 字节数 属性 描述
Msg_Id 8 Unsigned 信息标识(CMPP_FWD 中字段值)
Integer
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~ :其他错误
互联网短信网关(ISMG)与汇接网关(GNS)之间的消息定义
要求 ISMG 与 GNS 在信息交互时使用短连接的通信方式。ISMG 与 GNS 可互为客户/服务器。
ISMG 请求连接到 GNS 或 GNS 请求连接到 ISMG(CMPP_CONNECT)操作
消息定义同 和 所述,其中 Source_Addr 填源网关代码,可能是 ISMG 代码或
GNS 代码。
ISMG 请 求 拆 除 到 GNS 的 连 接 或 GNS 请 求 拆 除 到 ISMG 的 连 接 ( CMPP-
_TERMINATE)操作
消息定义同 和 所述。
ISMG 向汇接网关查询 MT 路由(CMPP_MT_ROUTE)操作
CMPP_MT_ROUTE 操作用于 ISMG 不知道需要转发 MT 消息的路由时查询 GNS。GNS 以
CMPP_MT_ROUTE_RESP 应答。
CMPP_MT_ROUTE 消息定义(ISMGGNS)
字段名 字节数 属性 描述
Source_Id 6 Octet String 源网关代码
Terminal_Id 21 Octet String 目的终端 MSISDN 号码
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 条路由
ISMG 向汇接网关查询 MO 路由(CMPP_MO_ROUTE)操作
CMPP_MO_ROUTE 操作的目的是使 ISMG 当不知道需要转发 MO 消息的路由时可向 GNS
查询得到。GNS 以 CMPP_MO_ROUTE_RESP 应答。
CMPP_MO_ROUTE 消息定义(ISMGGNS)
字段名 字节数 属性 描述
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 对
应某个网站的某些相应图片)
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 条路由
向汇接网关获取路由(CMPP_GET_ROUTE)操作
CMPP_GET_ROUTE 操作的目的是使 ISMG 可向 GNS 查询 MO 或 MT 时的路由信息。GNS
以 CMPP_GET_ROUTE_RESP 消息回应。
CMPP_GET_ ROUTE 消息定义(ISMGGNS)
字段名 字节数 属性 描述
Source_Id 6 Octet String 源网关代码
Route_type 2 Octet String 路由类型
MO:MO 路由
MT:MT 路由
Last_route_Id 4 Integer 已经接收的上一条路由编号
(第 1 次发送此请求时 Last_route_Id=
-1)
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 条路由
ISMG 向汇接网关更新 MT 路由(CMPP_MT_ROUTE_UPDATE)操作
CMPP_MT_ROUTE_UPDATE 操作的目的是使 ISMG 可向 GNS 更新 MT 路由信息。GNS
以 CMPP_MT_ROUTE_UPDATE _RESP 消息回应。
CMPP_MT_ROUTE_UPDATE 消息定义(ISMGGNS)
字段名 字节数 属性 描述
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 手机所属省代码
CMPP_MT_ROUTE_UPDATE_RESP 消 息 定 义 ( GNS
ISMG)
字段名 字节数 属性 描述
Result 1 Unsigned
Integer
0:数据合法,等待核实
1:数据不合法
ISMG 向汇接网关更新 MO 路由(CMPP_MO_ROUTE_UPDATE)操作
CMPP_MO_ROUTE_UPDATE 操作的目的是使 ISMG 可向 GNS 更新 MO 路由信息。GNS
以 CMPP_MO_ROUTE_UPDATE _RESP 消息回应。
CMPP_MO_ROUTE_UPDATE 消息定义(ISMGGNS)
字段名 字节数 属性 描述
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 字段,此字段为空)
_MO_ROUTE_UPDATE_RESP 消 息 定 义 ( GNS
ISMG)
字段名 字节数 属性 描述
Result 1 Unsigned
Integer
0:数据合法,等待核实
1:数据不合法
汇接网关向 ISMG 更新 MT 路由(CMPP_PUSH_MT_ROUTE_UPDATE)操作
CMPP_PUSH_MT_ROUTE_UPDATE 操作的目的是使 GNS 可向 ISMG 更新 MT 路由信息。
ISMG 以 CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消息回应。
CMPP_PUSH_MT_ROUTE_UPDATE 消 息 定 义
(GNSISMG)
字段名 字节数 属性 描述
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 手机所属省代码
CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消 息 定 义
(ISMG GNS)
字段名 字节数 属性 描述
Result 1 Unsigned
Integer
0:成功更改
1:更改失败
汇接网关向 ISMG 更新 MO 路由(CMPP_PUSH_MO_ROUTE_UPDATE)操作
CMPP_PUSH_MO_ROUTE_UPDATE 操作的目的是使 GNS 可向 ISMG 更新 MO 路由信息。
ISMG 以 CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消息回应。
CMPP_PUSH_MO_ROUTE_UPDATE 消 息 定 义
(GNSISMG)
字段名 字节数 属性 描述
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 字段,此字段为空)
CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消 息 定 义
(ISMG GNS)
字段名 字节数 属性 描述
Result 1 Unsigned
Integer
0:成功更改
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. ISMG1 以 DELIVER_SM_RESP 消息应答给 SMSC;
5. ISMG1 根据用户发送的短消息中目的 SP 服务代码查询路由后转发给 ISMG2;
6. ISMG2 发送 CMPP_FWD_RESP 消息应答;
7. SP 对 ISMG2 将用户的短信提交给 SP;
1:提交短消息
3:DELIVER_SM
(SMPP)
7:CMPP_DELIVER
8:CMPP_DELIVER_RESP
4:DELIVER_SM_RESP
(SMPP)
2:提交短消息应答
MSC SMSC ISMG1 ISMG2 SP
6: CMPP_FWD_RESP
5:CMPP_FWD
9: CMPP_FWD
10:CMPP_FWD
网关产生的
MO状态报告
8. ISMG2 发送提交应答;
9. 为保证 ISMG1 获知 SP 的接收情况,此时 ISMG2 应产生一个状态报告转发给 ISMG1;
10. 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
CMPP 1.修改了 Msg_Id 的生成算法;
2.明确了有关短信群发的问题;
_MO_ROUTE_RESP 中 的 SP_CODE 改 为
SP_Id(SP 企业代码);
与 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. 对原协议中的端口号作了重新规定。