Computer Telephony Integration Connector

This section contains Computer Telephony Integration (CTI) Connector proto files.

mediamanager/event/event_service.proto

EventService

This service allows to publish events to be consumed by subscribed consumers. Event consumers can be both internal and external Media Manager clients.

gRPC method definitions

gRPC method definitions
Method Name Request Type Response Type Description
CreateEvent CreateEvent
Request
CreateEvent
Response
Creates an event and publishes it.

Methods with HTTP bindings

CreateEvent

  POST /v1/events  

CreateEventRequest

Input message that defines parameters for CreateEvent.

CreateEventRequest
Field Type Description
event_stream_id string Optional and deprecated. Unique ID of the event stream used to publish events to.
event Event Mandatory. The event to publish.

CreateEventResponse

Output message that defines parameters returned by CreateEvent.

CreateEventResponse
Field Type Description
status nuance.rpc.Status General operation status.
event_id string Unique ID identifying the created event.

mediamanager/connector/cti/cti_connector.proto

CtiConnectorCommand

Command to be executed by the CTI Connector.

CtiConnectorCommand
Field Type Description
One of connector_command:  
   start_monitor_command StartMonitorCommand Mandatory. Instructs the CTI Connector to start monitoring an agent extension. A connector could receive multiple start monitor command for the same agent extension, but with different subscriptions. The connector must create events for each subscription even though it’s for the same agent extension.
   stop_monitor_command StopMonitorCommand Mandatory. Instructs the CTI Connector to stop monitoring an agent extension for a specific subscription.
   update_call_data_command UpdateCallDataCommand Mandatory. Instructs the CTI Connector to update the data of a call for a specific subscription.
   get_agent_current_calls_command GetAgentCurrentCallsCommand Mandatory. Instructs the CTI Connector to get the current calls for a specific subscription.

CtiConnectorCommandResponse

The command response executed by the CTI Connector.

CtiConnectorCommandResponse
Field Type Description
One of connector_command_response:  
   start_monitor_command_response StartMonitorCommandResponse Mandatory. The response for a StartMonitorCommand.
   stop_monitor_command_response StopMonitorCommandResponse Mandatory. The response for a StopMonitorCommand.
   update_call_data_command_response UpdateCallDataCommandResponse Mandatory. The response for a UpdateCallDataCommand.
   get_agent_current_calls_command_response GetAgentCurrentCallsCommandResponse Mandatory. The response for a GetAgentCurrentCallsCommandResponse.

GetAgentCurrentCallsCommand

Update call data monitor command message.

GetAgentCurrentCallsCommand
Field Type Description
agent_info nuance.mediamanager.connector.v1.AgentInfo Optional. Identifies the agent.
subscription_id string Mandatory. Unique ID identifying the subscription.

GetAgentCurrentCallsCommandResponse

The response for a GetAgentCurrentCallsCommand.

GetAgentCurrentCallsCommandResponse
Field Type Description
call_details repeated nuance.mediamanager.event.v1.CallDetails Mandatory, Note: An agent can be on multiple calls.

StartMonitorCommand

Start monitor command message.

StartMonitorCommand
Field Type Description
subscription_id string Mandatory. Unique ID identifying the subscription.
event_stream_id string Mandatory. Unique ID of the event stream used to create events.
metadata repeated StartMonitorCommand.MetadataEntry Optional. Metadata provided when a subscription is created. Metadata could be used to implement specific connector behaviour.
One of monitor_info:  
   agent_info nuance.mediamanager.connector.v1.AgentInfo Mandatory. Identifies the agent.

StartMonitorCommand.MetadataEntry

StartMonitorCommand.MetadataEntry
Field Type Description
key string  
value string  

StartMonitorCommandResponse

The response for a StartMonitorCommand.

StopMonitorCommand

Stop monitor command message.

StopMonitorCommand
Field Type Description
subscription_id string Mandatory. Unique ID identifying the subscription.

StopMonitorCommandResponse

The response for a StopMonitorCommand.

UpdateCallDataCommand

Update call data monitor command message.

UpdateCallDataCommand
Field Type Description
call_identifier nuance.mediamanager.connector.v1.CallIdentifier Mandatory. Unique call ID created by the telephony system.Required. Call identifier.
agent_info nuance.mediamanager.connector.v1.AgentInfo Deprecated. Identifies the agent.
call_data repeated UpdateCallDataCommand.CallDataEntry Mandatory. Call data to update in the form of key-value pairs.
subscription_id string Mandatory. Unique ID identifying the subscription.

UpdateCallDataCommand.CallDataEntry

UpdateCallDataCommand.CallDataEntry
Field Type Description
key string  
value string  

UpdateCallDataCommandResponse

The response for a UpdateCallDataCommand.

mediamanager/event/event_resources.proto

AgentEvent

Information associated to an agent.

AgentEvent
Field Type Description
agent_info AgentInfo Mandatory. Identifies the agent.
agent_event_type AgentEventType Mandatory. Identifies the agent event type.

AgentInfo

The information associated to a logged in agent.

AgentInfo
Field Type Description
agent_id string Optional. Agent ID.
extension string Mandatory. Telephony extension.

CallDetails

CallDetails
Field Type Description
call_id string Mandatory

CallEvent

Data related to a call event.

