CMPP3.0协议(移动)
CMPP接口协议(移动)
业务提供者与互联网短信网关之间的接口协议
互联网短信网关之间的接口协议
互联网短信网关与汇接网关之间的接口协议
术语和定义
网络结构:
互联网短信网关(ISMG)是业务提供者(SP)与移动网内短信中心之间的中介,
SP发送给移动用户的信息 给ISMG
ISMG接收到后提交给短信中心.
移动用户点播SP业务的信息由短信中心 通过 ISMG发给SP
为了减轻短信中心的负荷,ISMG根据路由原则将SP提交的信息转发到相应的ISMG
ISMG通过汇接网关(GNS)查询的方式获取网关间的转发路由信息
ISMG必须与数据业务管理平台DSMP连接,对用户,业务以及订购关系等进行鉴权并对业务进行批价
CMPP功能:
短信发送
短信接收
CMPP底层:
TCP/IP作为底层通信,
通信方式:
长连接:
一个TCP连接可以发送多个数据包,
没有数据包发送时,双方每隔C时间发送链路监测包维持连接.
当链路检测包发出超过T未收到响应,应立即再发链路监测包,
再连续发送N-1 次后仍未响应则断开连接
消息并发发送,滑动窗口流量控制,窗口大小为W,
即接收方在应答前一次收到的消息最多不超过W条
默认参数值:
C=3分钟
T=60秒
N=3
W=16条
短链接:
有数据交换才建立TCP连接,
应答与请求在同一连接完成,
数据发送后断开.
网关与业务提供者 之间,网关之间的消息发送后等待T秒后未响应
立即重发,连续发送N-1次后未响应停发
默认值:
T=60秒
N=3
要求:
互联网短信网关必须长连接,
建议业务提供者与互联网短信网关采用长连接
端口号:
7890 长连接(业务提供者与网关之间)
7900 短连接(业务提供者与网关之间)
7930 长连接(网关之间)
9168 短链接(短信网关与汇接网关之间)
应答方式:
异步
CMPP3.0与2.0区别
.CMPP_SUBMIT中计费字段和目的字段都增加了一个类型,指明是真实号码还是伪码 伪码是什么含义啊,没解释? 2.CMPP_SUBMIT增加了一个LinkID字段,说"点播业务使用的LinkID,非点播类业务的MT流程不使用该字段" 具体怎么用,也不太明白. 3.状态报告加了MA:xxxx、MB:xxxx、CA:xxxx、CB:xxxx的状态值,意料之中. 4.Register_Delivery字段删除对2(产生SMC话单)的支持;以后包月我猜应该是告诉ISMG某个用户包月了,ISMG每个月自动扣费,直到SP告诉ISMG,
消息定义:
1.基本数据类型
Unsigned Integer 无符号整数
Integer 整数,可为正整数,负数,零
Octet String 定长字符串,
位数不足时,左补0则补ASCll表示的零以填充,
右补0则补二进制的零以表示字符串的结束符
2.消息结构
Message Header 消息头(所有消息公共包头)
Message Body 消息体
3.业务提供者SP与互联网短信网关ISMG间的消息定义
3.1 SP请求连接到ISMG操作(CMPP_CONNECT) SP–>ISMG
SP向ISMG注册一个合法身份, 成功后建立应用层连接
SP可通过此ISMG接受和发送短信
3.2 ISMG响应SP操作(CMPP_CONNECT_RESP) ISMG–>SP
ISMG以CMPP_CONNECT_RESP消息响应SP的请求
3.3ISMG或SP请求拆除连接操作(CMPP_TERMINATE)
此操作完成后, 之间的应用层连接释放,
若SP再要向ISMG通信需发起CMPP_CONNECT操作
以CMPP_CONNECT_RESP消息响应请求
3.4 SP向ISMG提交短信(CMPP_SUBMIT) SP–>ISMG
ISMG以CMPP_CONNECT_RESP消息响应
3.5 SP向ISMG查询发送短信状态(CMPP_QUERY) SP–>ISMG
SP向ISMG查询某个时间业务统计情况,可以按总数或按业务代码查询,
ISMG以CMPP_CONNECT_RESP应答
3.6 ISMG向SP送交短信(CMPP_DELIVER) ISMG–>SP
ISMG把从短信中心或其它ISMG转发来的短信送交SP,
SP以CMPP_CONNECT_RESP消息响应
3.7 SP向ISMG发起删除短信(CMPP_CANCEL) SP–>ISMG
ISMG以CMPP_CONNECT_RESP消息响应
3.8 链路检测(CMPP_ACTIVE_TEST)
本操作仅适用于通信双方采用长连接通信方式时用于保持连接
4.互联网短信网关ISMG之间的消息定义
4.1 源ISMG请求连接到目的ISMG (CMPP_CONNECT)
消息定义同3.1 其中Source_Addr参数为源网关代码
4.2 源ISMG请求拆除到目的ISMG的连接 (CMPP_TERMINATE)
4.3 链路检测 (CMPP_ACTIVE_TEST)
仅用于通信双方采用长连接通信方式时保持连接
4.4 源ISMG向目的ISMG转发短信 (CMPP_FWD)
源ISMG根据一定路由策略将SP提交的短信,MO状态报告,短信中心产生的状态报告,用户提交的短信发到ISMG,
目的ISMG以CMPP_FWD_RESP回应
5.ISMG与汇接网关(GNS)之间的消息定义
要求使用短链接通信,ISMG与GNS可互为客户/服务器
5.1 ISMG请求连接到GNS或GNS请求连接到ISMG (CMPP_CONNECT)
消息定义同3.1 其中Source_Addr参数为源网关代码
5.2 ISMG请求拆除到GNS的连接或GNS请求拆除到ISMG (CMPP_TERMINATE)
5.3 ISMG向GNS查询 MT路由 (CMPP_MT_ROUTE)
ISMG不知道需要转发MT消息的路由时查询CNS.
CNS以CMPP_FWD_RESP回应
5.4 ISMG向汇接网关查询MO路由 (CMPP_MO_ROUTE)
ISMG不知道需要转发MO消息的路由时 可向 CNS查询得到
CNS以CMPP_FWD_RESP回应
5.5 ISMG向GNS获取MT路由 (CMPP_GET_MT_ROUTE)
ISMG可向GNS查询MT的路由信息。
GNS以CMPP_GET_MT_ROUTE_RESP消息回应。
5.6 SMG向GNS获取MO路径 (CMPP_GET_MO_ROUTE)
5.7 ISMG向GNS更新MT路由(CMPP_MT_ROUTE_UPDATE)
GNS以CMPP_MT_ROUTE_UPDATE _RESP消息回应
5.8 ISMG向GNS更新MO路由 (CMPP_MO_ROUTE_UPDATE)
GNS以CMPP_MO_ROUTE_UPDATE _RESP消息回应
5.9 GNS向ISMG更新MT路由(CMPP_PUSH_MT_ROUTE_UPDATE)
GNS可向ISMG更新MT路由信息。
ISMG以CMPP_PUSH_MT_ROUTE_UPDATE_RESP 消息回应。
5.10 汇接网关向ISMG更新MO路由(CMPP_PUSH_MO_ROUTE_UPDATE)
GNS可向ISMG更新MO路由信息。
ISMG以CMPP_PUSH_MO_ROUTE_UPDATE_RESP 消息回应。
CMPP3.0协议(移动)相关推荐
- cmpp3.0协议 java,JAVA CMPP3.0协议实现
JAVA CMPP3.0协议实现 java 2020-7-16 下载地址 https://www.codedown123.com/30108.html JAVA CMPP3.0协议实现 资源下载此资源 ...
- 用C#做短信CMPP2.0/3.0协议 支持扩展号支持物理网卡
此程序为中国移动CMPP协议程序接口,适合在中国移动申请了短信发送端口的公司使用. 短信群发已经成为现在软件系统.网络营销等必不可少的应用工具.可应用在短信验证.信息群发.游戏虚拟商品购买.事件提醒. ...
- CMPP3.0实现物联网卡发短信遇到的问题
当下物联网发展迅猛,物联网卡可以接受短信指令,实现千里之外尽可掌控.本人做过一个这类项目,把相关经验记录下来,分享给需要的人. 物联网卡通讯其实跟电话卡一样,可以使用CMPP协议.不过由于物联网卡位数 ...
- 移动MAS短信技术错误代码和CMPP3.0错误代码表
登录移动网关时错误代码: 1:消息结构错误,检查所发送消息的各个字段值是否符合协议要求. 2:用户名或密码不正确 56:登录重复 57:接入号已做IP绑定,与网关IP不符 CMPP3.0错误代码表: ...
- 使用移动代理CMPP2.0,3.0协议实现短信发送-Java版,使用华为smproxy.jar包
本文使用的是CMPP2.0,CMPP3.0和此逻辑类似,使用的Java类不同而已 1.配置文件 cmpp.xml <config><!--与InfoX建立连接所需参数-->&l ...
- PHP支持http2,swoole-1.8.2 已发布,支持Http2.0协议
PHP的异步.并行.高性能网络通信引擎swoole已发布 1.8.2版本 ,此版本增加了对Http2.0协议的支持,另外修复了swoole-1.8.1版本存在的一些BUG.基于Http2.0协议, ...
- 中国移动短信网关CMPP3.0 C#源代码:使用示例
中国移动短信网关CMPP3.0 C#源代码使用,在上一篇文章中我介绍过cmpp3.0,这段时间因为也做关于 移动短信网关的开发,在这里给大家一个演示如何使用cmpp3.0开发移动短信网关. Using ...
- 协议开发 中移动CMPP2.0协议API(三)
协议开发 中移动CMPP2.0协议API(三) 云网(jimzj@21cn.com) 接上篇... 五.发送接口 对于API来说,最重要的一部分就是去做发送数据了.通过SOCKET套接字与网关相连接后 ...
- Oauth2.0协议 http://www.php20.com/forum.php?mod=viewthreadtid=28 (出处: 码农之家)
概要 OAuth2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0. OAuth 2.0关注客户端开发者的简易性.要么通过组织在资源拥有者和HTTP ...
- SMGP3.0协议的概念知识
该项目主页在https://code.google.com/archive/p/smgp/,可以使用VPN进去看看,该项目是开源的,根据SMGP3.0协议写的API,我们要用的话直接调用就好了,这里主 ...
最新文章
- bigdecimal正确用法_深入理解 BigDecimal 的使用
- hdu2.1.2 How many prime numbers(计算素数的个数)
- Spring could 使用Feign超时问题
- (十三)洞悉linux下的Netfilteramp;iptables:为防火墙增添功能模块【实战】
- 关于db link权限分配的苦旅(一)
- [CTO札记]盛大游戏上市,是对《文化产业振兴规划》的响应
- Some regret....
- mysql指定某行或者某列的排序
- Python 查询 MAC 地址相关信息
- 看电影“刺客聂隐娘”前必须了解的知识(绝无剧透)
- win10修改dns服务器命令,win10怎么修改DNS服务器?win10修改DNS服务器的方法
- python爬取微信朋友圈
- mysql事务 start transaction
- 洛谷P1338(末日的传说)
- CRT连接虚拟机乱码解决方法
- 团队管理33-典型场景(向下沟通)
- 基于AM5728 DSP JTAG连接调试方法
- Hi ! 哈希,Hash
- ANSYS的宏文件mac的创建和应用
- 魔灯raw视频用MLVapp导出LOG方法