### CMPP3.0:中国移动通信互联短信网关接口协议详解
#### 一、概述
**CMPP3.0**是中国移动通信集团为规范短信业务中各网元(包括ISMG、GNS和SP)之间的交互而制定的一套标准协议。它主要针对信息资源站实体与互联网短信网关(ISMG)之间、互联网短信网关之间以及互联网短信网关与汇接网关(GNS)之间的接口协议进行了详细的规定。
#### 二、协议背景与范围
- **版本历史**:CMPP3.0是基于2.1版进行修订后的最新版本,旨在适应不断发展的短信业务需求。
- **适用对象**:主要面向各SP和ISMG的开发厂商,确保这些实体间的通信能够高效、准确地完成。
- **规范覆盖范围**:涵盖了信息资源站实体(SP)与互联网短信网关(ISMG)之间的接口、互联网短信网关(ISMG)之间的接口以及互联网短信网关(ISMG)与汇接网关(GNS)之间的接口三个方面的内容。
#### 三、协议结构与通信方式
##### 1. 网络结构
- **SP**:服务提供商,负责生成短信内容并将其发送至ISMG。
- **ISMG**:互联网短信网关,作为SP与运营商短信中心之间的桥梁,负责短信的转发。
- **GNS**:网关名称服务器,也称为汇接网关,用于实现不同ISMG之间的短信转发。
##### 2. 通信方式
- **长连接**:在长时间内保持TCP连接不中断,适用于频繁交互的场景。
- **短连接**:每次交互都需要建立和释放连接,适用于低频次交互的场景。
- **端口号**:定义了通信过程中使用的端口号,确保通信的安全性和稳定性。
- **应答方式**:明确了通信双方交互过程中的应答机制,如成功/失败的反馈等。
#### 四、消息定义与操作
##### 1. 消息结构与基本数据类型
- **消息头格式**:定义了消息的基本结构,包括命令ID、序列号等关键字段。
- **基本数据类型**:例如字符串、整型等,用于构建消息的具体内容。
##### 2. SP与ISMG之间的消息定义
- **CMPP_CONNECT**:SP请求连接到ISMG的操作。
- **CMPP_TERMINATE**:请求拆除连接的操作。
- **CMPP_SUBMIT**:SP向ISMG提交短信的操作。
- **CMPP_QUERY**:查询短信状态的操作。
- **CMPP_DELIVER**:ISMG向SP送交短信的操作。
- **CMPP_CANCEL**:SP向ISMG发起删除短信的操作。
- **CMPP_ACTIVE_TEST**:链路检测操作。
##### 3. ISMG之间的消息定义
- **CMPP_CONNECT**:源ISMG请求连接到目的ISMG的操作。
- **CMPP_TERMINATE**:拆除连接的操作。
- **CMPP_FWD**:源ISMG向目的ISMG转发短信的操作。
- **CMPP_ACTIVE_TEST**:链路检测操作。
##### 4. ISMG与GNS之间的消息定义
- **CMPP_CONNECT**:请求连接操作。
- **CMPP_TERMINATE**:请求拆除连接操作。
- **CMPP_MT_ROUTE**/**CMPP_MO_ROUTE**:查询MT(移动终端)和MO(移动起源)路由的操作。
- **CMPP_GET_MT_ROUTE**/**CMPP_GET_MO_ROUTE**:获取MT和MO路由的操作。
- **CMPP_MT_ROUTE_UPDATE**/**CMPP_MO_ROUTE_UPDATE**:更新MT和MO路由的操作。
- **CMPP_PUSH_MT_ROUTE_UPDATE**/**CMPP_PUSH_MO_ROUTE_UPDATE**:推送MT和MO路由更新的操作。
#### 五、命令ID定义
- **Command_Id**:定义了不同的命令ID,用于标识不同的消息类型和操作,例如连接、断开连接、提交短信等。
#### 六、附录与修订历史
- **附录**:提供了额外的信息,如MO状态报告的产生规则等。
- **修订历史**:记录了规范的历次修订情况,有助于了解其演变历程。
通过上述分析可以看出,**CMPP3.0**不仅规范了各实体间的交互流程,还详细定义了消息类型和操作命令,确保了短信业务的高效运行。这对于SP和ISMG等开发者来说至关重要,有助于他们更好地理解和应用该协议,从而提高短信服务的质量和效率。