Call detail records (CDRs) provide a summary view of a call leg. Use the CDR API to manage call history records.

API calls

Click on each call to view the endpoint, method, and request example.


The table shows the possible parameters available for CDR requests.

NOTE: Some CDR attributes or CDR fields are for internal or billing purposes only. You can't access them using our API but they might appear in the CDR. For a description of these fields, contact IP Telecom support.

Key Description Type Options/Min/Max/Default
call_id Required. Unique identifier of the call leg. string
app_name The application that issued the CDR. string
app_version The internal version number of the application that issued the CDR. string
billing_seconds The number of seconds the call leg can be billed for (typically from when the call leg is answered). string
call_direction The direction of the call, relative to the media switch. If inbound, the leg came into the media switch (typically the A-leg). If outbound, the leg started on the media switch (typically the B-leg). string inbound, outbound
callee_id_name The indicated name of the callee. string
callee_id_number The indicated number of the callee. string
caller_id_name The indicated name of the caller. string
caller_id_number The indicated number of the caller. string
custom_channel_vars Specific key/value pairs set on the channel. object
custom_sip_headers A property list of SIP headers beginning with the prefix X-. object
digits_dialed All the DTMF tones detected on this leg of the call. string
disposition Specifies who sent the SIP BYE message. string
duration_seconds The duration of the call leg, in seconds. integer
fax_bad_rows The number of rows that failed to transfer (fax request only) . string
fax_ecm_used Specifies if error correction mode (ECM) was used on the fax (fax request only). string
fax_result_code The result code of the transmission (fax request only). string
fax_result_text The error string, if any, or 'OK' if successful (fax request only). string
fax_success Indicates if the fax was considered a success (fax request only). boolean
fax_total_pages The total number of pages (fax request only). string
fax_transfer_rate The baud of the fax transfer (fax request only). string
fax_transferred_pages The number of pages transferred (fax request only). string
from Depending on direction, represents the "from" user. string
from_uri The "from" SIP URI. string
hangup_cause The reason for the call leg's termination. See FreeSWITCH Hangup Causes for descriptions. string
hangup_code The SIP hangup code, if available. string
local_sdp The session description protocol (SDP) negotiated by the local agent. string
media_server The hostname of the media server that processed the call. string
node Indicates which node (ecallmgr) issued the CDR. string
other_leg_call_id If this leg is bridged, this value indicates the call-id of the opposite leg. string
other_leg_caller_id_name The caller ID name of the bridged leg. string
other_leg_caller_id_number The caller ID number of the bridged leg. string
other_leg_destination_number The dialed number of the other leg. string
other_leg_direction The direction of the other leg, relative to the media server. string
presence_id The ID used in NOTIFY SIP messages. string
remote_sdp The SDP negotiated by the remote agent. string
request The processed request URI. string
ringing_seconds Indicates the number of seconds that the leg was ringing for before it was answered. integer
timestamp UTC timestamp, in gregorian seconds, of when the CDR was generated. integer
to Depending on direction, represents the "to" user. If "outbound", it uses either the presence-id or the SIP Request address. If "inbound" is uses the SIP To header. string
to_uri The "to" SIP URI. string
user_agent User-agent header from SIP packet. string

Get a summary of CDRs

Returns a list of CDRs.

Method and endpoint

GET /v2/accounts/{ACCOUNT_ID}/cdrs


curl -v -X GET \
    -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs

Get a list of CDRs by time range

Returns a list of CDRs for a specific time range.


  curl -v -X GET \
      -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs?created_from={FROM_TIMESTAMP}&created_to={TO_TIMESTAMP}

Get CDRs as CSV

Returns the CDRs as a .csv file.


curl -v -X GET \
    -H "Accept: text/csv" \
    -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs

Get details of a CDR

Returns the detailed representation of the CDR.

Method and endpoint

  GET /v2/accounts/{ACCOUNT_ID}/cdrs/{CDR_ID}


curl -v -X GET \
    -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs/{CDR_ID}

Get interaction summary

Returns a summary list of all CDRs that interacted with each other.

Method and endpoint

GET /v2/accounts/{ACCOUNT_ID}/cdrs/interaction


curl -v -X GET \
    -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs/interaction

Returns details of specific call legs from CDRs that interacted with each other.

Method and endpoint

  GET /v2/accounts/{ACCOUNT_ID}/cdrs/legs/{INTERACTION_ID}


curl -v -X GET \
    -H "X-Auth-Token: {AUTH_TOKEN}" \{ACCOUNT_ID}/cdrs/legs/{INTERACTION_ID}

NOTE: You can select CDRs/interactions for a specific user by adding them to the URI:

  GET /v2/accounts/{ACCOUNT_ID}/users/{USER_ID}/cdrs