北京智能网话单解析规则和流程说明_第1页
北京智能网话单解析规则和流程说明_第2页
北京智能网话单解析规则和流程说明_第3页
北京智能网话单解析规则和流程说明_第4页
北京智能网话单解析规则和流程说明_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目的本文描述了目前北京智能网华为、西门子SCP8通话话单、短信话单、充值话单的详细解析流程,用于核对北京智能网话单采集程序中可能存在的问题。适用范围适用于北京智能网话单解析的开发和维护人员。术语简写说明:一般的,话单记录以"|"进行分割,话单中的透明字段以""进行分割。#1,#2,#3#n,表示对原始话单以"|"分割后,第1,第2,第3第n个字段;$1,$2,$3$n,表示原始话单中透明字段以""分割后,第1,第2,第3第n个字段T1,T2,T3Tn,表示解析后话单的第1,第2,第3第n个字段;参考资料无。规则和流

2、程描述西门子通话话单原始文件说明西门子PPS7U V75平台,设备包括SCP7,SCP8,SCP9。原单话单文件格式:MOC格式举例:8|1|303|20070819000011|0x7070CMTC格式举例:8|1|314|20070819000017|0x7070C字段规则中间数据,这些数据为计算最终结果所用序号字段取值规则1srcCallType$3的4-5位,如果$3不足6位取"AA"2otherNumberMOC取被叫号码,MTC取主叫号码3bIPFlag根据$3第1位得到,0:False,1:True,默认值False。解析后话单格式(如没有特别指明,则MOC/

3、MTC取值方法相同):序号字段取值规则1VENDOR_ID解析程序的配置文件限定:西门子0,华为12CHARGE_PARTYMOC取CALLING_PARTY(#10)MTC取CALLED_PARTY(#13)最后格式化为8613XXXXXXXX3CALLING_PARTYMOC取#10MTC取$24CALLED_PARTY取#135START_TIME根据T6和T7计算,即结束时间减去通话时长。6STOP_TIME取#4,然后格式化7CALL_DURATION取#178MOMT_FLAGMOC取值为0MTC取值为19CALL_TYPE详细见CALL_TYPE流程10MS_TYPEMOC:取$

4、2的第6位以后部分(不包括第6位)。MTC:取$1的后3位($1可能为5/6位?)11LOCAL_DURATION根据#17计算12LOCAL_CHARGE取$11+$1213LONG_DURATION根据#17计算,如果长途话费为0,则填0。14LONG_CHARGE取$1315IP_DURATION如果为IPCall,根据#17计算。16IP_CHARGE如果为IPCall,取$1317CALL_CHARGE取#2618CURRENT_AMOUNT取#2719AREA_NUMBERMOC:取$1MTC:取$3的前10位($3可能大于10位?)20ROAM_FLAGMOC:根据$3的最后1位

5、进行判断。MTC:根据$4的最后1位进行判断。21CAUSE取#1922SPECIAL_FLAGMOC:判断被叫号码#13是否以特殊号码开头,如9386,96531等,返回特殊号码的一个序号。MTC:取023IS_FNF_CALL根据#20取值,需要把#20变成二进制字符串24IS_HZB_CALL根据#20取值,需要把#20变成二进制字符串25HZB_NUMBERMOC:取$5MTC:取$526CUR_MONPKG_TYPE根据#20取值,对#20右移4位。27FREE_FEE_COST取$828FREE_FEE_LEFT取$929FREE_TIME_COST取$630FREE_TIME_L

6、EFT取$731Kefu_type空32Isdx_flag取#3833Scp_id取文件名X53=scp7 X61=scp8 X62=scp9 601=scp1 602=scp2 603=scp3解析流程Call_Type流程主要流程图如下,后面会对流程中的具体步骤作详细的说明:CallType定义原始话单的CallType定义:CALLING_UNICOM_MOBILE_DEFAULT = 0;CALLING_UNICOM_MOBILE_LOCAL_CALL = 1;CALLING_UNICOM_MOBILE_REGIONAL_CALL = 2;CALLING_UNICOM_MOBILE_P

7、ROVINCE_CALL = 3;CALLING_UNICOM_MOBILE_LONG_DISTANCE_CALL = 4;CALLING_TELECOM_MOBILE_DEFAULT = 5;CALLING_TELECOM_MOBILE_LOCAL_CALL = 6;CALLING_TELECOM_MOBILE_REGIONAL_CALL = 7;CALLING_TELECOM_MOBILE_PROVINCE_CALL = 8;CALLING_TELECOM_MOBILE_LONG_DISTANCE = 9;CALLING_FIXED_NET_DEFAULT = 10;CALLING_FIX

8、ED_NET_LOCAL_CALL = 11;CALLING_FIXED_NET_REGIONAL_CALL = 12;CALLING_FIXED_NET_PROVINCE_CALL = 13;CALLING_FIXED_NET_LONG_DISTANCE = 14;CALLING_SPECIAL_DESTINATIONS_1 = 15;CALLING_SPECIAL_DESTINATIONS_2 = 16;CALLING_SPECIAL_DESTINATIONS_3 = 17;CALLING_INTERNATIONAL_HK_MC_TW = 20;CALLING_INTERNATIONAL_

9、USA_CA = 21;CALLING_INTERNATIONAL_14_STATE = 22;CALLING_INTERNATIONAL_OTHER = 23;CALLING_10109068 = 25;CALLING_10155 = 26;CALLING_101900 = 27;CALLING_106056 = 28;CALLING_9622922 = 28;CALLING_1016060 = 29;CALLING_10158 = 30;CALLING_NOT_DETERMINED = -1;解析话单的CallType定义:CALLING_LOCAL_CNC = 0;CALLING_LON

10、G_DISTANCE_CNC = 1;CALLING_LONG_DISTANCE_HK_MC_TW = 2;CALLING_LONG_DISTANCE_INTERNATIONAL = 3;CALLING_LOCAL_UNICOM_GSM = 4;CALLING_LONG_DISTANCE_UNICOM_GSM = 5;CALLING_LOCAL_UNICOM_CDMA = 6;CALLING_LONG_DISTANCE_UNICOM_CDMA = 7;CALLING_LOCAL_MOBILE = 8;CALLING_LONG_DISTANCE_MOBILE = 9;CALLING_IP_LOC

11、AL = 10;CALLING_IP_HK_MC_TW = 11;CALLING_IP_USA_CA = 12;CALLING_IP_14_STATE = 13;CALLING_IP_OTHER = 14;CALLING_ROAMING_LONG_DISTANCE_INTERNATIONAL = 15;CALLING_ROAMING_LONG_DISTANCE_HK_MC_TW = 16;CALLING_ROAMING_LOCAL_UNICOM_GSM = 17;CALLING_ROAMING_LONG_DISTANCE_UNICOM_GSM = 18;CALLING_ROAMING_LOCA

12、L_UNICOM_CDMA = 19;CALLING_ROAMING_LONG_DISTANCE_UNICOM_CDMA = 20;CALLING_ROAMING_LOCAL_MOBILE_GSM = 21;CALLING_ROAMING_LONG_DISTANCE_MOBILE_GSM = 22;CALLING_ROAMING_LOCAL_CNC = 23;CALLING_ROAMING_LONG_DISTANCE_CNC = 24;CALLING_ROAMING_CALL_IP = 25;CALLING_ROAMING_OTHERS = 26;CALLING_PREPAY_PHONE =

13、27;CALLING_LOCAL_96531 = 28;CALLING_LONG_DISTANCE_96531 = 29;CALLING_LOCAL_PSTN_TELECOM = 30;CALLING_LOCAL_PSTN_RAILWAY_TELECOM = 31;CALLING_LONG_DISTANCE_TELECOM = 32;CALLING_LONG_DISTANCE_RAILWAY_TELECOM = 33;CALLING_ROAMING_LOCAL_TELECOM = 34;CALLING_ROAMING_LOCAL_RAILWAY_TELECOM = 35;CALLING_ROA

14、MING_LONG_DISTANCE_TELECOM = 36;CALLING_ROAMING_LONG_DISTANCE_RAILWAY_TELECOM = 37;CALLING_OTHER = 49;CALLED_LOCAL_CNC = 50;CALLED_LONG_DISTANCE_CNC = 51;CALLED_LONG_DISTANCE_INTERNATIONAL = 52;CALLED_LOCAL_UNICOM_GSM = 53;CALLED_LONG_DISTANCE_UNICOM_GSM = 54;CALLED_LOCAL_UNICOM_CDMA = 55;CALLED_LON

15、G_DISTANCE_UNICOM_CDMA = 56;CALLED_LOCAL_MOBIE_GSM = 57;CALLED_LONG_DISTANCE_MOBIE_GSM = 58;CALLED_ROAMING = 59;CALLED_LOCAL_TELECOM = 60;CALLED_LOCAL_RAILWAY_TELECOM = 61;CALLED_LONG_DISTANCE_TELECOM = 62;CALLED_LONG_DISTANCE_RAILWAY_TELECOM = 63;CALLED_OTHER = 99;相关数据Call_Type的最后取值,取决于以下几个密切相关的字段:

16、1) Service_Key(#6):话单主被叫标识,10为主叫,11为被叫。2) Roam_Flag(T20):漫游标识,可能取值0,1,9。3) srcCallType:原始CallType,取$3的4-5位,还可能为"AA"。4) otherNumber:MOC被叫号码,MTC主叫号码。5) bIPFlag:IP电话标识,根据$3第1位得到,默认值False。主叫话单1) 主叫非漫游(Service_key=10,Roam_Flag=0)判断srcCallType的值0,1:判断otherNumber是否CDMA号码,是Call_Type=6,否Call_Type=4

17、。2,3,4:判断otherNumber是否CDMA号码,是Call_Type=7,否Call_Type=5。5,6:Call_Type=8。7,8,9:Call_Type=9。10,11,25-30:Call_Type=0。 25不是港澳台吗?12,13,14:Call_Type=1。20:Call_Type=2。21,22,23:Call_Type=3。Other:Call_Type=49。判断IP电话,根据srcCallType的值,会覆盖上面的判断结果。20:Call_Type=1121:Call_Type=1222:Call_Type=1323:Call_Type=14Other:

18、Call_Type=102) 主叫漫游(Service_key=10,Roam_Flag=1)判断srcCallType的值0,1:判断otherNumber是否CDMA号码,是Call_Type=19,否Call_Type=17。2,3,4:判断otherNumber是否CDMA号码,是Call_Type=20,否Call_Type=18。5,6:Call_Type=21。7,8,9:Call_Type=22。10,11,25-30:Call_Type=23。12,13,14:Call_Type=24。20:Call_Type=16。21,22,23:Call_Type=15。Other:C

