Call object fields
A call is represented as a JSON object with the attributes listed on this page. All attributes are
read-only, except custom_fields, which can be changed with
Set custom field values.
Some attributes are returned only to certain roles:
tenant_id,voip_protocol, andrecorder_idare returned only to administrators of the System tenant.files[].speech_analyticsrequires the Call transcript view permission.matched_topicsrequires the Call topics view permission.custom_fieldsrequires the Call custom fields view permission.notesrequires the Call notes or Own call notes view permission.
For a complete example, see View one call.
Identity
- call_id (UUID)
-
Unique ID assigned by MiaRec to this call record.
- parent_call_id (UUID or null)
-
Set for some VoIP protocols only. For Avaya H.323 passive recording, when a call is put on hold and then resumed, a new call recording instance is created. The new instance links to the original call through
parent_call_id. - secondary_parent_call_id (UUID or null)
-
Used with Avaya TSAPI when a new call is the result of a transfer or conference of two calls.
- interaction_id (UUID or null)
-
ID of the interaction, if this call is a part of a multi-call interaction.
- tenant_id (UUID or null)
-
ID of the tenant this call belongs to. Available only when multi-tenancy is enabled, and only to administrators of the System tenant.
- recorder_id (UUID or null)
-
Unique ID of the recorder that recorded this call. In a multi-site deployment, this attribute distinguishes calls between locations. Returned only to administrators of the System tenant.
- protocol_call_id (string or null)
-
Unique call ID as provided by the phone system. For SIP, it is the
Call-IDheader of theINVITEmessage. - protocol_tracking_id (string or null)
-
Tracking ID assigned by the phone system (PBX Tracking ID).
- protocol_organization_id (string or null)
-
Platform-specific ID of the organization (tenant) on the phone system.
State
- call_state (integer)
-
State of the call:
0: Idle1: Initiated. The caller sent an invitation to the callee (for example,SIP INVITE).2: Accepted. The callee received the invitation and confirmed it (for example,SIP 100 Trying).3: Alerting. The callee started ringing (for example,SIP 183 Session Progress).4: Connected. The call is answered (for example,SIP 200 OK).5: Disconnecting. One of the parties initiated a disconnect (for example,SIP BYE).6: Disconnected. The call is completed (for example,SIP BYEis confirmed with200 OK).7: Hold. The call is on hold. For some VoIP protocols this is a final state: recording is completed when the call is put on hold, and a new call instance starts when it is resumed. For other protocols it is an intermediate state, and the call returns to Connected on resume.8: Transferred. The call has been transferred to a third party. For some VoIP protocols a transferred call is stored as Disconnected, because the phone system does not report the reason of the disconnect.9: Deleted10: Parked
For an active call, the state is requested from the recorder in real time.
- protocol_call_direction (integer)
-
Call direction as reported by the phone system:
0: Unknown. The direction is not provided by the phone system, or not supported for it.1: Outbound2: Inbound3: Internal
- disconnect_cause (integer or null)
-
Reason of the disconnect:
3: No route to destination16: Normal call clearing17: User busy18: No answer21: Call rejected27: Destination out of order28: Invalid number format41: Temporary failure128: Call transferred129: On hold130: Call cancelled131: Transferred to voicemail
- record_state (integer)
-
Recording state:
10: Active. The call is being recorded.20: License overuse. The call is recorded, but cannot be played back because of license over-usage. The audio file is encrypted. Contact the vendor to decrypt such files.30: Completed. Recording finished normally.40: Ignored by filters. Only call metadata is stored. No audio file is created.
- on_demand_state (integer)
-
State of on-demand recording:
0: Not applicable. On-demand triggers are not allowed for this call (for example, the call is configured as "always record").1: Keep recording. An on-demand trigger was received and the call will be kept.2: Discard recording. Waiting for an on-demand trigger. If none is received, the call is deleted automatically upon completion.
- recording_state (integer), mute_state (boolean)
-
Real-time recording and mute state. Available only for an active call that is connected to the recorder.
- confidential (boolean or null)
-
truewhen the call is marked as confidential. - voip_protocol (integer)
-
VoIP signaling protocol of the call. Returned only to administrators of the System tenant.
0: Unrecognized protocol. The call is recorded from RTP packets only.1: SIP2: H.3234: SCCP (Cisco Skinny)5: MGCP6: Avaya (H.323 protocol with proprietary extensions)7: Nortel UNISTIM8: TAPI9: MGCP PRI Backhaul (used between Cisco UCM and a voice gateway)10: Alcatel (proprietary protocol used by Alcatel OmniPCX, partially supported)11: Avaya (passive RTP protocol)12: Avaya TSAPI + passive RTP13: SIPREC14: Cisco Built-in-Bridge (active recording)15: NEC SIP (proprietary protocol)16: SIP ED137 radio (passive recording)17: Cisco Built-in-Bridge (passive recording)18: SIPREC Passive19: Avaya TSAPI + DMCC20: Telex Radio21: Five9 VoiceStream23: RingCentral24: Twilio
Time and duration
- setup_time (datetime)
-
Date and time when the call was initiated. ISO 8601 with time zone, for example
2024-06-05T01:35:55+03:00. - connect_time (datetime)
-
Date and time when the call was answered.
- disconnect_time (datetime)
-
Date and time when the call was disconnected.
- duration (number)
-
Call duration in seconds.
Parties
- from_ip, to_ip (string or null)
-
IP address of the caller and called party, for example
192.168.0.10. - from_port, to_port (integer)
-
IP port of the caller and called party.
- from_mac, to_mac (string or null)
-
MAC address of the caller and called party.
- from_number, from_name, from_id, to_number, to_name, to_id (string or null)
-
Number, name, and ID of the caller and called party, as provided by the phone system.
For SIP, these values are extracted from the
FromandToheaders of theINVITEmessage. Example:INVITE sip:102@192.168.0.10 SIP/2.0 From: "John Smith" <sip:100@192.168.0.10> To: "Emy" <sip:102@192.168.0.10>In this case:
- from_number = "100"
- from_name = "John Smith"
- from_id = "100@192.168.0.10"
- to_number = "102"
- to_name = "Emy"
- to_id = "102@192.168.0.10"
For SIP, the values may also be extracted from the
Remote-Party-IDandP-Asserted-Identityheaders. Example:INVITE sip:102@192.168.0.10 SIP/2.0 From: "John Smith" <sip:100@192.168.0.10> To: "Emy" <sip:102@192.168.0.10> Remote-Party-ID: "John" <sip:77@ex.com>;party=callingIn this case:
- from_number = "77"
- from_name = "John"
- from_id = "77@ex.com"
- orig_from_number, orig_from_name (string or null)
-
Original calling number and name, before any redirect.
- orig_to_number, orig_to_name (string or null)
-
Dialed digits and dialed name, before any redirect.
- redirected_from_number, redirected_from_name, redirected_from_id (string or null)
-
Number, name, and ID of the phone from which the call was redirected or transferred. The meaning depends on the VoIP protocol. For Cisco SCCP, these are the "Last Redirecting Party" values.
- redirected_to_number, redirected_to_name, redirected_to_id (string or null)
-
Number, name, and ID of the phone to which the call was redirected or transferred.
- agent_id, agent_name (string or null)
-
ID and name of the agent (Avaya TSAPI).
- acd_number, acd_name, acd_id (string or null)
-
Number, name, and ID of the ACD (automatic call distribution) queue.
Platform-specific attributes
- broadworks_user_id, broadworks_group_id, broadworks_sp_id (string or null)
-
BroadWorks user ID, group ID, and service provider ID (SIPREC).
- metaswitch_extension, metaswitch_user, metaswitch_group, metaswitch_system (string or null)
-
Metaswitch user extension, user name, group name, and system name (SIPREC).
- cisco_nearend_guid, cisco_farend_guid (string or null)
-
Cisco near-end and far-end GUIDs (Cisco Built-in-Bridge recording).
- cisco_nearend_refci, cisco_farend_refci (string or null)
-
Cisco near-end and far-end REFCI values (Cisco Built-in-Bridge recording).
- cisco_nearend_partition, cisco_farend_partition (string or null)
-
Cisco near-end and far-end partition (Cisco Built-in-Bridge recording).
- cisco_phone_ip (string or null)
-
IP address of the Cisco phone (Cisco Built-in-Bridge recording).
Conversation analytics
These attributes are populated by the speech analytics and AI features of MiaRec. They are null
when the call has not been analyzed.
- sentiment_score, sentiment_agent_score, sentiment_customer_score (integer or null)
-
Sentiment score of the whole conversation, of the agent side, and of the customer side, from
-100(very negative) to100(very positive). - sentiment_details (string or null)
-
Explanation of the sentiment, generated by the AI assistant. For example: "The conversation was handled professionally by the agent who provided a refund and assistance with flight alerts."
- sentiment_details_tslanguage (string or null)
-
Full-text search language of
sentiment_details. - summary (string or null)
-
Summary of the conversation, generated by the AI assistant.
- summary_tslanguage (string or null)
-
Full-text search language of
summary. - matched_topics (list of objects)
-
Topics detected in the conversation. See Topic object.
The transcript of the conversation is available in files[].speech_analytics. See
File object fields.
Related objects
- participants (list of objects)
-
Call participants. Normally there are two participants, a conference call may have more. See Participant object fields.
- files (list of objects)
-
Audio files of the call, with their transcripts. Normally there is one file per call. Several files exist when silence detection splits the recording, or when a part of the call was encrypted because of a license issue. See File object fields.
- categories (list of objects)
-
Tags assigned to the call. See Tag object.
- custom_fields (list of objects)
-
Values of the custom fields of the call. See Custom field value object. Custom field values are changed with Set custom field values. The custom fields themselves are configured through the Custom fields resource.
- notes (list of objects)
-
Notes added to the call. See Note object.
Tag object
| Attribute | Type | Description |
|---|---|---|
category_id |
UUID | Unique ID of the tag. |
| name | string | Name of the tag. |
private_user_id |
UUID or null | ID of the owner, for a private tag. null for a shared tag. |
parent_id |
UUID or null | ID of the parent tag, for a nested tag. |
Topic object
| Attribute | Type | Description |
|---|---|---|
category_id |
UUID | Unique ID of the topic. |
| name | string | Name of the topic. |
total_matches |
integer | Number of times the topic matched in the call. |
matched_positions |
list or null | Positions of the matches in the transcript. Each item has begin_pos and end_pos (milliseconds from the start of the call) and side (0 unknown, 1 left channel, 2 right channel). |
Custom field value object
| Attribute | Type | Description |
|---|---|---|
field_id |
UUID | Unique ID of the custom field. |
| name | string | Name of the custom field. |
| value | string or null | Value of the custom field. Values of all field types (text, number, date, option) are returned as strings. |
Note object
| Attribute | Type | Description |
|---|---|---|
note_id |
UUID | Unique ID of the note. |
user_id |
UUID or null | ID of the user who created the note. null when the note was created by a task (for example, the AI assistant) or the user is deleted. |
user_name |
string | Name of the user or task that created the note. |
created_at |
datetime | Date and time when the note was created. |
modified_time |
datetime | Date and time of the last modification. |
is_pinned |
boolean or null | true when the note is pinned on top. |
is_resolved |
boolean or null | true when the note is marked as resolved. |
pos_begin |
integer or null | Start of the audio position (milliseconds) the note refers to. |
pos_end |
integer or null | End of the audio position (milliseconds) the note refers to. |
| note | string | Text of the note. |
sub_notes |
list of objects | Replies to the note, in the same format. Present only when the note has replies. |