Table of Contents
1.2 Acronyms and Definitions 4
2.4 Wireline Detail Record Layout 5
2.5 Mobile Voice Record Layout 8
2.6 Mobile Data Record Layout 11
2.7 Mobile Message Record Layout 13
2.8 Metered Event Record Layout 15
Summary
The Native CDR specification details the file format required to process customer-specific usage records using the IDI platform Rating and Billing application. It allows you to act as the mediator of usage records, permitting you to format your own usage records for processing. You are empowered to do the mapping and formatting of the records from your network element or other usage record source to the IDI platform Native CDR format.
Scope
The Native CDR format supports wireline usage for Equal Access, Outbound dedicated, Conference Call, Travel Card, VoIP, 800 and 800 Dedicated calls. It supports wireless usage for Voice, Data, SMS and MMS. It also supports metered usage for event billing.
Acronyms and Definitions
CDR: IDI platform File Format ID for Native CDR files
File Format
General format
The following general characteristics apply to IDI platform Native CDR files:
ASCII
File naming convention must be *.csv
A header is required
The header must be followed by one or more comma-delimited detail records
Quote (“) any text fields containing a comma
Empty (non-required) fields are acceptable.
Fields that contain NANP numbers should be 10 digits with no leading 1’s or hyphens.
Mobile Record Layouts (Voice, Data, Messaging) have a variable number of fields depending on the Network Type. This field is required and is used to determine the network-specific fields that follow (CDMA, GSM or no associated network type).
Header Record
The first row of the file must have “Native CDR” with no quotes, starting in the first position of the first row. Example:
Usage Type fields
The Native CDR format allows usage types to be pre-populated in the CDR. If this is not provided in the CDR, The IDI platform will determine the usage type(s) based on the record type and other field information. If populated, The IDI platform will make no attempt to assign usage type and will never override the value(s) from the CDR.
There are core usage types delivered in The IDI platform (3-digit values), plus the capability to configure custom usage types (5-digit values). Either are acceptable in usage type fields.
A list of core usage type numeric values with corresponding description is available upon request.
Wireline Detail Record Layout
| Field Name | Type | Required | Notes |
1 | Record Type | Numeric | Y | '1' |
2 | EventType | Numeric | Y | '5' (Equal Access, Outbound Dedicated) ‘8’ (Travel Card) ‘9’ (VoIP) |
3 | Usage Start DateTime | Alphanumeric | Y | Date time YYYYMMDDHHMMSS |
4 | UTCOffset | Numeric | N | Optional: The offset from UTC for all datetimes contained in this CDR. The offset is expressed as a number of minutes either positive or negative, such that adding that number of minutes to a DateTime converts it to UTC. |
5 | Account Code | Alphanumeric | N | Pass through to usage. |
6 | Service Type | Numeric | N | If provided, must be valid in Product Catalog. |
7 | Usage Type | Numeric | N | Optional - when unspecified, the deriver will determine based on the CalledNumber. When populated a CDREvent Cost record is created with CostTypeID = 10 (Wireline) |
8 | AnswerElapsedTime | Numeric | N | Call Duration in seconds. Either Duration or Disconnect DateTime must be provided. |
9 | Disconnect DateTime | Alphanumeric | N | Date time YYYYMMDDHHMMSS. |
10 | Service Number TON | Numeric | Y | Type of Service Number: 4: Other |
10 | Billing Number TON | Numeric | Y | Type of Number indicator for the Billing Number field: 4: Other |
11 | Billing Number | Alphanumeric | Y | Service Number as defined in The IDI platform (no leading 1, hyphens, parenthesis, etc.). Maximum 30 characters |
12 | Calling Number TON | Numeric | Y | Type of Calling Number: |
13 | Calling Number | Alphanumeric | Y | Originating Number. This includes country code when international |
14 | Called Number TON | Numeric | Y | Type of Called Number: 4: Other / no validation |
15 | Called Number | Alphanumeric | Y | Terminating Number. This includes country code when international |
16 | Distance Type | Numeric | N | Optional. When provided The IDI platform will accept this value and will not attempt to distance the call. |
17 | Call Description | Alphanumeric | N | Optional text for display purposes |
18 | Cost | Decimal | N | Optional, up to 4 decimals. (ie. 0.0105) |
19 | Conference ID | Alphanumeric | N | Optional. Only applicable to Conference call events. |
20 | Custom | Alphanumeric | N | Reserved for Custom information |
Dialed Digits TON | Numeric | N | Required when Dialed Digits is populated: 1: NANP 4: Other / no validation | |
22 | Dialed Digits | Alpha(30) | N | Dialed number for outgoing events. If blank/null, the Called Number (field #15) will be used as the Dialed Digits in The IDI platform |
23 | Originating Trunk Group | Alpha(64) | N | Optional/Informational |
24 | Terminating Trunk Group | Alpha(64) | N | Optional/Informational |
25 | OLI | Alphanumeric | N | Originating Line Information: |
26 | Originating OCN | Alpha(4) | N | When populated, this will override what CG would derive from the calling number. |
27 | Terminating OCN | Alpha(4) | N | When populated, this will override what CG would derive from the called number. |
28 | Call Feature Codes | Numeric | N | A 32 bit flag field used to store characteristics of the call. Integer value will be converted to binary to determine features: 64 – Extended Local 128 – Mobile International Terminated (Bit 8) 256 – Potential Point to Point 512 – Voice over LTE |
Mobile Voice Record Layout
| Field Name | Type | Required | Notes |
1 | Record Type | Numeric | Y | '3' |
2 | Event Type ID | Numeric | Y | '1' (MobileVoice) |
3 | Event Date/Time | Alphanumeric | Y | Date time YYYYMMDDHHMMSS |
4 | UTC Offset | Numeric | N | Optional: The offset from UTC for all datetimes contained in this CDR. The offset is expressed as a number of minutes either positive or negative, such that adding that number of minutes to a DateTime converts it to UTC. . |
5 | Serving SID/BID | Numeric | N | SID/BID the call was served in |
6 | ServingCountry | Alphanumeric | N | Serving country, information only. (Not used by rating) |
7 | ServingPlace | Alphanumeric | N | Serving city or place |
8 | ServingState | Alphanumeric | N | 2 character abbreviation for State |
9 | Direction ID | Numeric | Y | '1' (Originating) |
10 | Duration | Numeric | N | Call Duration in seconds. Either Duration or DisconnectTime must be provided |
11 | Disconnect Time | Alphanumeric | N | Date time YYYYMMDDHHMMSS |
12 | Calling Number TON | Numeric | Y | The Type Of Number indicator for the Calling Number field. |
13 | Calling Number | Alphanumeric | Y | Originating Number. This includes country code when international |
14 | Dialed Digits TON | Numeric | N | The Type Of Number indicator for the DialedDigits field. |
15 | Dialed Digits | Alphanumeric | N | The actual dialed number to complete the call. Applies for originating call direction only. |
16 | Called Number TON | Numeric | Y | The Type Of Number indicator for the Called Number field. |
17 | Called Number | Alphanumeric | Y | The terminating party number. This number represents the final destination of the call. This includes country code when international. |
18 | Presentation Ind | Numeric | N | Applies to Terminating Call Direction: |
19 | Call Feature Codes | Numeric | N | A 32 bit flag field used to store characteristics of the call. Integer value will be converted to binary to determine features: 64 – Extended Local (Bit 7) 128 - Cellular Terminated (Bit 8) 256 – Potential Point to Point (Bit 9) 512 – Voice over LTE (Bit 10) 1024 - WiFi |
20 | Call Description | Alphanumeric | N | Optional pass-thru text for display purposes |
21 | Distance Type | Numeric | N | Optional: |
22 | Airtime Usage Type | Numeric | N | Optional. When populated a CDREvent Cost record is created with CostTypeID = 3 (Airtime) |
23 | Airtime Cost | Decimal | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 3 (Airtime Cost) |
24 | Toll Usage Type | Numeric | N | Optional. When populated a CDREvent Cost record is created with CostTypeID = 4 (Toll) |
25 | Toll Cost | Decimal | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 4 (Toll Cost) |
26 | Surcharge Usage Type | Numeric | N | Optional. When populated a CDREvent Cost record is created with CostTypeID = 6 (Surcharge) |
27 | Surcharge Cost | Decimal | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 6 (Surcharge Cost) |
28 | Tax Usage Type | Numeric | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 5 (Tax Cost) |
29 | Tax Cost | Decimal | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 5 (Tax Cost) |
30 | Custom | Alphanumeric | N | Reserved for Custom information |
31 | Network Type | Numeric | Y | '1' (CDMA) '3' (None) |
32 | GSM | Served MSISDN | Alphanumeric | N | MSISDN of Served Party. Service Number. Either ServedMSISDN or ServedIMSI is required. |
33 | GSM | Served IMSI | Alphanumeric | N | IMSI of the Served Party. Either ServedMSISDN or ServedIMSI is required. |
34 | GSM | Served IMEI | Alphanumeric | N | IMEI of the Served Party |
35 | GSM | Serving LAC | Alpha (HEX) | Y | The serving location area code for this event. This field must be represented as a string of hex bytes. |
36 | GSM | Serving CI | Alpha (HEX) | Y | The serving cell id for this event. This field must be represented as a string of hex bytes. |
37 | GSM | Serving PMN | Numeric | N | The PMN of the network that served the call. |
38 | GSM | Call Reference Number | Alphanumeric | N | The call reference number associated with this event |
39 | GSM | CAMEL Call Reference Number | Alphanumeric | N | CAMEL call reference number |
40 | GSM | CAMEL Destination | Alphanumeric | N | CAMEL destination number. Required when CAMEL is present. |
41 | GSM | CAMEL Exchange ID | Alphanumeric | N | CAMEL exchange ID. |
42 | GSM | CAMEL Level Of Service | Numeric | N | Required when CAMEL is present |
43 | GSM | CAMEL Service Key | Numeric | N | Required when CAMEL is present. CAMEL service key. |
44 | GSM | Default Call Handling | Numeric | N | Required when CAMEL is present. Default Call handling indicator. |
32 | CDMA | Served MDN | Alphanumeric | N | MDN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
33 | CDMA | Served MIN | Alphanumeric | N | MIN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
34 | CDMA | Served Serial Number | Alphanumeric | N | Serial Number (ESN/MEID ) of the served subscriber |
35 | CDMA | Serving CLLI | Alphanumeric | N | The first CLLI that served the call |
45 | QCI | Numeric | N | Usage of QoS Class Identifier for TAP |
32 | None: Service Number | Alphanumeric | N | Service Number. Required for Network Type 3. |
Mobile Data Record Layout
| Field Name | Type | Required | Notes |
1 | Record Type | Numeric | Y | '4' |
2 | Event Type ID | Numeric | Y | '3' (Mobile Data) |
3 | Event Date/Time | Alphanumeric | Y | Date time YYYYMMDDHHMMSS |
4 | UTC Offset | Numeric | N | Optional: The offset from UTC for all datetimes contained in this CDR. The offset is expressed as a number of minutes either positive or negative, such that adding that number of minutes to a DateTime converts it to UTC. |
5 | Uploaded Bytes | Numeric | Y | Number of bytes uploaded for a Data event |
6 | Downloaded Bytes | Numeric | Y | Number of bytes downloaded for a Data event |
7 | Transfer Duration | Numeric | N | The amount of time in seconds that a data session was active |
8 | SGSN Address | Alphanumeric | N | SGSN Address for a Data event |
9 | GGSN Address | Alphanumeric | N | GGSN Address for a Data event |
10 | Charging ID | Alphanumeric | N | Unique identifier used to identify a data session |
11 | Access Point Name | Alphanumeric | N | The access point name, if any for a Data event |
12 | PDP Address | Alphanumeric | N | PDP Address for a Data event |
13 | Data Transfer Type ID | Numeric | N | Used to distinguish transfer speed: 1 - 2G (Core Usage types 499/726) 2 - 3G (Core Usage types 753/790) 3 - 4G (Core Usage types 753/790) 4 - LTE (Core Usage types 858/859) 5 - 5G (Core Usage types 954/955) blank treated the same as 1 (2G) |
14 | Serving SID/BID | Numeric | N | SID/BID the call was served in |
15 | ServingCountry | Alphanumeric | N | Serving country, information only. (Not used by rating) |
16 | ServingPlace | Alphanumeric | N | Serving city or place |
17 | ServingState | Alphanumeric | N | 2 character abbreviation for State |
18 | UsageType | Numeric | N | Optional. When populated a CDREvent Cost record is created with CostTypeID = 7 (Data Cost) |
19 | Cost | Decimal | N | Optional. (up to 4 decimals). Set CDREventCost.CostTypeID = 7 (Data Cost) |
20 | Custom | Alphanumeric | N | Reserved for Custom information |
21 | Network Type | Numeric | Y | '1' (CDMA) |
22 | GSM | Served MSISDN | Alphanumeric | N | MSISDN of Served Party. Service Number. Either ServedMSISDN or ServedIMSI is required. |
23 | GSM | Served IMSI | Alphanumeric | N | IMSI of the Served Party. Either ServedMSISDN or ServedIMSI is required. |
24 | GSM | Served IMEI | Alphanumeric | N | IMEI of the Served Party |
25 | GSM | Serving LAC | Alpha (Hex) | N | The serving location area code for this event. This field must be represented as a string of hex bytes. |
26 | GSM | Serving CI | Alpha (Hex) | N | The serving cell id for this event. This field must be represented as a string of hex bytes. |
27 | GSM | Serving PMN | Numeric | N | The PMN of the network that served the call. |
28 | GSM | Call Reference Number | Alphanumeric | The call reference number associated with this event | |
29 | GSM | CAMEL Call Reference Number | Alphanumeric | N | CAMEL call reference number |
30 | GSM | CAMEL Destination | Alphanumeric | N | CAMEL destination number. Required when CAMEL is present. |
31 | GSM | CAMEL Exchange ID | Alphanumeric | N | CAMEL exchange ID. |
32 | GSM | CAMEL Level Of Service | Numeric | N | Required when CAMEL is present |
33 | GSM | CAMEL Service Key | Numeric | N | Required when CAMEL is present. CAMEL service key. |
34 | GSM | Default Call Handling | Numeric | N | Required when CAMEL is present. Default Call handling indicator. |
22 | CDMA | Served MDN | Alphanumeric | N | MDN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
23 | CDMA | Served MIN | Alphanumeric | N | MIN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
24 | CDMA | Served Serial Number | Alphanumeric | N | Serial Number (ESN/MEID ) of the served subscriber |
25 | CDMA | Serving CLLI | Alphanumeric | N | The first CLLI that served the call |
35 | QCI | Numeric | N | Usage of QoS Class Identifier for TAP |
22 | None | Service Number | Alphanumeric | Y | Service Number. Required with Network Type = 3 |
Mobile Message Record Layout
| Field Name | Type | Required | Notes |
1 | Record Type | Numeric | Y | '5' |
2 | Event Type ID | Numeric | Y | '2' (Mobile Message) |
3 | Event Date/Time | Alphanumeric | Y | Date time YYYYMMDDHHMMSS |
4 | UTC Offset | Numeric | N | Optional: The offset from UTC for all datetimes contained in this CDR. The offset is expressed as a number of minutes either positive or negative, such that adding that number of minutes to a DateTime converts it to UTC. |
5 | MessageTypeID | Numeric | Y | '1' (SMS) |
6 | Direction ID | Numeric | Y | '1' (Originating) |
7 | Sending Party TON | Numeric | Y | The Type Of Number indicator for the SendingParty field. |
8 | Sending Party | Alphanumeric | Y | Sending Party of the message |
9 | Receiving Party TON | Numeric | Y | The Type Of Number indicator for the ReceivingParty field. |
10 | Receiving Party | Numeric | Y | Receiving party of the message |
11 | Message Class | Alphanumeric | N | An indicator which describes the “class” or designation of the message. This applies to SMS only. MMS does not have this distinction. |
12 | SMS Center | Numeric | N | The SMSCenter that served a message event |
13 | Description | Alphanumeric | N | Optional pass-thru text for Display purposes |
14 | Serving SID/BID | Numeric | N | SID/BID the call was served in |
15 | ServingCountry | Alphanumeric | N | Serving country, information only. (Not used by rating) |
16 | ServingPlace | Alphanumeric | N | Serving city or place |
17 | ServingState | Numeric | N | 2 character abbreviation for State |
18 | UsageType | Numeric | N | Optional. |
19 | Cost | Decimal | N | Optional. (up to 4 decimals). |
20 | Custom | Alphanumeric | N | Reserved for Custom information |
21 | Network Type | Numeric | Y | '1' (CDMA) |
22 | GSM | Served MSISDN | Alphanumeric | N | MSISDN of Served Party. Service Number. Either ServedMSISDN or ServedIMSI is required. |
23 | GSM | Served IMSI | Alphanumeric | N | IMSI of the Served Party. Either ServedMSISDN or ServedIMSI is required. |
24 | GSM | Served IMEI | Alphanumeric | N | IMEI of the Served Party |
25 | GSM | Serving LAC | Alpha (Hex) | Y | The serving location area code for this event. This field must be represented as a string of hex bytes. |
26 | GSM | Serving CI | Alpha (Hex) | Y | The serving cell id for this event. This field must be represented as a string of hex bytes. |
27 | GSM | Serving PMN | Numeric | N | The PMN of the network that served the call. |
28 | GSM | Call Reference Number | Alphanumeric | N | The call reference number associated with this event |
29 | GSM | CAMEL Call Reference Number | Alphanumeric | N | CAMEL call reference number |
30 | GSM | CAMEL Destination | Alphanumeric | N | CAMEL destination number. Required when CAMEL is present. |
31 | GSM | CAMEL Exchange ID | Alphanumeric | N | CAMEL exchange ID. |
32 | GSM | CAMEL Level Of Service | Numeric | N | Required when CAMEL is present |
33 | GSM | CAMEL Service Key | Numeric | N | Required when CAMEL is present. CAMEL service key. |
34 | GSM | Default Call Handling | Numeric | N | Required when CAMEL is present. Default Call handling indicator. |
22 | CDMA | Served MDN | Alphanumeric | N | MDN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
23 | CDMA | Served MIN | Alphanumeric | N | MIN of the Served Number. Either MDN or MIN are required for Network Type 1 (CDMA) |
24 | CDMA | Served Serial Number | Alphanumeric | N | Serial Number (ESN/MEID ) of the served subscriber |
25 | CDMA | Serving CLLI | Alphanumeric | N | The first CLLI that served the call |
35 | GSM | QCI | Numeric | N | Usage of QoS Class Identifier for TAP |
22 | None | Service Number | Alphanumeric | Y | Service Number. Required with Network Type = 3 |
Metered Event Record Layout
| Field Name | Type | Required | Notes |
1 | Record Type | Numeric | Y | '2' |
2 | Event Type ID | Numeric | Y | '10' (Metered/Event billing) |
3 | Event Date/Time | Alphanumeric | Y | Date time YYYYMMDDHHMMSS |
4 | UTC Offset | Numeric | N | Optional: |
5 | Service Number | Alphanumeric | Y | Subscriber Identifier. This is theIDI platform Service Number |
6 | Account Code | Alphanumeric | N | Pass through to usage. |
7 | Service Type | Numeric | N | If provided, must be valid in Product Catalog. |
8 | Usage Type | Numeric | Y | Must be a valid usage type value |
9 | Cost | Decimal | N | Optional, up to 4 decimals. (ie. 0.0105) |
10 | Quantity | Decimal | Y | Quantity Consumed, up to 4 decimals. |
11 | Description | Alphanumeric | N | Optional Text up to 75 characters. |
Document Version History
Version | Change Description | Change Date |
1.0 | Creation | 12/06/2012 |
1.1 | Release 9.0707 Added Mobile Voice, Mobile Data Mobile Message record layouts. Wireline record layout: added Travel Card and VoIP as supported Event Types, added ‘Custom’ field (optional) at the end of record. | 1/15/2013 |
1.2 | Added Metered Event Record Layout | 2/12/2013 |
1.3 | Release 9.0708 Wireline Enhancements: added fields 21-28 to the Wireline Record Layout (section 2.4). Going forward, this record type can be received with 20 - 28 fields. Additional fields are not required for files to be processed. | 09/19/2013 |
1.4 | Release 9.0715 Added DataTransferType = 4 for LTE data records. This is needed for correctly generating TAP outcollects for LTE. | 01/28/2016 |
1.5 | Release 16.2 Addition of the VoLTE Call Feature code | 05/17/2016 |
1.6 | Release 16.3 Various fields were updated to Alphanumeric including Usage Start DateTime, Disconnect DateTime, and OLI (under wireline). A new field was added named QCI into Mobile Voice, Mobile Data, and Mobile Message. In Wireline, Service Number was renamed to Billing Number and Duration was renamed to AnswerElapsedTime | 10/9/2023 |
1.7 | Changed the notes on several fields in the mobile data and mobile voice specs to better explain what the fields do. | 6/18/2026 |