19、all_Type=25。3) 主叫其他(Service_key=10,Roam_Flag=9)Call_Type=49。4) 9386/96531特殊号码根据srcCallType的值,会覆盖前面的判断结果。0,1,5,6,10,11:Call_Type=28。Other:Call_Type=29。被叫话单1) 被叫非漫游(Service_key=11,Roam_Flag=0)判断otherNumber的值:以(86)130,131,132,156开头:判断otherNumber是否为本地联通号码,是则Call_Type=53,否则Call_Type=54。以(86)133,153开头:判断o

20、therNumber是否为本地联通号码,是则Call_Type=55,否则Call_Type=56。以(86)134-9,150,158,159开头:判断otherNumber是否为本地移动号码,是则Call_Type=55,否则Call_Type=56。 以10,01开头:Call_Type=50。其他开头:Call_Type=99。2) 被叫漫游(Service_key=11,Roam_Flag=1)Call_Type=59。3) 被叫其他(Service_key=11,Roam_Flag=9)Call_Type=99。资费计算流程(目前未用)西门子短信话单原始文件说明原始话单格式例子:8

21、|1|470|20070819000002|0x7070C8|1|453|20070819000007|0x7070C字段规则中间字段,这些字段为计算最终入库字段所用序号字段取值规则1smsType透明字段匹配"TransactionID:(.*);IASError",取匹配结果的第1位,默认值为0。2strFunction透明字段匹配"Function:(.*);TransparentData",取匹配结果,默认值为空。3strTransparentIndex5Value透明字段匹配"TransparentData:(.*);GOB"

