Sei sulla pagina 1di 7

Normalization CDR

General information
Before come into detailed description some clarification regarding CDR
(Call Details Record), CDR format etc needed.
Here in Aircel Limited Ericsson switch has been used and the CDR format
for Ericsson switch is ASN.1 Format.
ASN.1CDR format is normally supported by the TAG-LENGTH-VALUE
combination. The CDR is started with the conventional CDR starter A0 and
it is followed by the length of the CDR. After that the different CDR types
are identified by the CDR Tag (A0 for transit, A1 for originating etc). The
different fields appear in the order of Tag first then the length of the field and
that follows the field values.
The CDR Types, which are actually may generated here in Aircel Limited,
are:

a) 0xA0 : TRANSIT: NON MOBILE CALLS THRU MSC


b) 0xA1 : MS ORIGINATING
c) 0xA2 : ROAMING CALL FORWARDING
d) 0xA3 : ONLY CALL FORWARDING
e) 0xA4 : MS TERMINATING
f) 0xA5 : MS ORIGINATING SMS IN MSC
g) 0xA6 : MS ORIGINATING SMS IN SMS-IWMSC
h) 0xA7 : MS TERMINATING SMS IN MSC
i) 0xA8 : MS TERMINATING SMS IN SMS-GMSC
j) 0xA9 : SS SUBSCRIBER PROCEDURE

Length Calculation:
ASN.1 Format follows this logic for finding length of data.
If next byte of TAG is 0x80 or 0x81 then next one byte is for length,
If next byte of TAG is 0x82 then next two byte is for length,
If next byte is other than those value the that byte itself is for length.

Here is an example for reading HEX CDR:

