中国移动语音平台通讯接口协议-V1.12003-10-07# 1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
</operate>
以上XML描述表示一个操作过程中包体收发的会话信息。
operate_id="00002"表示操作号。
type="01"表示pdu包是语音平台主动发起,如果type="02"表示pdu包是SP平台主动发起。
bodytype="02"表示pdu包各字段是不定长的,以分隔符分割各字段。
cry_type
5
String
包体加密算法类型,00000代表不加密,其他代表事先约定的加密类型,加密只对包体进行。
key_no
5
String
加密密钥序号,代表事先双方约定的加密密钥的顺序号
体
Field_1
String
根据各个操作的业务需要设定长度和选择使用,每个字段长度不大于128位
…
…
Field_n
包体字段的定义有以下两种方式:
a>包体字段定长(各个字段有长度表示)
<operateoperate_id="00001"type="01">
<sendbodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
<fieldorder="2"name="name2"size="10" />
包体结构如下:
字段1+字段2+字段3 +字段4+…+字段X
b>包体字段不定长(各个字段无长度表示,分隔符由SP自定义)
<operateoperate_id="00002"type="01">
<sendbodybodytype="02"sep="#"/>
<receivebodybodytype="02"sep="#"/>
< receivebody />
</operate>
以上XML描述表示一个操作过程中包体收发的会话信息。
operate_id="00001"表示操作号。
type="01"表示pdu包是语音平台主动发起,如果type="02"表示pdu包是SP平台主动发起。
bodytype="01"表示pdu包各字段是定长的,bodytype="02"表示pdu包各字段是不定长的,以分隔符分割各字段。
下面是VSPP协议会话建立的过程:
客户端(VSClient)建立与服务平台(VSServer)的TCP/IP连接;尚未完成绑定操作。
客户端发送bind_rq请求,服务器发回bind_rq_resp返回一个随机数(challenge);然后客户端将根据challenge生成的response发送回VSServer服务器,最后UASS返回认证结果。如果认证成功,则会话建立完毕。否则断开连接。
errno
cry_type
key_no
2
5
2
2
4
10
4
5
5
20
20
5
5
5
体
包尾标志
body
tailsign
不定,不大于64*128字节
2
PDU包包括包头标志,包头,包体和包尾标志,包头标志固定为“@@”,包尾标志固定为“##”,包头是固定长度,包体的长度不定,各字段长度可以固定,也可以不定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。
<fieldorder="2"name="name2"size="10" />
< receivebody />
bind_rq
bind_rq_resp
bind_rq_sr
bind_rq_sr_resp
unbind_rq
unbind_rq_resp
2
所有的VSPP操作都是由一个请求PDU和对应的应答PDU组成。对于任何一个VSPP请求PDU,接收实体必须返回应答PDU。
如果接收实体发现收到的PDU包含错误或因某种原因不能成功地完成指定的动作,接收实体必须返回在包头部分的指定字段内包含适当错误码的应答PDU。
被叫号码:用户呼叫语音平台的特定服务号。
包流水号:唯一标志一次提取业务数据的标示号,由语音平台提供。
1
版本号
修订日期
变更内容
V1.1
2003.9.24
生成初始文档,搭建VSPP协议主体架构。
V1.1
2003.10.7
增加了消息包的包头、包尾标志,增加API接口函数定义
2.
2
VSPP协议是用于完成VSP与其相关外部实体(服务提供商)之间的通讯及数据传输而编订的。
Integer
定长String,它由一系列的10进制字符组成(‘0’---‘9’),右齐左补‘0’(ASCII码48)。
注意:当此类型字段字符值超过‘4294967295’时(32位无符号整数的最大值),若将其转换为32位无符号整数会产生溢出,程序员需要进行特别处理。
Date
8位定长String,格式:YYYYMMDD
service_id
5
String
各SP的各个业务标志,从00000-99999。
operate_id
5
String
各业务的操作号,是各个业务过程中访问数据的操作序号。
callingnumber
20
String
用户主叫号码
callednumber
20
String
用户被叫号码
errno
5
String
错误码,必需为数字,由应答方填写。错误码包括系统操作错误和业务处理错误。错误码定义由SP提供。成功交易填写00000。
<fieldorder="2"name="name2"size="10" />
<fieldorder="3"name="name3"size="10" />
< sendbody />
<receivebody2bodytype="01">
<fieldorder="1"name="name1"size="10"/>
<?xml version="1.0" ?>
<datagatewaysp_id="0001">
<servers>
<server name="chat1"IP="127.0.0.1"port="8888"/>
<server name="chat2"IP="127.0.0.2"port="8888"/>
在会话期间,客户端发送一系列的VSPP业务命令;VSServer服务器回复一系列的应答,发送和回复顺序不需要一一对应。
VSPP协议会话解除的过程:VSClient发送unbind_rq命令,VSServer回复一个unbind_rq_resp命令解除绑定;然后断开连接。
VSClient VSServer
01:业务请求
02:业务请求应答
opcode
4
String
操作码,取值参照附录A3
seq_no
10
Integer
此域表示一个序列号,使用在异步通信模式下,由消息发起者设定,应答者对应给回此序列号。
序列号范围:0000000000-9999999999,循环使用。
sp_id
4
String
标志各个SP在语音平台的ID号。
2
协议会话都采用应用服务方式。
通讯协议采用TCP/IP标准协议,双方平台均可作为客户端和服务端。如果语音平台的网关作为Client发送请求,则各SP的网关为Server。如果SP网关作为Client发送请求,则语音平台的网关为Server。
由Client端发出业务请求,以请求包的形式传送至服务端,其中包括该项业务所需要的参数信息。服务端处理相应的业务请求并以应答包的形式返回数据。
DateTime
14位定长String,格式:YYYYMMDDHHMISS
3
一个典型的PDU包如下表所示:
VSPP PDU
包头标志
头
headsign
length
category
sub_command
opcode
seq_no
sp_id
service_id
operate_id
callingnumber
callednumber
<fieldorder="3"name="name3"size="10" />
<sendbody />
<receivebodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
<fieldorder="2"name="name2"size="10" />
为取得业务流程所需的业务数据,语音服务平台需要从各服务提供商取得业务数据,语音服务平台接口协议(VSPP,Voice Service Platform Protocol)定义了相关客户服务所遵循的协议。
1
本文定义了VSPP协议,规定了请求应答的会话方式、报文格式和语法,适用于外部服务提供商利用VSPP接口加载业务时参考。
VSPP是基于字节流的协议,是一建立在TCP/IP协议之上的应用层协议,采用请求/应答的同步通讯模型实现。
VSPP协议定义了如下的PDU。
2.1.1
该类接口简称D(Service Data)接口,供VSP与各个服务提供商之间取得业务数据的接口。
2.1.2
该类接口简称N(Networking Management)接口,提供VSP系统与相关外部实体间的启停会话、检测连接等操作。
2
为了提高协议双方的信息交换的效率,建议通信双方管理一个可配置的计时器,缺省计时时间30秒。如果发现一定的时间间隔内双方没有联系,其中的一方可以主动地断开连接。如果不希望断开连接而又担心对方断开连接可以发送N_enquire_link命令更改对方的计时器。
3.
3
String
字节串。如无特别说明则左齐右补空格(ASCII码32),字节串的最后一字符不可为空格。
中国移动语音服务平台
接口协议(VSPP)
(V1.1)
中国移动通信集团公司
2003年10月
1.
1
中国移动公司统一建设全网的语音服务网络和组建类似梦网的商业模式,承载各个服务提供商的业务,可以降低SP的进入门槛,促进业务的发展。中国移动语音服务平台向各个服务提供商提供业务加载的平台,并结合服务提供商提供的业务流程和业务数据为用户提供语音服务。
服务提供商
VSP
Voice Service Platform
语音服务平台Байду номын сангаас
1
SP代码:中国移动确定的在语音服务平台上各(SP)服务提供商的唯一标示号。
SP服务代码:各(SP)服务提供商开展的每一项业务的唯一标示号。
服务操作码:业务流程中取得业务数据的每个操作的唯一标示号。
主叫号码:用户打入语音服务平台的手机号码。
sep="#"表示分割符是#。
包体结构如下:
字段1+分割符+字段2+分割符+字段3+分割符+字段4+…+分割符+字段X
4
SP应该向平台提供的连接信息和包体定义的XML描述
连接信息的XML描述将每个SP的连接信息写入一个xml文件中,连接信息的XML描述举例如下:
文件命名为<sp_id>serverinfo.xml,如SP的ID为0001,文件名为0001serverinfo.xml。
1
[1]
《中国移动业务支撑系统业务规范,1.0版》(2001年4月)
[2]
CMCC《“移动梦网”业务管理办法,1.0版》
1
缩略语
全称(英文)
全称(中文)
VSPP
Voice Service Platform Protocol
统一帐户服务协议
PDU
Protocol Data Unit
协议数据单元
SP
Service Provider
String
根据各个操作的业务需要设定长度和选择使用,每个字段长度不大于128位
包尾标志
tailsign
2
String
固定为##
注:n不大于64
3
在本接口协议中,任意包体内容均为原子性操作,对于整个包体的处理只有全部成功或全部失败两种结果,不应产生部分成功的结果。
4.
4
D接口数据包最多包含64个字段。每个字段最大包含128个字节,由SP根据具体业务和各业务取数据操作确定各字段长度。
<?xml version="1.0" ?>
<serviceservice_id="00001"servername="chat1">
<operateoperate_id="00001"type="01">
<sendbodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
</servers>
</datagateway>
sp_id代表SP的ID号,一个SP可以有多个Server。
包体定义的XML描述将每个SP的各个业务的包体描述写入一个xml文件文件名为,举例如下,如果SPID为0001,serviceid为00001,则业务文件名为000100001service.xml:
3
下面是一个完整PDU的布局:
VSPP PDU域
长度
类型
说明
包头标志
headsign
2
String
固定为@@
头(共92位)
length
5
Integer
此域表示消息包的长度,包括包头和包尾,不包括包头标志和包尾标志
category
2
String
01:D接口
02:N接口
sub_command
2
String
以上XML描述表示一个操作过程中包体收发的会话信息。
operate_id="00002"表示操作号。
type="01"表示pdu包是语音平台主动发起,如果type="02"表示pdu包是SP平台主动发起。
bodytype="02"表示pdu包各字段是不定长的,以分隔符分割各字段。
cry_type
5
String
包体加密算法类型,00000代表不加密,其他代表事先约定的加密类型,加密只对包体进行。
key_no
5
String
加密密钥序号,代表事先双方约定的加密密钥的顺序号
体
Field_1
String
根据各个操作的业务需要设定长度和选择使用,每个字段长度不大于128位
…
…
Field_n
包体字段的定义有以下两种方式:
a>包体字段定长(各个字段有长度表示)
<operateoperate_id="00001"type="01">
<sendbodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
<fieldorder="2"name="name2"size="10" />
包体结构如下:
字段1+字段2+字段3 +字段4+…+字段X
b>包体字段不定长(各个字段无长度表示,分隔符由SP自定义)
<operateoperate_id="00002"type="01">
<sendbodybodytype="02"sep="#"/>
<receivebodybodytype="02"sep="#"/>
< receivebody />
</operate>
以上XML描述表示一个操作过程中包体收发的会话信息。
operate_id="00001"表示操作号。
type="01"表示pdu包是语音平台主动发起,如果type="02"表示pdu包是SP平台主动发起。
bodytype="01"表示pdu包各字段是定长的,bodytype="02"表示pdu包各字段是不定长的,以分隔符分割各字段。
下面是VSPP协议会话建立的过程:
客户端(VSClient)建立与服务平台(VSServer)的TCP/IP连接;尚未完成绑定操作。
客户端发送bind_rq请求,服务器发回bind_rq_resp返回一个随机数(challenge);然后客户端将根据challenge生成的response发送回VSServer服务器,最后UASS返回认证结果。如果认证成功,则会话建立完毕。否则断开连接。
errno
cry_type
key_no
2
5
2
2
4
10
4
5
5
20
20
5
5
5
体
包尾标志
body
tailsign
不定,不大于64*128字节
2
PDU包包括包头标志,包头,包体和包尾标志,包头标志固定为“@@”,包尾标志固定为“##”,包头是固定长度,包体的长度不定,各字段长度可以固定,也可以不定,双方的请求数据包和应答数据包的包头结构是一致的,不同的是包体的定义。
<fieldorder="2"name="name2"size="10" />
< receivebody />
bind_rq
bind_rq_resp
bind_rq_sr
bind_rq_sr_resp
unbind_rq
unbind_rq_resp
2
所有的VSPP操作都是由一个请求PDU和对应的应答PDU组成。对于任何一个VSPP请求PDU,接收实体必须返回应答PDU。
如果接收实体发现收到的PDU包含错误或因某种原因不能成功地完成指定的动作,接收实体必须返回在包头部分的指定字段内包含适当错误码的应答PDU。
被叫号码:用户呼叫语音平台的特定服务号。
包流水号:唯一标志一次提取业务数据的标示号,由语音平台提供。
1
版本号
修订日期
变更内容
V1.1
2003.9.24
生成初始文档,搭建VSPP协议主体架构。
V1.1
2003.10.7
增加了消息包的包头、包尾标志,增加API接口函数定义
2.
2
VSPP协议是用于完成VSP与其相关外部实体(服务提供商)之间的通讯及数据传输而编订的。
Integer
定长String,它由一系列的10进制字符组成(‘0’---‘9’),右齐左补‘0’(ASCII码48)。
注意:当此类型字段字符值超过‘4294967295’时(32位无符号整数的最大值),若将其转换为32位无符号整数会产生溢出,程序员需要进行特别处理。
Date
8位定长String,格式:YYYYMMDD
service_id
5
String
各SP的各个业务标志,从00000-99999。
operate_id
5
String
各业务的操作号,是各个业务过程中访问数据的操作序号。
callingnumber
20
String
用户主叫号码
callednumber
20
String
用户被叫号码
errno
5
String
错误码,必需为数字,由应答方填写。错误码包括系统操作错误和业务处理错误。错误码定义由SP提供。成功交易填写00000。
<fieldorder="2"name="name2"size="10" />
<fieldorder="3"name="name3"size="10" />
< sendbody />
<receivebody2bodytype="01">
<fieldorder="1"name="name1"size="10"/>
<?xml version="1.0" ?>
<datagatewaysp_id="0001">
<servers>
<server name="chat1"IP="127.0.0.1"port="8888"/>
<server name="chat2"IP="127.0.0.2"port="8888"/>
在会话期间,客户端发送一系列的VSPP业务命令;VSServer服务器回复一系列的应答,发送和回复顺序不需要一一对应。
VSPP协议会话解除的过程:VSClient发送unbind_rq命令,VSServer回复一个unbind_rq_resp命令解除绑定;然后断开连接。
VSClient VSServer
01:业务请求
02:业务请求应答
opcode
4
String
操作码,取值参照附录A3
seq_no
10
Integer
此域表示一个序列号,使用在异步通信模式下,由消息发起者设定,应答者对应给回此序列号。
序列号范围:0000000000-9999999999,循环使用。
sp_id
4
String
标志各个SP在语音平台的ID号。
2
协议会话都采用应用服务方式。
通讯协议采用TCP/IP标准协议,双方平台均可作为客户端和服务端。如果语音平台的网关作为Client发送请求,则各SP的网关为Server。如果SP网关作为Client发送请求,则语音平台的网关为Server。
由Client端发出业务请求,以请求包的形式传送至服务端,其中包括该项业务所需要的参数信息。服务端处理相应的业务请求并以应答包的形式返回数据。
DateTime
14位定长String,格式:YYYYMMDDHHMISS
3
一个典型的PDU包如下表所示:
VSPP PDU
包头标志
头
headsign
length
category
sub_command
opcode
seq_no
sp_id
service_id
operate_id
callingnumber
callednumber
<fieldorder="3"name="name3"size="10" />
<sendbody />
<receivebodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
<fieldorder="2"name="name2"size="10" />
为取得业务流程所需的业务数据,语音服务平台需要从各服务提供商取得业务数据,语音服务平台接口协议(VSPP,Voice Service Platform Protocol)定义了相关客户服务所遵循的协议。
1
本文定义了VSPP协议,规定了请求应答的会话方式、报文格式和语法,适用于外部服务提供商利用VSPP接口加载业务时参考。
VSPP是基于字节流的协议,是一建立在TCP/IP协议之上的应用层协议,采用请求/应答的同步通讯模型实现。
VSPP协议定义了如下的PDU。
2.1.1
该类接口简称D(Service Data)接口,供VSP与各个服务提供商之间取得业务数据的接口。
2.1.2
该类接口简称N(Networking Management)接口,提供VSP系统与相关外部实体间的启停会话、检测连接等操作。
2
为了提高协议双方的信息交换的效率,建议通信双方管理一个可配置的计时器,缺省计时时间30秒。如果发现一定的时间间隔内双方没有联系,其中的一方可以主动地断开连接。如果不希望断开连接而又担心对方断开连接可以发送N_enquire_link命令更改对方的计时器。
3.
3
String
字节串。如无特别说明则左齐右补空格(ASCII码32),字节串的最后一字符不可为空格。
中国移动语音服务平台
接口协议(VSPP)
(V1.1)
中国移动通信集团公司
2003年10月
1.
1
中国移动公司统一建设全网的语音服务网络和组建类似梦网的商业模式,承载各个服务提供商的业务,可以降低SP的进入门槛,促进业务的发展。中国移动语音服务平台向各个服务提供商提供业务加载的平台,并结合服务提供商提供的业务流程和业务数据为用户提供语音服务。
服务提供商
VSP
Voice Service Platform
语音服务平台Байду номын сангаас
1
SP代码:中国移动确定的在语音服务平台上各(SP)服务提供商的唯一标示号。
SP服务代码:各(SP)服务提供商开展的每一项业务的唯一标示号。
服务操作码:业务流程中取得业务数据的每个操作的唯一标示号。
主叫号码:用户打入语音服务平台的手机号码。
sep="#"表示分割符是#。
包体结构如下:
字段1+分割符+字段2+分割符+字段3+分割符+字段4+…+分割符+字段X
4
SP应该向平台提供的连接信息和包体定义的XML描述
连接信息的XML描述将每个SP的连接信息写入一个xml文件中,连接信息的XML描述举例如下:
文件命名为<sp_id>serverinfo.xml,如SP的ID为0001,文件名为0001serverinfo.xml。
1
[1]
《中国移动业务支撑系统业务规范,1.0版》(2001年4月)
[2]
CMCC《“移动梦网”业务管理办法,1.0版》
1
缩略语
全称(英文)
全称(中文)
VSPP
Voice Service Platform Protocol
统一帐户服务协议
PDU
Protocol Data Unit
协议数据单元
SP
Service Provider
String
根据各个操作的业务需要设定长度和选择使用,每个字段长度不大于128位
包尾标志
tailsign
2
String
固定为##
注:n不大于64
3
在本接口协议中,任意包体内容均为原子性操作,对于整个包体的处理只有全部成功或全部失败两种结果,不应产生部分成功的结果。
4.
4
D接口数据包最多包含64个字段。每个字段最大包含128个字节,由SP根据具体业务和各业务取数据操作确定各字段长度。
<?xml version="1.0" ?>
<serviceservice_id="00001"servername="chat1">
<operateoperate_id="00001"type="01">
<sendbodybodytype="01">
<fieldorder="1"name="name1"size="10"/>
</servers>
</datagateway>
sp_id代表SP的ID号,一个SP可以有多个Server。
包体定义的XML描述将每个SP的各个业务的包体描述写入一个xml文件文件名为,举例如下,如果SPID为0001,serviceid为00001,则业务文件名为000100001service.xml:
3
下面是一个完整PDU的布局:
VSPP PDU域
长度
类型
说明
包头标志
headsign
2
String
固定为@@
头(共92位)
length
5
Integer
此域表示消息包的长度,包括包头和包尾,不包括包头标志和包尾标志
category
2
String
01:D接口
02:N接口
sub_command
2
String