22、;4strTemp把strTransparentIndex5Value以""分解得到数组5strIASError透明字段匹配"IASError:(.*);SubAccount"最终入库的字段序号字段取值规则1VENDOR_ID解析程序的配置文件限定:西门子0,华为12CHARGE_PARTY取#10,并格式化3CALLING_PARTY透明字段匹配"TransparentData:(.*);GOB",然后匹配"A(0-9+)B(0-9+)",取Group(1),匹配不到时置空。4CALLED_PARTY透明字段匹配

23、"TransparentData:(.*);GOB",然后匹配"A(0-9+)B(0-9+)",取Group(2),匹配不到时置空。5MOMT_FLAG1)联通在信(smsType=1)MOMT_FLAG=1SMS_TYPE=1SMS_DIRECTION=1FEE_TYPE:如果strTemp.length大于3,取strTemp3;否则取-1如果strTemps.length > 3 && strIASError.equals("0") && strTemps3.equals("1&q

24、uot;) = false,CHANNEL_CHARGE取 #26- strTemps2,INFOR_CHARGE取strTemps2;否则CHANNEL_CHARGE取#26,INFOR_CHARGE取0。LTZX_BUSINESS:取strTemps0,默认-1LTZX_ACCESSNUM:取strTemps1,默认-12)点对点收费(smsType=2 && strFunction =1)MOMT_FLAG=0SMS_TYPE=0FEE_TYPE=-1SMS_DIRECTION:判断被叫号码,联通GSM:SMS_DIRECTION =4联通CDMA:SMS_DIRECTI