CallEvent
Field Type Description
event_type CallEventType Mandatory. Identifies the type of call event such as CALL_STARTED, CALL_HOLD and CALL_CONFERENCE.
call_id string Mandatory. Unique call ID created by the telephony system.
call_type CallType Mandatory. Identifies the type of the call such as CALL_TYPE_INBOUND and CALL_TYPE_INTERNAL.
call_metadata CallMetadata Mandatory. Call info
agent_info AgentInfo Mandatory. The information associated to the agent.
call_attributes repeated CallEvent.CallAttributesEntry Optional. Attributes associated to a call or call session. Attributes in the map should be specific to the underlying CTI or call API used.
custom_data repeated CallEvent.CustomDataEntry Optional. Free-form key-value pairs containing custom data. Can be used to pass data that is not supported by the underlying CTI or call API.
recording_id string Optional. Unique recording ID used as correlation ID with SIPREC. This field is only required when correlation_attributes need to be correlated with this CallEvent.

CallEvent.CallAttributesEntry

CallEvent.CallAttributesEntry
Field Type Description
key string  
value string  

CallEvent.CustomDataEntry

CallEvent.CustomDataEntry
Field Type Description
key string  
value string  

CallIdentifier

Unique call ID created by the telephony system.

CallIdentifier
Field Type Description
call_id string Mandatory. The call ID.

CallMetadata

Provides attributes used to track a call.

CallMetadata
Field Type Description
ani string Optional. ANI
dnis string Optional. DNIS

DiagnosticTrace

Provides diagnostic information information about request processing steps.

DiagnosticTrace
Field Type Description
connector_type ConnectorType Mandatory. The type of connector involved in the request processing.
connector_id string Mandatory. The ID of the connector involved in the request processing.
external_connector_id string Mandatory. The ID of the specific connector instance involved in the request processing.

Event

Top level container for an event.

Event
Field Type Description
event_id string Optional. Unique ID that is generated at the creation of the event.
realm_id string Mandatory. Tenant’s realm ID associated to the event.
subscription_id string Mandatory. Subscription ID for which the event is destined to.
event_time google.protobuf.Timestamp Optional. Date and time of the event to create.
correlation_attributes repeated Event.CorrelationAttributesEntry Optional. Map of attributes will be attached if matching correlation id is found in Call Start CTI event.
One of event:  
   call_event CallEvent A call event.
   agent_event AgentEvent An agent event.
   subscription_event SubscriptionEvent A subscription event.

Event.CorrelationAttributesEntry

Event.CorrelationAttributesEntry
Field Type Description
key string  
value string  

SubscriptionEvent

Provides information about an event that happened concerning a subscription.

SubscriptionEvent
Field Type Description
subscription_event_type SubscriptionEventType Identifies the event type or action that occurred.
event_reason string Provides contextual information about the event. Used for debugging purposes only.
agent_info AgentInfo The agent information associated to the event.
diagnostic_trace DiagnosticTrace Optional. Provides information used for tracing.

AgentEventType

Identifies the event type or action associated to a subscription.

Name Number Description
AGENT_EVENT_TYPE_UNSPECIFIED 0 Unknown on unspecified event type.
AGENT_LOGOUT 1 The agent logged out from the phone.

CallEventType

Identifies the type of a call event. Included in CallEvent.

Name Number Description
CALL_EVENT_UNSPECIFIED 0 Unknown on unspecified call event type.
CALL_STARTED 1 The call has started.
CALL_ENDED 2 The call has ended.
CALL_HELD 3 The call was put on hold (pause).
CALL_RESUMED 4 The call was retrieved / resumed from pause.
CALL_PARTY_ADDED 5 Another party has been added to the call conference.
CALL_PARTY_DELETED 6 Another party has been removed from the call conference.
CALL_DATA_UPDATED 7 Call data changed. This event type is only required if a CallEvent contains attached data.
AUDIO_CHANNEL_CHANGED 8 The audio channel information has changed. This event type is optional if recording information is not contained within the CallEvent.

CallType

Identifies the type of a call. Included in CallEvent.

Name Number Description
CALL_TYPE_UNSPECIFIED 0 Unknown call type.
CALL_TYPE_INBOUND 1 Incoming call from an external party (customer) to an agent.
CALL_TYPE_OUTBOUND 2 Outgoing call from an agent to an external party (customer)
CALL_TYPE_EXTERNAL 3 Call occurring with an external party (customer) and an agent but we are not able to differentiate between inbound and outbound calls.
CALL_TYPE_INTERNAL 4 Call with between 2 agents.
CALL_TYPE_CONSULT 5 Internal call occurring with 2 agents. Another call in progress was put on hold.
CALL_TYPE_TRANSFER 6 Call in progress with an external party that has been transferred to another agent.
CALL_TYPE_CONFERENCE 7 Call occurring with 2 or more persons, usually agents.

ConnectorType

Listing of valid connector types.

Name Number Description
CONNECTOR_TYPE_UNSPECIFIED 0 Unspecified connector type.
CONNECTOR_TYPE_MEDIA 1 Media connector.
CONNECTOR_TYPE_CTI 2 CTI connector.
CONNECTOR_TYPE_SIPREC 3 SIPREC connector. Deprecated.
CONNECTOR_TYPE_GENERIC 4 Generic connector.
CONNECTOR_TYPE_RCC 5 Recording controller connector.

SubscriptionEventType

Identifies the event type or action associated to a subscription.

Name Number Description
SUBSCRIPTION_EVENT_TYPE_UNSPECIFIED 0 Unknown on unspecified event type.
SUBSCRIPTION_SUSPENDED 1 Temporary event. An issue happened with the subscription, which may cause the subscription to be out of service.
SUBSCRIPTION_RESTARTED 2 The subscription that was out of service has been recovered.
SUBSCRIPTION_DELETED 3 The issue with the subscription was unrecoverable so it was terminated.