Skip to content

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, and recorder_id are returned only to administrators of the System tenant.
  • files[].speech_analytics requires the Call transcript view permission.
  • matched_topics requires the Call topics view permission.
  • custom_fields requires the Call custom fields view permission.
  • notes requires 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-ID header of the INVITE message.

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: Idle
  • 1: 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 BYE is confirmed with 200 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: Deleted
  • 10: 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: Outbound
  • 2: Inbound
  • 3: Internal
disconnect_cause (integer or null)

Reason of the disconnect:

  • 3: No route to destination
  • 16: Normal call clearing
  • 17: User busy
  • 18: No answer
  • 21: Call rejected
  • 27: Destination out of order
  • 28: Invalid number format
  • 41: Temporary failure
  • 128: Call transferred
  • 129: On hold
  • 130: Call cancelled
  • 131: 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)

true when 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: SIP
  • 2: H.323
  • 4: SCCP (Cisco Skinny)
  • 5: MGCP
  • 6: Avaya (H.323 protocol with proprietary extensions)
  • 7: Nortel UNISTIM
  • 8: TAPI
  • 9: 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 RTP
  • 13: SIPREC
  • 14: 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 Passive
  • 19: Avaya TSAPI + DMCC
  • 20: Telex Radio
  • 21: Five9 VoiceStream
  • 23: RingCentral
  • 24: 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 From and To headers of the INVITE message. 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-ID and P-Asserted-Identity headers. 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=calling

In 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) to 100 (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.

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.