25、ON =2移动号码:SMS_DIRECTION =3网通号码:SMS_DIRECTION =5其他:SMS_DIRECTION =9CHANNEL_CHARGE:取#26INFOR_CHARGE=0LTZX_BUSINESS=-1LTZX_ACCESSNUM=-13)点对点网内补款(smsType=2 && strFunction =2)MOMT_FLAG=0SMS_TYPE=0SMS_DIRECTION=4FEE_TYPE=-1CHANNEL_CHARGE=-#26INFOR_CHARGE=0LTZX_BUSINESS=-1LTZX_ACCESSNUM=-14)点对点网间补款

26、(smsType=0 && strFunction =2)MOMT_FLAG=0SMS_TYPE=0SMS_DIRECTION=3FEE_TYPE=-1CHANNEL_CHARGE=-#26INFOR_CHARGE=0LTZX_BUSINESS=-1LTZX_ACCESSNUM=-15)联通在信补款(smsType=4 && strFunction =2)MOMT_FLAG=1SMS_TYPE=1SMS_DIRECTION=1FEE_TYPE=-1如果#26>10,CHANNEL_CHARGE=-10INFOR_CHARGE=-(#26-10)否则CHAN

27、NEL_CHARGE=-#26INFOR_CHARGE=0默认为0LTZX_BUSINESS=-1LTZX_ACCESSNUM=-16SMS_TYPE见字段5的说明7SMS_DIRECTION见字段5的说明8FEE_TYPE见字段5的说明9MOTOMT_FLAG置空10TIME_STAMP取#4并进行时间格式化11CHANNEL_CHARGE见字段5的说明12INFOR_CHARGE见字段5的说明13CHARGE_TYPEstrFunction=1时,CHARGE_TYPE=0;strFunction=2时,CHARGE_TYPE=1。14SUCCESS_FLAG透明字段匹配"IAS

