This document describes the design of a call recording system. It involves a media gateway, call center server, conference server, call control server implemented as a SIP servlet application, recording server, and file server. It outlines the 8 steps of an incoming call being routed through the system, being evaluated by a rule server to determine if recording is needed, and being recorded if so before the recording is archived on the file server. It also notes some error scenarios and components of other call types that are described in separate documents.
2. Interaction - Overview
Media Gateway,
between Customer and
Call Center Server, is not
shown in the diagram.
Conf. Server is Asterisk.
Call Center Server is
CEICO.
Recording Server is
Intervoice.
This presentation covers only one of
Call Control Server is
the various possible scenarios, implemented as SIP
incoming call. Servlet application.
3. Interaction – Step 1
Customer initiates the call.
An INVITE is delivered, through the Media
Gateway, to the Call Center Server.
Call Center Server notifies the Call Control
Server (SIP) about the incoming call.
4. Interaction – Step 2
The notification takes the form of a web service
invocation.
Information passed along:
Call description (e.g.: dialing number, dialed
number, time)
Campaign descriptor (e.g.: name of campaign,
product name).
Agent Descriptor (e.g.: agent name, agent's
supervisor)
Customer descriptor (e.g.: customer name)
The Call Control Server caches the notification in the
memory (kept until the corresponding INVITE arrives).
5. Interaction – Step 2
The person testing the
system can inspect the
content of the cache,
through a web browser.
6. Interaction – Step 3
The Call Center Server sends an INVITE to the
choosen agent (Agent 1).
The Call Center Server has been configured to use the
Call Control Server as proxy.
The Call Control Server intercepts the INVITE.
The Call Control Server looks up the notification that
corresponds to the INVITE.
Assuming the notification is found, the Call Control
Server consults the Rule Server, to find out if the call
is to be recorded.
7. Interaction – Step 4
The Rule Server has a database of automatic
call recording rules.
The Rule Server has the algorithm, used to
evaluate the information passed in the request
received from the Call Control Server, against
the rules, in order to make the decision.
The Rule Server also has the web-based user
interface, used by the supervisors, for
managing the rules.
8. Interaction – Step 5, 6, 7
Assuming the answer from the Rule Server is a
”yes”, then the Call Control Server creates a
conference room in the Conference Server,
within which the customer, agent, and recording
server ”converse”.
The Call Control Server brings the customer,
the recording server, and the agent into the
conference room.
The necessary SIP signaling is shown in the
following page.
10. Step 5, 6, 7
The person doing testings can inspect the progression
of conversations through a web page.
11. Interaction – Step 8
When the call terminates (either the customer
or the agent hangs up), the Recording Server
server sends the recorded conversation to the
File Server for archiving.
12. Closing Notes
Other scenarios are explained in separate document(s):
Outgoing call (from an agent to a customer).
On-demand call recording.
Error scenarios.
The design has been implemented and tested on the Sailfin SIP Servlet Container (where
the Call Control Server is deployed).
Scenarios tested so far (5 April 2008):
Conversation successfully establised, followed by: (a) caller hangs up, (b) callee
hangs up.
Caller cancels the call.
Callee rejects the call.
Callee can not be contacted (off).
Recording Server is not available.
Conference Server is not available.
Notification from Call Center Server never arrived (consequence: the call goes direct
from caller-to-callee).