中国网通PHS短消息网关技术规范第三分册Word格式.docx

上传人:b****3 文档编号:16718264 上传时间:2022-11-25 格式:DOCX 页数:39 大小:149.04KB
下载 相关 举报
中国网通PHS短消息网关技术规范第三分册Word格式.docx_第1页
第1页 / 共39页
中国网通PHS短消息网关技术规范第三分册Word格式.docx_第2页
第2页 / 共39页
中国网通PHS短消息网关技术规范第三分册Word格式.docx_第3页
第3页 / 共39页
中国网通PHS短消息网关技术规范第三分册Word格式.docx_第4页
第4页 / 共39页
中国网通PHS短消息网关技术规范第三分册Word格式.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

中国网通PHS短消息网关技术规范第三分册Word格式.docx

《中国网通PHS短消息网关技术规范第三分册Word格式.docx》由会员分享,可在线阅读,更多相关《中国网通PHS短消息网关技术规范第三分册Word格式.docx(39页珍藏版)》请在冰豆网上搜索。

中国网通PHS短消息网关技术规范第三分册Word格式.docx

5.5.2.2UNBIND_RESP语法18

5.5.3GENERIC_NACK命令18

5.5.3.1GENERIC_NACK语法18

5.5.4SUBMIT_SM命令18

5.5.4.1SUBMIT_SM语法18

5.5.4.2SUBMIT_SM_RESP语法20

5.5.5SUBMIT_MULTI命令20

5.5.5.1SUBMIT_MULTI语法20

5.5.5.2SUBMIT_MULTI_RESP语法22

5.5.6DELIVER_SM命令23

5.5.6.1DELIVER_SM语法23

5.5.6.2DELIVER_SM_RESP语法24

5.5.7DATA_SM命令25

5.5.7.1DATA_SM语法25

5.5.7.2DATA_SM_RESP语法26

5.5.8QUERY_SM命令26

5.5.8.1QUERY_SM语法26

5.5.8.2QUERY_SM_RESP语法27

5.5.9CANCEL_SM命令27

5.5.9.1CANCEL_SM语法27

5.5.9.2CANCEL_SM_RESP语法28

5.5.10REPLACE_SM命令28

5.5.10.1REPLACE_SM语法28

5.5.10.2REPLACE_SM_RESP语法29

5.5.11ENQUIRE_LINK命令30

5.5.11.1ENQUIRE_LINK语法30

5.5.11.2ENQUIRE_LINK_RESP语法30

5.5.12ALERT_NOTIFICATION命令30

5.5.12.1ALERT_NOTIFICATION语法30

6.状态报告31

7.参数数值定义32

7.1command_id数值定义32

前言

本标准描述了PHS短消息中心(SMSC)和外部短消息实体(ESME)之间的通信协议。

本协议简称CNPP(ChinaNetcomShortMessagePeertoPeerProtocol)。

本标准是PHS短消息网关技术规范的系列规范之一,该系列规范的名称如下:

PHS短消息网关技术规范第一分册:

短消息网关与服务提供商(SP)接口规范(CNGP);

PHS短消息网关技术规范第二分册:

短消息网关与计费中心接口规范;

PHS短消息网关技术规范第三分册:

短消息中心外部接口协议(CNPP);

PHS短消息网关技术规范第四分册:

短消息网关设备规范;

PHS短消息网关技术规范V2.0说明。

本标准起草单位:

中国网络通信集团公司、中国网通集团研究院

本标准主要起草人:

张文钺、李松林、蒋美景、叶丹、潘海鹏、王志军

本规范的解释权属于中国网络通信集团公司。

1.适用范围

本规范规定了PHS通信网外部短消息实体(ESME)与短消息中心(SMSC)之间通信协议的技术细节。

本规范主要适用于PHS通信网外部短消息实体(ESME)和短消息中心(SMSC),为短消息中心(SMSC)接入外部短消息实体(ESME)提供技术依据。

2.引用标准

SMPP(ShortMessagePeertoPeerProtocolSpecification)v3.4

3.缩略语

英文缩写

英文全称

说明

ESME

ExternalShortMessageEntity

外部短消息实体

PDU

ProtocolDataUnit

协议数据单元

SME

ShortMessageEntity

短消息实体

SMPP

ShortMessagePeertoPeer

短消息点对点协议

SMSC

ShortMessageServiceCenter

短消息中心

ACK

Acknowledgement

