This page describes the call session event data that Contact Center AI Platform (CCAI Platform) can export to your quality management (QM) application. For more information about integrating CCAI Platform with your QM application, see QM, SIPREC, and WFM integration.
For chat session event data, see QM chat session event data.
Call session events and triggers
Certain call session events trigger the export of call session data to your QM application. This section lists the call event types and the actions that trigger each one. It also includes a session event payload example for each session event type.
Agent logs in
This event is triggered by the following actions:
An agent signs in to the agent adapter using the Contact Center AI Platform portal.
An agent signs in to the agent adapter using a CRM.
The following code sample shows the event payload:
{
"type" : "AgentState",
"item" : {
"ParticipantID" : "1234",
"Email" : "some.email@domain.com",
"State" : "login"
}
}
Agent logs out
This event is triggered by the following actions:
An agent signs out of the agent adapter using the Contact Center AI Platform portal.
An agent signs our of the agent adapter using a CRM.
The following code sample shows the event payload:
{
"type" : "AgentState",
"item" : {
"ParticipantID" : "1234",
"Email" : "some.email@domain.com",
"State" : "logout"
}
}
Inbound call is projected
This event is triggered when an end-user places a call to the contact center and the call is projected to an agent.
This event applies only when the call is projected for deltacast. Multicast projections don't trigger events. Only the first deltacast projection for the call in a cascade group triggers an event.
This event includes call projections received through call transfers, redirects, and deflections.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "ringing",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "ringing"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Inbound call is answered
This event is triggered when an agent answers a projected call.
This event applies when the call is answered by an agent for both deltacast or multicast projections. This event applies for calls received and answered through call redirects and deflections.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Outbound call is ringing
This event is triggered by the following actions:
An agent dials a new outbound call and the call is ringing for an end-user.
An agent dials an add-party call and the call is ringing for a third party.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "e9dd62bb",
"State" : "dialing",
"Direction" : "outgoing",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
},
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Outbound call is answered
This event is triggered by the following actions:
An end-user answers an outbound call.
A third party answers a add-party call.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "e9dd62bb",
"State" : "connected",
"Direction" : "outgoing",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
},
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is placed on hold
This event is triggered by the following actions:
An agent places a end-user on hold.
An agent places a third party on hold.
The following code sample shows the event payload:
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "held",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "held"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is removed from on hold
This event is triggered by the following actions:
An agent removes an end-user from on hold.
An agent removes a third party from on hold.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Cold transfer is initiated and accepted
This event is triggered by the following actions:
An agent places a cold transfer call to another agent and the transfer is accepted.
An agent places a cold transfer call to another queue and the transfer is accepted by an agent from that queue.
An agent cold invites another agent to a call conference and the other agent accepts and joins the call conference.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "transferred",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "4321",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Warm transfer is initiated and accepted
This event is triggered by the following actions:
An agent places a warm transfer call to another agent and the transfer is accepted.
An agent places a warm transfer call to another queue and the transfer is accepted by an agent from that queue.
An agent warm invites another agent to a call conference and the other other accepts and joins the call conference.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "conferenced",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "connected"
},
{
"ParticipantID" : "4321",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Agent leaves a call conference
This event is triggered when an agent in a call conference leaves the call conference without ending it.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "participantDisconnect",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "disconnected"
},
{
"ParticipantID" : "4321",
"Type" : "agent",
"State" : "connected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is muted
This event is triggered by the following actions:
An agent mutes a call.
An agent mutes other participants in a call.
This event applies for all calls.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,\
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "muted"
},
{
"ParticipantID" : "4321",
"Type" : "agent",
"State" : "muted"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is unmuted
This event is triggered by the following actions:
An agent unmutes a call.
An agent unmutes other participants in a call.
This event applies for all calls.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "connected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "unmuted"
},
{
"ParticipantID" : "4321",
"Type" : "agent",
"State" : "unmuted"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is redacted
This event is triggered when an agent redacts a call.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "redacted"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "redacted"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is unredacted
This event is triggered when an agent unredacts a call.
The following code sample shows the event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "connected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "unredacted"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "unredacted"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call is ended
This event is triggered by the following actions:
An end-user ends a call.
An agent ends a call.
This event applies for all calls.
The following code sample shows the inbound call event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "846802bf90d1",
"State" : "disconnected",
"Direction" : "incoming",
"Initiator" : "+123456789",
"Queue_path_ids": "1/2/3",
"Queue_path_names" : "support/orders/status",
"Language" : "en",
"Queue_uuid" : 3,
"Recording_permitted" : true,
"Participants" :
[
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "disconnected"
},
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "disconnected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
The following code sample shows the outbound call event payload:
{
"type" : "CallState",
"item" : {
"CallID" : "e9dd62bb",
"State" : "disconnected",
"Direction" : "outgoing",
"Initiator" : "1234",
"Participants" :
[
{
"ParticipantID" : "1234",
"Type" : "agent",
"State" : "disconnected"
},
{
"ParticipantID" : "+123456789",
"Type" : "external",
"State" : "disconnected"
}
],
"MediaID" : "208188811_124248155@67.231.1.110"
}
}
Call session event fields
The following tables describe the fields in the session data that Contact Center AI Platform exports to your QM application.
General fields
Field name | Allowed values | Description | Effect |
---|---|---|---|
type |
|
The event type of the overall JSON payload. |
|
|
The object with event information. |
Agent state fields
Field name | Values | Description | Behavior |
---|---|---|---|
|
An agent ID |
Available in the The agent's identifier in the Contact Center AI Platform system. |
|
|
An email address |
Available in the The agent's email address. |
|
|
|
Available in the The agent's state at the time of the event. |
|
Call state fields
Field name | Values | Description | Behavior |
---|---|---|---|
|
The call ID |
Available in the The call session's identifier in the Contact Center AI Platform system. |
|
|
|
Available in the The current state of the call session. |
|
|
|
Available in the The direction of the call session from the contact center perspective. |
|
|
|
Available in the The identifier of the party that initializes the call state. |
|
|
A path of queue IDs |
Available in the The queue path navigated by the end-user before reaching the first agent of the call. This value is constructed using the queue IDs of the navigated queue. |
This applies only for incoming calls. |
|
A path of queue names |
Available in the The queue path navigated by the end-user before reaching the first agent of the call. This value is constructed using the queue names of the navigated queue. |
This applies only for incoming calls. |
|
The language code |
Available in the The language code of the end-user's selected language. |
This applies only for incoming calls. |
|
The queue ID |
Available in the The UUID of the queue that the call reaches. |
This applies only for incoming calls and queue transferred calls. |
|
A boolean |
Available in the Indicates if call recording is allowed for the specific call |
|
|
custom headers |
Available in the This field is used to pass custom data such as SIP headers |
|
|
This object is nested in the An object containing the call participant's information. |
||
|
|
Available in the The identifier of the call participant. |
Passes the value of the ID field in the
Passes the value of the
Passes the phone number of the end-user, if available. Else, passes the value of the
Passes the phone number of the third-party, if available. Else, Passes the value: |
|
|
Available in the The type of the call participant. |
|
|
|
Available in the The participant's current state in the call conference. |
|
|
|
Available in the The identifier for call session media from the carrier. |
|