Integration utilizes Unigy's active recording interface which consists of the following links:
- CTI (CDR): agent and CDR/call events
- SIP (Audio control): establishes recording/media channels, negotiates voice codec and SRTP crypto parameters
- RTP/SRTP (Audio stream): carries voice media
Recorder service at startup logs in via the CTI link and subscribes to agent and call events. When a trader agent logs in on a turret (the agent can be logged in only on one turret at the same time) the Unigy platform notifies the recorder and the recorder establishes media channels via SIP as per the recording profile configuration of the turret. When a call start the recorder receives a call start CTI/CDR event which refers to the related media channel. Based on this information the recorder starts recording the media and creates a database record with the CDR. When the call ends a call end CTI event is received based on which the recorder terminates the recording. At recorder startup, the recorder gets agent login and call start notification for all logged in agent sessions and ongoing calls so can start recording from that point.
The integration is available for IPC Unigy version 1.x, 2.0.1, 3.x, 4.x??? and supports the following devices. Devices bold/underlined supports secure/encrypted recording as well:
- IQ/MAX Touch
- IQ/MAX Edge (100/200)
- IQ/MAX Sync
- IQ/MAX Omni
- Pulse Enterprise
- Pulse Mobile
A Unigy deployment might consist of mixed secure and non-secure turrets. Media channels with recorder are negotiated accordingly.
High Availability/Recorder resiliency
Voice inactivity and media splitting/segmentation
In some use-cases handset or speaker-channel calls might be open for very long time with mostly transmitting silence only. To save network bandwidth the turret detects voice activity and stops sending media during silence periods. These gaps can be detected by Verba and after a configured media inactivity timeout (30 seconds by default) the recorder terminates the recording, finalizes media file and CDR record in the database with Voice Inactivity end cause. As soon as media starts coming, the recorder starts a new record with the same CDR information (and new start time). This behavior helps to save storage space and makes much easier to search in long calls for an actual speech.
Nevertheless, these calls still might be quite long. To make easier searching for speech parts, the recorder splits these long sessions into 1-hour records (splitting timer is configurable). The end cause for these records is Media Segmentation.
Media triggered recording vs CTI triggered recording
The recorder supports two different ways to start recording. Each has their pro and cons:
This is the default mode and the recommended mode by IPC. The recording is always triggered based on CTI call start event and terminates on call end event. Because CTI event might lag behind the media start, at the very beginning of the call there is a possibility of not recording some voice fragments. This is avoided by media caching which can cover 5 seconds delay. The advantage of this approach is that recorded CDRs are always consistent with what Unigy provides, the disadvantage is that in case of CTI failure even media is still streamed to recorder, due to the lack of call start event Verba does not record anything.
CDR record and media file are created as soon as media starts flowing on the recording channel. The CDR information initially is based on information of the recording channel gathered at agent log-on. This contains the agent id, devices mixed in the channel, turret id... and lacks the information of caller and callee numbers. As soon as CTI call start event is received the CDR is updated with the actual device used in the call and caller-callee information. This approach has the advantage of in case of CTI failure we still record the received media content and there is no possibility for voice clipping at the beginning of calls. The disadvantage is that in some scenarios the turrets might stream media even there is no ongoing call which might lead to strange records in the system.