...
Following are the terms which are used in this document
Sip SIP Message | It is the type of message through which CUCM communicates with VRS. It It can either be a Request or a Response. It can either have content or notan empty message. | ||||||
Call | Call determines a complete object containing all sessions in it. The sessions can be multiple in case of A call aggregates all sessions of a call. An actual call may have several sessions due to hold/resume or Transfer transfer/conference scenarios. A call object contains all sessions of a call. | ||||||
Session | Session A session determines a single recording containing both parties streams/legsjoining all voice streams of all participants. | ||||||
Session _LegsLeg | A Session legs determine Leg is the voice stream of a single person in any callone participant in the session. A Normal call has minimum of 2 session has at least two session_legs for both parties stream. | ||||||
Calling Number | This is the Endend-user/ Party party who dialed initiated the SIP call to anyone. | ||||||
Called Number | This is the Endend-user/ Party party who received the incoming call. | ||||||
Force Termination | It is a flag which represents that a recording for this call is corrupted or incomplete. This recording might be empty or incomplete. | ||||||
Zombie Timer | If the call is terminated for equal or more then this interval we mark it Terminated. | ||||||
Thread Timer | This is the time interval after which our internal process check all the terminated calls and send them to the Mixer. | ||||||
If no RTP packets received from the socket for this amount of time we mark it “Force Terminated” | |||||||
Topic | Kafka Topic is basically a queue by which we send call information from recorder to mixer |
Components
Expertflow Voice Recording Solution consists of 3 main components. These These components communicate with each other through Apache KafkaActivemq.
Recorder
Expertflow Recorder is the major component responsible for handling Handshake and call recording between Cisco CUCM and EF Voice Recording Solution.
...
All the calls which are tagged “Force Terminated” are those which are not properly recorded due to a network glitch or any other cause. This recorded file may contain the complete recording, Partial or no recording.
Metadata
Expertflow Recorder Recorder is connected with Mysql Database in order to store required metadata in the database.
We store information Information is stored on correlated calls along with required parameters.
Mixer
Expertflow The Mixer is responsible for mixing each individual recorded call-leg files into a single session file on the basis of provided correlation information from the Recorder. Mixer Mixer after merging relevant files into a single file can convert it into .wav file depends on the configuration.
...
UI to search, play and download recordings. Front-end fetches recordings from the database via APIs component.
Archival Process
This is the feature used to archive all recordings after a specified time from the current server that hosts the VRS to a remote server via SFTP.
Component level network diagram
...
The recording solution supports the Built-in Bridge recording (“BIB recording”) where the recording streams are forked from an agent IP phone to the EF- recorder, The agent voice and the customer's voice are sent separately i.e. stored as separate call legs and then mixed by EF-the Recorder.
EF_Recorder The recorder will be configured in CUCM as a SIP trunk device in order to receive calls and recording streams.
...