Retrieving events and CDR about recorded calls
The API supports two types of approaches to retrieve information about calls being recorded:
- Application can subscribe on call start/stop events and can get notified by the API about the ongoing calls under recording
- Application can request a list of currently recorded calls and get detailed Call Detail Record information
If the application wants to continuously retrieve information about the ongoing calls, we strongly recommend to use the first approach by subscribing to call events, instead of periodically or occasionally requesting the list of ongoing calls.
In a multi-site deployment, where more then one Recording Server is deployed, the application has to establish connection with all recording services individually.
The XML used in the Call Detail Response (below) is in the same format as the Call Detail Recorder XML file stored next to the media files.
Subscribe to call events
In order to obtain detailed data about currently recorded calls the application has to subscribe to events.
You can specify to trigger notifications for all calls, or in a selective way by specifying phone numbers. The connection has to be kept open to receive the notifications. If the remote side closes the connection, the socket has to be destroyed on the application side as well.
Subscribe request
Use the Extension attribute to subscribe to call events only for the specified phone numbers. The phone number can appear as called or calling party number.
Subscribe response
For successful subscribe request, the system responses with the following message:
To monitor the connection between the application and the recording service, and keep it alive, the application can use an optional keep alive mechanism. In this case the API server sends an empty response with the next keep alive interval. If the server cannot send the keep alive message or the application does not receive the next keep alive message within the time set by the previous request * 1.5, then session should be interpreted as ended/closed/disconnected.
Call start notification
Example for call start event notification:
Call end notification
Example for call end notification message:
Requesting information about ongoing calls
External applications can request a list about the currently recorded calls. With this list, the application can also request additional, detailed information about each call.