CDR Tag :: A0
82 ==> Length of Data ==> 014C ==> 332
Data ==>
A181D59F2101038C03000204890305021B940F47484D5343345F5231305
F413035458D030000009F3101018203D42C6D920200019301008A030F0E
138B030F10179F43020004950711322344031010850826000103618578F49
D01119F2F01039B0726F01000091E838704216012529F4501069A030F0E
139F2001009F3D01019F3E0301000384064142530687F897054253433549
9F420101810320375A9F4405048B8700048301019F3A0103800301020D9
F3F0100900100910200018F01008E030000009F4A032121F596075353464
44A4F319F220100
3080AB1A80040003421783030F100B810142820105840726F01000091E8
3AB1A80040003421883030F100F810142820105840726F01000091E83AB
1A80040003421783030F1013810142820105840726F01000091E83AB1A8
0040003421883030F1018810142820105840726F01000091E830000
1. (Call Module)
A1 ==> MS Originating
81 ==> Length of Data ==> D5 ==> 213
Data ==>
9F2101038C03000204890305021B940F47484D5343345F5231305F413035
458D030000009F3101018203D42C6D920200019301008A030F0E138B03
0F10179F43020004950711322344031010850826000103618578F49D01119
F2F01039B0726F01000091E838704216012529F4501069A030F0E139F20
01009F3D01019F3E0301000384064142530687F8970542534335499F4201
01810320375A9F4405048B8700048301019F3A0103800301020D9F3F010
0900100910200018F01008E030000009F4A032121F59607535346444A4F3
19F220100
1.1
9F21 ==> Call Position
01 ==> Length of Data ==> 01 ==> 1
Data ==> 03
1.2
8C ==> Chargeable Duration
03 ==> Length of Data ==> 03 ==> 3
Data ==> 000204
1.3
89 ==> Date for Start of Charge
03 ==> Length of Data ==> 03 ==> 3
Data ==> 05021B
1.4
94 ==> Exchange Identity
0F ==> Length of Data ==> 0F ==> 15
Data ==> 47484D5343345F5231305F41303545
1.5
8D ==> Interruption Time
03 ==> Length of Data ==> 03 ==> 3
Data ==> 000000
1.6
9F31 ==> Partial Output Record Number
01 ==> Length of Data ==> 01 ==> 1
Data ==> 01
1.7
82 ==> Record Sequence Number
03 ==> Length of Data ==> 03 ==> 3
Data ==> D42C6D
1.8
92 ==> Tariff Class
02 ==> Length of Data ==> 02 ==> 2
Data ==> 0001
1.9
93 ==> Tariff Switching Indicator
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00
1.10
8A ==> Time For Start of Charge
03 ==> Length of Data ==> 03 ==> 3
Data ==> 0F0E13
1.11
8B ==> Time for Stop of Charge
03 ==> Length of Data ==> 03 ==> 3
Data ==> 0F1017
1.12
9F43 ==> Switch Identity
02 ==> Length of Data ==> 02 ==> 2
Data ==> 0004
1.13
95 ==> MSC Identification
07 ==> Length of Data ==> 07 ==> 7
Data ==> 11322344031010
1.14
85 ==> Calling Subscriber IMSI
08 ==> Length of Data ==> 08 ==> 8
Data ==> 26000103618578F4
1.15
9D ==> Tele Service Code
01 ==> Length of Data ==> 01 ==> 1
Data ==> 11
1.16
9F2F ==> IN Marking of Mobile Subscriber
01 ==> Length of Data ==> 01 ==> 1
Data ==> 03
1.17
9B ==> IN Marking of Mobile Subscriber
07 ==> Length of Data ==> 07 ==> 7
Data ==> 26F01000091E83
1.18
9B ==> IN Marking of Mobile Subscriber
07 ==> Length of Data ==> 07 ==> 7
Data ==> 26F01000091E83
1.19
87 ==> Called Party Number
04 ==> Length of Data ==> 04 ==> 4
Data ==> 21601252
1.20
9F45 ==> Frequency Band Supported
01 ==> Length of Data ==> 01 ==> 1
Data ==> 06
1.21
9A ==> Time for Calling Party Traffic Channel Seizure
03 ==> Length of Data ==> 03 ==> 3
Data ==> 0F0E13
1.22
9F20 ==> First Radio Channel Used
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00
1.23
9F3D ==> First Assigned Speech Coder Version
01 ==> Length of Data ==> 01 ==> 1
Data ==> 01
1.24
9F3E ==> Speech Coder Preference List
03 ==> Length of Data ==> 03 ==> 3
Data ==> 010003
1.25
84 ==> Calling Party Number
06 ==> Length of Data ==> 06 ==> 6
Data ==> 4142530687F8
1.26
97 ==> Incoming Route
05 ==> Length of Data ==> 05 ==> 5
Data ==> 4253433549
1.27
9F42 ==> Originated Code
01 ==> Length of Data ==> 01 ==> 1
Data ==> 01
1.28
81 ==> Call Identification Number
03 ==> Length of Data ==> 03 ==> 3
Data ==> 20375A
1.29
9F44 ==> Network Call Reference
05 ==> Length of Data ==> 05 ==> 5
Data ==> 048B870004
1.30
83 ==> Type of Calling Subscriber
01 ==> Length of Data ==> 01 ==> 1
Data ==> 01
1.31
9F3A ==> Radio Channel Property
01 ==> Length of Data ==> 01 ==> 1
Data ==> 03
1.32
80 ==> Traffic Activity Code
03 ==> Length of Data ==> 03 ==> 3
Data ==> 01020D
1.33
9F3F ==> Subscription Type
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00
1.34
90 ==> Origin for Charging
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00
1.35
91 ==> Charging Case
02 ==> Length of Data ==> 02 ==> 2
Data ==> 0001
1.36
8F ==> Charged Party
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00
1.37
8E ==> Time from Register Seizure to Start of Charging
03 ==> Length of Data ==> 03 ==> 3
Data ==> 000000
1.38
9F4A ==> Translated Number
03 ==> Length of Data ==> 03 ==> 3
Data ==> 2121F5
1.39
96 ==> Outgoing Route
07 ==> Length of Data ==> 07 ==> 7
Data ==> 535346444A4F31
1.40
9F22 ==> EOS Information
01 ==> Length of Data ==> 01 ==> 1
Data ==> 00

2.(Sequence)(30)
Length is Indefinite (80)
2.1
AB ==> SS Invocation Event Module
1A ==> Length of Data ==> 1A ==> 26
Data ==> 80040003421783030F100B810142820105840726F01000091E83
2.2
AB ==> SS Invocation Event Module
1A ==> Length of Data ==> 1A ==> 26
Data ==> 80040003421883030F100F810142820105840726F01000091E83
2.3
AB ==> SS Invocation Event Module
1A ==> Length of Data ==> 1A ==> 26
Data ==> 80040003421783030F100B810142820105840726F01000091E83
2.4
AB ==> SS Invocation Event Module
1A ==> Length of Data ==> 1A ==> 26
Data ==> 80040003421783030F100B810142820105840726F01000091E83

3.(End of contents)(0000)

INSEDE THE PROGRAM

Inside the program, we calculate according to tag length value and


then converting the particular values to ASCII format with the c++
functions the we are sending it to different deliverable files.

Potrebbero piacerti anche