什么是CMPP协议
用CMPP 接收和回复数据啊
一样的。 3.0比2.0版本高点
编制说明本规范为中国移动通信集团公司企业规范,规定信息资源站实体与互联网短消息网关的应用层接口协议。本协议版本为1.1版。
略缩语
ISMG Internet Short Message Gateway 互联网短消息网关
SMPP Short Message Peer to Peer 短消息点对点协议
CMPP China Mobile Peer to Peer 中国移动点对点协议
TLS Transport Layer Security 传输层安全
SMC Short Message Center 短消息中心
网络结构
因特网SC业务中心即ISMG记录了全网的SMC的位置,要求ICP的功能实体向ISMG发CMPP_SUBMIT消息,由ISMG将消息转发到某SMC上。同时,SMC也可向ISMG发送短消息,由ISMG发送给相应的ICP。
维护管理中心对ISMG进行管理。
CMPP功能
CMPP用以建立短消息中心和ICP之间的通路,业务和信息的提供由ICP完成。可以为实现移动数据增值业务提供服务,例如以下业务:Email通知、语音信箱通知、Internet发短消息、移动台发Email、催费通知、自动综合业务信息台(信息点播业务,主要有:天气预报、股票信息、航班信息等)。
以下以Email通知业务为例,讲述信息的流程:某因特网的用户向ICP的Email Server发送一封Email。ICP的POP3 SERVER激活过滤进程,如果该用户申请了Email通知业务,则过滤进程将用户登记的手机号码取出,将Email的标题取出,绑定在CMPP_SUBMIT消息中,发送给ISMG。ISMG将检查CMPP_SUBMIT消息中“接收业务的手机号码”字段,则在ISMG中查询该手机用户归属的SMC的地址,然后发送给SMC。ISMG得到确认消息后,将消息转换成CMPP_SUBMIT_REP,发回给ICP。SMC收到该消息后,对该消息进行处理,并向ISMG发送确认消息,
由上述流程可见,对于ICP来讲,要做的工作主要集中在第二步,即在EMAIL SERVER中做一个过滤程序,实现上述功能即可。
从协议上说,ICP只要具备CMPP中实现的接口,就可以实现对应于控制层的功能,至于对于具体的ICP功能实体,比如Email Server、Web Server等,尚需做一些应用层的工作。
接口
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-Octet String
变长字符串,以空字符表示字符串结束
Octet String
定长字符串,位数不足时,右补空
7.1消息结构
项目 说明
Message Header 消息头(所有消息公共包头)
Message Body 消息体
7.2 消息头格式(Message Header)
字段名 字节数 类型 描述
Total_Length 4 Integer 消息总长度(含消息头及消息体)
Command_ID 4 Integer 命令或响应类型
Sequence_ID 4 Integer 消息流水号,顺序累加,步长为1,循环使用
7.3 消息体格式(Message Body)
1. CMPP_Connect 请求连接
字段名 字节数 属性 描述
Source_Addr 6 Octet String ICP_ID
AuthenticatorICP 16 Octet String ICP认证码[1]
Reverse 8 Octet String 保留项(暂不用)
2. CMPP_Connect_REP 请求连接应答
字段名 字节数 属性 描述
Status 1 Integer 状态 (0:正确 1:消息结构错 2:非法ICP_ID
3:ICP认证错 4~ :其他错误 )
AuthenticatorISMG 16 Octet String 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 Octet String 业务类型
Tls_available 1 Integer 是否使用TLS协议层
Msg_Fmt 1 Integer 信息格式 0:ASCII串 3:短信写卡操作 4:二进制信息
8:UCS2编码 15:含GB汉字
Msg_src 6 Octet String 信息内容来源(ICP_ID)
FeeType 1 Integer 资费类别
FeeCode 1 Integer 资费代码
Valid_Time 1或17 C-Octet String 存活有效期(字节数为1时:不指定存活期,置为NULL)
At_Time 1或17 C-Octet String 定时发送的时间(字节数为1时:不指定发送时间,置为NULL)
Src_terminal_id 21 Octet String 源终端标识(没有可以为空)
DestUsr_tl 1 Integer 接收消息的用户数量(小于100个用户)
Dest_terminal_id 21*DestUsr_tl Octet String 接收业务的手机号码
Msg_Length 1 Integer 消息长度(1-70或140)
Msg_Content Msg_length C-Octet String 消息内容
Reserve 8 Octet String 保留
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~ :其他错误
……
8FeeType & FeeCode 资费类别和资费代码(待定)
一、信息级别
信息级别从1--9,“9”最高,“0”最低
二、资费代码
具体定义为:
“00”: 免费
“99”: 包月
“98”: 封顶
“01”--“10”:0.01元--0.10元
“11”--“50”:以0.05元递增
“51”--“80”:以0.10元递增
“81”--“97”:保留
[1]用于鉴别ICP。其值通过单向MD5 hash计算得出,表示如下:
AuthenticatorICP =MD5(Source_Addr+9 zero int+ConnectType+shared secret)
Shared secret 由中国移动与ICP事先商定。
[2]用于鉴别ISMG。其值通过单向MD5 hash计算得出,表示如下:
AuthenticatorISMG =MD5(Status+AuthenticatorICP+ Tls_available+shared secret)
Shared secret 由中国移动与ICP事先商定,AuthenticatorICP为ICP发送给ISMG的上一条消息CMPP_Request_Connect中的值。
[3]当Query_Type为0时,此项无效;当Query_Type为1时,此项填写业务代码Service_id.
什么是CMPP协议
从协议上说,ICP只要具备CMPP中实现的接口,就可以实现对应于控制层的功能,至于对于具体的ICP功能实体,比如Email Server、Web Server等,尚需做一些应用层的工作。 接口 CMPP协议以TCP\/IP作为底层通信承载。在有较高的安全性需要时,可选用TLS层进行安全传输。 消息流程 ICP与ISMG之间进行信息交互时,可以采用长连接方式,...
CMPP协议的介绍
CMPP协议 (China Mobile Peer to Peer) 的全称是中国移动通信互联网短信网关接口协议,它是联想亚信公司根据SMMP协议为中国移动量身定做的,是符合中国国情的一个短信协议。
三菱plc中cmpp什么意思
CMPP:中国移动通信互联网短信网关接口协议 (China Mobile Peer to Peer)。是中国移动通信集知团公司企业规范。
关闭sp互联网会断吗?
一、CMPP协议简介中国移动通信互联网短信网关接口协议(China Mobile Peer to Peer CMPP),是中国移动梦网内部各SMS参与节点相互交换SMS的官方协议。作为梦网的参与方,移动梦网的增值服务商(Service Provider SP )要按照此协议规范实现SP的部分,才可以将自己的短信通过移动的GSM网络的数据通道传输到最终手机用户上。实际上...
天翼网关2.0和3.0区别
我们平时在使用网络的过程中,使用最多的就是中国移动的网关协议,这个网关协议的简称是CMPP,CMPP协议还在使用的是有两个版本,一个是2.0版本,另外一个是3.0版本。单从协议上讲CMPP2.0和3.0之间的最大区别是3.0增加了LinkID。值得一提是,3.0版本由于进行了优化,在Fee_terminal_type、Dest_...
华为cmpp2.0短信发送,接口调用成功,用户接收不到短信,电信,联通都可以...
你好 首先,CMPP2.0是运营商的一个短信网关接口协议,其次即使你通过该协议调通了接口发送了短信消息,也不一定用户就直接接收到了,因为你通过该协议发送的短信是先发送到运营商的网关平台,(目前大部分地区的应该是华为公司做的),网关平台再根据各个规则把消息路由到运营商的各个业务处理子模块处理,...
cmpp2.0和3.0的区别!
首先,要说得是也是大家用得最多的中国移动的网关协议--CMPP,CMPP协议还在用得是有两个版本,一个是CMPP2.0,另外一个是CMPP3.0。从SP接入到CMPP3.0开始,就是接入了卓望的MISC系统。单从协议上讲CMPP2.0和3.0之间的最大区别是3.0增加了LinkID。然后在Fee_terminal_type,Dest_terminal_type...
手机上如果有wap push是怎么回事?
一个是通过PPG网关,另外一个是通过SMPP协议。其中SMPP是一个基本协议,在中国主要有三个由其派生的协议:中国移动的CMPP协议,中国联通的SGIP(在CDMA上是ETIP),以及小灵通的SMGP。通过中国移动的PPG网关发送WAP PUSH有着开发周期长,调测流程较复杂等不足,而使用CMPP协议即基于短信网关来进行WAP PUSH...
手机里的"开启WAP PUSH"是什么意思?
WAP PUSH又称服务信息或推入信息,是一种特殊格式的短信,普通短信是文字,WAP PUSH是一种浏览器信息。
发送短信时调用华为包 cmpp2.0协议,报java.lang.IllegalArgumentExcept...
发送短信时调用华为包 cmpp2.0协议,报java.lang.IllegalArgumentException:错误 java.lang.IllegalArgumentException:定义响应激活请求的消息参数输入有误:success_Id小于0或大于255atcom.huawei.insa2.comm.cmpp.message.CMPPActiveRepMessage.<init>(CMPPActiveR... java.lang.IllegalArgumentException: 定义响应激活请求...
超关舒巴:编制说明 本规范为中国移动通信集团公司企业规范,规定信息资源站实体与互联网短消息网关的应用层接口协议.本协议版本为1.1版. 略缩语 ISMG Internet Short Message Gateway 互联网短...
花山区15872634851: cmpp2.0和3.0的区别! - ?
超关舒巴: 首先,要说得是也是大家用得最多的中国移动的网关协议--CMPP,CMPP协议还在用得是有两个版本,一个是CMPP2.0,另外一个是CMPP3.0.从SP接入到CMPP3.0开始,就是接入了卓望的MISC系统.单从协议上讲CMPP2.0和3.0之间的最大...
花山区15872634851: 移动短信通讯协议CMPP2.0,CMPP3.0的区别是什么? - ?
超关舒巴: CMPP3.0好像能够更有效的防止SP商乱收费的问题
花山区15872634851: 手机编辑什么短信内容可以接收到WAP PUSH消息? - ?
超关舒巴: Push-to-Text:http://www.digws.com/,注册号码即可;Push SI:http://wap.sohu.com;OTA Push:http://wapapps0.163.com/wap/help.jsp#27 Push-to-Message(mms通知消息;铃图下载消息):http://sms.sina.com.cn/先要在梦网统一注册 相类似的push...
花山区15872634851: 什么是EMS - ?
超关舒巴: EMS短信 EMS Enhanced Message Service的缩写,意为增强型短消息服务. 它比起SMS来,其优势是除了可以像SMS那样发送文本短消息之外,还可以发送简单的图像、声音和动画等信息.而它更大的优势是EMS仍然可以运行在原有...
花山区15872634851: java版本的CMPP - ?
超关舒巴: CMPP是一个公开的协议,作为一个程序员,你要连通CMPP的代理网关并且发出一个helloworld的短消息是一件非常简单的事情,因为你所需要填充的字段真的不多.CMPP的java源代码 http://down.cnzz.cn/Info/8393.aspx
花山区15872634851: 宁都的网关是什么 - ?
超关舒巴: 宁都网关短信.随着使用支持中文手机的用户增多,短信息已经成为手机用户最经常使用的业务之一.除了大量使用的手机用户到手机用户的点对点短信业务之外,从信息平台到手机用户的短信信息服务业务也在快速发展,该业务已经成为广大...
花山区15872634851: CMPP协议有啥用? - ?
超关舒巴: 用CMPP 接收和回复数据啊