博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
短信开发技术总结--协议篇
阅读量:4572 次
发布时间:2019-06-08

本文共 2486 字,大约阅读时间需要 8 分钟。

用户产品定制(mo-Manufacture Order)>>移动服务商短信中心(以smpp格式发送内容)>>短信网关(以营运商采网关协议方式发送)>>sp

所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测包以维持此连接。短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CMPP消息的发送

1)短信信息服务参与实体

·服务提供商(Service Provider缩写SP):短信信息服务的信息提供者;

·短信网关(Internet Short Message Gateway缩写ISMG):提供SP与短信中心之间数据交换的通道,采用CMPP(China Mobile Peer to Peer)协议与SP进行连接,采用SMPP3.3协议与短信中心连接;
·短信中心(Short Message Service Center缩写SMSC):利用信令网将短消息发送给手机用户;
·汇接网关(Gateway Name Server缩写GNS):提供短信网关的路由查询。
Operations Support Systems (OSS)

(2)短信信息服务业务过程

    用户发短信业务—即MO业务,如信息点播等,短信中心将短信内容以SMPP协议发给连接的短信网关。短信网关根据短信发送号码(即SP的服务代码)将短信内容以CMPP协议发给相应的SP,由SP进行处理。

    用户收短信业务—即MT业务,如短信传情、铃音下载等,提供此项业务的SP将短信内容以CMPP协议发给连接的短信网关,由短信网关根据用户手机号段以SMPP协议发给用户归属的短信中心。

(3)短信网关间的信息转发和路由查询

    如果用户归属的短信中心和提供业务的SP连接在不同的短信网关上,则由短信网关之间以CMPP协议进行转发。

    各短信网关连接的SP和短信中心的路丸情况,由汇接网关维护,由各短信网关以CMPP协议进行路由查询和路由更新。各短信网关会将查询到的路由信息在本地缓存,汇接网关也会将更新的路由信息以CMPP协议下发。

现在提供短信服务的SP都需要接入到各个移动运营商,虽然作为短信来说是同过SMPP协议和移动的交换中心进行通信。但是为了提供信息服务,对各种业务进行业务管理,以及计费,因此每个移动运营商都开发了相应的网关协议,给SP做开发接口。因此这些网关协议就是做一次转换,把SP发过来的信息转换成SMPP协议发送给交换中心,并且实现了计费以及业务的管理功能。

  从现有的四个移动运营商来说,分别有四个不同的短信网关协议。中国移动(CMPP-China Mobile Peer to Peer),中国联通(SGIP-Short Message Gateway Interface Protocol),中国电信(SMGP-Short Message Gateway Protocol),中国网通(CNGP)。前两个运营商主要针对现在手机的用户,后两个运营商是针对小灵通的用户。对于这些不同的协议,由于不同地方的移动运营公司采用不同厂家的产品,因此,在实现的时候都会有一些小差异,这点要比较注意,否则比如中国移动的CMPP网关在华为网关能够跑的系统,不一定可以在亚信网关上直接用的。

  下面就对现在的每个网关协议进行介绍。

 
  首先,要说得是也是大家用得最多的中国移动的网关协议--CMPP,CMPP协议还在用得是有两个版本,一个是CMPP2.0,另外一个是CMPP3.0。从SP接入到CMPP3.0开始,就是接入了卓望的MISC系统。单从协议上讲CMPP2.0和3.0之间的最大区别是3.0增加了LinkID。然后在Fee_terminal_type,Dest_terminal_type以及Src_terminal_type增加对用户号码的定义,当这些用户号码类型为0:表示真实号码;为1:表示伪码。从增加的这些信息可以看到,第一,LinkID其实是一个临时的定购关系标识,也就是说对于点播类业务,SP的短信系统收到这个LinkID后,才能建立正常的定购关系,而发送的信息必须携带LinkID才可以成功收费,否则就会监权失败,信息发送不出去。这样就从技术上阻止了SP乱发收费信息;第二,用户号码类型,现在传给SP还是普通的手机号码,那么有了这个标识就是以后有可能发送上来的不是用户的手机号码了,而是一个普通的伪码,那么以后SP就不能获得最终用户的手机号码了。CMPP3.0除了协议方面的改进外,还把定购关系从SP方面剥离。以前CMPP2.0的时代,用户的定购关系由SP自行把握,因此很容易出现SP私自捆绑用户收费的现象,现在中国移动上了MISC1.6后,就把所有定购关系都放在运营商,而通过Provision的方式来和SP进行定购用户的同步,并且订购关系以运营商里面的数据为准,这也是从技术上杜绝了SP自己管理的定购关系所出现的问题。

  然后,介绍一下在手机方面的另外一个网关协议,中国联通的SGIP,SGIP和移动的CMPP一样都有两个版本,SGIP1.2, SGIP1.3。新旧版本之间的主要区别也是增加了LinkID项。并且对于各种不同的业务类型,如手机点播,网上点播等都参数都做了重新的调整。中国联通也上了一个类似移动MISC的管理平台,SP的各种业务监权也通过该管理平台审核。

  最后,要介绍一下的就是小灵通方面的两个协议,一个就是中国电信的SMGP1.3协议,另外就是中国网通的CNGP1.0协议,这两个协议在最近的升级里面都采用了联通的办法,使用MMSP这样一套系统进行监权管理,对于点播业务来说,只有和服务代码相对应的字冠才可以正常收发信息。

  以上是对现在运营商提供的短信协议进行简单的介绍,详细协议的内容,请到SP论坛关于SMS技术那里都可以找到

 
 

转载于:https://www.cnblogs.com/BlogNetSpace/articles/1566052.html

你可能感兴趣的文章
uva 10608 Friends 并查集
查看>>
Java.util.Map排序输出
查看>>
iOS 字体下载
查看>>
Distinct
查看>>
INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net解决办法
查看>>
SQL 循环语句
查看>>
XML文档
查看>>
Java 泛型
查看>>
定义页面加载和导航时要执行的函数/自定义事件
查看>>
rem.js
查看>>
Unslider.js Tiny Sample
查看>>
FPGA的学习及注意事项
查看>>
关于python中,map,reduce,filter,sort函数的用法:
查看>>
面向对象内存分析
查看>>
Dijkstra BZOJ2763 [JLOI2011]飞行路线
查看>>
前端快捷键
查看>>
重新认识成功、失败、错误、平凡、笨拙
查看>>
【模板】Hash
查看>>
洛谷 1485 火枪打怪
查看>>
Fortran编译器
查看>>