28、Error:(.*);SubAccount",取Group(1)。15CURRENT_AMOUNT取#2716LTZX_BUSINESS见字段5的说明17LTZX_ACCESSNUM见字段5的说明18CUR_MONPKG_TYPE目前未用19FREE_SM_COST目前未用20FREE_SM_LEFT目前未用解析流程略。西门子充值话单原始文件说明原始话单格式例子:2005-11-15|2007-08-19 15:40|0000-00-00|2007-12-31|90|0|0000-00-00|0|0|字段规则序号字段取值规则1VENDOR_ID解析程序的配置文件限定:西门子0,华为1

29、2CALLING_PARTY取#2,并格式化3TIME_STAMP如果格式化#8正确,则根据文件名匹配结果取格式化后的时间;如果格式化#8错误,取#84COST取#45TRADE_TYPE置空6CURRENT_AMOUNT置空7SUCCESS_FLAG置空8HOME_PLMN如果#6长度大于3,取#6的前3位,否则取#69PAY_TIME如果格式化#8正确,则取格式化后的;如果格式化#8错误,取#810PAY_ID取#1解析流程略。其他说明最终结果需要剔除非联通号码和非本地预付费号码。华为通话话单原始文件说明字段规则中间数据,这些数据为计算最终结果所用序号字段取值规则1strCallType取

30、#32strChargeType取#42otherNumber如果strCallType=0,otherNumber取T4(#7)如果strCallType=2,otherNumber取T3(#6)3otherHPLMN如果strCallType=0,otherHPLMN取#31如果strCallType=2,otherHPLMN取#30解析后话单格式(如没有特别指明,则MOC/MTC取值方法相同):序号字段取值规则1VENDOR_ID解析程序的配置文件限定:西门子0,华为12CHARGE_PARTY如果#20=1,取"86"+#6如果#20=2,取"86&quo

31、t;+#73CALLING_PARTY取#64CALLED_PARTY取#75START_TIME取#15,并格式化6STOP_TIME取#16,并格式化7CALL_DURATION取#178MOMT_FLAG如果strCallType=0,MOMT_FLAG=0;如果strCallType=2,MOMT_FLAG=1;9CALL_TYPE见CALL_TYPE流程说明10MS_TYPE判断 #37的值#37="H":MS_TYPE=2002#37="B","D":MS_TYPE=2000#37="C","

32、E":MS_TYPE=2001default:MS_TYPE=-111LOCAL_DURATION根据#17进行计算12LOCAL_CHARGE#27+#2813LONG_DURATION判断strChargeType的值1)0,1,5: LONG_DURATION:根据#17计算。 LONG_CHARGE:取#29。 IP_DURATION:0 IP_CHARGE:02)2,3,4: LONG_DURATION:0 LONG_CHARGE:0 IP_DURATION:0 IP_CHARGE:03)6: LONG_DURATION:0 LONG_CHARGE:0 IP_DURATIO

33、N:根据#17计算。 IP_CHARGE:取#29。14LONG_CHARGE见LONG_DURATION的取值方法15IP_DURATION见LONG_DURATION的取值方法16IP_CHARGE见LONG_DURATION的取值方法17CALL_CHARGE取#1818CURRENT_AMOUNT取#2619AREA_NUMBER取#1120ROAM_FLAG取#521CAUSE置空22SPECIAL_FLAG如果T8=0(主叫话单),判断被叫号码(T4)是否以特殊号码开头,如9386,96531等,返回特殊号码的一个序号。否则取0。23IS_FNF_CALL取#3824IS_HZB_

34、CALL置空25HZB_NUMBER取#1326CUR_MONPKG_TYPE取#3927FREE_FEE_COST取#4028FREE_FEE_LEFT取#4129FREE_TIME_COST取#4230FREE_TIME_LEFT取#4331Kefu_type空32Isdx_flag取#3833Scp_id取文件名X53=scp7 X61=scp8 X62=scp9 601=scp1 602=scp2 603=scp3主要解析流程以下是程序的主要解析流程,CALL_TYPE的计算流程在后面进行详细描述。CALL_TYPE流程相关数据Call_Type的最后取值,取决于以下几个密切相关的字段

