- 博客(0)
- 资源 (4)
- 收藏
- 关注
C&C08B局用交换机三通格式读取程序
unit typeunit;
interface
uses Windows;
type
Words = packed Record
case Integer of
0:(Low : Byte; High : Byte);
1:(Bytes : WORD);
end;
PRecData1 = ^TRecData1;
PRecData2 = ^TRecData2;
PRecData3 = ^TRecData3;
PRecData4 = ^TRecData4;
PRecData5 = ^TRecData5;
//****** 详细话单 ******//
TRecData1 = packed Record
nRecNo : LongInt;
{[顺序号]: 4字节 对交换机启动以来产生的话单的统一编号,以长整形表达}
byFormType : Byte;
{[话单类型]: 1字节
表示该话单记录的呼叫类型,取值:
0x01:PSTN/ISDN/CTX呼叫记录 0x02:DBO的呼叫记录(国内无)
0x03:IN的呼叫记录 0x04:ISDN/CTX记录
0x05:TAX产生的记录(国内无)0xF0:计次表话单
0xF1:计次表统计话单 0xF2:中继时长统计话单
0xF3:免费统计话单 0xFF:告警话单
注:取值为0x01时,采用本格式解释}
bVerify : Boolean;
{[校验和]: 1字节 话单内容本字节以下的字节累加和,用于检验话单有效性}
wUnion1 : WORD;
(*
nDenote : Byte;
{[部分记录指示]: 0.5字节
表示该话单是单独的记录,还是一个长话单中的一时间分段记录,取值:
0:单个记录 1:记录的第一部分
2:记录的中间部分 3:记录的最后部分}
bValid : Boolean;
{[记录有效性标志]: 0.125字节
取值0:话单有效;1:话单无效}
bTimeTag : Boolean;
{[时钟变化标志]: 0.125字节 呼叫过程中,时钟是否修改(如是否从BAM修改过主机的时间,目前固定 为1)
0:是;1:否}
bIsFree : Boolean;
{[计费免费标志]: 0.125字节
取值0:免费;1:计费}
bTestCall : Boolean;
{[试呼标志]: 0.125字节
测试呼叫(被叫字冠业务类别为测试)是否计费,目前固定取值0
取值0:试呼免费;1:试呼计费}
bReport : Boolean;
{[申告标志]: 0.125字节
取值0:不申告;1:申告}
bIsFocus : Boolean;
{[集中计费标志]: 0.125字节
取值0:非集中计费;1:集中计费}
bIsCardCall: Boolean;
{[信用卡呼叫标志]: 0.125字节
取值0:非信用卡呼叫;1:信用卡呼叫}
bReserve : Boolean;
{[保留]:(128 5004及其以后的版本该保留位用于密码计费话单标志)0.125字节
取值0:普通话单;1:Centrex密码计费话单}
nIdentity : WORD;
{[计费方身份识别]: 0.5字节
取值
0:免费 1:对主叫用户计费
2:对被叫用户计费 3:对目标地址号码计费(用于IN)
4:第三方付费,分为情况11、12、13、14
9:对入中继计费
10:对出中继计费
11:对主叫用户计费(第三方付费)
12:对被叫用户计费(第三方付费)
13:对入中继计费(第三方付费)
14:对出中继计费(第三方付费)
15:不计费}
*)
aResponsionDate : array[0..5] of Byte;
{[应答日期时间]: 6字节
表示开始应答的时刻,格式为:YYMMDDHHMMSS
YY:0-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
aStopDate : array[0..5] of Byte;
{[话终日期时间]: 6字节
表示通话终止的时刻,格式为:YYMMDDHHMMSS
YY:0-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
nTalkLen : LongInt;
{[通话时长]: 4字节}
byCall : Byte;
{[主叫用户号首集]: 1字节
主叫用户号码网标识}
byCallAddr : Byte;
{[主叫号码地址性质表示语]: 1字节
主叫用户号码的地址性质:
0:用户号码,主叫号码=本地号码
1:备用,
2:国内有效号码,主叫号码=长途区号+本地号码
3:国际号码,主叫号码=国家代号+长途区号+本地号码}
aCallPhone : array[0..9] of Byte;
{[主叫号码]: 10字节
主叫用户号码,以压缩BCD码方式表达,以“0xF”结束}
byByCall : Byte;
{[被叫用户号首集]: 1字节
被叫用户的网标识}
byByCallAddr : Byte;
{[被叫号码地址性质表示语]: 1字节
被叫用户的地址性质:
0:用户号码,被叫号码=本地号码
1:备用,
2:国内有效号码,被叫号码=长途区号+本地号码
3:国际号码,被叫号码=国家代码+长途区号+本地号码}
aByCallPhone : array[0..9] of Byte;
{[被叫号码]: 10字节
被叫用户号码,指网络侧所见的被叫号码,以压缩BCD码方式表达,以“0xF”结束}
wCentrexNum : WORD;
{[CTX群号]: 2字节
指计费对象的Centrex群号,取值0~65535,非Centrex群用户时,取值为0xFFFF}
aCentrexPhone : array[0..4] of Byte;
{[主叫方CTX专用号码]: 5字节
指主叫方在所属的Centrex群内的短号,以压缩BCD码方式表达,无此项时每位以“0xF”填充}
aByCentrexPhone : array[0..4] of Byte;
{[被叫方CTX专用号码]: 5字节
指被叫方在所属的Centrex群内的短号,以压缩BCD码方式表达,无此项时每位以“0xF”填充}
wInRelayGroup : WORD;
{[入中继群号]: 2字节
入中继的群号,取值0~65535,若本次呼叫不经过入中继,则以0xFFFF表示}
wOutRelayGroup : WORD;
{[出中继群号]: 2字节
出中继的群号,取值0~65535,若本次呼叫不经过出中继,则以0xFFFF表示}
byDeviceType : Byte;
{[主叫设备类型]: 1字节 本局主叫方的设备种类(C&C08B能提供的所有设备类型}
byByDeviceType : Byte;
{[被叫设备类型]: 1字节 本局被叫方的设备种类,取值(0~255)}
byCallUserType : Byte;
{[主叫用户类别]: 1字节
取值
00:主叫用户类别未知 01:话务员法语
02:话务员英语 03:话务员德语
04:话务员俄语 05:话务员西班牙语
06:话务员,双方协商采用的语言(汉语) 07:话务员,双方协商采用的语言
08:话务员,双方协商采用的语言(日语) 09:国内话务员
0A:普通用户(长—长,长—市间采用) 0B:优先用户(长—长,长—市,市—市间采用)
0C:数据呼叫(话带数据) 0D:测试呼叫
0E:备用 0F:付费电话
10—BF:备用 E0—EF:国内备用
F0:普通免费(市—长间用) F1:普通定期(市—长间用)
F2:普通立即用户表(市—长间用) F3:普通立即打印机(市—长间用)
F4:优先免费(市—长间用) F5:优先定期(市—长间用)
F8:普通本地(市—市、本局用)}
byUnion2 : Byte;
(* nCallType
{[呼叫类别]: 0.5字节
取值:
1:局内 2:入局 3:出局 4:汇接 5:新业务}
nOperationType
{[业务类型]: 0.5字节
取值:0:本局 1:本地 2:本地长途 3:国内长途 4:国际长途 5:新业务 14:本CENTREX}
*)
byStopCause : Byte;
{[话终原因码]: 1字节 采用失败原因码}
byUnion3 : Byte;
(*
nReserve
{[保留]: 0.25字节}
nRoundMode
{[ 取整方式]: 0.25
取值(由软件参数确定)
1 :向上取整;2 :向下取整;3 :四舍五入(默认)}
byStopCause1 : Byte;
{[话终原因]: 0.5字节
取值 0:主叫挂机;1:被叫挂机;2:异常结束}
*)
aCallSS : array[0..6] of Byte;
{[呼叫中调用SS]: 7字节
对呼叫中调用的补充业务的说明。当一个补充业务被调用时,相应位置位
1。无调用或不可调用时,相应位置0,呼叫中调用SS具体位图如下(交换机M60开始支持):
AW AX AY AZ BA BB BC BD
AO AP AQ AR AS AT AU AV
AG AH AI AJ AK AL AM AN
Y Z AA AB AC AD AE AF
Q R S T U V W X
I J K L M N O P
A B C D E F G H
其中位的含义如下:
A:无条件呼叫前转; B:无应答呼叫前转;
C:遇忙呼叫前转; D:呼叫前转至固定的录音通知或语音邮箱;
G:子地址; H:闭合用户群;
J:呼叫转移; K:缩位拨号;
J:热线服务; M:UUS1;
N:UUS2; O:UUS3;
P:会议电话; R:三方业务;
YT:呼叫保持; U:呼叫等待;
V:主叫用户线识别限制;W:全通达呼叫;(6008P007及其以后版本)
X: 话务台转话; (6008P007及其以后版本)
AZ:测试呼叫; BC:特服1XX;
BD:紧急呼叫11X其余为备用。}
wTake : WORD;
{[计费情况]: 2字节 本次呼叫的计费情况值,由主机计费设定数据决定}
wRate : WORD;
{[费率]: 2字节 计费单价,单位:分}
dwPulse : DWORD;
{[计费脉冲]: 4字节 收到上级局的计费脉冲数}
dwExes : DWORD;
{[费用]: 4字节 根据主机计费数据计算出的费用(含附加费),单位:分}
byConnectPhoneHead : Byte;
{[连接号码号首集]: 1字节 连接号码网标识}
byConnectPhoneAttrib : Byte;
{[连接号码地址性质表示语]: 1字节
连接号码地址性质
0:用户号码,连接号码=本地号码 1:备用,
2:国内有效号码,连接号码=长途区号+本地号码 3:国际号码,连接号码=国家代码+长途区号+本地号码}
aByConnectPhone : array[0..9] of Byte;
{[连接号码]: 10字节
连接号码指本次呼叫的实际接续号码,主要起信息显示作用,以压缩BCD码表达,以“0xF”结束。
在通常情况下连接号码等于被叫号码,目前不等的情况主要是:被叫用户呼叫转移,连接号码为转移后的真正接续号码。}
byTake : Byte;
{[计费号码号首集]: 1字节
计费号码网标识}
byTakeAttrib : Byte;
{[计费号码地址性质表示语]: 1字节
表示计费号码地址性质,一般是指第三方计费属性,由计费情况表的数据指定,取值含义如下
0:用户号码,计费号码=本地号码 1:备用,
2:国内有效号码,计费号码=长途区号+本地号码 3:国际号码,计费号码=国家代码+长途区号+本地号码
4:记帐卡,A类卡 5:记帐卡,B类卡
6:记帐卡,C类卡 7:记帐卡,D类卡
8:VISA卡 9:CTX群号
10:CTX群内分机号 12:工商银行帐号
13:建设银行帐号 14:中国银行帐号
15:交通银行帐号 16:农业银行帐号
其余:备用}
aTakePhone : array[0..9] of Byte;
{[计费号码]: 10字节
描述各种用户号码、卡号、帐号,采用压缩BCD方式(其中包括Centrex群号),以“0xF”结束}
byBear : Byte;
{[承载业务]: 1字节
取值
1:电路模式,64Kbps不受限,8KHZ结构化承载业务
2:电路模式,64Kbps,8KHZ结构化承载语音,分成100、101、102、103四种情况
3:电路模式,64Kbps,8KHZ结构化承载3.1KHZ语音
4:分组模式,ISDN虚呼叫,永久虚电路业务由B通道提供的用户接入
5:用户信令承载业务
7:电路模式,2X64Kbps不受限,8KHZ结构化承载业务类别
8:电路模式,6X64Kbps不受限,8KHZ结构化承载业务类别
9:电路模式,24X64Kbps不受限,8KHZ结构化承载业务类别
10:电路模式,30X64Kbps不受限,8KHZ结构化承载业务类别
100:话音,模拟呼模拟
101:话音,模拟呼数字
102:话音,数字呼模拟
103:话音,数字呼数字
255:未知
其余:备用}
byUnion : Byte;
(* nClient
{[终端业务]: 0.5字节
取值
0:备用 1:3.1K电信业务
2:7Khz电信业务 3:4类传真
4:智能用户电报 5:可视图文
6:混合型电信业务 7:7Khz图象
15:未知
其余:备用}
// nStandby
// {[备用]: 0.5字节}
nModSec01
{[0.1 秒余数] 0.5 字节}
*)
byUUS1 : Byte;
{[UUS1计数]: 1字节 交换UUS1段的数量(64字节为一段)}
byUUS2 : Byte;
{[UUS2计数]: 1字节 交换UUS1段的数量(64字节为一段)
1013Pack2 P014、2023Pack1 P010、5008Pack1 P011、6008P010及其以后的版本将[UUS2计数]字段拆分为两个字段:
通话起始时间0.1秒: 0.5 字节
通话结束时间0.1秒: 0.5 字节}
byUUS3 : Byte;
{[UUS3计数]: 1字节交换UUS3段的数量(64字节为一段)}
end;
//****** 计次表话单 ******//
TRecData2 = packed Record
nRecNo : LongInt;
{[顺序号]: 4字节
对交换机启动以来产生的话单的统一编号,以长整形表达}
byRecType : Byte;
{[记录类型]: 1字节
表示该话单记录的呼叫类型,取值:
0x01:PSTN/ISDN/CTX呼叫记录 0x02:DBO的呼叫记录(国内无)
0x03:IN的呼叫记录 0x04:ISDN/CTX记录
0x05:TAX产生的记录(国内无) 0xF0:计次表话单
0xF1:计次表统计话单 0xF2:中继时长统计话单
0xF3:免费统计话单 0xFF:告警话单
注:取值为0xF0时,采用本格式解释}
bVerify : Boolean;
{[校验和]: 1字节
话单记录内容本字节以下的各字节的累加和,用于检验话单有效性}
byUnion1 : Byte;
(*
nDenote : WORD;
{[部分记录指示]: 0.5字节
表示该话单是单独的记录,还是一个长话单中的一时间分段记录,取值:
0:单个记录 1:记录的第一部分
2:记录的中间部分 3:记录的最后部分}
bValid : Boolean;
{[记录有效性标志]: 0.125字节
取值
0:有效;1:无效}
nTakeObject : WORD;
{[计费对象]: 0.25字节
0:用户 1:入中继 2:出中继}
nReserve : WORD;
{[保留]: 0.125字节}
*)
nCount : Byte;
{[计次表数目]: 1字节 取值为C&C08B型机计次表的个数,目前计次表数目为10。}
aDateTime : array[0..5] of Char;
{[计次表产生日期时间]: 6字节
表示计次表产生的时刻,格式为:YYMMDDHHMMSS
YY:00-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
byPhoneMark : Byte;
{[号首集]: 1字节 号码网标识}
byPhoneAddr : Byte;
{[号码地址性质表示语]: 1字节
号码的地址性质:
0:用户号码,号码=本地号码
1:备用,
2:国内有效号码,号码=长途区号+本地号码
3:国际号码,号码=国家代号+长途区号+本地号码}
aPhone : array[0..9] of Char;
{[号码]: 10字节 用户号码,以压缩BCD码方式表达,以"0xF"结束}
wRelayGroup : WORD;
{[中继群号]: 2字节 计费对象为中继、出中继时的中继群号}
byModule : Byte;
{[模块号]: 1字节 用户或中继群所属的模块编号}
byDeviceType : Byte;
{[用户设备类型]: 1字节 用户计次表的设备种类:取值(0~255)}
wDeviceNum : WORD;
{[设备顺序号]: 2字节 模块内用户的设备顺序 0-65534,65535为空值}
wCount1 : WORD;
{计次表1值]: 2字节 上次产生计次表话单以来,在本表上累积的计次跳表值(下同)}
wCallCount1 : WORD;
{计次表1呼叫数]: 2字节 上次产生计次表话单以来,在本表上累积呼叫数值(下同)}
wCount2 : WORD;
{[计次表2值]: 2字节}
wCallCount2 : WORD;
{[计次表2呼叫数]: 2字节}
wCount3 : WORD;
{[计次表3值]: 2字节}
wCallCount3 : WORD;
{[计次表3呼叫数]: 2字节}
wCount4 : WORD;
{[计次表4值]: 2字节}
wCallCount4 : WORD;
{[计次表4呼叫数]: 2字节}
wCount5 : WORD;
{[计次表5值]: 2字节}
wCallCount5 : WORD;
{[计次表5呼叫数]: 2字节}
wCount6 : WORD;
{[计次表6值]: 2字节}
wCallCount6 : WORD;
{[计次表6呼叫数]: 2字节}
wCount7 : WORD;
{[计次表7值]: 2字节}
wCallCount7 : WORD;
{[计次表7呼叫数]: 2字节}
wCount8 : WORD;
{[计次表8值]: 2字节}
wCallCount8 : WORD;
{[计次表8呼叫数]: 2字节}
wCount9 : WORD;
{[计次表9值]: 2字节}
wCallCount9 : WORD;
{[计次表9呼叫数]: 2字节}
wCount10 : WORD;
{[计次表10值]: 2字节}
wCallCount10 : WORD;
{[计次表10呼叫数]: 2字节}
{$IFNDEF DEVICE_VER5008}
aReserve1 : array[0..45] of Char;
{[保留]: 46字节 5008 版本增加10 个计次表共20 个}
{$ELSE}
wCount11 : WORD;
{[计次表11 值]: 2 字节}
wCallCount11 : WORD;
{[计次表11 呼叫数]: 2 字节}
wCount12 : WORD;
{[计次表12 值]: 2 字节}
wCallCount12 : WORD;
{[计次表12 呼叫数]: 2 字节}
wCount13 : WORD;
{[计次表13 值]: 2 字节}
wCallCount13 : WORD;
{[计次表13 呼叫数]: 2 字节}
wCount14 : WORD;
{[计次表14 值]: 2 字节}
wCallCount14 : WORD;
{[计次表14 呼叫数]: 2 字节}
wCount15 : WORD;
{[计次表15 值]: 2 字节}
wCallCount15 : WORD;
{[计次表15 呼叫数]: 2 字节}
wCount16 : WORD;
{[计次表16 值]: 2 字节}
wCallCount16 : WORD;
{[计次表16 呼叫数]: 2 字节}
wCount17 : WORD;
{[计次表17 值]: 2 字节}
wCallCount17 : WORD;
{[计次表17 呼叫数]: 2 字节}
wCount18 : WORD;
{[计次表18 值]: 2 字节}
wCallCount18 : WORD;
{[计次表18 呼叫数]: 2 字节}
wCount19 : WORD;
{[计次表19 值]: 2 字节}
wCallCount19 : WORD;
{[计次表19 呼叫数]: 2 字节}
wCount20 : WORD;
{[计次表20 值]: 2 字节}
wCallCount20 : WORD;
{[计次表20 呼叫数]: 2 字节}
aReserve2 : array[0..5] of Char;
{[保留]: 6 字节
A 注:C&C08目前有10个“计次表”,5008 版本后增加到20 个计次表。可以对用户、中继、出中继计
次,关于每个计次表的费率值可查询数管终端的“计次表费率表”。}
{$ENDIF}
end;
//****** 计次表统计话单 ******//
TRecData3 = packed Record
nRecNo : LongInt;
{[顺序号]: 4字节
对交换机启动以来产生的话单的统一编号,以长整形表达}
byRecType : Byte;
{[记录类型]: 1字节
表示该话单记录的呼叫类型,取值:
0x01:PSTN/ISDN/CTX呼叫记录
0x02:DBO的呼叫记录(国内无)
0x03:IN的呼叫记录
0x04:ISDN/CTX记录
0x05:TAX产生的记录(国内无)
0xF0:计次表话单
0xF1:计次表统计话单
0xF2:中继时长统计话单
0xF3:免费统计话单
0xFF:告警话单
注:取值为0xF1时,采用本格式解释}
bVerify : Boolean;
{[校验和]: 1字节 话单记录内容本字节以下的各字节的累加和,用于检验话单有效性}
byUnion1 : Byte;
(*
nDenote : Byte;
{[部分记录指示]: 0.5字节
表示该话单是单独的记录,还是一个长话单中的一时间分段记录,取值:
0:单个记录 1:记录的第一部分
2:记录的中间部分 3:记录的最后部分}
bValid : Boolean;
{[记录有效性标志]: 0.125字节
取值
0:有效;1:无效}
byReserve : Byte;
{[保留]: 0.375字节}
*)
byTimerCount : Byte;
{[计次表数目]: 1字节 取值为C&C08B型机计次表的个数,目前计次表数目为10。}
aDateTime : array[0..5] of Byte;
{[话单产生日期时间]: 6字节
表示计次表统计话单产生的时刻,格式为:YYMMDDHHMMSS
YY:00-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
byModule : Byte;
{[模块号]: 1字节 产生计次表统计话单的模块号,取值:1-240}
byCallType : Byte;
{[呼叫类别]: 1字节
呼叫类别,取值:
1:本局统计 2:入局统计
3:出局统计 4:汇接统计
其余:无效
注:表示本张计次表话单的统计类别。}
wCount1 : WORD;
{[计次表1值]: 2字节}
wCallCount1 : WORD;
{[计次表1呼叫数]: 2字节 上次产生计次表统计话单以来,本表统计的指定呼叫类别的呼叫数值(下同)}
wCount2 : WORD;
{[计次表2值]: 2字节}
wCallCount2 : WORD;
{[计次表2呼叫数]: 2字节}
wCount3 : WORD;
{[计次表3值]: 2字节}
wCallCount3 : WORD;
{[计次表3呼叫数]: 2字节}
wCount4 : WORD;
{[计次表4值]: 2字节}
wCallCount4 : WORD;
{[计次表4呼叫数]: 2字节}
wCount5 : WORD;
{[计次表5值]: 2字节}
wCallCount5 : WORD;
{[计次表5呼叫数]: 2字节}
wCount6 : WORD;
{[计次表6值]: 2字节}
wCallCount6 : WORD;
{[计次表6呼叫数]: 2字节}
wCount7 : WORD;
{[计次表7值]: 2字节}
wCallCount7 : WORD;
{[计次表7呼叫数]: 2字节}
wCount8 : WORD;
{[计次表8值]: 2字节}
wCallCount8 : WORD;
{[计次表8呼叫数]: 2字节}
wCount9 : WORD;
{[计次表9值]: 2字节}
wCallCount9 : WORD;
{[计次表9呼叫数]: 2字节}
wCount10 : WORD;
{[计次表10值]: 2字节}
wCallCount10 : WORD;
{[计次表10呼叫数]: 2字节}
aReserve : array[0..61] of Byte;
{[保留]: 62字节
A 注:取值约束:
“呼叫类型”为局内或“出局”时,“计费对象”为“用户”;“呼叫类型”为
“入局”或“汇接”时,“计费对象”为“中继”。}
end;
//****** 中继时长统计话单 ******//
TRecData4 = packed Record
nRecNo : LongInt;
{[顺序号]: 4字节 对交换机启动以来产生的话单的统一编号,以长整形表达}
byRecType : Byte;
{[记录类型]: 1字节
表示该话单记录的呼叫类型,取值:
0x01:PSTN/ISDN/CTX呼叫记录
0x02:DBO的呼叫记录(国内无)
0x03:IN的呼叫记录
0x04:ISDN/CTX记录
0x05:TAX产生的记录(国内无)
0xF0:计次表话单
0xF1:计次表统计话单
0xF2:中继时长统计话单
0xF3:免费统计话单
0xFF:告警话单
其余:未知
注:取值为0xF2时,采用本格式解释}
bVerify : Boolean;
{[校验和]: 1字节 话单记录内容本字节以下的各字节的累加和,用于检验话单有效性}
wUnion1 : WORD;
(* nReserve1 : WORD;
[保留]: 0.5字节
bValid : Boolean;
[记录有效性标志]: 0.125字节
取值
0:有效;1:无效
nReserve2 : WORD;
[保留]: 1.375字节
*)
aDateTime : array[0..5] of Byte;
{[话单产生日期时间]: 6字节
表示中继时长统计话单产生的时刻,格式为:YYMMDDHHMMSS
YY:00-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
byModule : Byte;
{[模块号]: 1字节 产生中继时长统计话单的模块号,取值:1-240}
byReserve3 : Byte;
{[保留]: 1字节}
wRelayGroup : WORD;
{[中继群号]: 2字节 被统计的中继群群号}
dwInLength : DWORD;
{[入局来话时长值统计]: 4字节
上次产生中继时长统计话单以来,经指定中继群的入局来话中进行计费的呼叫时长统计值}
dwInCount : WORD;
{[入局来话呼叫数统计]: 2字节
上次产生中继时长统计话单以来,经指定中继群的入局来话中进行计费的呼叫次数统计值}
dwOutLength : DWORD;
{[汇接来话时长值统计]:4字节
上次产生中继时长统计话单以来,经指定中继群的汇接来话中进行计费的呼叫时长统计值}
dwOutCount : WORD;
{[汇接来话呼叫数统计]: 2字节
上次产生中继时长统计话单以来,经指定中继群的汇接来话中进行计费的呼叫次数统计值}
dwRelayTimeLength : DWORD;
{[出中继时长值统计]: 4字节
上次产生中继时长统计话单以来,经指定中继群出去(包括出局和汇接出局)的呼叫中进行计费的呼叫时长统计值}
dwRelayCallCount : WORD;
{[出中继呼叫数统计]: 2字节
上次产生中继时长统计话单以来,经指定中继群出去(包括出局和汇接出局)的呼叫中进行计费的呼叫次数统计值}
aReserve : array[0..81] of Byte;
{[保留]: 82字节}
end;
//****** 免费统计话单 ******//
TRecData5 = packed Record
nRecNo : LongInt;
{[顺序号]: 4字节
对交换机启动以来产生的话单的统一编号,以长整形表达}
byRecType : Byte;
{[记录类型]: 1字节
表示该话单记录的呼叫类型,取值:
0x01:PSTN/ISDN/CTX呼叫记录
0x02:DBO的呼叫记录(国内无)
0x03:IN的呼叫记录
0x04:ISDN/CTX记录
0x05:TAX产生的记录(国内无)
0xF0:计次表话单
0xF1:计次表统计话单
0xF2:中继时长统计话单
0xF3:免费统计话单
0xFF:告警话单
其余:未知
注:取值为0xF3时,采用本格式解释}
bVerify : Boolean;
{[校验和]: 1字节 话单记录内容本字节以下的各字节的累加和,用于检验话单有效性}
wUnion1 : WORD;
(* nReserve1 : WORD;
{[保留]: 0.5字节}
bValid : Boolean;
{[记录有效性标志]: 0.125字节
取值
0:有效;1:无效}
nReserve2 : WORD;
{[保留]: 1.375字节}
*)
aDateTime : array[0..5] of Byte;
{[话单产生日期时间]:6字节
表示免费统计话单产生的时刻,格式为:YYMMDDHHMMSS
YY:00-99(2进制)
MM:1-12(2进制)
DD:1-31(2进制)
HH:0-23(2进制)
MM:0-59(2进制)
SS:0-59(2进制)}
byModule : Byte;
{[模块号]: 1字节 产生免费统计话单的模块号,取值:1-240}
byReserve3 : Byte;
{[保留]: 1字节}
dwFreeTime : DWORD;
{[免费时长统计值]: 4字节 上次产生免费统计话单以来,免费呼叫的时长统计值}
wFreeCallCount : WORD;
{[免费呼叫次数统计值]: 2字节 上次产生免费统计话单以来,免费呼叫次数统计值}
aReserve : array[0..95] of Byte;
{[保留]: 96字节}
end;
implementation
end.
2008-09-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