短信开发技术总结--协议篇

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

  从现有的四个移动运营商来说,分别有四个不同的短信网关协议。中国移动(CMPP),中国联通(SGIP),中国电信(SMGP),中国网通(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技术那里都可以找到。

你可能感兴趣的:(电信,华为,中国移动,中国电信)