A Call Detail Record is produced by the PeerEdge Orchestrator that documents the details of every successful telephone call and most unsuccessful call attempts.
The CDR Diagnostic report provides the ability to retrieve, view and export Call Detail Records.
File format
The CDR Diagnostic report produces two different CSV files, with different column layouts. Both are comma-separated with a header row. Check the header row to confirm which layout you have.
CDR export. The CDR export is the full layout, produced by the Export action. It carries 86 columns. The CDR export always includes the ten STIR/SHAKEN columns.
Call Path export. The Call Path export is a single-call trace, produced by the Download action on a row in the CDR Diagnostic results grid. The file is named after the Call-ID it traces. It carries 78 columns, and its column order is not the same as the CDR export. The Call Path export includes the ten STIR/SHAKEN columns only when the subscriber has zone status enabled. Without it, the file is 68 columns and ends at fee_connect.
Within each layout, new fields are appended at the end, so existing column positions are stable for that layout. Positions are not comparable between the two layouts.
Blank cells are normal. A field is blank when it does not apply to the call, when the lookup or feature that populates it is not enabled, or when the call did not progress far enough to produce a value.
A feature request has been submitted to add the eight missing fields from the CDR export to the call path export.
Field dictionary
Fields are listed in CDR export order. The Call Path column gives the same field's position in the Call Path export, or a dash when that layout does not carry the field.
CDR export # | Call Path # | Field | Format | Description |
1 | 1 | sip_code | Integer. (Max. 10) | SIP code returned to the originator. |
2 | 2 | sip_reason | Character. (Max. 500) | Internal code associated with the call. |
3 | 3 | call_start_time | YYYY-MM-DD HH:MM:SS.ffffff | Date and time the call was initiated. UTC, to microsecond precision. |
4 | 4 | call_transaction_time | YYYY-MM-DD HH:MM:SS.ffffff | Date and time of this leg. UTC, to microsecond precision. |
5 | 5 | call_answered_time | YYYY-MM-DD HH:MM:SS.ffffff | Date and time the call was answered. UTC, to microsecond precision. Blank for calls that did not complete. |
6 | 6 | call_end_time | YYYY-MM-DD HH:MM:SS.ffffff | Date and time the call ended. UTC, to microsecond precision. Blank for calls that did not complete. |
7 | 7 | from_did | Character. (Max. 30) | ANI / originating number of the call. |
8 | 8 | to_did | Character. (Max. 30) | Dialed number of the call. |
9 | 9 | lrn_did | Character. (Max. 30) | LRN of the dialed number, if applicable. |
10 | 10 | callid | Text. | Internal ID of the A-leg of the call. No fixed maximum length; typically under 50 characters. |
11 | 11 | duration_real | Integer. (Max. 10) | Duration of the call, in seconds. |
12 | 12 | taxable_jurisdiction | Character. (Max. 1) | Jurisdiction based on BTN. |
13 | 13 | orig_carrier_id | Integer. (Max. 10) | ID of the originating carrier. |
14 | 14 | orig_carrier_name | Character. (Max. 40) | Name of the originating carrier. |
15 | 15 | orig_trunk_group_id | Integer. (Max. 10) | ID of the originating trunk group. |
16 | 16 | orig_trunk_group_name | Character. (Max. 40) | Name of the originating trunk group. |
17 | 17 | orig_juris | Character. (Max. 10) | Jurisdiction of the originating carrier. L = Local, A = Intrastate, E = Interstate, U = Unknown/Indeterminate, I = International. |
18 | 18 | orig_rate | Numeric. Emitted with eight decimal places. | Per-minute rate of the originating carrier. Passed through from the rate deck; the deck does not enforce a fixed scale. |
19 | 19 | orig_billed_duration | Integer. (Max. 10) | Extended billed duration of the originating carrier, in seconds. |
20 | 20 | orig_cost | Numeric. Emitted with six decimal places. | Cost associated with the originating leg of the call. |
21 | 21 | term_carrier_id | Integer. (Max. 10) | ID of the terminating carrier. |
22 | 22 | term_carrier_name | Character. (Max. 40) | Name of the terminating carrier. |
23 | 23 | term_trunk_group_id | Integer. (Max. 10) | ID of the terminating trunk group. |
24 | 24 | term_trunk_group_name | Character. (Max. 40) | External name of the terminating trunk group. |
25 | 25 | term_juris | Character. (Max. 10) | Jurisdiction of the terminating carrier. L = Local, A = Intrastate, E = Interstate, U = Unknown/Indeterminate, I = International. |
26 | 26 | term_rate | Numeric. Emitted with eight decimal places. | Per-minute rate of the terminating carrier. Passed through from the rate deck; the deck does not enforce a fixed scale. |
27 | 27 | term_billed_duration | Integer. (Max. 10) | Extended billed duration of the terminating carrier, in seconds. |
28 | 28 | term_cost | Numeric. Emitted with six decimal places. | Cost associated with the terminating leg of the call. |
29 | 29 | pdd | Integer. (Max. 10) | Post Dial Delay, in milliseconds. |
30 | 30 | orig_ip | Character. (Max. 40) | Signaling IP of the originating leg. |
31 | 31 | orig_socket | Character. (Max. 50) | Inbound switch IP. |
32 | 32 | term_ip | Character. (Max. 40) | Signaling IP of the terminating leg. |
33 | 33 | term_socket | Character. (Max. 50) | Outbound switch IP. |
34 | 34 | orig_media_ip | Character. (Max. 40) | Media IP of the originating leg. |
35 | 35 | term_media_ip | Character. (Max. 40) | Media IP of the terminating leg. |
36 | 36 | reason | Character. (Max. 255) | Internal reason code / description. |
37 | 37 | leg | Character. (Max. 1) | A = originating leg, B = terminating leg. |
38 | 38 | attempt_counter | Integer. (Max. 2) | LCR depth of the attempt. |
39 | 39 | terminator | Character. (Max. 1) | Party that terminated the call. T = Terminator, O = Originator. |
40 | 40 | orig_country | Character. (Max. 50) | Country of the originating leg. Truncated at 50 characters. |
41 | 41 | orig_destination | Character. (Max. 50) | Source destination of the originating leg. Truncated at 50 characters. Typically used on international calls. |
42 | 42 | orig_ocn | Character. (Max. 10) | OCN the call originated from. |
43 | 43 | orig_lata | Character. (Max. 10) | LATA the call originated from. |
44 | 44 | orig_state | Character. (Max. 5) | State of the originating leg. |
45 | 45 | orig_ratecenter | Character. (Max. 50) | Rate center of the originating leg. |
46 | 46 | term_country | Character. (Max. 50) | Country of the terminating leg. Truncated at 50 characters. |
47 | 47 | term_destination | Character. (Max. 50) | Destination of the terminating leg. Truncated at 50 characters. Typically used on international calls. |
48 | 48 | term_ocn | Character. (Max. 10) | OCN the call terminated to. |
49 | 49 | term_lata | Character. (Max. 10) | LATA the call terminated to. |
50 | 50 | term_state | Character. (Max. 5) | State of the terminating leg. |
51 | 51 | term_ratecenter | Character. (Max. 50) | Rate center of the terminating leg. |
52 | 52 | mos_min | Numeric. NN.NN | Minimum MOS score. Blank when media is not anchored. |
53 | 53 | mos_avg | Numeric. NN.NN | Average MOS score. Blank when media is not anchored. |
54 | 54 | mos_max | Numeric. NN.NN | Maximum MOS score. Blank when media is not anchored. |
55 | 55 | cdr_uuid | Character. (Max. 50) | Internal ID of this leg of the call. |
56 | 56 | diversion_from | Character. (Max. 30) | ANI taken from the Diversion header, if present. |
57 | 57 | orig_rounding | Integer. | Number of rounding digits on the customer-termination or vendor-origination rate deck. |
58 | 58 | term_rounding | Integer. | Number of rounding digits on the vendor-termination or customer-origination rate deck. |
59 | 59 | isup_oli | Text. | Originating Line Information (OLI). Text datatype to preserve leading zeros. |
60 | 60 | isup_surcharge | Numeric. | ISUP surcharge taken from the customer rate on the terminating trunk group. Blank when no surcharge is configured on that rate; it is not defaulted to 0.00 in the CDR. |
61 | 61 | orig_billed_prefix | Integer. | Code used by the rating engine on the originating leg of an international call. |
62 | 62 | term_billed_prefix | Integer. | Code used by the rating engine on the terminating leg of an international call. |
63 | 63 | orig_tech_prefix | String. | Origination tech prefix, if one was used. |
64 | 64 | term_tech_prefix | String. | Termination tech prefix, if one was used. |
65 | 69 | stir_attest | Character. (Max. 1) | STIR/SHAKEN attestation level. A, B, or C (Full, Partial, or Gateway). |
66 | 70 | stir_orig_id | Character. (Max. 50) | PASSporT origid. GUID representing the originating point of the call, such as the switch or trunk group where the call started. Used to trace call origin on a trusted network. |
67 | 71 | stir_orig_tn | Character. (Max. 50) | PASSporT orig.tn. Calling number or calling Uniform Resource Identifier. |
68 | 72 | stir_dest_tn | Character. (Max. 50) | PASSporT dest.tn (first destination TN in the token). Called number or called Uniform Resource Identifier. |
69 | 73 | stir_iat | Character. (Max. 50) | PASSporT iat. Time the request was initiated (JWT issued-at, Unix time). |
70 | 74 | stir_x5u | Character. (Max. 200) | JWS header x5u. Location of the certificate used to sign the token. |
71 | — | ani_lrn | Character. (Max. 30) | LRN returned for the ANI (from_did). Blank when no ANI LRN lookup was performed. |
72 | 65 | p_charge_info | String. | P-Charge-Info header value. Used by SIP entities that provide billing services for a session; when present, allows billing on P-Charge-Info instead of the From field. |
73 | 66 | ani_risk_score | String. | Spam risk label for the ANI. One of UNKNOWN, MAYBE, PROBABLY, ALMOST_CERTAINLY, DEFINITELY. This is an enumerated label, not a numeric score. Blank when Spam Check is not enabled on the terminating trunk group. |
74 | 67 | callid_bleg | Text. | Internal ID of the B-leg of the call. No fixed maximum length; values longer than 50 characters are normal. |
75 | — | in_zone | String. | Routing zone of the ingress (originating) leg. |
76 | — | location | String. | PeerEdge Orchestrator location that processed this leg. |
77 | — | out_zone | String. | Routing zone of the egress (terminating) leg. |
78 | — | ringing_time | Numeric. NN.N | Seconds between the first ringing indication and answer, or between ringing and call end for unanswered calls. Rounded to one decimal place. Blank when the call never rang. |
79 | 68 | fee_connect | Numeric. Emitted with eight decimal places. | Connection fee returned from billing for the customer leg of the call. Passed through from the rate deck; the deck does not enforce a fixed scale. |
80 | — | nb_hdr | String. | Reason header returned when the call was blocked by call analytics. Carries the redress contact and block reason. Blank when the call was not blocked. |
81 | 75 | stir_cert_cn | String. | Common Name (CN) of the SHAKEN signing certificate. |
82 | 76 | stir_spid | String. | Service Provider ID (SPID) carried in the SHAKEN signing certificate. |
83 | 77 | stir_status | String. | Outcome of STIR/SHAKEN verification or signing on this leg. See the value list below. |
84 | 78 | stir_cert_org | String. | Organization (O) of the SHAKEN signing certificate. |
85 | — | dno_dipped | Integer. (Max. 1) | Do-Not-Originate list dip. 0 = not dipped, 1 = dipped. |
86 | — | dnc_dipped | Integer. (Max. 1) | Do-Not-Call list dip. 0 = not dipped, 1 = dipped and not blocked, 2 = dipped and blocked by DNC. |
Call Path column order
The Call Path layout omits ani_lrn, in_zone, location, out_zone, ringing_time, nb_hdr, dno_dipped and dnc_dipped, and it places the STIR/SHAKEN block after p_charge_info, ani_risk_score, callid_bleg and fee_connect rather than before them.
# | Field |
1 | sip_code |
2 | sip_reason |
3 | call_start_time |
4 | call_transaction_time |
5 | call_answered_time |
6 | call_end_time |
7 | from_did |
8 | to_did |
9 | lrn_did |
10 | callid |
11 | duration_real |
12 | taxable_jurisdiction |
13 | orig_carrier_id |
14 | orig_carrier_name |
15 | orig_trunk_group_id |
16 | orig_trunk_group_name |
17 | orig_juris |
18 | orig_rate |
19 | orig_billed_duration |
20 | orig_cost |
21 | term_carrier_id |
22 | term_carrier_name |
23 | term_trunk_group_id |
24 | term_trunk_group_name |
25 | term_juris |
26 | term_rate |
27 | term_billed_duration |
28 | term_cost |
29 | pdd |
30 | orig_ip |
31 | orig_socket |
32 | term_ip |
33 | term_socket |
34 | orig_media_ip |
35 | term_media_ip |
36 | reason |
37 | leg |
38 | attempt_counter |
39 | terminator |
40 | orig_country |
41 | orig_destination |
42 | orig_ocn |
43 | orig_lata |
44 | orig_state |
45 | orig_ratecenter |
46 | term_country |
47 | term_destination |
48 | term_ocn |
49 | term_lata |
50 | term_state |
51 | term_ratecenter |
52 | mos_min |
53 | mos_avg |
54 | mos_max |
55 | cdr_uuid |
56 | diversion_from |
57 | orig_rounding |
58 | term_rounding |
59 | isup_oli |
60 | isup_surcharge |
61 | orig_billed_prefix |
62 | term_billed_prefix |
63 | orig_tech_prefix |
64 | term_tech_prefix |
65 | p_charge_info |
66 | ani_risk_score |
67 | callid_bleg |
68 | fee_connect |
69 | stir_attest |
70 | stir_orig_id |
71 | stir_orig_tn |
72 | stir_dest_tn |
73 | stir_iat |
74 | stir_x5u |
75 | stir_cert_cn |
76 | stir_spid |
77 | stir_status |
78 | stir_cert_org |
stir_status values
stir_status records the outcome of STIR/SHAKEN handling on the leg. It is blank when the call was not subject to STIR/SHAKEN treatment. For where each stir_* field is sourced under each treatment type, see STIR/SHAKEN CDR Field Sources.
Value | Meaning |
OK | An inbound Identity header was present and verified successfully. |
SIGNED_OK | The PeerEdge Orchestrator signed the call and the signing succeeded. |
MISSING_IDENTITY | No Identity header was present where one was required. |
INVALID_IDENTITY_HDR | The Identity header was present but malformed. |
IDENTITY_OR_DATE_HDR_MISSED | The Identity header or the Date header was absent. |
CANNOT_DERIVE_IDENTITY | Identity could not be derived from the request. |
UNSUPPORTED_PPT_OR_ALG | The PASSporT type or signing algorithm is not supported. |
DATE_TOO_OLD | The Date header falls outside the accepted freshness window. |
CERT_EXPIRED | The signing certificate has expired. |
CERT_NOT_FETCHED | The signing certificate could not be retrieved from the x5u location. |
CERT_BLACKLISTED | The signing certificate is on the blocklist. |
UNSUPPORTED_CREDENTIAL | The credential presented is not supported. |
CANNOT_SIGN | Signing was requested but could not be completed. |
ATTEST_BELOW_MIN | The attestation level is below the minimum required by the terminating policy. |
IN_SPID_FILTER | The signing SPID matched the ingress SPID filter. |
OUT_SPID_FILTER | The signing SPID matched the egress SPID filter. |
GL_SPID_FILTER | The signing SPID matched the global SPID blocklist. |
UNKNOWN_ERROR | STIR/SHAKEN processing failed for an unclassified reason. |
CDR Dictionary for Enterprise customers
Field | Format | Description |
sip_code | Integer. (Max. 10) | SIP code returned to the originator. |
sip_reason | Character. (Max. 500) | Internal code associated with the call. |
| call_start_time | YYYY-MM-DD HH:MM:SS | Date and time the call was initiated. UTC. |
callid | String. (typically less than 50 characters) | Internal ID of the A-Leg of the call. |
from_did | Character. (Max. 30) | ANI/originating number of the call. |
to_did | Character. (Max. 30) | Dialed number of the call. |
lrn_did | Character. (Max. 30) | LRN, if applicable, of the call. |
orig_carrier_name | Character. (Max. 40) | Name of the originating carrier. |
connection_name | Character. (Max. 40) | Name of the originating connection. |
orig_juris | Character. (Max. 10) | Jurisdiction (inter, intra, etc) of the originating carrier.
L = Local A= Intrastate E= Interstate U = Unknown/Indeterminate I = International |
orig_cost | Numeric. NN.NNNNNN | Cost associated with the originating leg of the call. |
| duration_real | Integer. (Max. 10) | Duration, in seconds, of the call. |
| orig_billed_duration | Integer. (Max. 10) | Extended billed duration of the originating carrier. |
| pdd | Integer. (Max. 10) | Post Dial Delay |
| orig_country | Character. (Max. 50) | Country of the originating leg. |
| orig_destination | Character. (Max. 50) | Source destination of the originating leg.
Typically used in International calls. |
| orig_ocn | Character. (Max. 10) | OCN the call originating from. |
| orig_lata | Character. (Max. 10) | LATA the call originated from. |
| orig_state | Character. (Max. 5) | State of the originating leg. |
| orig_ratecenter | Character. (Max. 50) | Rate center of the originating leg. |
reason | Character. (Max 255) | Internal reason code/description. |
leg | Character. (Max. 1) | A = originating leg B = terminating leg |
Sanitized export
Selecting Sanitize Data in the CDR Diagnostic export filter replaces the full CDR export layout with a reduced, single-direction column set. The columns depend on whether the search was scoped to an originating or a terminating trunk group.
Originating trunk group scope:
sip_code, sip_reason, call_start_time, callid, from_did, to_did, lrn_did, orig_carrier_name, orig_trunk_group_name, orig_juris, orig_rate, orig_cost, orig_billed_duration, orig_country, orig_destination, orig_rounding, isup_oli, isup_surcharge, reason, leg, orig_billed_prefix, orig_tech_prefix, p_charge_info, ani_risk_score
Terminating trunk group scope:
sip_code, sip_reason, call_start_time, callid, from_did, to_did, lrn_did, term_carrier_name, term_trunk_group_name, term_juris, term_rate, term_cost, term_billed_duration, term_country, term_destination, term_rounding, isup_oli, isup_surcharge, reason, leg, term_billed_prefix, term_tech_prefix, p_charge_info, ani_risk_score
When the subscriber has zone status enabled, both sanitized sets are followed by the ten STIR/SHAKEN columns.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article