### CMPP短信中心接入知识点详解 #### 一、CMPP协议概述 **CMPP协议**(China Mobile Peer to Peer Protocol),是中国移动集团为了实现互联网服务提供商(ICP)与短消息中心(SMC)之间的互联互通而制定的一套标准协议。该协议主要用于规范ICP通过互联网短消息网关(ISMG)向移动终端用户发送短消息的过程。 #### 二、CMPP协议的网络结构 1. **ISMG (Internet Short Message Gateway)**:互联网短消息网关是连接互联网与移动通信网络的关键组件,它负责转发来自ICP的信息至SMC,并将SMC返回的状态报告或其他响应信息发送给ICP。 2. **SMC (Short Message Center)**:短消息中心是移动运营商的核心网络组件之一,用于存储、管理和转发用户的短消息。 3. **ICP (Internet Content Provider)**:互联网内容提供商,负责提供各种增值服务,如电子邮件、语音信箱通知等。 #### 三、CMPP协议的功能 CMPP协议的主要功能在于建立ICP与SMC之间的通信通道,使得ICP能够向SMC提交短消息或查询短消息状态等操作。通过CMPP协议,可以实现多种增值服务,包括但不限于: - **Email通知**:当用户收到新的电子邮件时,可以通过CMPP协议发送一条包含邮件主题的简短通知到用户的手机。 - **语音信箱通知**:用户收到新的语音留言时,可以发送一条通知短消息。 - **Internet发短消息**:允许用户通过互联网向手机发送短消息。 - **移动台发Email**:允许用户通过手机发送短消息到特定邮箱,进而转化为电子邮件。 - **催费通知**:向欠费用户发送催缴费用的通知。 - **自动综合业务信息台**:提供天气预报、股市信息、航班信息等多种信息服务。 #### 四、CMPP协议的接口 1. **接口技术**:CMPP协议基于TCP/IP协议栈,确保了在网络层面上的安全可靠传输。在需要更高安全性的应用场景中,还可以使用TLS (Transport Layer Security)层来进一步加密通信内容。 2. **消息流程**: - **长连接**:ICP与ISMG之间维持一个持久的连接,在连接期间可以发送多个消息,直到连接被主动关闭。这种方式适用于频繁交互的场景。 - **短连接**:ICP与ISMG之间仅在需要发送数据时才建立连接,数据发送完毕后立即关闭连接,适用于低频交互的场景。 #### 五、CMPP协议的消息类型 CMPP协议定义了一系列消息类型,用于实现不同的功能: 1. **ICP向ISMG发送的消息**: - `CMPP_Connect`:请求建立应用层连接。 - `CMPP_Terminate`:终止应用层连接。 - `CMPP_Deliver_REP`:下发短信应答。 - `CMPP_Submit`:提交短信。 - `CMPP_Query`:发送短信状态查询。 - `CMPP_Cancel`:删除短信。 - `CMPP_Active_Test`:激活测试。 - `CMPP_Active_Test_REP`:激活测试应答。 2. **ISMG向ICP发送的消息**: - `CMPP_Connect_REP`:请求连接应答。 - `CMPP_Deliver`:短信下发。 - `CMPP_Submit_REP`:提交短信应答。 - `CMPP_Query_REP`:短信状态查询结果。 #### 六、实现细节 在实现CMPP协议的过程中,需要注意以下几个方面: 1. **并发控制**:为了提高效率,CMPP协议支持并发发送消息,但同时也需要实施流量控制措施。例如,接收方在应答前一次收到的消息超过10条时会拒绝继续接收,以此避免消息积压和网络拥塞。 2. **安全性**:在需要更高安全性的情况下,可以使用TLS层加密通信内容。TLS字段的设置决定了是否启用TLS加密。 3. **错误处理**:对于所有发送出去的消息,都需要等待接收方的应答消息。如果长时间未收到应答,需要重新发送或采取其他错误恢复措施。 4. **应用层实现**:对于具体的ICP功能实体(如Email Server、Web Server等),还需要实现相应的应用层逻辑,以便与CMPP协议配合使用。 CMPP协议为ICP提供了与SMC交互的标准方法,不仅可以提高短消息服务的质量,还能促进更多增值服务的发展。对于想要开发或集成短消息服务的企业而言,理解和掌握CMPP协议的相关知识点至关重要。
2025-06-20 09:27:20 46KB CMPP协议 JAVA
1
Java实现DLT645-2007协议报文的下发和上行报文的解析, 通过485转USB接口下发报文, 解析电表上行报文,显示电表数据。代码实现了DL/T645-2007下行报文的组织和上行报文的解析方法,适用主站和数据终端的数据采集,方便开发人员对智能电表串口通讯、开发调试。
1
BACnet协议的流量获取,使用java实现
2022-09-25 13:00:57 20KB bacnet
技術分享_Workflow_Installation1
2022-08-09 09:00:23 393KB 网络协议 java xhtml
1
本档包含以下部分:概述系统分析系统体系结构接定义模块设计数据库设计故障检测和处理机制本产品遵循《计算机软件保护条例》的各项规定。
2022-08-04 21:00:22 437KB 数据库 网络协议 java 软件/插件
1
java实现 SSL双向认证,java ssl包使用
2022-07-08 11:04:33 7KB SSL协议 JAVA+SSL
1
Xmodem和Ymodem 传输协议JAVA实现
2022-04-28 18:39:05 36KB Xmodem JAVA
1
短消息代理(CMPP20 SMProxy、CMPP30 SMProxy,CNGP SMProxy、SGIP SMProxy、SMGP20 SMProxy、SMPP20 SMProxy)使用说明书,JAVA类的联通发送、接收test.
2022-02-15 17:09:03 325KB 华为 短信网关 SMProxy
1
一) 设计内容 采用Java等编程语言模拟实现内部网关协议RIP。 二) 设计要求 1) 掌握内部网关协议RIP的工作原理; 2) 模拟程序能够初始化网络拓扑结构,并生成每个路由器上的路由表。 3) 模拟可以模拟RIP协议的执行:定期根据网络拓扑结构的变化,更新每台路由器上的路由表。 4)可通过命令或操作(通过图形化界面),更改网络拓扑结构。 5) 在RIP协议的执行过程中,模拟程序能够输出指定路由器的路由表。路由表的数据结构为。 图1 模拟网络的拓扑结构 三)说明 模拟程序涉及三类对象:网络、路由器和路由表。其中,模拟程序具有6个网络,网络中包含至少6台路由器,每台路由器拥有一个路由表。模拟程序主要有四个功能: 1、初始化网络拓扑、建立路由表、建立邻接关系、设置定期更新时间。 2、在执行的过程中,用户可以输入更改网络拓扑结构的命令/操作:网络加入、网络退出、路由器故障等。 3、根据网络拓扑结构的变化,RIP协议定期更新每台路由器中的路由表。 4、可以通过命令暂停模拟程序的执行,并输出当前状态下,指定路由器的路由表。
2022-01-12 09:05:55 17KB 网络协议 java 以太网
基于电信smgp3.0协议的短信接口!简单测试通过
2021-12-09 15:13:47 55KB smgp3.0 java 短信 电信
1