确认应答

NACK

NegativeAcknowledgement

否认应答

CDR

CallDetailRecord

详细呼叫记录

API

ApplicationProgrammingInterface

应用编程接口

SMGW

ShortMessageGateway

短消息网关

PS

PersonalStation

用户终端

SS

SecretarySystem

秘书台

AS

AutoSystem

自动台

注:

在本规范中,ESME泛指那些处在PHS通信网外的短消息源或者接收实体,如SMGW,SS,AS,语音邮箱系统和消息处理计算机等。

SME则位于PHS通信网内,一般就指用户终端(PS)。

4.协议概述

本规范规定了SMSC和ESME之间通信的数据格式。

本规范是在SMPP3.3协议的基础上,经过扩展而成。

4.1系统网络结构示例

图1SMSC和ESME连接的短消息系统网络图

SMSC指短消息中心。

ESME在本规范中指的是通过本规范规定的协议与SMSC通信,请求特定的短消息服务的功能实体。

SMGW指短消息网关。

VMS指语音邮箱系统。

SS指人工话务接入并受理短消息服务请求的系统。

AS指利用交互式语音技术受理短消息服务请求的系统。

SMGW、VMS、SS和AS是典型的ESME。

SMSC和ESME之间基于TCP/IP协议进行通信。

4.2协议功能

通过本规范,一个外部短消息实体ESME可以在TCP/IP连接之上与SMSC建立应用层连接。

通过该连接,ESME与SMSC之间可以互相发送和接收短消息。

此外,ESME还可以查询、取消和替代短消息。

CNPP可以实现的功能举例如下:

1.ESME通过SMSC向一个或多个目的地址发送短消息

2.ESME可以通过SMSC从其他的SME(如用户终端)接收短消息

3.查询存储在SMSC的短消息的状态

4.取消或替代存储在SMSC的短消息

5.设定短消息的发送日期和时间

6.选择短消息的模式,即数据报或者存储转发

7.设置短消息发送的优先级

8.定义短消息的数据编码类型

9.设置短消息的有效期限

4.3CNPP协议定义

CNPP协议是一个数据报方式的交互式协议,通过TCP/IP协议传递数据。

ESME和SMSC之间通过交换请求和应答PDU来进行通信。

本规范定义了:

1.ESME和SMSC之间交互的命令集以及与之相关的PDU。

2.ESME和SMSC在CNPP命令里交换的数据。

在CNPP里,每一个命令都由一个请求PDU和一个应答PDU组成。

接收方对于每一个CNPPPDU请求,都必须返回一个应答。

唯一的例外是:

alter_notification没有应答PDU。

ESME和SMSC之间的交互消息可以归类为如下的两个部分:

(1)ESME到SMSC的消息

(2)SMSC到ESME的消息

4.4协议栈

CNPP标准以TCP/IP作为底层通信承载,具体结构由图2所示:

图2CNPP协议栈

4.5通信方式

ESME和SMSC之间进行信息交互时,SMSC作为服务器端,ESME作为客户端建立连接,可以采用长连接方式,也可以采用短连接方式。

所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发链路检测消息以维持此连接。

短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对CNPP消息的发送。

基于效率上的考虑,建议使用长连接方式。

4.5.1长连接

通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。

当信道上没有数据传输时,通信双方应每隔时间C发送链路检测消息以维持此连接,当链路检测消息发出超过时间T后未收到应答,应立即再发送链路检测消息,再连续发送N-1次后仍未得到应答则断开此连接。

参数C、T、N原则上应可配置,现阶段建议取值为:

C=3分钟,T=60秒,N=3。

ESME和SMSC之间的消息发送后等待T秒后未收到应答,应立即重发,再连续发送N-1次后仍未得到应答则停发。

现阶段建议取值为:

T=60秒,N=3。

消息采用并发方式发送,加以滑动窗口流量控制,窗口大小参数W可配置,现阶段建议为16,即接收方在应答前一次收到的消息最多不超过16条。

长连接的操作流程举例如图3所示:

图3长连接

4.5.2短连接

通信双方以客户-服务器方式建立TCP连接,应答与请求在同一个连接中完成。

系统采用客户/服务器模式,操作以客户端驱动方式发起连接请求,完成一次操作后关闭此连接。

短连接的操作流程举例如图4所示:

图4短连接的操作流程

4.6会话流程

4.6.1登录模式

