短信系统介绍

发表于:2007-05-05来源:作者:点击数: 标签:手机测试系统提供商短信国内
国内服务提供商(SP)与短信网关接入有两种方式 一种是联通的,使用SGIP协议 另一种是移动的,使用CMPP协议 SGIP和CMPP都定义了MO和MT方法,SP可以发送到短信网关 同时消息也可以从短信网关发送到SP。另外也提供了短认发送状态报告,SP发送时可以指定需要此

国内服务提供商(SP)与短信网关接入有两种方式
一种是联通的,使用SGIP协议
另一种是移动的,使用CMPP协议

SGIP和CMPP都定义了MO和MT方法,SP可以发送到短信网关 同时消息也可以从短信网关发送到SP。另外也提供了短认发送状态报告,SP发送时可以指定需要此短信的报告。
两个协议中SP与网关的连接都是基于请求响应模式,双方互为客户/服务器(客户就是请求连接的一方如MT中就是SP发到网关 所以SP是客户, 在MO中网关是客户)。客户发出请求,服务器返回对这个请求的响应。

术语解释

MO由手机用户提交的短消息
MT由手机用户接收的短消息

SGIP与短信网关有两种连接方式、HTTP连接和TCP连接,HTTP连接就是使用HTTP协议发送短信,TCP连接就是向短信网关发送TCP包,下面会说出它与CMPP的区别。。
CMPP只有TCP连接但是它定义了长连接和短连接方式,短连接就是一次连接只进行一个请求-响应操作,操作完成后断开连接,下次操作再建立连接。长连接则是一个连接中可以进行多次请求-响应操作。
SGIP的TCP连接和CMPP中的长连接使用的是流水线的形式, 也就是可以一连发出好多个请求, 然后再等待它们所有的响应,如果某个响应超过一定时间没有收到 那么进行重发,两个协议的重发机制不一样,sgip是简单的超时重发,CMPP的重发机制比较烦一点 ,具体可以看协议。
SGIP和CMPP长连接方式的区别是CMP定义了连接检测包 SGIP没有,所以CMPP的长连接可以保持很长时间不断开 SGIP则超时后就会被断开

MO和MT的实现

短信网关定义了接口(在标准里面有定义)用于接受来自SP的连接
但是到SP的连接两个标准实现不一样
SGIP里面规定了SP应该监听的端口用于接受来自短信网关的连接
但是CMPP中没有 所以CMPP中实现比较乱 与不同的设备提供商有关
开发时需要看这方面的文档

还有就是CMPP协议早期的是CMPP1。2 现在是CMPP2。0 编写时要注意是不是可以使用最新标准(新标准已定义了半年多了 我想支持的还是会有很多 所以这应该不是问题)

最后一点 CMPP中定义了CMPP_QUERY和CMPP_CANCEL 两个操作
但是这两个并没有被多数设备厂商实现 SGIP的功能很简单, 实现的话都已经实现 所以不是问题


原文转自:http://www.ltesting.net