Call Summaries as obtainable from the Call Summary Resource (single summary) and Call Summaries Resource (list of summaries) are fairly deep data structures. Several of the top-level properties are nested objects. This supplementary API documentation page provides additional details about these nested objects.
Not all applications will require that level of detail. For example, if all you need to know is whether or not jitter was detected on the call, then checking the top-level tags
will provide the answer. However, if you want to know the maximum jitter sampled on the outbound media stream of a specific Client call, then it may be necessary to access nested information such as client_edge.metrics.outbound.jitter.max
Section | Description |
---|---|
Properties object | Details for the top-level properties object of a Call Summary. |
Attributes object | Details for the top-level attributes object of a Call Summary. |
To/From object | Details for the top-level to and from object of a Call Summary. |
SDK object | Details for the top-level sdk object of Call Summary. |
Edges and their properties | Background and details for top-level properties of a Call Summary related to the edges of a call and their respective properties , metrics and events objects. |
Trust object | Details for the top-level trust object of a Call Summary. |
Annotation object | Details for the top-level annotation object of a Call Summary. |
Edge-agnostic call-level details.
Property | Description |
---|---|
pdd_ms | Post-dial delay in milliseconds |
last_sip_response_num | The numeric value of the last SIP response received for the call |
direction | The direction of the call; inbound , outbound-api , outbound-dial , trunking-originating , trunking-terminating |
disconnected_by | Direction of the SIP BYE received at Twilio signaling gateway. |
queue_time | Estimated time in milliseconds between when a Programmable Voice call is created and when the call actually begins. |
Call-flow specific details.
Property | Description |
---|---|
conference_participant | True/false. Indicates if primary media source was a Twilio conference mixer. |
Additional metadata for Voice SDK calls.
Property | Description |
---|---|
callee | Dialed destination. |
caller | Caller ID of calling party. |
carrier | Serving carrier of destination |
connection | Connection type landline , mobile , voip |
country_code | Two-letter ISO country code |
country_subdivision | Additional location details; e.g. California |
city | City name based on lat/long or IP address |
location | Lat/long for number prefix |
ip_address | Public IP of Client user |
number_prefix | E.164 country code + three digits |
Additional metadata for Voice SDK calls.
Property | Description |
---|---|
type | Version of Twilio SDK; e.g. twilio-js-sdk . twilio-voice-android |
version | Twilio SDK version |
platform | WebRTC, android, iOS |
region | The Twilio region the device registered to |
selected_region | The region specified in the device setup |
edge_location | The edge location specified |
browser.name | Name of browser for calls placed using JavaScript SDK |
browser.major | Major version of browser |
browser.version | Full version of browser |
os.name | Operating system name as reported to the SDK |
os.version | Operating system version as reported to the SDK |
device.arch | Processor architecture of machine running the Client app; e.g. amd64 |
device.model | Mobile SDKs only: model name/number reported to the SDK |
device.type | Mobile SDKs only: device type reported to the SDK |
device.vendor | Mobile SDKs only: hardware manufacturer reported to the SDK |
engine.name | JavaScript SDK only: browser engine as detected by the SDK |
engine.version | JavaScript SDK only: browser engine version detected by the SDK |
There are four possible edges: carrier_edge
, client_edge
, sdk_edge
, and sip_edge
. SIP trunking calls will have both a carrier_edge
and a sip_edge
. Client calls will have both an sdk_edge
and a client_edge
.
carrier_edge
represents the connection between Twilio and our immediate carrier partners. The metrics here describe the media stream metadata as it was received from the carrier on the inbound, and as it was delivered to the carrier on the outbound.
client_edge
represents the Twilio media gateway for Client calls. The metrics here describe the media stream metadata as it was received from the Client SDK application on the inbound, and as it was sent to the Client SDK application on the outbound.
Voice Insights for mobile SDKs is supported for versions 3.x and later. Calls placed using 2.x mobile SDKs are not supported and details are provided as-is and may not be reliable indicators of actual performance on the handset or subjective experience on the call.
sip_edge
represents the Twilio media gateway for SIP interface and SIP trunking calls. The metrics here describe what was received from your SIP infrastructure on the inbound, and what was delivered to your SIP infrastructure on the outbound.
Each edge has two child objects: metrics
and properties
. metrics
will have a container for inbound
and outbound
media streams.
Property | Description |
---|---|
codec | RTP profile number for the media codec |
codec_name | Name of the media codec |
packets_received | Count of packets received; inbound container only |
packets_sent | Count of packets sent; outbound container only |
packets_lost | Count of packets lost |
packets_loss_percentage | Percentage of packets lost |
jitter | average and max jitter detected |
latency | Twilio internal RTP traversal time from ingress to egress. average and max latency detected. |
packet_delay_variation | Distribution of packets delayed by a certain value; e.g. "d50": 24 indicates that 24 packets were delayed by more than 50 ms. |
Property | Description |
---|---|
q850_cause | ITU-T Q.850 standard definition of telephony disconnect cause. Not available for all edge types or all calls. |
direction | Direction of media flow from the perspective of the edge. Inbound or outbound. |
media_region | The Twilio region where media was handled. |
signaling_region | The Twilio region where signaling was handled. |
edge_location | The Twilio edge location where media was handled. |
twilio_media_ip | The IP address for Twilio's media gateway. Not available for carrier_edge . |
twilio_signaling_ip | The IP address for Twilio's signaling gateway. Not available for carrier_edge . |
external_media_ip | The IP address Twilio received media from. Not available for carrier_edge . |
external_signaling_ip | The IP address Twilio received signaling from. Not available for carrier_edge . |
sip_call_id | SIP call ID for the call between Twilio & your SIP infrastructure. Present on SIP Interface and trunking calls only. |
user_agent | Available for trunking calls only. |
selected_region | Available for Client calls only. |
region | Available for Client calls only. |
disconnected_by | Available for Client calls only. Identifies if Twilio.Device.disconnect() was called in the local application or if the call was ended by remote party. |
trunk_sid | The trunk SID for this call. Present on trunking calls only. |
sdk_edge
represents the sensor library in the SDK application itself. The metrics
here describe the media stream that was received at the SDK from the Twilio media gateway. Packet loss, jitter, MOS, and RTT are reporting on the inbound stream to the SDK. Audio in/audio out levels can be used to detect one-way audio; no audio in indicates an issue with microphone, potentially muting, hardware issue, or browser loss of context for OS audio APIs.
Property | Description |
---|---|
mos | Mean opinion score; a function of jitter, packet loss, and round-trip time. Scale of 0-5 where anything above 4 is considered acceptable. Average, maximum, and minimum values returned. |
rtt | Round-trip time; time in milliseconds for packets sent from Twilio's gateway to arrive at the SDK. NOTE: adaptive jitter buffers and dynamic packet loss concealment algorithms may delay actual play out of RTP beyond the RTT value. Average, maximum, and minimum values returned. |
packets_received | Count of packets received; inbound container only. |
packets_sent | Count of packets sent; outbound container only. |
packets_lost | Count of packets lost. |
packets_loss_percentage | Percentage of packets lost. |
jitter | Average and max jitter detected. |
tags | Tags applied to calls by Voice Insights analysis indicating a condition that could result in subjective degradation of the call quality. |
bytes_received | Bytes received at the SDK sensors. |
bytes_sent | Bytes sent from the SDK. |
inbound.audio_out | avg /max level for speaker audio. |
inbound.audio_in | avg /max level for microphone audio. |
outbound.codec_name | Friendly name of the RTP codec for the call set in Twilio.Device() . |
outbound.codec | RTP profile number of the codec for the call set in Twilio.Device() . |
The sdk_edge
property of a Call Summary has a properties
property the following nested properties.
Property | Description |
---|---|
direction | Direction of the call from the perspective of the SDK. |
settings.dscp | Indicates whether DSCP was enabled. |
settings.ice_restart_enabled | Indicates if ICE restart was enabled. |
settings.edge | Twilio Edge Location that was used for this call. |
settings.selected_edges | Prioritized list of Edge Locations provided during Twilio.Device.setup() . |
The sdk_edge
property of a Call Summary has an events
property the following nested properties.
Property | Description |
---|---|
levels | Count of events by severity for the call. |
groups | Count of events by the event group. |
errors | Error code and number of occurrences. |
feedback | User feedback gathered from the SDK. |
The trust
property of a Call Summary has the following object properties.
Property | Description |
---|---|
branded_call.branded | Boolean. Indicates if branding details were successfully displayed on the destination device. |
branded_call.caller | Caller ID provided. |
branded_call.use_case | Use case for the call. |
branded_call.branded_channel_sid | Branded channel SID. |
branded_call.business_sid | Business SID. |
branded_call.brand_sid | Brand SID. |
verified_caller.verified | Boolean. Indicates if the caller ID provided has been verified; e.g. SHAKEN/STIR A attestation. |
Each Call Summary can be programmatically labeled by the developers to add subjective information pertaining to the summarized call. Please refer to the Call Annotation Resource page for more details.
Property | Description |
---|---|
answered_by | Enumerated. Which entity answered the call as determined by Answering Machine Detection (AMD) . Use this to provide feedback on AMD accuracy. |
connectivity_issue | Enumerated. Indicates if the call was labeled for any connectivity issues. |
quality_issues | String[]. Indicates if the call was labeled for user perceived quality issues. |
spam | Boolean. Indicates if the call was labeled as a spam call. |
call_score | Integer. Indicates the labeled call score for that call. |
comment | String. Indicates if any comments were added for the call. |
incident | String. Indicates if any associated incident or support tickets were added for the call. |