CMPP协议.docx
- 文档编号:25785676
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:43
- 大小:23.47KB
CMPP协议.docx
《CMPP协议.docx》由会员分享,可在线阅读,更多相关《CMPP协议.docx(43页珍藏版)》请在冰豆网上搜索。
CMPP协议
中国移动通信信息资源站实体与互联网短消息网关(ISMG)
接口协议(CMPP)
V1.1
中国移动通信集团公司
2000/11/29
--------------------------------------------------------------------------------
编制说明
本规范为中国移动通信集团公司企业规范,规定信息资源站实体与互联网短消息网关的应用层接口协议。
本协议版本为1.1版。
略缩语
ISMGInternetShortMessageGateway互联网短消息网关
SMPPShortMessagePeertoPeer短消息点对点协议
CMPPChinaMobilePeertoPeer中国移动点对点协议
TLSTransportLayerSecurity传输层安全
SMCShortMessageCenter短消息中心
网络结构
因特网SC业务中心即ISMG记录了全网的SMC的位置,要求ICP的功能实体向ISMG发CMPP_SUBMIT消息,由ISMG将消息转发到某SMC上。
同时,SMC也可向ISMG发送短消息,由ISMG发送给相应的ICP。
维护管理中心对ISMG进行管理。
CMPP功能
CMPP用以建立短消息中心和ICP之间的通路,业务和信息的提供由ICP完成。
可以为实现移动数据增值业务提供服务,例如以下业务:
Email通知、语音信箱通知、Internet发短消息、移动台发Email、催费通知、自动综合业务信息台(信息点播业务,主要有:
天气预报、股票信息、航班信息等)。
以下以Email通知业务为例,讲述信息的流程:
某因特网的用户向ICP的EmailServer发送一封Email。
ICP的POP3SERVER激活过滤进程,如果该用户申请了Email通知业务,则过滤进程将用户登记的手机号码取出,将Email的标题取出,绑定在CMPP_SUBMIT消息中,发送给ISMG。
ISMG将检查CMPP_SUBMIT消息中“接收业务的手机号码”字段,则在ISMG中查询该手机用户归属的SMC的地址,然后发送给SMC。
ISMG得到确认消息后,将消息转换成CMPP_SUBMIT_REP,发回给ICP。
SMC收到该消息后,对该消息进行处理,并向ISMG发送确认消息,
由上述流程可见,对于ICP来讲,要做的工作主要集中在第二步,即在EMAILSERVER中做一个过滤程序,实现上述功能即可。
从协议上说,ICP只要具备CMPP中实现的接口,就可以实现对应于控制层的功能,至于对于具体的ICP功能实体,比如EmailServer、WebServer等,尚需做一些应用层的工作。
接口
CMPP协议以TCP/IP作为底层通信承载。
在有较高的安全性需要时,可选用TLS层进行安全传输。
消息流程
ICP与ISMG之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。
所谓长连接,指在一个连接上可以连续发送多个数据包,然后断开连接,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。
长消息
ICP与ISMG以Client—Server方式建立TCP连接,用于双方信息的相互提交。
TCP/IP连接建立后,由Client发起建立应用层的连接,这时如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,从而在双方建立TLS连接。
在应用层连接建立后的数据传输过程中,如果ICP或ISMG需要向对端发送加密信息,也可建立TLS连接,这时只需要置相应的消息体中Tls_available(是否使用TLS层)属性字段,且应的本条消息的消息体中的其他属性不发送。
消息采用并发方式发送,加以流量控制,窗口大小可调,暂定为10条消息,即接收方在应答前一次收到的消息多于10条将予以拒绝。
ICP向ISMG发送的消息类型包括:
1)CMPP_Connect请求应用层连接
2)CMPP_Terminate终止应用层连接
3)CMPP_Terminate_REP终止应用层连接应答
4)CMPP_Deliver_REP下发短信应答
5)CMPP_Submit提交短信
6)CMPP_Query发送短信状态查询
7)CMPP_Cancel删除短信
8)CMPP_Active_Test激活测试
9)CMPP_Active_Test_REP激活测试应答
ISMG向ICP发送的消息类型包括:
1)CMPP_Connect_REP请求连接应答
2)CMPP_Deliver短信下发
3)CMPP_Submit_REP提交短信应答
4)CMPP_Query_REP短信状态查询结果
5)CMPP_Cancel_REP删除短信应答
6)CMPP_Active_Test_REP激活测试应答
7)CMPP_Active_Test激活测试
8)CMPP_Terminate终止应用层连接
9)CMPP_Terminate_Rep终止应用层连接应答
ISMG之间发送的消息类型包括:
1)CMPP_Fwd消息前转
2)CMPP_Fwd_REP消息前转应答
3)CMPP_Route路由请求
4)CMPP_Route_REP路由请求应答
一次操作流程
短消息
ISMG与ICP之间的通讯采用TCP/IP协议,双方互为client和server端。
发送与接收单独进行,每项业务建立一个连接,通讯采用应答方式,应答与请求在同一个连接中完成。
由于系统采用互为客户端/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。
传输过程中,如果ICP或ISMG认为需要建立TLS连接,则在传输的数据包中置TLS字段,并建立双方的TLS连接。
连接中对ICP的认证采用阶段性认证方式,当ICP首次与IMSG交换信息时,ICP首先发送身份认证包,IMSG对ICP进行身份认证后,记录ICP的IP地址等相关信息,在以后的数据交互时,IMSG把ICP的IP地址作为认证条件,即对没有注册的ICP的相关信息不予处理。
当ICP想断开此逻辑上的应用层连接时,发送断开连接请求包,ISMG接受断开连接请求后,清除掉与此ICP相关的信息,即对MO到此ICP或ICP的MT信息均不予处理,但保存MO的信息,直到ICP再次与ISMG建立逻辑上的应用层连接,即身份认证。
也允许ISMG发起断开ICP的连接请求。
消息采用并发方式发送,并加以流量控制,窗口大小可调,暂定为10条消息,即接收方在应答前一次收到的消息多于10条将予以拒绝。
ICP向ISMG发送的消息类型包括:
1)CMPP_Connect请求应用层连接
2)CMPP_Terminate终止应用层连接
3)CMPP_Terminate_REP终止应用层连接应答
4)CMPP_Deliver_REP下发短信应答
5)CMPP_Submit提交短信
6)CMPP_Query发送短信状态查询
7)CMPP_Cancel删除短信
ISMG向ICP发送的消息类型包括:
1)CMPP_Connect_REP请求连接应答
2)CMPP_Deliver短信下发
3)CMPP_Submit_REP提交短信应答
4)CMPP_Query_REP短信状态查询结果
5)CMPP_Cancel_REP删除短信应答
6)CMPP_Terminate终止应用层连接
7)CMPP_Terminate_Rep终止应用层连接应答
ISMG之间发送的消息类型包括:
1)CMPP_Fwd消息前转
2)CMPP_Fwd_REP消息前转应答
3)CMPP_Route路由请求
4)CMPP_Route_REP路由请求应答
一次操作流程(MO和MT)
消息定义
CMPP连接端口号定义为7890。
字节采用在网络中通用的网络序,超时时长间隔采用斐波那契数列,重发次数动态可调,最好不少于3次。
基本数据类型:
Integer
无符号整数
C-OctetString
变长字符串,以空字符表示字符串结束
OctetString
定长字符串,位数不足时,右补空
7.1消息结构
项目
说明
MessageHeader
消息头(所有消息公共包头)
MessageBody
消息体
7.2消息头格式(MessageHeader)
字段名
字节数
类型
描述
Total_Length
4
Integer
消息总长度(含消息头及消息体)
Command_ID
4
Integer
命令或响应类型
Sequence_ID
4
Integer
消息流水号,顺序累加,步长为1,循环使用
7.3消息体格式(MessageBody)
1.CMPP_Connect请求连接
字段名
字节数
属性
描述
Source_Addr
6
OctetString
ICP_ID
AuthenticatorICP
16
OctetString
ICP认证码[1]
Reverse
8
OctetString
保留项(暂不用)
2.CMPP_Connect_REP请求连接应答
字段名
字节数
属性
描述
Status
1
Integer
状态
0:
正确
1:
消息结构错
2:
非法ICP_ID
3:
ICP认证错
4~:
其他错误
AuthenticatorISMG
16
OctetString
ISMG认证码[2]
Tls_available
1
Integer
是否使用TLS协议层
3.CMPP_Terminate终止连接
消息体为空。
4.CMPP_Terminate_Rep终止连接响应
消息体为空。
5.CMPP_Submit发送短信
字段名
字节数
属性
描述
Msg_id
4
Integer
信息标识
1~FFFFFFFFH
顺序累加,步长为1,循环使用.
Pk_total
1
Integer
相同Msg_id的消息总条数
Pk_number
1
Integer
相同Msg_id的消息序号
Msg_level
1
Integer
信息级别
Service_id
10
OctetString
业务类型
Tls_available
1
Integer
是否使用TLS协议层
Msg_Fmt
1
Integer
信息格式
0:
ASCII串
3:
短信写卡操作
4:
二进制信息
8:
UCS2编码
15:
含GB汉字
Msg_src
6
OctetString
信息内容来源(ICP_ID)
FeeType
1
Integer
资费类别
FeeCode
1
Integer
资费代码
Valid_Time
1或17
C-OctetString
存活有效期(字节数为1时:
不指定存活期,置为NULL)
At_Time
1或17
C-OctetString
定时发送的时间(字节数为1时:
不指定发送时间,置为NULL)
Src_terminal_id
21
OctetString
源终端标识(没有可以为空)
DestUsr_tl
1
Integer
接收消息的用户数量(小于100个用户)
Dest_terminal_id
21*DestUsr_tl
OctetString
接收业务的手机号码
Msg_Length
1
Integer
消息长度(1-70或140)
Msg_Content
Msg_length
C-OctetString
消息内容
Reserve
8
OctetString
保留
6.CMPP_Submit_REP发送短信响应(出错要求ICP全部重发Msg_Id信息)
字段名
字节数
属性
描述
Msg_Id
4
Integer
消息标识
Tls_available
1
Integer
是否使用TLS协议层
Result
1
Integer
结果
0:
正确
1:
消息结构错
2:
命令字错
3:
消息序号重复
4:
消息长度错
5:
资费代码错
6:
超过最大信息长
7:
业务代码错
8:
流量控制错
9~:
其他错误
7.CMPP_Query发送短信状态查询(查询Time属性指定的日期的统计信息)
字段名
字节数
属性
描述
Tls_available
1
Integer
是否使用TLS协议层
Time
8
OctetString
时间(精确至日)
Query_Type
1
Integer
查询类别
0:
总数查询
1:
按业务代码查询
Query_Code
10
OctetString
查询码[3](业务类型)
Reserve
8
OctetString
保留
8.CMPP_Query_REP短信状态查询结果
字段名
字节数
属性
描述
Tls_available
1
Integer
是否使用TLS协议层
Time
8
OctetString
时间(精确至日)
Query_Type
1
Integer
查询类别
0:
总数查询
1:
按业务代码查询
Query_Code
10
OctetString
查询码
MT_TLMsg
4
Integer从ICP接收信息总数
MT_TLusr
4
Integer
从ICP接收用户总数
MT_Scs
4
Integer
成功转发数量
MT_WT
4
Integer
待转发数量
MT_FL
4
Integer
转发失败数量
MO_Scs
4
Integer
向ICP成功送达数量
MO_WT
4
Integer
向ICP待送达数量
MO_FL
4
Integer
向ICP送达失败数量
9.CMPP_Deliver
字段名
字节数
属性
描述
Msg_Id
4
Integer
消息标识
Msg_Level
1
Integer
信息级别
Tls_available
1
Integer
是否使用TLS协议层
Service_id
10
OctetString
业务类型
Msg_Fmt
1
Integer
信息格式
0:
ASCII串
4:
二进制信息
8:
UCS2编码
Srcterminal_id
21
OctetString
源终端标识
Msg_Length
1
Integer
消息长度
Msg_Content
Msg_length
C-OctetString
消息内容
Reserve
8
OctetString
保留项(以后为ICP提供已提交给手机用户的确认信息)
10.CMPP_Deliver_REP下发短信响应
字段名
字节数
属性
描述
Msg_Id
4
Integer
消息标识
Tls_available
1
Integer
是否使用TLS协议层
Result
1
Integer
结果
0:
正确
1:
消息结构错
2:
命令字错
3:
消息序号重复
4:
消息长度错
5:
资费代码错
6:
超过最大信息长
7:
业务代码错
8:
流量控制错
9~:
其他错误
11.CMPP_Cancel删除短信
字段名
字节数
属性
描述
Msg_Id
4
Integer
消息标识
Tls_available
1
Integer
是否使用TLS协议层
12.CMPP_Cancel_REP删除短信响应
字段名
字节数
属性
描述
Tls_available
1
Integer
是否使用TLS协议层
Success_Id
1
Integer
成功标识(0:
成功;1:
失败)
13.CMPP_Active_Test激活测试
字段名
字节数
属性
描述
Tls_available
1
Integer
是否使用TLS协议层
14.CMPP_Active_Test_REP激活测试响应
字段名
字节数
属性
描述
Tls_available
1
Integer
是否使用TLS协议层
Success_Id
1
Integer
成功标识(0--成功)
15.CMPP_Fwd短信前转
字段名
字节数
属性
描述
Source_Id
4
OctetString
源网关的代码
Dest_Id
4
OctetString
目的网关代码
NodesCount
1
Integer
经过的网关数量
Tls_available
1
Integer
是否使用TLS协议层
Msg_id
4
Interger
信息标识
Pk_total
1
Integer
相同Msg_id的消息总条数
Pk_number
1
Integer
相同Msg_id的消息序号
Msg_level
1
Integer
信息级别
Service_id
10
OctetString
业务类型
Msg_Fmt
1
Integer
信息格式
0:
ASCII串
4:
二进制信息
8:
UCS2编码
15:
含GB汉字
Srcterminal_id
21
OctetString
源终端标识(没有可以为空)
DestUsr_tl
1
Integer
接收消息的用户数量
Dest_terminal_id
21*DestUsr_tl
C-OctetString
接收业务的手机号码
Msg_src
6
OctetString
信息内容来源
FeeCode
2
OctetString
资费代码
Valid_Time
1or17
C-OctetString
有效期(字节数为1时:
不指定发送时间,置为NULL)
At_Time
1or17
C-OctetString
定时发送的时间(字节数为1时:
不指定发送时间,置为NULL)
Msg_Length
1
Integet
消息长度
Msg_Content
Msg_length
C-OctetString
消息内容
Reserve
8
M
保留
16.CMPP_Fwd_REP短信前转响应
字段名
字节数
属性
描述
Msg_Id
4
Integer
消息标识
Pk_total
1
Integer
相同Msg_id的消息总条数
Pk_number
1
Integer
相同Msg_id的消息序号
Tls_available
1
Integer
是否使用TLS协议层
Result
1
Integer
结果
0:
正确
1:
消息结构错
2:
命令字错
3:
消息序号重复
4:
消息长度错
5:
资费代码错
6:
超过最大信息长
7:
业务代码错
8:
流量控制错
9:
前转判断错(此ICP不应发往本ISMG)
10~:
其他错误
17.CMPP_Route路由请求
字段名
字节数
属性
描述
New_Gate
1
Integer
0:
普通网关;1:
新增加网关
Request_Total
2
Integer
0:
请求一条;1:
请求多条路由表数据(如果后面字段为空,请求路由表全部)
Service_Type
10
OctetString
请求的业务类型
Service_Code
4
Integer
请求的业务代码
ICP_ID
6
OctetString
ICP的接入代码(如果置Service_Type字段,此字段为空)
18.CMPP_Route_REP路由请求应答
字段名
字节数
属性
描述
Request_Number
2
Integer
返回的路由表数据条数,此字段值如果大于1,下面5个字段重复出现
Service_Type
10
Octetstring
业务类型
Service_Code_Start
4
Integer
业务代码起始标志
Service_Code_End
4
Integer
业务代码结束标志
ICP_ID
6
OctetString
ICP的接入代码(如果置Service_Type字段,此字段为空)
ISMG_ID
4
OctetString
对应上述条件的网关代码
……
8.编号
8.1ISMG_ID
地点
编号(ISMG_ID暂用区号标识)
说明
北京
(010)
斯特奇
江西
(0791)
清华深讯
广州
(020)
清华深讯
天津
(022)
其他待定
8.2ICP编号
ICP名称
编号(ISMG_ID)
说明
新浪
(待定)
搜狐
(待定)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMPP 协议