Professional Documents
Culture Documents
FreeRADIUS Log Files Format Interpretation For WebCDR
FreeRADIUS Log Files Format Interpretation For WebCDR
INTRODUCTION
This document describes the WebCDR interpretation of the fields provided by
the FreeRADIUS Log Files format.
II.
CONVENTIONS
In this document, destination WebCDR values are indicated
by WEBCDR{FIELDNAME}, and source values are indicated
with SOURCE{FIELDNAME}.
III.
WEBCDR FIELDS
In order for WebCDR to create wholesale telecom bills, the data from the
switch must be mapped into the fields that WebCDR uses. Here is a list of the
fields that WebCDR expects to gather from the call data files:
Field
Required
Max Length
Example
ANI
No
50
5104529200
DNIS_INPULSED
Yes
50
357717184345714
DNIS_OUTPULSED
No
50
828617184345714
No
50
17184365151
No
50
ORIG_TG
Yes
40
15XX
ORIG_SPAN
No
40
ORIG_CHANNEL
No
40
27
TERM_TG
Yes
40
OAYY
TERM_SPAN
No
40
TERM_CHANNEL
No
40
21
START_DATE_TIME
Yes
30
2003-07-27 15:44:04
BILLABLE_DURATION
Yes
13
45
SYSTEM_DURATION
No
13
47
TREATMENT_CODE
No
40
10
COMPLETION_CODE
No
40
IB_EXTRA
No
40
OB_EXTRA
No
40
IV.
FIELD INTERPRETATIONS
The CDR files from the FreeRADIUS Log Files format are in the form of
FreeRADIUS log files.
This is a multi-record CDR format, one call leg per record.
A call is considered "completed and billable" if
the SOURCE{ACCT_SESSION_TIME} field is non-zero. If
the SOURCE{ACCT_SESSION_TIME} field equals zero then the call is considered
"incomplete and non-billable". Whether a call has completed or not is used
when computing the ASR (Answer Seizure Ratio) for a group of calls.
RADIUS records are variable length, and some fields will not be present in
every record. The possible fields from the source log files are as follows:
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
Comments
ORIGINAL_LINE_NUMBER 12
NAS_IP_ADDRESS
15
CISCO_NAS_PORT
20
NAS_PORT_TYPE
25
USER_NAME
40
CALLED_STATION_ID
40
CALLING_STATION_ID
40
ACCT_STATUS_TYPE
20
start/stop
SERVICE_TYPE
login
10
H323_GW_ID
40
11
H323_CALL_ORIGIN
26
ANI
answer/originate eg "h323-callorigin=originate"
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
Comments
12
H323_CALL_TYPE
24
voip/telephony eg "h323-calltype=Telephony"
13
H323_SETUP_TIME
49
14
H323_CONNECT_TIME
40
15
H323_DISCONNECT_TIME
40
16
H323_DISCONNECT_CAUS
4
E
TREATMENT_CODE eg "h323disconnect-cause=1F"
17
H323_REMOTE_ADDRESS
15
18
H323_VOICE_QUALITY
19
H323_CONF_ID
48
20
ACCT_SESSION_ID
21
ACCT_INPUT_OCTETS
10
bit integer
22
ACCT_OUTPUT_OCTETS
10
bit integer
23
ACCT_INPUT_PACKETS
10
bit integer
24
ACCT_OUTPUT_PACKETS
10
bit integer
25
ACCT_SESSION_TIME
10
bit integer
26
ACCT_DELAY_TIME
10
27
AA
CLIENT_IP_ADDRESS
15
a.b.c.d
28
AB
DETAIL_TIMESTAMP
24
29
AC
TIMESTAMP
24
bit int
30
AD
REQUEST_AUTHENTICAT
OR
10
31
AE
CISCO_AVPAIR_CONNECT
12
_PROGRESS
32
AF
CISCO_AVPAIR_H323_IN_C
48
ONF_ID
33
AG
CISCO_AVPAIR_NAS_RX_S
12
PEED
34
AH
CISCO_AVPAIR_NAS_TX_S
12
PEED
35
AI
CISCO_AVPAIR_PRE_BYTE
12
S_IN
H323_INCOMING_CONF_ID -- label +
4 space-separated 8-digit strings
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
36
AJ
CISCO_AVPAIR_PRE_BYTE
12
S_OUT
37
AK
CISCO_AVPAIR_PRE_PAKS
12
_IN
38
AL
CISCO_AVPAIR_PRE_PAKS
12
_OUT
39
AM
CISCO_AVPAIR_REMOTE_
MEDIA_ADDR
40
AN
CISCO_AVPAIR_SESSION_P
12
ROTOCOL
41
AO
CISCO_AVPAIR_SUBSCRIB
20
ER
42
AP
CISCO_AVPAIR_TARIFF_T
YPE
43
AQ
ACCT_TERMINATE_CAUS
E
10
44
AR
ACCT_AUTHENTIC
60
45
AS
CISCO_AVPAIR_ACOM_LE
60
VEL
46
AT
CISCO_AVPAIR_ALERT_TI
MEPOINT
47
AU
CISCO_AVPAIR_CALLING_
60
PARTY_CAT
48
AV
CISCO_AVPAIR_CALL_ID
49
AW
CISCO_AVPAIR_CHARGED
60
_UNITS
50
AX
CISCO_AVPAIR_CODEC_B
YTES
60
51
AY
CISCO_AVPAIR_CODER_T
YPE_RATE
60
52
AZ
CISCO_AVPAIR_DISCONNE
60
CT_TEXT
53
BA
CISCO_AVPAIR_EARLY_PA 60
Comments
20
12
60
60
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
CKETS
54
BB
CISCO_AVPAIR_FAXRLY_S
60
TART_TIME
55
BC
CISCO_AVPAIR_FAXRLY_S
60
TOP_TIME
56
BD
CISCO_AVPAIR_GAPFIL_IN
60
TERPOLAT
57
BE
CISCO_AVPAIR_GAPFIL_P
REDICTION
58
BF
CISCO_AVPAIR_GAPFIL_R
60
EDUNDANCY
59
BG
CISCO_AVPAIR_GAPFIL_SI
60
LENCE
60
BH
CISCO_AVPAIR_GW_FNL_
XLATED_CDN
60
61
BI
CISCO_AVPAIR_GW_FNL_
XLATED_CGN
60
62
BJ
CISCO_AVPAIR_GW_RXD_
60
CDN
63
BK
CISCO_AVPAIR_GW_RXD_
60
CGN
64
BL
CISCO_AVPAIR_H323_IVR_
60
OUT
65
BM
CISCO_AVPAIR_HIWTR_PL
60
AYOUT_DLY
66
BN
CISCO_AVPAIR_INFO_TYP
60
E
67
BO
CISCO_AVPAIR_IN_CARRI
ER_ID
60
68
BP
CISCO_AVPAIR_OUT_CAR
RIER_ID
60
69
BQ
CISCO_AVPAIR_LATE_PAC
60
KETS
70
BR
CISCO_AVPAIR_LOGICAL_ 60
60
Comments
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
Comments
IF_INDEX
71
BS
CISCO_AVPAIR_LOST_PAC
60
KETS
72
BT
CISCO_AVPAIR_LOWTR_P
LAYOUT_DLY
73
BU
CISCO_AVPAIR_NOISE_LE
60
VEL
74
BV
CISCO_AVPAIR_ONTIME_R
60
V_PLAYOUT
75
BW
CISCO_AVPAIR_PEER_ADD
60
RESS
76
BX
CISCO_AVPAIR_PEER_ID
77
BY
CISCO_AVPAIR_PEER_IF_I
60
NDEX
78
BZ
CISCO_AVPAIR_RECEIVE_
60
DELAY
79
CA
CISCO_AVPAIR_RELEASE_
60
SOURCE
80
CB
CISCO_AVPAIR_REM_MED
60
IA_UDP_PRT
81
CC
CISCO_AVPAIR_REMOTE_
UDP_PORT
82
CD
CISCO_AVPAIR_ROUND_T
60
RIP_DELAY
83
CE
CISCO_AVPAIR_TRANSMIS
60
S_MED_REQ
84
CF
CISCO_AVPAIR_TX_DURA
60
TION
85
CG
CISCO_AVPAIR_VAD_ENA
BLE
86
CH
CISCO_AVPAIR_VOICE_TX
60
_DURATION
87
CI
NAS_PORT
88
CJ
ACCT_UNIQUE_SESSION_I 16
60
60
60
60
60
An additional 42 fields added on 2010-
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
Comments
02-01 as part of SMC #3328
89
CK
CISCO_AVPAIR_DISC_CAU
20
SE_EXT
90
CL
CISCO_AVPAIR_DSP_ID
91
CM
CISCO_AVPAIR_FEATURE_
140
VSA
92
CN
CISCO_AVPAIR_GW_FNL_
XLATED_RDN
93
CO
CISCO_AVPAIR_GW_RXD_
40
RDN
94
CP
CISCO_AVPAIR_H323_CAL
40
L_ID
95
CQ
CISCO_AVPAIR_H323_GW_
20
ADDRESS
96
CR
CISCO_AVPAIR_H323_INC_
40
CALL_ID
97
CS
CISCO_AVPAIR_H323_REM
60
OTE_ID
98
CT
CISCO_AVPAIR_INCOMING
10
_AREA
99
CU
CISCO_AVPAIR_INT_ERRO
16
R_CODE
16
40
CISCO_AVPAIR_GW_FINAL_XLATE
D_RDN
CISCO_AVPAIR_H323_INCOMING_C
ALL_ID
CISCO_AVPAIR_INTERNAL_ERROR
_CODE
100 CV
CISCO_AVPAIR_IPHOP
30
101 CW
CISCO_AVPAIR_OUT_INTR
40
FC_DESC
102 CX
CISCO_AVPAIR_OUT_TG_L
20
ABEL
CISCO_AVPAIR_OUT_TRUNKGROU
P_LABEL
103 CY
CISCO_AVPAIR_REDIR_ST
20
ATION
CISCO_AVPAIR_REDIRECTED_STAT
ION
104 CZ
CISCO_AVPAIR_XPGK_DST
10
_FASTSTRT
CISCO_AVPAIR_XPGK_DESTINATIO
N_FASTSTART
105 DA
CISCO_AVPAIR_XPGK_DST
40
_RTP_ADDR
CISCO_AVPAIR_XPGK_DEST_RTP_
ADDRESS
106 DB
CISCO_AVPAIR_XPGK_DST 20
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
Comments
_CODEC
107 DC
CISCO_AVPAIR_XPGK_DST
40
_NUM_IN
CISCO_AVPAIR_XPGK_DST_NUMB
ER_IN
108 DD
CISCO_AVPAIR_XPGK_DST
40
_NUM_OUT
CISCO_AVPAIR_XPGK_DST_NUMB
ER_OUT
109 DE
CISCO_AVPAIR_XPGK_LAS
10
T_CDR
110 DF
CISCO_AVPAIR_XPGK_LO
C_DISC_CS
20
111 DG
CISCO_AVPAIR_XPGK_PD
D_TIME
20
112 DH
CISCO_AVPAIR_XPGK_RE
CORD_ID
40
113 DI
CISCO_AVPAIR_XPGK_RO
UTE_RETR
114 DJ
CISCO_AVPAIR_XPGK_SC
D_TIME
20
115 DK
CISCO_AVPAIR_XPGK_SRC
5
_FASTSTRT
CISCO_AVPAIR_XPGK_SOURCE_FA
STSTART
116 DL
CISCO_AVPAIR_XPGK_SRC
40
_RTP_ADDR
CISCO_AVPAIR_XPGK_SOURCE_RT
P_ADDRESS
117 DM
CISCO_AVPAIR_XPGK_SRC
20
_CODEC
118 DN
CISCO_AVPAIR_XPGK_SRC
40
_NUM_IN
CISCO_AVPAIR_XPGK_SRC_NUMB
ER_IN
119 DO
CISCO_AVPAIR_XPGK_SRC
40
_NUM_OUT
CISCO_AVPAIR_XPGK_SRC_NUMB
ER_OUT
120 DP
IMSI
30
121 DQ
TRUNKID_IN
40
122 DR
TRUNKID_OUT
40
123 DS
X_ASCEND_CONNECT_PR
10
OGRESS
124 DT
X_ASCEND_DATA_RATE
10
CISCO_AVPAIR_XPGK_LOCAL_DIS
CONNECT_CAUSE
CISCO_AVPAIR_XPGK_ROUTE_RET
RIES
Spreads
Fiel
heet
d#
Column
Field Name
Max
.
Leng
th
125 DU
X_ASCEND_PRE_INPUT_O
10
CTETS
126 DV
X_ASCEND_PRE_INPUT_P
ACKETS
127 DW
X_ASCEND_PRE_OUTPUT_
10
OCTETS
128 DX
X_ASCEND_PRE_OUTPUT_
10
PACKETS
129 DY
X_ASCEND_XMIT_RATE
V.
Comments
10
10
VI.
VII.
Any record where the starting date and time of the call cannot be
determined.
WebCDR's Data Collection Status screen shows a count of the number of bad
records per CDR file.
VIII.
SOURCES OF WARNINGS
Occasionally WebCDR will encounter a record within a CDR file that is not
quite what we expected, but which can be processed for billing purposes. These
records are flagged with "warning" messages. Possible sources of warnings are:
o
Any record where the system duration is less than the billable duration.
Any record with billable duration that is missing one or both trunk
groups.
In other words, we're pretty confident that the same call record appeared twice
in the CDR file by mistake, or that we've processed the same call in an earlier
file. When we find duplicate records like this, we delete them from WebCDR
and show the total number of duplicates found on the Data Collection
Status screen.
X.
FIELD MAPPING
Fields from the original CDR file are mapped to WebCDR fields as follows:
o
WEBCDR{ANI}
WEBCDR{ANI}
is set to SOURCE{CALLING_STATION_ID}
WEBCDR{DNIS_INPULSED}
WEBCDR{DNIS_INPULSED}
WEBCDR{DNIS_OUTPULSED}
WEBCDR{DNIS_OUTPULSED}
WEBCDR{IB_RATED_DIGITS}
If a per-carrier tech prefix is assigned to the IB carrier for this call, the
tech prefix is stripped from the WEBCDR{IB_RATED_DIGITS}.
WebCDR then removes any non-digits
from WEBCDR{IB_RATED_DIGITS}.
Finally WebCDR strips any leading 011 or 00
from WEBCDR{IB_RATED_DIGITS}.
o
WEBCDR{OB_RATED_DIGITS}
WEBCDR{OB_RATED_DIGITS} is used to rate the call
direction. WEBCDR{OB_RATED_DIGITS} is set equal
toWEBCDR{IB_RATED_DIGITS}.
in the outbound
WEBCDR{ORIG_TG}
WEBCDR{ORIG_TG} is set to SOURCE{CISCO_AVPAIR_IN_CARRIER_ID}
long as SOURCE{CISCO_AVPAIR_IN_CARRIER_ID} is populated.
as
Otherwise:
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{ORIG_TG} is set to SOURCE{CLIENT_IP_ADDRESS} of the
inbound call leg.
If SOURCE{H323_CALL_TYPE} = VOIP then WEBCDR{ORIG_TG} is set
to SOURCE{H323_REMOTE_ADDRESS} of the inbound call leg.
o
WEBCDR{ORIG_SPAN}
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{ORIG_SPAN} is set to the span number extracted
fromSOURCE{CISCO_NAS_PORT} of the inbound call leg.
o
WEBCDR{ORIG_CHANNEL}
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{ORIG_CHANNEL} is set to the channel number extracted
fromSOURCE{CISCO_NAS_PORT} of the inbound call leg.
o
WEBCDR{TERM_TG}
as
Otherwise:
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{IB_EXTRA} is set to SOURCE{CLIENT_IP_ADDRESS} of the
inbound call leg.
If SOURCE{H323_CALL_TYPE} = VOIP then WEBCDR{IB_EXTRA} is set
to SOURCE{H323_REMOTE_ADDRESS} of the inbound call leg.
o
WEBCDR{TERM_SPAN}
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{TERM_SPAN} is set to the span number extracted
fromSOURCE{CISCO_NAS_PORT} of the outbound call leg.
o
WEBCDR{TERM_CHANNEL}
If SOURCE{H323_CALL_TYPE} = TELEPHONY
then WEBCDR{TERM_CHANNEL} is set to the channel number extracted
fromSOURCE{CISCO_NAS_PORT} of the outbound call leg.
o
WEBCDR{START_DATE_TIME}
WEBCDR{START_DATE_TIME}
is set to SOURCE{H323_SETUP_TIME}.
The timezone is taken from this timestamp. If the switch or gateway says
that the time is "EST" then WebCDR interprets that as Eastern Standard
Time, which is equivalent to UTC-4. Note that EST is not the same thing
as "EDT", Eastern Daylight Time, which is equivalent to UTC-5. To
avoid confusion, WebCDR recommends that you set your gateways to
use UTC for all call timestamps.
o
WEBCDR{BILLABLE_DURATION}
WEBCDR{BILLABLE_DURATION}
is set to SOURCE{ACCT_SESSION_TIME}.
WEBCDR{IB_DURATION}
WEBCDR{OB_DURATION}
WEBCDR{SYSTEM_DURATION}
WEBCDR{SYSTEM_DURATION} is set
to SOURCE{H323_DISCONNECT_TIME}
- SOURCE{H323_SETUP_TIME}.
WEBCDR{TREATMENT_CODE}
WEBCDR{TREATMENT_CODE}
is set to SOURCE{H323_DISCONNECT_CAUSE}.
WEBCDR{COMPLETION_CODE}
WEBCDR{COMPLETION_CODE}
is set to SOURCE{ACCT_TERMINATE_CAUSE}.
WEBCDR{IB_EXTRA}
WEBCDR{OB_EXTRA}
When a customer has a gateway that has multiple IP addresses or multiple ports
with multiple IP addresses, it's possible for a packet to go in one port and out
another, making the ingress and egress events appear to be coming from two
different gateways.
Host alias records are required to handle this situation. The following records
have been defined:
Host
Alias
Description
84.233.212.10
192.168.200.10
84.233.212.10
192.168.200.33
84.233.212.10
41.77.225.10
84.233.212.10
84.233.212.33
84.233.212.11
192.168.200.11
84.233.212.11
192.168.200.34
84.233.212.11
41.77.225.11
84.233.212.11
84.233.212.34
84.233.212.12
192.168.200.12
84.233.212.12
192.168.200.35
84.233.212.12
41.77.225.12
84.233.212.12
84.233.212.35
84.233.212.14
41.77.225.14
84.233.212.26
41.77.225.26
84.233.212.27
41.77.225.27
84.233.212.30
41.77.225.30