各运行商通讯协议总结

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


 

各运行商通讯协议总结

      

本人以前在公司为了工作方便,对各运营商的通讯协议(联通 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 中消息标志字段

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值