在CNPP标准的一个会话中ESME可以采用三种方式与SMSC相连:

发送模式(TransmitMode)、接收模式(ReceiveMode)和收发模式(TransceiverMode)。

在发送模式中ESME只能发送短消息、在接收模式中ESME只能接收短消息、在收发模式中ESME既可以发送也可以接收短消息。

三种模式均可以采用长连接与短连接两种连接方式的一种,根据实际情况选择。

4.6.2典型流程

4.6.2.1发送模式

图5ESME以发送模式连接到SMSC

图5描述了一个典型的发送模式下的请求应答序列。

ESME以发送模式连接到SMSC。

ESME向SMSC发起提交短消息,查询短消息状态,删除短消息等请求,SMSC返回请求的应答。

ESME和SMSC之间的请求应答消息可以是阻塞方式也可以是异步方式的。

所以ESME可能在SMSC没有应答的情况下,发起多个请求到SMSC。

SMSC应该按照收到的请求顺序,给ESME回响应。

但是ESME必须能够处理没有按顺序的响应。

4.6.2.2接收模式

图6ESME以接收模式连接到SMSC

图6描述了一个典型的接收模式下的消息序列。

ESME以接收模式连接到SMSC。

SMSC向此类ESME转发短消息,ESME向SMSC回应答。

所以SMSC可能在ESME没有回应答的情况下,发送发起多个deliver_sm请求到ESME。

ESME应该按照收到的请求顺序,给SMSC返回响应。

但是SMSC必须能够处理没有按顺序回的响应。

4.6.2.3收发模式

图7ESME以收发模式连接到SMSC

图7描述了一个典型的收发模式下的请求应答序列。

ESME以收发模式连接到SMSC。

ESME向SMSC发起提交短消息,查询短消息状态,删除短消息等请求,SMSC返回请求的应答;

SMSC向ESME转发短消息,ESME向SMSC回应答。

反之亦然。

5.CNPPPDU定义

5.1PDU列表

5.1.1ESME到SMSC的消息

命令

描述

实现级别

bind_receiver

ESME要求以接收模式连接到SMSC

必选

bind_transmitter

ESME要求以发送模式连接到SMSC

bind_transceiver

ESME要求以收发模式连接到SMSC

unbind

ESME要求断开连接到SMSC

generic_nack

表示消息头有错误的响应

submit_sm

ESME提交短消息到SMSC,以便SMSC下发此短消息到指定的用户终端

submit_multi

ESME提交一条短消息到SMSC,SMSC下发此短消息到多个接收者,或者一个或多个发布列表

deliver_sm_resp

deliver_sm的响应

data_sm

ESME请求SMSC发送短消息到用户终端

可选

data_sm_resp

data_sm的响应消息

query_sm

ESME查询以前所提交的短消息的状态

cancel_sm

ESME要求取消以前所提交的某条短消息

replace_sm

ESME要求替换以前所提交的某条短消息

enquire_link

询问与SMSC的连接情况

表1ESME到SMSC的消息

5.1.2SMSC到ESME的消息

命令

bind_receiver_resp

bind_receiver的响应,status表示连接成功与否

bind_transmitter_resp

bind_transmitter的响应,status表示连接成功与否

bind_transceiver_resp

bind_transceiver的响应,status表示连接成功与否

unbind_resp

unbind的响应,status表示断开连接成功与否

submit_sm_resp

submit_sm的响应,status表明提交短消息是否成功

submit_multi_resp

submit_multi的响应。

deliver_sm

SMSC下发短消息到ESME

SMSC将用户终端发送的短消息传递到ESME

query_sm_resp

query_sm的响应,status表明此次询问是否成功,其它内容返回查询到的短消息信息

cancel_sm_resp

cancel_sm的响应。

Status表明取消短消息是否成功

replace_sm_resp

replace_sm的响应,status表明此次替换是否成功

enquire_link_resp

enquire_link的响应

alert_notification

由SMSC产生发送给ESME,该消息无响应消息

表2SMSC到ESME的消息

5.2基本数据类型

类型

Integer

无符号整数

C-OctetString

以NULL结尾的ASCII字符串

C-OctetString(Decimal)

与C-OctetString不同的是,串中的每个字符为ASCII码中的0-9。

C-OctetString(Hex)

与C-OctetString不同的是,串中的每个字符为ASCII码中的0-9,A-F。

OctetString

不需以NULL结尾的字符串。

