CMPP讲解_cmpp2.0

CMPP讲解_cmpp2.0  1 、缩略语解释  ISMG                         InternetShortMessageGateway     互联网短信网关

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定
 

1 、缩略语解释

  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 为省会区号,
                                                                          
位数不足时左补

SP_Id                            SP 的企业代码:         网络中 SP 地址和身份的标识、地址翻译、计费、结算等
                                                                          
均以企业代码为依据。企业代码以数字表示, 6 位,
                                                                          
“ 9XY 000 ” “ 9XY 999 ” 其中 “ XY ”
                                                                         
各移动公司代码。

SP_Code                      SP 的服务代码:         服务代码是在使用短信方式的点播类业务中, 提供给
                                                                         
用户点播的内容 / 应用服务提供商代码。服务代码以数
                                                                           
字表示,全国业务服务代码长度统一为 4 位,
                                                                         “ 1000 ”
“ 9999 ” 本地业务服务代码长度统
                                                                         
一为 5 位, “ 01000” “ 09999”

Service_Id                    SP 的业务类型            数字、字母和符号的组合, SP 自定, 如图片传情
                                                                        
可定为 TPCQ ,股票查询可定义为 11
2 CMPP 功能概述

CMPP 协议主要提供以下两类业务操作:
1 短信发送( Short Message Mobile Originate ,移动台始发 SM MO


 未命名1.bmp
1
)手机发出数据请求(可能是订阅信息或图片点播等),被归属 ISMG 接收;
2)
归属 ISMG 对接收到的信息返回响应;
3)
归属 ISMG 在本地查询不到要连接的 SP ,向 GNS( 汇接网关 ) 发路由请求信息;
4) GNS
将路由信息返回;
5)
归属 ISMG 根据路由信息将请求前转给接入 ISMG
6)
接入 ISMG 对接收到的信息返回响应;
7)
接入 ISMG 将请求信息送 SP
8) SP
返回响应;
2 短信接收( Short Message Mobile Terminated ,移动台终止 SM MT  

δ2.bmp 
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 要求返回状态报告)。

3、协议栈

CMPP
协议以TCP/IP 作为底层通信承载,具体结构由图所示:


未命名8.bmp 

4 、通信方式

SP ISMG 之间、 ISMG 之间进行信息交互时,可以采用长连接方式,也可以采用短连接

方式;现阶段建议均采用长连接的方式。所谓长连接,指在一个 TCP 连接上可以连续发送

多个数据包,在 TCP 连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持

此连接。短连接是指通信双方有数据交互时,就建立一个 TCP 连接,数据发送完成后,则

断开此 TCP 连接,即每次 TCP 连接只完成一对 CMPP 消息的发送。

 

1 长连接

通信双方以客户 服务器方式建立 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 条。

长连接的操作流程举例如图所示:


 未命名4.bmp
2
)短链接

通信双方以客户 服务器方式建立 TCP 连接,应答与请求在同一个连接中完成。系统采用客

/ 服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

网关与 SP 之间、网关之间的消息发送后等待 T 秒后未收到响应,应立即重发,再连续

发送 N-1 次后仍未得到响应则停发。现阶段建议取值为: T=60 秒, N=3

短连接的操作流程举例如图 6 所示:

未命名5.bmp

3 )涉及到的端口号

端口号

应用

7890

长连接( SP 与网关间)

7900

短连接( SP 与网关间或网关之间)

7930

长连接(网关之间)

9168

短连接(短信网关与汇接网关之间)

4 、消息定义

1 )基本数据类型

Unsigned Integer

无符号整数

Integer

整数,可为正整数、负整数或零

Octet String

定长字符串,位数不足时,如果左补 0 则补 ASCII 表示的零以填充,如果右补 0 则补二进制的零以表示字符串的结束符

 

2 )消息结构

和一般的消息一样,CMPP消息也包括消息头(所有消息公共包头

)和消息体。

 

3 )消息头格式( Message Header

字段名

字节数

类型

描述

 

Total_Length

4

Unsigned Integer

消息总长度 ( 含消息头及消息体 )

Command_Id

4

Unsigned Integer

命令或响应类型

Sequence_Id

4

Unsigned Integer

消息流水号 , 顺序累加 , 步长为 1, 循环使用(一对请求和应答消息的流水号必须相同)

 

4 MO 流程中的消息流程


未命名6.bmp 

   

4 MT 流程中的消息流程

未命名7.bmp 

   

说明:

上面消息流程中有几条消息由于我偷懒没有画出来,比如CMPP_TERMINATECMPP_TERMINATE_RESP等,希望大家注意

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/207180.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 计算机系统构成及硬件基础知识

    目录数值转换R进制转十进制使用按权展开法。十进制转R进制使用短除法。二进制转八进制。二进制转十六进制。数的表示原码/反码/补码/移码浮点数运算计算机的基本组成计算机体系结构计算机体系软硬件的层次结构计算机的一些基本概念本章主要包括以下部分:数值转换 数的表示 计算机体系结构 计算机的组成 寻址方式 校验码数值转换R进制转十进制…

  • 嵌入在网站上Flash播放机(2)

    嵌入在网站上Flash播放机(2)

  • 单片机控制步进电机

    单片机控制步进电机简介:用单片机控制步进电机正转反转加速减速;由LCD1602实时显示步进电机的状态;F-正转,B-反转;数字越大,转速越大;仿真原理图如下:MCU和LCD1602显示模块:ULN2803驱动和步进电机模块:C语言代码如下:/*—————————–FileName:StepperMotor.hFunction:函数头文件Autho…

  • java getrealpath_JavaEE路径陷阱之getRealPath「建议收藏」

    java getrealpath_JavaEE路径陷阱之getRealPath「建议收藏」JavaEE程序有一大路径陷阱,那就是ServletContext的getRealPath方法。我们常常使用getRealPath(“/”)来获得Web应用程序根目录的绝对路径。这是绝对要不得的!提供这个方法绝对是JavaEEAPI开发组的一大败笔。使用它,我们会万劫不复!绝对不要使用ServletContext的getRealPath方法获取Web应用的路径!应该使用ServletContex…

  • JavaCV开发详解之3:通用拉流器实现,从流媒体服务器拉流rtsp/rtmp录制成视频文件

    JavaCV开发详解之3:通用拉流器实现,从流媒体服务器拉流rtsp/rtmp录制成视频文件javaCV系列文章:javacv开发详解之1:调用本机摄像头视频javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG)javaCV开发详解之4:转流器实现(也可作…

  • java开发面试基础题_面试题 java

    java开发面试基础题_面试题 java一、对象的实例化1.创建对象的方式new:最常见的方式(本质是构造器)变形1:Xxx的静态方法变形2:XxBuilder/XxoxFactory的静态方法Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是publicConstructor的newInstance(Xxx):反射的方式,位于java.lang.reflect.Constructor可以调用空参、带参的构造器,权限没有要求使用clone():不调用任何构造器,当前类需

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号