External Event Notifications

The External Event Notification feature provides a way to notify RESTful services of events occurring in the ISR. It can be used in two ways: to notify third-party applications of new recordings, new sessions, and updates to existing sessions and recordings, or to notify new ISR components, acting as integrations to third-party platforms, of critical ISR events.

When communicating with third-party applications, the external event notification system propagates session and recording events to a separate server that interoperates with the ObserveIT Visual Session Recording solution (the ISR FACE feature). The data provided in these notifications allows the service to coordinate ISR recordings with ObserveIT screen capture recordings in order to provide simultaneous audio and video playback on applications such as the ISR Dashboard.

Note:

The ISR encodes the URL parameter values in UTF-8 format before sending them to the external server. However, the base URL is left unencoded and the destination server must decode the URL into UTF-8 format.

External event notifications may be configured with a series of default settings for interoperation with ISR FACE and the ObserveIT Visual Session Recording solution. For more information on the interaction between ISR FACE and ObserveIT Visual Recording solution, see the "Face Policy System" section of this guide. If you require more extensive external event notification configuration, contact your Oracle representative.

Events and Notifications

The majority of the external event notifications handling Events and queueing and sending Notifications is implemented in the ISR APIs.

Supported Events

The following Events are implemented in the current version of the external event notifications:
Event Event Description
RECORDING_STARTED_EVENT Recording has started
RECORDING_PAUSED_EVENT Recording paused
RECORDING_RESUMED_EVENT Recording has resumed
RECORDING_ENDED_EVENT Recording has ended
SEGMENT_STARTED_EVENT Recording segment has started
SEGMENT_ENDED_EVENT Recording segment has ended

Notifications

When external event notification is configured, upon successful completion of a command, the API queues a Notification for a successful result for the Event. If a command is unsuccessful, the API queues a Notification for an unsuccessful result for the Event.

The API supports configuration of external event notification on a per Route, per Account, and per Realm basis. Global Events, which are delivered regardless of the Route, Account, or Realm of the Event, are also possible. The API supports multiple Notification destinations for an Event such that an Event that matches each Route, Account, and Realm configured generates Notifications for each of these matching criteria. Additionally, multiple destinations for the same Route, Account, and Realm can be configured for each supported event type.

For example:

Route, destination A, and Account, destination B (Both Route and Account for the Event have destinations configured)

Account, destination A, and Account, destination B (Redundant Event sinks for Account)

External Events Parameters Available by Event Type

This section lists the available sets of parameters available for each Event Type and the specific parameter sets for each Event Type.

Note:

To properly insert parameter values in the event requests, you must include the % character is required before and after the parameter name. The following example shows the URL Parameters field configured properly in the Dashboard for the file name value to be inserted in the Event URL.
%FILENAME%
For more information via the Dashboard, you can click the URL Parameters Help link (?) on the "External Event Destinations" settings page.
Event Type Parameters
RECORDING_ENDED_EVENT
  • RESULT
  • FILENAME
  • RECORDING_ID
  • TMP_RECORDING_ID
  • START_TIME
  • END_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • DURATION
  • PAUSE_LENGTH
  • DELETE_FLAG
  • ANI
  • DNIS
  • CALLING_AORS
  • CALLED_AORS
SEGMENT_ENDED_EVENT
  • RESULT
  • FILENAME
  • SEGMENT_ID
  • TMP_SEGMENT_ID
  • TMP_RECORDING_ID
  • START_TIME
  • END_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • PAUSE_LENGTH
  • CALLING_AORS
  • CALLED_AORS
RECORDING_STARTED_EVENT
  • RESULT
  • FILENAME
  • TMP_RECORDING_ID
  • START_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • ANI
  • DNIS
  • CALLING_AORS
  • CALLED_AORS
RECORDING_RESUMED_EVENT
  • RESULT
  • FILENAME
  • TMP_RECORDING_ID
  • START_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • PAUSE_LENGTH
  • PAUSE_SILENCE
  • ANI
  • DNIS
  • CALLING_AORS
  • CALLED_AORS
RECORDING_PAUSED_EVENT
  • RESULT
  • FILENAME
  • TMP_RECORDING_ID
  • START_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • PAUSE_SILENCE
  • ANI
  • DNIS
  • CALLING_AORS
  • CALLED_AORS
SEGMENT_STARTED_EVENT
  • RESULT
  • FILENAME
  • TMP_SEGMENT_ID
  • TMP_RECORDING_ID
  • START_TIME
  • ISR_UCID
  • INGRESS_CALLID
  • EGRESS_CALLID
  • SESSION_ID
  • CALLING_AORS
  • CALLED_AORS

External Event Notification and Parameters Example

The following REST command shows an example of a RECORDING_STARTED_EVENT Notification Destination, along with the Event type, called party AORs, and ingress call ID parameters for the Notification:
https://1.2.3.4:8443/Face/eventNotify?event=AudioRecordingStarted&calledAors=sip:7654321@1.2.3.1:5060&ucid=13-23132@1.2.3.4
For more information on configuring External Events via the ISR Dashboard, see the Administrators Guide.