5.3PDU结构

项目

格式

MessageHeader

消息头(所有消息公共包头)

定长

MessageBody

消息体(必选部分)

变长

消息体(可选部分)

TLV

5.4PDU头格式

字段名

字节数

command_length

4

PDU总长度(含消息头及消息体)

command_id

这个字段表明此条短消息的类型,例如submit_sm表示此消息为ESME向SMSC提交短消息,取值见6.1

command_status

此字段表示一个命令的成功与失败,如失败,指示引起失败的错误类型等信息,它在请求中必须设为NULL(参见第7.2节status错误代码表)

sequence_number

消息流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号必须相同)

5.5PDU体结构

5.5.1BIND命令

5.5.1.1BIND_RECEIVER语法

此命令用于ESME以接受者的方式与SMSC之间建立虚连接。

连接建立后,ESME可以从SMSC接受短消息,并发送CNPP响应消息给SMSC。

消息头中的command_id是“bind_receiver”。

消息体定义如下:

字段

长度(字节)

数据类型

system_id

最大16

需要与SMSC连接的ESME标识

password

最大9

密码

system_type

最大13

系统类型

interface_version

1

接口版本号

addr_ton

地址编码类型,不使用置为0

addr_npi

地址编码方案,不使用置为0

address_range

最大41

地址范围,不使用置为NULL

5.5.1.2BIND_RECEIVER_RESP语法

此命令是BIND_RECEIVER的响应消息。

消息头中的command_id是“bind_receiver_resp”。

ESME请求连接的SMSC标识

5.5.1.3BIND_TRANSMITTER语法

此命令用于ESME以发送者的方式与SMSC之间建立虚连接。

连接建立后,ESME可以发送短消息到SMSC,并接受SMSC的CNPP响应消息。

消息头中的command_id是“bind_transmitter”。

消息体的定义与BIND_RECEIVER相同。

5.5.1.4BIND_TRANSMITTER_RESP语法

此命令是BIND_TRANSMITTER的响应消息。

消息头中的command_id是“bind_transmitter_resp”。

消息体的定义与BIND_RECEIVER_RESP相同。

5.5.1.5BIND_TRANSCEIVER语法

此命令用于ESME以收发者的方式与SMSC之间建立虚连接。

连接建立后,ESME可以发送短消息到SMSC,也可以从SMSC接受短消息。

消息头中的command_id是“bind_transceiver”。

5.5.1.6BIND_TRANSCEIVER_RESP语法

此命令是BIND_TRANSCEIVER的响应消息。

消息头中的command_id是“bind_transceiver_resp”。

5.5.2UNBIND命令

5.5.2.1UNBIND语法

此命令用于断开ESME和SMSC之间的连接。

消息头中的command_id是“unbind”。

此消息没有消息体。

5.5.2.2UNBIND_RESP语法

此命令是UNBIND的响应消息。

消息头中的command_id是“unbind_resp”。

没有消息体。

5.5.3GENERIC_NACK命令

5.5.3.1GENERIC_NACK语法

此命令用于当接收消息头有错误的时候发送的否定响应。

该消息只能由收到请求的一方发出。

5.5.4SUBMIT_SM命令

5.5.4.1SUBMIT_SM语法

ESME用此命令消息向SMSC提交短消息,以便SMSC将短消息发给指定的SME。

ESME也可用此命令发送状态报告消息。

消息头中的command_id是“submit_sm”。

service_type

最大6

短消息服务类型。

如果使用SMSC的默认值,设置为NULL。

source_addr_ton

源地址编码类型。

如果不知道源地址的编码类型,设置为0。

source_addr_npi

源地址编码方案。

如果不知道源地址的编码方案,设置为0。

source_addr

最大21

C_OctetString

源地址。

如果不知道源地址,设置为NULL。

dest_addr_ton

integer

目的地址编码类型

dest_addr_npi

目的地址编码方案

destination_addr

目的地址。

esm_class

短消息类型

xx0000xx:

普通短消息

xx0001xx:

此消息为状态报告消息

其它:

保留

protocol_id

协议类型

priority_flag

优先级(从0到3)3为最高级

schedule_delivery_time

1或者17

计划下发短消息的时间。

可以是绝对时间或相对时间,如果立即发送,设置为NULL

validity_peroid

短消息的有效期限,可以是绝对时间或相对时间,如果使用SMSC的默认有效期限,设置为NU

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1