`
izuoyan
  • 浏览: 8914022 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

各运行商通讯协议总结

阅读更多

本文来自http://blog.csdn.net/lijun84 ,引用必须注明出处!


<!-- [if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 pt</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!-- [if !mso]> < classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui> </object> <style> st1\:*{behavior:url(#ieooui) } </style> <![endif]--><!-- [if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";} </style> <![endif]-->

各运行商通讯协议总结

本人以前在公司为了工作方便,对各运营商的通讯协议(联通 SGIP 、移动 CMPP 、电信 SMGP 、网通 CNGP 、短消息中心与网关间协议 SMPP )进行整理,见《各运行商通讯协议整理》,现总结如下:

一、 由于 SMPP 不存在计费信息,所以我们的下行计费短消息必须通过四大运营商通讯协议下发给各运营商网关,可以暂时不用考虑 SMPP SGIP 的转换

二、 由于四大运营商通讯协议的命令 id 、错误代码、其他各命令等存在差异,所以决定 1919 通讯程序采用如下方法来实现与四大运营商网关的通讯:

1、 分别通过四大运营商各自的协议与它们的网关进行通讯(包括登陆、 submit deliver report 及它们的响应消息);

2、 SGIP 的消息直接处理,但是需要保存 submit 的消息头中的序列号字段,用于与 report 中的消息标志字段对应

3、 CMPP SMGP CNGP 的登陆消息直接处理;

4、 CMPP SMGP CNGP submit deliver report 消息执行协议转换

5、 CMPP SMGP CNGP Submit_Resp Deliver_Resp 直接处理,但是需要保存消息标志字段,用于与 report 中的消息标志字段对应

6、 业务程序生成 SGIP Submit 消息,转换成其他三大运营商的 Submit 消息发给网关;

7、 把其他三大运营商的 Deliver 消息转换成 SGIP Deliver 消息,交给业务程序处理,并且需要保存消息标志字段,用于发送 Deliver_Resp

8、 把其他三大运营商的 Report 消息转换成 SGIP Report 消息,交给业务程序处理,并且需要保存消息标志字段,用于与 Submit_Resp 中的消息标志字段对应

三、 消息头的区别:

1、 SGIP 的序列号长度为 12 ,其他各协议序列号长度为 4

2、 SGIP submit 的消息头中的序列号字段需要保存,用于对应 report SubmitSequenceNumber 字段;

3、 CNGP Submit_Resp 的消息头中的命令状态字段定义了发送成功标志,长度为 4

4、 CNGP Deliver_Resp 的消息头中的命令状态字段定义了接收成功标志,长度为 4

5、 消息头由 1919 平台直接处理;

四、 Submit 消息的区别

1、 CMPP SMGP CNGP 中的 FeeType 字段,可以根据 SGIP 中的 FeeType 转换得到;

2、 CMPP SMGP CNGP 中的状态报告标志字段,可以根据 SGIP 中的 ReportFlag 转换得到;

3、 CNGP 不存在 linkid 字段;

4、 CMPP Msg_Id Pk_total Pk_number Dest_teminal_type 字段,由 1919 平台处理;

5、 CMPP CNGP 都有计费用户类型字段,可以根据 SGIP ChargeNumber 来填写;

6、 CMPP Dest_teminal_type ,默认为 0 ,真实号码;

7、 SMGP FixedFee 字段,可以根据 SGIP 的计费类型字段来填写;

8、 CNGP Protocol_ID 字段,由 1919 平台处理;

五、 Submit_Resp 消息的区别

1、 SGIP CMPP SMGP 三个协议有发送成功标志字段,其中 SGIP 的长度为 1 CMPP SMGP 的长度为 4

2、 CMPP SMGP CNGP 有长度为 8 10 10 的信息标志,它由网关生成,需要保存,用于与 report 消息中的消息标志对应;

六、 Deliver 消息的区别

1、 CNGP 不存在 linkid 字段;

2、 CMPP SMGP CNGP 都存在消息标志字段,需要保存,用于 Deliver_resp 的发送;

3、 CMPP SMGP CNGP 都存在状态报告标志字段,用来判断此消息是否为状态报告消息;

4、 CNGP Protocol_ID 字段,可以忽略;

七、 Deliver_Resp 消息的区别

1、 SGIP CMPP SMGP 三个协议有接收成功标志字段,其中 SGIP 的长度为 1 CMPP SMGP 的长度为 4

2、 CMPP SMGP CNGP 有长度分别为 8 10 10 的消息标志字段,它由网关生成,从 Delive 消息中取出来,需要保存,用于 Deliver_Resp 发送;

八、 Report 消息的区别

1、 CMPP SMGP CNGP 的状态报告都包含在 deliver 的短消息内容字段中;

2、 SGIP 的消息标志对应 submit 消息头的序列号字段 , CMPP SMGP CNGP 的消息标志对应 submit_resp 中消息标志字段

分享到:
评论

相关推荐

    s7-300工程实战总结.pdf

    54. CP342-5能否用于PROFIBUS FMS协议通讯? 14 55. 为什么CP342-5 FO无法建立通讯?如何配置? 14 56. CP342-5的3中工作方式有什么区别? 14 57. CP342-5 最多能完成多少数据交换? 14 58. 如何实现在从站断电、...

    java 面试题 总结

    Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别...

    PPP:PPP使用LCP设置和维护链路

     本地主机不能与远程主机通讯 1) DNS工作不正常2) 没有到远程主机的路由3) 缺少缺省网关4) 管理拒绝(ACL)  某个应用程序不能正常工作 1) 管理拒绝(ACL)2) 网络没有正常配置以处理该应用程序  启动...

    TCP/IP症状和原因

     本地主机不能与远程主机通讯 1) DNS工作不正常2) 没有到远程主机的路由3) 缺少缺省网关4) 管理拒绝(ACL)  某个应用程序不能正常工作 1) 管理拒绝(ACL)2) 网络没有正常配置以处理该应用程序  启动...

    OpenID简介及与struts2_spring_hibernate框架集成

    2.2.3. “发现”: Relying Party站点查询与OpenID服务器进行通讯的方式 - 7 - 2.2.4. Relying Party站点建立与OpenID服务器之间的关联(可选) - 10 - 2.2.5. Relying Party站点请求认证 - 10 - 2.2.6. OpenID服务器...

    vc++ 应用源码包_1

    这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo...

    vc++ 应用源码包_2

    这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo...

    vc++ 应用源码包_6

    这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo...

    vc++ 应用源码包_5

    这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo...

    vc++ 应用源码包_3

    这个是IOCP远程控制软件的模型,服务端运行后会自动发送本机信息到客户端,客户端采用IOCP重叠机制。 IOCP封装类(DLL)发布 主要是CIocpSrv"伪类",实际上还是调用的DLL, IOCP完成端口 IP所在地查询器 jpeglib_demo...

    vc++ 开发实例源码包

    目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, ...

    Tcl_TK编程权威指南pdf

    滚动条协议 滚动条组件 第31章 输入条组件 使用输入条组件 输入条组件 第32章 列表框组件 使用列表框组件 列表框组件的编联 列表框组件的属性 第33章 文本组件 文本索引 文本标记 文本标签 文本信息...

    C#微软培训资料

    2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    主要的工作是发展 Web 规范,这些规范描述了 Web 的通信协议(比如 HTML 和 XHTML)和其他的构建模块。 NativeApp 使用传统原生态Android SDK来实现的应用 WebApp 基于浏览器来实现的一种应用 HybridApp 一种可以...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    各浏览器开发商已经达成协议,对XML实行严格而挑剔的解析,任何细小的错误都会被报告。你可以将上面的myfile.xml修改一下,比如将改为,然后用IE5直接打开myfile.xml,会得到一个出错信息页面: &lt;title&gt;XML轻松...

Global site tag (gtag.js) - Google Analytics