1、中国联通增值业务鉴权中心接口规范VAC与SCPPDSCP接口分册1212中国联通公司 发布2008-10-24实施2008-10-24发布G网智能网与VAC实时扣费接口规范(V 1.1)QB/CU xxx_xxxx 中国联通公司企业标准目 次目 次 i修改记录 i前 言 1G网智能网与VAC实时扣费接口规范(V1.1) 21 范围 22 引用标准 23 缩略语 24 VAC实时计费系统组网 35 基于TCP/IP的协议 35.1 通信方式 35.2 通信初始化 45.3 通信过程 45.4 通信结束 45.5 网络故障 45.6 接收到非法命令或应答 45.7 序列号定义 55.8 序列号重复
2、 56 VAC与SCP通信使用的实时接口协议 66.1 批价请求 66.1.1 描述 66.1.1.1 批价请求消息参数(SM_ACC) 66.1.1.2 批价请求响应消息参数(SM_ACC_RESP) 86.1.1.3 错误处理 86.2 结果通知 96.2.1 描述 96.2.1.1 结果通知消息参数(SM_FM) 96.2.1.2 结果通知响应消息参数(SM_FM_REP) 96.2.1.3 错误处理 107 通信协议 107.1 VAC与SCP之间的消息 107.2 消息定义 107.2.1 数据类型 117.2.2 消息头的格式 117.2.3 消息体的格式 117.2.3.1 BI
3、ND消息 117.2.3.2 BIND_RESP消息 127.2.3.3 UNBIND消息 127.2.3.4 UNBIND_RESP消息 127.3 命令标志数值定义 127.4 错误码定义 13附录A SOCKET连接 15修改记录文件编号版本号拟制人/修改人拟制/修改日期更改理由主要更改内容(写要点即可)封面V1.12008-12-18版本号修改从1.0改为1.16.1.1.12008-12-18修改小节格式7.2.32008-12-18修改小节格式7.2.32008-12-18笔误修改MMSC为VAC6.1.1.1 2009-6-19SPNumber字段说明改为“和话单一致,产品接入号
4、,该字段不能为空。如果没有接入号,则填000000000000”6.2.1.3错误处理2009-6-19补充细化目录和处理机制6.1.1 描述2009-6-19增加“当SCP判断当月包月费已扣除、但VAC又发起包月费扣除请求时,SCP完成每月包月费多次扣除的剔重。”2009-7-16FeeType取值2增加说明“对包周期类型计费,仍填2”6.1.1.1 批价请求消息参数(SM_ACC)注1:每次更改归档文件时,需填写此表。注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。前 言本接口规范主要对中国联通增值业务鉴权中心接口规范 VAC与SCP的实时扣费接口方面进行了规定。本标准由
5、中国联通公司增值业务部提出。本标准由中国联通公司技术部归口。本标准负责起草单位:中讯邮电咨询设计院,中国联通公司增值业务部本标准主要起草人: 本标准的修改和解释权属中国联通公司。G网智能网与VAC实时扣费接口规范(V1.1)范围 本接口规范主要对中国联通增值业务鉴权中心接口规范 VAC与SCP的实时扣费接口方面进行了规定。引用标准 下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。中国联通预付
6、费用户联通在信短消息实时计费实现技术规范V1.2短消息业务联网协议1.2版短消息业务联网规范1.2版SMPPV3.3 国际规范SMPPV3.4 国际规范缩略语 VACValue-added service Authentication Center增值业务鉴权中心MOMobile Original移动用户发送短消息MTMobile Terminal移动用户接收短消息PPSPre-Paid Service预付费SCPService Control Point业务控制点SGIPShort message Gateway Interface Protocol短消息网关接口协议SGIP+Short m
7、essage Gateway Interface Protocol plus联通在信扣费协议SMPPShort Message Peer to Peer短消息点对点协议VAC实时计费系统组网图1 VAC和预付费系统组网图 基于TCP/IP的协议通信方式SCP与VAC之间的通信基于SGIP+协议,但对SGIP+协议进行了扩展,并且只支持本规范所定的一些消息。SCP和VAC之间通信采用SOCKET连接方式,SCP为通信服务端,VAC为通信客户端,如果需要,VAC可以同时向一个SCP建立多个连接。SOCKET连接的方式具体请见附录A。当客户端要发送命令时,主动向服务器端建立连接,然后向服务器端发送命
8、令,并接收应答;服务器端从客户端接收命令,返回应答。连接建立以后,客户端可以连续发送多条命令。如果服务器端检测出一条连接长时间空闲(默认90秒,可配置),可以主动断开该连接。如果需要,客户端可以同时向一个服务器端建立多个连接。 客户端向服务端发送消息后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。(可配置)。 通信初始化客户端有命令要向服务器端发送时,由客户端首先通过Bind命令向服务器端发起连接。服务器端根据Bind命令之中的登录名和密码,对客户端的合法性进行验证,然后返回一条Bind_Resp应答给客户端。如果验证通过,则客
9、户端和服务器端的通信开始,否则中断连接。客户端在向服务器端发送连接请求时,如果连续3次连接不成功,应报警,并在5分钟后再次发出连接请求。通信过程客户端与服务器端之间发送的任何一条命令都带有一个序列号,序列号由命令源产生。客户端与服务器端通信开始以后,客户端可以向服务器端发送相应的命令,服务器端对收到的命令返回应答。通信结束如果客户端认为和服务器端的通信已结束,则客户端应该向服务器端发送Unbind命令,服务器端随后返回Unbind_Resp应答,然后双方断开连接。网络故障客户端与服务器端的通信过程中如果检测到双方连接中断(如网络断线),客户端应该断开连接,然后尝试重新向服务器端建立新的连接;服
10、务器端应该按照接收到Unbind的情况进行处理,断开和客户端的连接。接收到非法命令或应答如果服务器端接收到的命令语法错误,比如命令不完整、命令无法识别等,则断开和客户端的连接;客户端应该向服务器端建立新连接继续发送命令。如果客户端接收到的应答语法错误,比如命令不完整、命令无法识别等,则主动断开和服务器端的连接;服务器端也应该断开和客户端的连接。如果命令语法正确,但服务器端不能处理该命令,比如SCP收到SM_ACC命令,则返回相应应答,并在应答中指定错误原因。如果应答语法正确,但客户端不处理该应答,比如VAC收到SM_ACC_RESP应答,则丢弃.。序列号定义序列号用来唯一标示一个消息的。在补款
11、话单中,序列号需要与对应的批价请求消息一致。序列号分成三部分,每部分为一个32位整数,第一部分表示命令源节点的编号,第二部分表示命令产生的日期和时间(网关系统中的任何命令的保存时间都不应该超过一年),格式为十进制的mmddhhmmss,比如11月20日20时32分25秒产生的命令,其第二部分为十进制1120203225;第三部分由0开始,循环进位,直到进位满了之后再清零,重新开始计数。接收方在返回应答时,应答的序列号必须和相对应的命令的序列号相同。图2 命令序列号格式举例序列号重复如果命令的序列号和以前接收到的命令的序列号相同,且命令内容也相同,则接收方丢弃该命令;如果序列号相同,但是命令内容
12、并不相同,则命令接收方在应答中返回错误码。由于联通在信、炫铃业务都是采用SGIP+消息进行鉴权扣费,所以该序列号需要进行统一规划,对于各个实体,需要统一分配源节点号。源节点编号为VAC的节点编号,全国唯一,并且需要注意不要和本地其他增值业务平台重复VAC与SCP通信使用的实时接口协议 批价请求描述VAC实现实时计费,必须向SCP发送有关的扣费信息,批价请求消息是基于SUBMIT消息的扩展,它保留了实现实时计费必要的信息。当SCP判断当月包月费已扣除、但VAC又发起包月费扣除请求时,SCP完成每月包月费多次扣除的剔重。批价请求消息参数(SM_ACC)字段长度(字节)类型说明SPNumber21T
13、ext和话单一致,产品接入号,该字段不能为空。如果没有接入号,则填000000000000CorpId5Text企业代码,取值范围0-99999,该字段不能为空。(现有企业代码为8位,只向SCP同步前5位 X1X2X3X4X5)ServiceType10Text业务代码,由SP定义,该字段不能为空。SmgCode6Text填写发起方设备编号,填写源发起方设备编号,例如彩信中心编号Priority1Integer优先级0-9从低到高,默认为0Pay_msdn21Text付费号码,手机号码前加“86”国别标志,该字段不能为空。 SCP通过该号码进行鉴权扣费。对于SP彩信,就是接受方号码。UserN
14、umber21Text接收该彩信的手机号,手机号码前加“86”国别标志FeeValue6Text取值范围0-99999,该条彩信的收费值,单位为分,由SP定义对于包月制收费的用户,该值为月租费的值,该字段不能为空。FeeType1Integer计费类型,该字段不能为空。计费类型,该字段不能为空。0:不计费,仅用于核减SP对称的信道费;1:免费;2:按条/次计费;对包周期类型计费,仍填23:按包月收取;4:封顶计费5:按流量计费6:按时长计费7:包多月计费GivenValue6Text取值范围0-99999,赠送用户的话费,单位为分,由SP定义,特指由SP向用户发送广告时的赠送话费;保留,暂时不
15、使用。VAC填写0.MorelatetoMTFlag1Integer业务类型,该字段不能为空,根据实际情况填写。0-4-保留。5-彩信MOAT6-彩信AOMT7-彩信MOMT8-彩信MOET9-彩信EOMT10-彩信DlvRpt11-彩信RdRpt12-彩信ReplyVAC填写 0CPID8TextCP代码,做结算用,当CPID、SPID字段均存在时,以CPID进行结算;当CPID为空时,以SPID进行结算ContentID30Text填写中国联通已分配了ContentID的内容IDService_Type2Text业务类型 取值见VAC接口规范附录A(业务类别)CDRType4TextCDR
16、类型,如点到点、点到应用等1:MOAT(移动用户始发、应用终止)2:AOMT(应用始发、移动用户终止)3:MOMT(移动用户始发、移动用户终止)4:MOET(移动用户始发、Email 终止)5:EOMT(Email 始发、移动用户终止)9:Other(其他)ProductID8TextCRM侧产品IDSPC_ProductID12TextCRM侧构成产品代码SP_ ProductID12TextPRM侧SP产品代码OrderMethod4Text订购渠道,取值见附录APushId20Text推荐人(发展人)IDOAMDN21Text发起方手机号码,无手机号填空,手机号码前加“86”国别标志Ti
17、meSec6Text时长(秒)InputOctets10Text上行流量(Byte)OutputOctets10Text下行流量(Byte)Reserve132Text保留,扩展用Reserve232Text保留,扩展用方向: VAC SCP 批价请求响应消息参数(SM_ACC_RESP)字段长度(字节)类型说明Operate_Result1IntegerSM_ACC命令是否成功。0:执行成功其它:错误码Reserve8Text保留,扩展用方向: VAC SCP 结果通知响应消息参数(SM_FM_REP)字段长度(字节)类型说明Operate_Result1IntegerSM_FM命令是否成功
18、。0:执行成功其它:错误码Reserve8Text保留,扩展用错误处理应用层的错误在结果通知响应结果中定义。SCP/PDSCP用户正常使用时,VAC产生话单(当VAC与SCP/PDSCP断链,仍允许用户使用时,仍产生本话单)格式见VAC与BSS接口规范6.1.6.3.2节,存放目录如下: /当VAC与SCP/PDSCP断链,仍允许用户使用时,VAC产生的用于给运营商补款的话单格式见VAC与BSS接口规范6.1.6.3.2节,存放目录如下: /当计费成功,但向用户服务失败、同时VAC与SCP/PDSCP断链时,VAC给用户补款话单格式见附录B,存放目录如下: /通信协议VAC与SCP之间的消息V
19、AC与SCP之间的通信目前主要支持以下消息:消息说明BIND服务器端接受客户端的登陆BIND_RESP服务器端给客户端登陆信息的反馈UNBIND客户端向服务器端发起关闭连接UNBIND_RESP服务器端对关闭连接请求的响应SM_ACC批价请求消息,VACSCPSM_ACC_RESP批价请求响应消息,SCP VACSM_FMVAC向SCP提出结果通知消息SM_FM_REPSCP对结果通知消息的响应消息定义定义的消息由消息头和消息体组成。数据类型类型说明Integer 无符号整数Text定长字符串,左对齐存储,空余位置补0消息中的所有Integer类型的字段均采用网络字节顺序。所有消息中的序列号字
20、段均占12个字节,分为3个4字节整数;通信传输时每个整数都使用网络字节顺序,但整数的次序并不改变。也就是说,通信传输的时候,序列号字段应该按照三个连续的4字节整数来处理消息头的格式字段长度(字节)类型说明Message Length4Integer消息的总长度(字节)Command ID4Integer命令IDSequence Number12Integer序列号消息体的格式BIND消息字段长度(字节)类型说明Login Type1Integer登录类型。1:VAC向SCP建立的连接,用于发送命令2:SCP向VAC建立的连接,用于发送命令其它:保留Login Name16Text服务器端给客户
21、端分配的登录名Login Passoword16Text服务器端和Login Name对应的密码Reserve8Text保留,扩展用BIND_RESP消息字段长度(字节)类型说明Result1IntegerBind执行命令是否成功。0:执行成功其它:错误码Reserve8Text保留,扩展用UNBIND消息 通信连接建立以后,客户端如果要停止通信,需要发送Unbind命令;服务器端收到Unbind命令后,向客户端发送Unbind_Resp相应,然后双方断开连接。UNBIND_RESP消息 UNBIND_RESP消息没有消息体命令标志数值定义命令宏定义数值说明BIND0X1服务器端接受客户端的登
22、陆BIND_RESP0X80000001服务器端给客户端登陆信息的反馈UNBIND0X2客户端向服务器端发起关闭连接UNBIND_RESP0X80000002服务器端对关闭连接请求的响应SM_ACC0X2000批价请求消息,VACSCPSM_ACC_RESP0X80002000批价请求响应消息,SCP VACSM_FM0X4000VAC向SCP提出结果通知消息,由SCP与VAC使用。SM_FM_REP0X80004000SCP对结果通知消息的响应,由SCP与VAC协商使用。错误码定义错误码描述0无错误,命令正确接收1非法登录,如登录名、口令出错、登录名与口令不符等。2重复登录,如在同一TCP/
23、IP连接中连续两次以上请求登录。3连接过多,指单个节点要求同时建立的连接数过多。4登录类型错,指bind命令中的logintype字段出错。5参数格式错,指命令中参数值与参数类型不符或与协议规定的范围不符。6非法手机号码,协议中所有手机号码字段出现非86130号码或手机号码前未加“86”时都应报错。7消息ID错8信息长度错9非法序列号,包括序列号重复、序列号格式错误等10扩展11扩展21 用户号码已挂失22用户号码已处于保留期23用户号码处于冷冻期24扩展25扩展26扩展27扩展28扩展29计费用户不存在(当用户不存在时,网关要删除用户信息表中相应的号码)30计费用户不提供此功能31非法设备3
24、2系统失败33扩展34计费用户是和约用户35计费用户余额不足36计费用户不支持增值业务其它其它错误码(待定义)附录A SOCKET连接通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。VAC为客户端,SCP为服务端; 当客户端要发送命令时,主动向服务器端建立连接,然后向服务器端发送命令,并接收应答;服务器端从客户端接收命令,返回应答。连接建立以后,客户端可以连续发送多条命令。命令发送完并接收到所有应答后,客户端应该主动断开连接。如果服务器端检测出一条连接长时间空闲(默认90秒,可配置),可以主动断开该连接。如果需要,客户端可以同时向一个服务器端建立多个连接。 VAC向SCP发送
25、消息后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。(可配置)附录B 用户补款话单格式1、 话单文件命名文件类型(2位)+文件标志(1位)+帐务周期月份(2位)+文件产生的时间(精确到年月日时分)+SSID(3位)+序列号(4位).后缀。 (1)文件类型取值:20(2)后缀 /下为req; /下为res;(3)序列号以帐期为循环单位,每帐期从0001开始,同一帐期内连续进行累加。(4)文件标志取值:N表示正常文件;T表示测试文件。2、 原始话单文件头序号名称长度备注1 文件序列号(流水号)CHAR(4)以帐期为单位,从0001开
26、始,排满9999后重新循环2 文件版本号CHAR(2)取值:023 文件产生时间CHAR(14)Yyyymmddhhmmss4 文件生成方系统代码CHAR(8)9025 文件接收方系统代码CHAR(3)1046 记录开始日期时间CHAR(14)Yyyymmddhhmmss7 记录结束日期时间CHAR(14)Yyyymmddhhmmss8 总记录数CHAR(10)右对齐,左补09 备注CHAR(40)10 换行CHAR(1)3、 回执文件头序号名称长度备注1 文件序列号CHAR (4)从0001开始排序,排满9999后重新循环2 文件版本号CHAR (2)取值:023 文件产生时间CHAR (14)Yyyymmddhhmmss4 文件生成方系统代码CHAR (3)9025 文件接收方系统代码CHAR (8)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1