《中国联通郑州分公司营销战略咨询报告 .doc》由会员分享,可在线阅读,更多相关《中国联通郑州分公司营销战略咨询报告 .doc(23页珍藏版)》请在三一办公上搜索。
1、中国联通公司 发布2008-10-24实施2008-10-24发布G网智能网与VAC实时扣费接口规范(V 1.1)QB/CU xxx_xxxx 中国联通公司企业标准目 次目 次I修改记录I前 言1G网智能网与VAC实时扣费接口规范(V1.1)21范围22引用标准23缩略语24VAC实时计费系统组网35基于TCP/IP的协议35.1通信方式35.2通信初始化45.3通信过程45.4通信结束45.5网络故障45.6接收到非法命令或应答45.7序列号定义55.8序列号重复56VAC与SCP通信使用的实时接口协议66.1批价请求66.1.1描述66.1.1.1批价请求消息参数(SM_ACC)66.1.
2、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.1VAC与SCP之间的消息107.2消息定义107.2.1数据类型117.2.2消息头的格式117.2.3消息体的格式117.2.3.1BIND消息117.2.3.2BIND_RESP消息127.2.3.3UNBIND消息127.2.3.4UNBIND_RESP消息127.3命令标志数值定义127.4错误码定义13附录A SOCKET连接1
3、5修改记录文件编号版本号拟制人/修改人拟制/修改日期更改理由主要更改内容(写要点即可)封面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字段说明改为“和话单一致,产品接入号,该字段不能为空。如果没有接入号,则填000000000000”6.2.1.3错误处理2009-6-19补充细化目录和处理机制6.1.1描述2009-6-19增加“当SCP判断当月包月费已扣除、但VAC又发起包月费扣除请求时,
4、SCP完成每月包月费多次扣除的剔重。”2009-7-16FeeType取值2增加说明“对包周期类型计费,仍填2”6.1.1.1批价请求消息参数(SM_ACC)注1:每次更改归档文件时,需填写此表。注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。前 言本接口规范主要对中国联通增值业务鉴权中心接口规范 VAC与SCP的实时扣费接口方面进行了规定。本标准由中国联通公司增值业务部提出。本标准由中国联通公司技术部归口。本标准负责起草单位:中讯邮电咨询设计院,中国联通公司增值业务部本标准主要起草人: 本标准的修改和解释权属中国联通公司。G网智能网与VAC实时扣费接口规范(V1.1)1 范
5、围本接口规范主要对中国联通增值业务鉴权中心接口规范 VAC与SCP的实时扣费接口方面进行了规定。2 引用标准下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。中国联通预付费用户联通在信短消息实时计费实现技术规范V1.2短消息业务联网协议1.2版短消息业务联网规范1.2版SMPPV3.3 国际规范SMPPV3.4 国际规范3 缩略语VACValue-added service Authentic
6、ation Center增值业务鉴权中心MOMobile Original移动用户发送短消息MTMobile Terminal移动用户接收短消息PPSPre-Paid Service预付费SCPService Control Point业务控制点SGIPShort message Gateway Interface Protocol短消息网关接口协议SGIP+Short message Gateway Interface Protocol plus联通在信扣费协议SMPPShort Message Peer to Peer短消息点对点协议4 VAC实时计费系统组网图1 VAC和预付费系统组网图
7、 5 基于TCP/IP的协议5.1 通信方式SCP与VAC之间的通信基于SGIP+协议,但对SGIP+协议进行了扩展,并且只支持本规范所定的一些消息。SCP和VAC之间通信采用SOCKET连接方式,SCP为通信服务端,VAC为通信客户端,如果需要,VAC可以同时向一个SCP建立多个连接。SOCKET连接的方式具体请见附录A。当客户端要发送命令时,主动向服务器端建立连接,然后向服务器端发送命令,并接收应答;服务器端从客户端接收命令,返回应答。连接建立以后,客户端可以连续发送多条命令。如果服务器端检测出一条连接长时间空闲(默认90秒,可配置),可以主动断开该连接。如果需要,客户端可以同时向一个服务
8、器端建立多个连接。 客户端向服务端发送消息后等待T秒后未收到响应,应立即重发,再连续发送N-1次后仍未得到响应则停发。现阶段建议取值为:T=60秒,N=3。(可配置)。 5.2 通信初始化客户端有命令要向服务器端发送时,由客户端首先通过Bind命令向服务器端发起连接。服务器端根据Bind命令之中的登录名和密码,对客户端的合法性进行验证,然后返回一条Bind_Resp应答给客户端。如果验证通过,则客户端和服务器端的通信开始,否则中断连接。客户端在向服务器端发送连接请求时,如果连续3次连接不成功,应报警,并在5分钟后再次发出连接请求。5.3 通信过程客户端与服务器端之间发送的任何一条命令都带有一个
9、序列号,序列号由命令源产生。客户端与服务器端通信开始以后,客户端可以向服务器端发送相应的命令,服务器端对收到的命令返回应答。5.4 通信结束如果客户端认为和服务器端的通信已结束,则客户端应该向服务器端发送Unbind命令,服务器端随后返回Unbind_Resp应答,然后双方断开连接。5.5 网络故障客户端与服务器端的通信过程中如果检测到双方连接中断(如网络断线),客户端应该断开连接,然后尝试重新向服务器端建立新的连接;服务器端应该按照接收到Unbind的情况进行处理,断开和客户端的连接。5.6 接收到非法命令或应答如果服务器端接收到的命令语法错误,比如命令不完整、命令无法识别等,则断开和客户端
10、的连接;客户端应该向服务器端建立新连接继续发送命令。如果客户端接收到的应答语法错误,比如命令不完整、命令无法识别等,则主动断开和服务器端的连接;服务器端也应该断开和客户端的连接。如果命令语法正确,但服务器端不能处理该命令,比如SCP收到SM_ACC命令,则返回相应应答,并在应答中指定错误原因。如果应答语法正确,但客户端不处理该应答,比如VAC收到SM_ACC_RESP应答,则丢弃.。5.7 序列号定义序列号用来唯一标示一个消息的。在补款话单中,序列号需要与对应的批价请求消息一致。序列号分成三部分,每部分为一个32位整数,第一部分表示命令源节点的编号,第二部分表示命令产生的日期和时间(网关系统中
11、的任何命令的保存时间都不应该超过一年),格式为十进制的mmddhhmmss,比如11月20日20时32分25秒产生的命令,其第二部分为十进制1120203225;第三部分由0开始,循环进位,直到进位满了之后再清零,重新开始计数。接收方在返回应答时,应答的序列号必须和相对应的命令的序列号相同。图2 命令序列号格式举例5.8 序列号重复如果命令的序列号和以前接收到的命令的序列号相同,且命令内容也相同,则接收方丢弃该命令;如果序列号相同,但是命令内容并不相同,则命令接收方在应答中返回错误码。由于联通在信、炫铃业务都是采用SGIP+消息进行鉴权扣费,所以该序列号需要进行统一规划,对于各个实体,需要统一
12、分配源节点号。源节点编号为VAC的节点编号,全国唯一,并且需要注意不要和本地其他增值业务平台重复待统一分配6 VAC与SCP通信使用的实时接口协议 6.1 批价请求6.1.1 描述VAC实现实时计费,必须向SCP发送有关的扣费信息,批价请求消息是基于SUBMIT消息的扩展,它保留了实现实时计费必要的信息。当SCP判断当月包月费已扣除、但VAC又发起包月费扣除请求时,SCP完成每月包月费多次扣除的剔重。6.1.1.1 批价请求消息参数(SM_ACC)字段长度(字节)类型说明SPNumber21Text和话单一致,产品接入号,该字段不能为空。如果没有接入号,则填000000000000CorpId
13、5Text企业代码,取值范围0-99999,该字段不能为空。(现有企业代码为8位,只向SCP同步前5位 X1X2X3X4X5)ServiceType10Text业务代码,由SP定义,该字段不能为空。SmgCode6Text填写发起方设备编号,填写源发起方设备编号,例如彩信中心编号Priority1Integer优先级0-9从低到高,默认为0Pay_msdn21Text付费号码,手机号码前加“86”国别标志,该字段不能为空。 SCP通过该号码进行鉴权扣费。对于SP彩信,就是接受方号码。UserNumber21Text接收该彩信的手机号,手机号码前加“86”国别标志FeeValue6Text取值范
14、围0-99999,该条彩信的收费值,单位为分,由SP定义对于包月制收费的用户,该值为月租费的值,该字段不能为空。FeeType1Integer计费类型,该字段不能为空。计费类型,该字段不能为空。0:不计费,仅用于核减SP对称的信道费;1:免费;2:按条/次计费;对包周期类型计费,仍填23:按包月收取;4:封顶计费5:按流量计费6:按时长计费7:包多月计费GivenValue6Text取值范围0-99999,赠送用户的话费,单位为分,由SP定义,特指由SP向用户发送广告时的赠送话费;保留,暂时不使用。VAC填写0.MorelatetoMTFlag1Integer业务类型,该字段不能为空,根据实际
15、情况填写。0-4-保留。5-彩信MOAT6-彩信AOMT7-彩信MOMT8-彩信MOET9-彩信EOMT10-彩信DlvRpt11-彩信RdRpt12-彩信ReplyVAC填写 0CPID8TextCP代码,做结算用,当CPID、SPID字段均存在时,以CPID进行结算;当CPID为空时,以SPID进行结算ContentID30Text填写中国联通已分配了ContentID的内容IDService_Type2Text业务类型 取值见VAC接口规范附录A(业务类别)CDRType4TextCDR类型,如点到点、点到应用等1:MOAT(移动用户始发、应用终止)2:AOMT(应用始发、移动用户终止)
16、3:MOMT(移动用户始发、移动用户终止)4:MOET(移动用户始发、Email 终止)5:EOMT(Email 始发、移动用户终止)9:Other(其他)ProductID8TextCRM侧产品IDSPC_ProductID12TextCRM侧构成产品代码SP_ ProductID12TextPRM侧SP产品代码OrderMethod4Text订购渠道,取值见附录APushId20Text推荐人(发展人)IDOAMDN21Text发起方手机号码,无手机号填空,手机号码前加“86”国别标志TimeSec6Text时长(秒)InputOctets10Text上行流量(Byte)OutputOct
17、ets10Text下行流量(Byte)Reserve132Text保留,扩展用Reserve232Text保留,扩展用方向:VAC SCP 6.1.1.2 批价请求响应消息参数(SM_ACC_RESP)字段长度(字节)类型说明Operate_Result1IntegerSM_ACC命令是否成功。0:执行成功其它:错误码Reserve8Text保留,扩展用方向:VAC SCP 6.2.1.2 结果通知响应消息参数(SM_FM_REP)字段长度(字节)类型说明Operate_Result1IntegerSM_FM命令是否成功。0:执行成功其它:错误码Reserve8Text保留,扩展用6.2.1.
18、3 错误处理应用层的错误在结果通知响应结果中定义。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,存放目录如下: /7 通信协议7.1 VAC与SCP之间的消息VAC与SCP之间的通信目前主要支持以下消息:消
19、息说明BIND服务器端接受客户端的登陆BIND_RESP服务器端给客户端登陆信息的反馈UNBIND客户端向服务器端发起关闭连接UNBIND_RESP服务器端对关闭连接请求的响应SM_ACC批价请求消息,VACSCPSM_ACC_RESP批价请求响应消息,SCP VACSM_FMVAC向SCP提出结果通知消息SM_FM_REPSCP对结果通知消息的响应7.2 消息定义定义的消息由消息头和消息体组成。7.2.1 数据类型类型说明Integer 无符号整数Text定长字符串,左对齐存储,空余位置补0消息中的所有Integer类型的字段均采用网络字节顺序。所有消息中的序列号字段均占12个字节,分为3个
20、4字节整数;通信传输时每个整数都使用网络字节顺序,但整数的次序并不改变。也就是说,通信传输的时候,序列号字段应该按照三个连续的4字节整数来处理7.2.2 消息头的格式字段长度(字节)类型说明Message Length4Integer消息的总长度(字节)Command ID4Integer命令IDSequence Number12Integer序列号7.2.3 消息体的格式7.2.3.1 BIND消息字段长度(字节)类型说明Login Type1Integer登录类型。1:VAC向SCP建立的连接,用于发送命令2:SCP向VAC建立的连接,用于发送命令其它:保留Login Name16Text
21、服务器端给客户端分配的登录名Login Passoword16Text服务器端和Login Name对应的密码Reserve8Text保留,扩展用7.2.3.2 BIND_RESP消息字段长度(字节)类型说明Result1IntegerBind执行命令是否成功。0:执行成功其它:错误码Reserve8Text保留,扩展用7.2.3.3 UNBIND消息 通信连接建立以后,客户端如果要停止通信,需要发送Unbind命令;服务器端收到Unbind命令后,向客户端发送Unbind_Resp相应,然后双方断开连接。7.2.3.4 UNBIND_RESP消息 UNBIND_RESP消息没有消息体7.3
22、命令标志数值定义命令宏定义数值说明BIND0X1服务器端接受客户端的登陆BIND_RESP0X80000001服务器端给客户端登陆信息的反馈UNBIND0X2客户端向服务器端发起关闭连接UNBIND_RESP0X80000002服务器端对关闭连接请求的响应SM_ACC0X2000批价请求消息,VACSCPSM_ACC_RESP0X80002000批价请求响应消息,SCP VACSM_FM0X4000VAC向SCP提出结果通知消息,由SCP与VAC使用。SM_FM_REP0X80004000SCP对结果通知消息的响应,由SCP与VAC协商使用。7.4 错误码定义错误码描述0无错误,命令正确接收1
23、非法登录,如登录名、口令出错、登录名与口令不符等。2重复登录,如在同一TCP/IP连接中连续两次以上请求登录。3连接过多,指单个节点要求同时建立的连接数过多。4登录类型错,指bind命令中的logintype字段出错。5参数格式错,指命令中参数值与参数类型不符或与协议规定的范围不符。6非法手机号码,协议中所有手机号码字段出现非86130号码或手机号码前未加“86”时都应报错。7消息ID错8信息长度错9非法序列号,包括序列号重复、序列号格式错误等10扩展11扩展21 用户号码已挂失22用户号码已处于保留期23用户号码处于冷冻期24扩展25扩展26扩展27扩展28扩展29计费用户不存在(当用户不存
24、在时,网关要删除用户信息表中相应的号码)30计费用户不提供此功能31非法设备32系统失败33扩展34计费用户是和约用户35计费用户余额不足36计费用户不支持增值业务其它其它错误码(待定义)附录A SOCKET连接通信双方以客户-服务器方式建立TCP连接,用于双方信息的相互提交。VAC为客户端,SCP为服务端; 当客户端要发送命令时,主动向服务器端建立连接,然后向服务器端发送命令,并接收应答;服务器端从客户端接收命令,返回应答。连接建立以后,客户端可以连续发送多条命令。命令发送完并接收到所有应答后,客户端应该主动断开连接。如果服务器端检测出一条连接长时间空闲(默认90秒,可配置),可以主动断开该
25、连接。如果需要,客户端可以同时向一个服务器端建立多个连接。 VAC向SCP发送消息后等待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、 原始话单文件头序
26、号名称长度备注1文件序列号(流水号)CHAR(4)以帐期为单位,从0001开始,排满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文件版本号C
27、HAR (2)取值:023文件产生时间CHAR (14)Yyyymmddhhmmss4文件生成方系统代码CHAR (3)9025文件接收方系统代码CHAR (8)1046总记录数CHAR (10)右对齐,左补07正确处理记录数CHAR (10)右对齐,左补08备注CHAR(40)9换行CHAR (1)4、 原始话单文件体序号属性名字段类型最大长度是否必填备注1流水号CHAR18M流水号,格式为时间戳+序列号:YYYYMMDDHHMMSSxxxx,其中xxxx为序列号,从0001开始,排满9999后重新循环2TimeCHAR20M本话单记录产生的时间戳3MessageIDCHAR20OVAC生成
28、的唯一识别标识。标识多个请求是属于同一个事务。对增值侧发起的CheckPrice消息引起的话单,填CheckPrice中的SequenceNumber;对vac直接发起的计费/扣费消息引起的话单,vac按照CheckPrice中的SequenceNumber格式生成MessageID;对CRM发起定购消息后vac立即发起扣费的,MessageID填写Web Service接口中的RecordSequenceID。4SPIDCHAR8MSP代码,做三方结算用5ServiceIDCHAR12MSP的SrvID,对应原SGIP+协议的ServiceType6CPIDCHAR8OCP代码,做结算用,当
29、CPID、SPID字段均存在时,以CPID进行结算;当CPID为空时,以SPID进行结算7ContentIDCHAR30O填写中国联通已分配了ContentID的内容ID8AccessNoCHAR21O联通在信、彩信产品接入号,业务使用时的接入号9ServiceTypeCHAR2O取值见附录A7(业务类型)10SourceDevice_TypeCHAR4O发送端设备类型11SourceDevice_IDCHAR20O发送端设备标识12CDRTypeinteger4MCDR类型,如点到点、点到应用等1:MOAT(移动用户始发、应用终止)2:AOMT(应用始发、移动用户终止)3:MOMT(移动用户
30、始发、移动用户终止)4:MOET(移动用户始发、Email 终止)5:EOMT(Email 始发、移动用户终止)9:Other(其他)13ProductIDCHAR8MCRM侧产品ID14SPC_ProductIDCHAR12MCRM侧构成产品代码15SP_ ProductIDCHAR12MPRM侧SP产品代码16OrderMethodCHAR4M订购渠道,取值见附录A17PushIdCHAR20O推荐人(发展人)ID18OAMDNCHAR21O发起方手机号码,无手机号填空19DAMDNCHAR21O接收方手机号码,无手机号填空20FAMDNCHAR21M付费方手机号码。对于赠送业务与使用方手
31、机号码不同;对于自用业务付费方号码与使用方号码一致21UserTypeCHAR1M用户付费类型0 后付费1 预付费22StartTimeCHAR14M会话开始时间,Yyyymmddhhmmss23EndTimeCHAR14M会话结束时间,Yyyymmddhhmmss24TimeSecinteger6O时长(秒)25InputOctetsinteger10O上行流量(字节)26OutputOctetsinteger10O下行流量(字节)27FeePointinteger1O点播的计费点(点播按次,第一条MT扣费,按条,每条都扣费)0:不是计费点1:是计费点28FeetypeCHAR10O计费类型
32、,该字段不能为空。0:不计费,仅用于核减SP对称的信道费;1:免费;2:按条/次计费;3:按包月收取;4:封顶计费5:按流量计费6:按时长计费7:包多月计费29feeCHAR10O业务信息费(分)30系统保留1CHAR10OResv131系统保留2CHAR10OResv232换行CHAR1Mn5、 回执文件体 /:没有回执文件体 /:没有回执文件体 /:回执文件体如下序号属性长度备注1首错误字段位置CHAR(2)首次出现错误的字段在本记录中的序号2分隔符CHAR(2):3原文件记录体CHAE4分隔符CHAR(2):5错误代码CHAR (3)6换行1n6、 回执文件错误代码错误代码说明001流水号异常100字段值超范围定义120话单类型超范围定义130业务类型超范围定义140业务代码超范围定义150内容代码超范围定义160SP代码不存在170用户不存在200字段个数不符300非法字符400字段类型错误500对应关系不存在600金额有异议700该条记录为重单701详单的“起始时间”超出时间限制800“备注”信息含义不清晰900系统异常