Menu

Expand
Rate this page:

Details: Call Summary

Working with a Call Summary

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.

Properties object

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.

Attributes object

Call-flow specific details.

Property Description
conference_participant True/false. Indicates if primary media source was a Twilio conference mixer.

To/From object

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

SDK object

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

Edges and their properties

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.

Edge Metrics object

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.

Edge Properties object

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 Metrics object

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().

SDK Edge Properties object

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().

SDK Edge Events object

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.

Trust object

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.

Annotation object

Each Call Summary can be programatically 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.
Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Loading Code Sample...
        
        
        

        Thank you for your feedback!

        Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

        Sending your feedback...
        🎉 Thank you for your feedback!
        Something went wrong. Please try again.

        Thanks for your feedback!

        thanks-feedback-gif