35、:strCallTyperoam_flag strChargeTypeotherNumberotherHPLMN主叫话单1) 主叫非漫游(strCallType=0,Roam_Flag=0)判断strChargeType的值:0:Call_Type=3。1:判断otherNumber:非移动联通号码则Call_Type=1;联通GSM号码则Call_Type=5;联通CDMA号码则Call_Type=7;移动号码则Call_Type=9;2:判断otherNumber非移动联通号码则Call_Type=0;联通GSM号码则Call_Type=4;联通CDMA号码则Call_Type=6;移动号

36、码则Call_Type=8;5:Call_Type=26:判断otherNumber和otherHPLMNotherNumber以9886开头:Call_Type=10;otherNumber以98852开头且otherHPLMN=852或者otherNumber以98853开头且otherHPLMN=853或者otherNumber以98886开头且otherHPLMN=886:Call_Type=11;otherHPLMN=1且otherNumber不以9886开头:Call_Type=12;otherHPLMN为("91", "92", "

37、;84", "967", "850", "880", "504", "98", "223", "974", "229", "976", "254", "250")中任意一个,且otherNumber不以9886开头:Call_Type=13;其他情况:Call_Type=14;Other:Call_Type=49;2) 主叫漫游(strCallType=0,Roam_

38、Flag=1)0:Call_Type=15;1:联通GSM号码则Call_Type=18;联通CDMA号码则Call_Type=20;移动号码则Call_Type=22;非移动联通号码则Call_Type=24;2:联通GSM号码则Call_Type=17;联通CDMA号码则Call_Type=19;移动号码则Call_Type=21;非移动联通号码则Call_Type=23;5:Call_Type=16;6:Call_Type=25;Other:Call_Type=26;3) 主叫其他(strCallType=0,Roam_Flag=其他)Call_Type=49。被叫话单1) 被叫非漫游(

39、strCallType=2,Roam_Flag=0)0:Call_Type=52;1:联通GSM号码则Call_Type=54;联通CDMA号码则Call_Type=56;移动号码则Call_Type=58;非移动联通号码则Call_Type=512:联通GSM号码则Call_Type=53;联通CDMA号码则Call_Type=55;移动号码则Call_Type=57;非移动联通号码则Call_Type=50;Other:Call_Type=99;2) 被叫漫游(strCallType=2,Roam_Flag=1)Call_Type=59。3) 被叫其他(strCallType=2,Roam

40、_Flag=其他)Call_Type=99。华为短信GUA话单原始文件说明原始话单格式例子:字段规则最终入库的字段序号字段取值规则1VENDOR_ID解析程序的配置文件限定:西门子0,华为12CHARGE_PARTY取#15,并格式化3CALLING_PARTY取#34CALLED_PARTY取#45MOMT_FLAG取#66SMS_TYPE判断T13(#10)的值1)#10=1: CHANNEL_CHARGE=-#11 INFOR_CHARGE=-#16 判断T5(#6)的值 0:SMS_TYPE=0,SMS_DIRECTION=3。 1:SMS_TYPE=1,SMS_DIRECTION=1

41、。2)#10=其他: CHANNEL_CHARGE=#11-#16 INFOR_CHARGE=#16 SMS_TYPE=1SMS_DIRECTION=17SMS_DIRECTION见SMS_TYPE的取值规则。8FEE_TYPE取#79MOTOMT_FLAG取#1910TIME_STAMP取#12并格式化,格式化失败取原始值。11CHANNEL_CHARGE见SMS_TYPE的取值规则。12INFOR_CHARGE见SMS_TYPE的取值规则。13CHARGE_TYPE取#1014SUCCESS_FLAG置空15CURRENT_AMOUNT取#2416LTZX_BUSINESS取#1417LTZX_ACCESSNUM取#1818CUR_MONPKG_TYPE取#2519FREE_SM_COST取#2620FREE_SM_LEFT取#2721Kefu_type空22Scp_id根据文件名判断601-1,602-2,603-3华为短信P2P话单原始文件说明原始话单文件格式例子:字段规则中间字段,这些字段为计算最终入库字段所用序号字段取值规则1othe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论