1、第 I 页 中国网络通信集团公司企业标准 PHS 短消息网关技术规范 第一分册 短消息网关与服务提供商( SP) 接口规范( CNGP) V2.0 第 II 页 目 录 前 言 . 4 1适用范围 . 4 2引用标准 . 4 3缩略语 . 4 4 CNGP 概述 . 6 4.1 CNGP 功能描述 . 6 4.2 协议栈 . 6 4.3 通信方式 . 6 4.3.1 长连接 . 7 4.3.2 短连接 . 9 4.3.3 交互过程中的应答方式 . 10 4.3.4 端口号 . 10 4.4 通信流程 . 10 4.4.1 CNGP 登录模式 . 10 4.4.2 SP 发送短消息 .11 4.
2、4.3 SP 接收短消息 .11 4.4.4 SMGW 转发短消息 . 12 4.5 编号规则 . 13 5 CNGP 消息定义 . 15 5.1 基本数据类型 . 15 5.2 消息结构 . 15 5.3 消息头格式 . 15 5.4 SP 与 SMGW 之间的消息定义 . 16 5.4.1 login . 16 5.4.2 login_resp . 17 5.4.3 submit . 18 第 III 页 5.4.4 submit_resp . 19 5.4.5 deliver . 19 5.4.6 deliver_resp. 20 5.4.7 active_test . 21 5.4.8
3、 active_test_resp . 21 5.4.9 exit . 21 5.4.10 exit_resp. 21 5.5 SMGW 与 SMGW 之间 的消息定义 . 21 5.5.1 login . 22 5.5.2 login_resp . 22 5.5.3 active_test . 23 5.5.4 active_test_resp . 23 5.5.5 forward . 23 5.5.6 forward_resp . 25 5.5.7 exit . 25 5.5.8 exit_resp . 26 6状态报告格式 . 27 6.1 MO 的状态报告 . 27 6.2 MT的状态
4、报告 . 28 7 CNGP 编码说明 . 29 7.1 短消息格式代码表 . 29 7.2 短消息状态表 . 29 7.3 ERR错误代码表 . 34 7.4 STATUS 错误代码表 . 35 7.5 TLV 说明表 . 36 8基于 CNGP 的 API 函数 . 38 附录 A 基于 CNGP 协议的 API 函数说明 . 39 第 4 页 前 言 本标准描述了 PHS 短消息网关( SMGW)和服务提供商( SP)之间、短消息网关( SMGW)和短消息网关( SMGW)之间的通信协议。本协议简称 CNGP( China Netcom Short Message Gateway Pro
5、tocol)。 本标准是 PHS 短消息网关技术规范的系列规范之一,该系列规范的名称如下: PHS 短消息网关技术规范 第一分册:短消息网关与服务提供商( SP) 接口规范( CNGP) ; PHS 短消息网关技术规范 第二分册:短消息网关与计费中心接口规范; PHS 短消息网关技术规范 第三分册:短消息中心外部接口协议 (CNPP); PHS 短消息网关技术规范 第四分册:短消息网关设备规范; PHS 短消息网关技术规范 V2.0 说明。 1适用范围 本规范适用于短消息网关( SMGW)开发商和短消息服务提供商( SP)。 2引用标准 SMPP (Short Message Peer to
6、Peer Protocol Specification) v3.4 3缩略语 英文缩写 英文全称 说明 SMGW Short Message Gateway 短消息网关 SMPP Short Message Peer to Peer 短消息点对点协议 SMSC Short Message Service Center 短消息中心 第 5 页 SP Service Provider 服务提供商 TLV Tag Length Value 由 tag/length/value 三参数定义变量 MO Message Origination 用户发送短消息到 SP 的上行过程 MT Message Te
7、rmination SP 发送短消息到用户的下行过程 PSC Prepaid Service Center 预付费中心 CR Charge Request SP 为收取业务费用 而向短消息网关发送的消息,短消息网关收到消息后不送给用户,仅产生相应的话单 第 6 页 4 CNGP 概述 4.1 CNGP 功能描述 CNGP 标准是 SP 与 SMGW,以及 SMGW 与 SMGW 之间的通信标准。 CNGP可以实现以下功能: 1) SP 通过 SMGW 向用户发送短消息,例如邮件通知、天气预报等。 2) 短消息用户向 SP 点播信息,例如查询股票信息、航班信息等。 3) SP 以某个短消息用户的
8、身份向其他短消息用户发送信息。 4) 短消息用户发送的短消息通过 SMGW 转发给异地或异网的短消息用户。 注:异网是指其他运营商的网络,以下同。 4.2 协议栈 CNGP 标准以 TCP/IP 作为底层通信承载,具体结构由图 4.1 所示: 图 4.1 CNGP 协议栈 4.3 通信方式 SP 与 SMGW 之间、 SMGW 与 SMGW 之间进行信息交互时,可以采用长连接方式,也可以采用短连接方式。所谓长连接,指在一个 TCP 连接上可以连续发送多个数据包,在 TCP 连接保持期间,如果没有数据包发送,需要双方发链路检测消息以维持此连接。短连接是指通信双方有数据交互时,就建立一个 TCP连
9、接,数据发送完成后,则断开此 TCP 连接,即每次 TCP 连接只完成一对 CNGP消息的发送。 CNGP TCP IP 底层承载 SMGW CNGP TCP IP 底层承载 CNGP/CNPP TCP IP 底层承载 CNPP TCP IP 底层承载 SMGW SP SMSC 第 7 页 4.3.1 长连接 通信双方以客户 -服务器方式建立 TCP 连接,用于双方信息的相互提交。当信道上没有数据传输时,通信双方应每隔时间 C 发送链路检测消息以维持此连接,当链路检测消息发出超过时间 T 后未收到应答,应立即再发送链路检测消息,再连续发送 N-1 次后仍未得到应答则断开此连接。 参数 C、 T
10、、 N 原则上应可配置,现阶段建议取值为: C=3 分钟, T=60 秒,N=3。 SMGW 与 SP 之间、 SMGW 与 SMGW 之间的消息发送后等待 T 秒后未收到应答,应立即重发,再连续发送 N-1 次后仍未得到应答则停发。现阶段建议取值为: T=60 秒, N=3。 消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数 W 可配置,现阶段建议为 16,即接收方在应答前一次收到的消息最多不超过 16 条。 长连接的操作流程举例如图 4.2 所示: 第 8 页 图 4.2 长连接一次操作流程 . . . . . . 建立 TC P 连接滑动窗口不大于 WW CNGP 消息 1 客户
11、端 服务器端 CNGP 消息 2 对 CNGP 消息 1 的应答 对 CNGP 消息 2 的应答 链路检测消息 链路检测消息应答 建立 TCP 连接 链路检测消息 链路检测消息应答 拆除 TCP 连接 . . . . . . 建立 TC P 连接第 9 页 4.3.2 短连接 通信双方以客户 -服务器方式建立 TCP 连接,应答与请求在同一个连接中完成。系统采用客户 /服务器模式,操作以客户端驱动方式发起连 接请求,完成一次操作后关闭此连接。 SMGW 与 SP 之间、 SMGW 与 SMGW 之间的消息发送后等待 T 秒后未收到应答,应根据重发机制进行重发,再连续发送 N-1 次后仍未得到应
12、答则停发。现阶段建议取值为: T=60 秒, N=3。 短连接的操作流程举例如图 4.3 所示: 图 4.3 短连接的操作流程 对 CNGP 消息 1 的应答 CNGP 消息 1 建立 TCP 连接 拆除 TCP 连接 CNGP 消息 2 对 CNGP 消息 2 的应答 建立 TCP 连接 拆除 TCP 连接 . . . . . . 建立 TC P 连接客户端 /服务器端 服务器 /客户端 第 10 页 4.3.3 交互过程中的应答方式 在 SP 与 SMGW 及 SMGW 与 SMGW 之间的交互过程中均采用异步方式,即任一个网元在收到请求消息后应立即回送应 答消息。 举例如图 4.4 所示
13、: 图 4.4 异步交互方式示意图 4.3.4 端口号 端口号 应用 9890 长连接( SP 与 SMGW 之间) 9900 短连接( SP 与 SMGW 或 SMGW 与 SMGW 之间) 9930 长连接( SMGW 与 SMGW 之间) 9001 长连接( SMGW 与预付费平台之间) 4.4 通信流程 4.4.1 CNGP 登录模式 在 CNGP 标准的一个会话中 客户端可以采用三种登录方式与服务器端相连:发送模式( Transmit Mode)、接收模式( Receive Mode)和收发模式( Transceiver Mode)。在发送模式中客户端只能发送短消息、在接收模式中客户端只能接收短SMSC SMGW1 SMGW2 SP CNPP 请求消息 CNPP 应答消息 CNGP 请求消息 CNGP 应答消息 CNGP 请求消息 CNGP 应答消息