Skip to main content

WebRTC Voice SDKs Call Detail Records

Searching for Records

Every call between a voice SDK client and Telnyx produces a webrtc detail record. They can be searched via this API.

For example, the following query returns webrtc detail records of calls made

  • to/from any clients registered with myagent01 username
  • within today
GET /v2/detail_records?filter[record_type]=webrtc&filter[date_range]=today&filter[auth_username]=myagent01 HTTP/1.1
Host: api.telnyx.com
Authorization: Bearer XXX

The result may look like this

{
"data": [
{
"fs_channel_id": "f6856af8-3fde-48fa-b3ab-027ca90245b6",
"finished_at": "2024-12-11T17:43:24Z",
"telnyx_call_control_id": "",
"call_sec": 50,
"connection_name": "js-sdk-p2",
"caller_name": "",
"rate": "0.002",
"auth_username": "myagent01",
"dest_number": "+18008648331",
"cld": "+18008648331",
"currency": "USD",
"id": "4b679aae-b7e7-11ef-9fe0-02420aef3920",
"payment_method": "rate-deck",
"direction": "outbound",
"cli": "+15127376291",
"cost": "0.002",
"billing_group_name": "",
"telnyx_leg_id": "4b679aae-b7e7-11ef-9fe0-02420aef3920",
"session_id": "63149763-3850-4f9a-b9cf-7babe1be98f8",
"billed_sec": 60,
"record_type": "webrtc_detail_record",
"tags": "",
"call_id": "064d6317-4837-41e2-8795-cfc304ced4d1",
"billing_group_id": 60,
"country_code": 1,
"telnyx_session_id": "4b679edc-b7e7-11ef-adfb-02420aef3920",
"connection_id": "2519141575053804765",
"started_at": "2024-12-11T17:42:30Z",
"source_country_code": 1,
"caller_number": "+1512-737-6291"
}
],
"meta": {
"total_pages": 1,
"total_results": 1,
"page_number": 1,
"page_size": 20
}
}

Interpreting Records

While most of the fields in the records are self explanatory, the following parameters are given additional exposition.

IDs in the WebRTC Domain

  • session_id identifies a session, i.e. a successful registration, between an SDK client and Telnyx.
  • call_id
    • identifies a call between an SDK client and Telnyx
    • can be generated by the SDK client or Telnyx
    • has a many-to-one relationship to a session, i.e. a session can have many calls.

call_id is essential to locate the debug log produced by an SDK client. This is further explained here.

IDs in the SIP Domain

The following IDs can be used to identify the SIP leg of a voice SDK call.

  • telnyx_leg_id
  • telnyx_session_id
  • fs_channel_id

IDs in the Programmable Voice Domain

If programmable voice (call control or TeXML) is used in the call flow, e.g. parking the outbound webRTC call, the following ID may also be returned in the detail record.

  • telnyx_call_control_id