[asterisk-biz] Call Center Type Recording

Trixter aka Bret McDanel trixter at 0xdecafbad.com
Fri Jul 25 05:28:47 CDT 2008


On Thu, 2008-07-24 at 11:08 -0400, kenny sigafoose wrote:
> Hi,
> 
> Im looking for scalable solution for call recording (Trunk side, user,
> whatever) and I was wondering 
> 
> 1. If this is the right forum to ask this in?
> 
Yes, but this is a business list, and odds are people are more inclined
to sell products that do this or consulting services to set this up.  If
you wanted pointers and to do it yourself the users list is probably
more acceptable for that, although some may provide tips here.


> 2. If Digium's Asterisk products are capable, or any open source
> (preferably Asterisk) for that matter?

well its capable subject to certain conditions.  With enough cpu power
(which as a subclass is disk IO) you can do this with just about
anything.  The general rule is the more you ask the box to do the lower
number of channels it can process.  


One of the things that you may want to consider would be why you want
this information, and what you plan to do with it in the future.  For
example if you want it for lawful wiretaps (CALEA, or the ETSI EU
standard stuff or ...) that will dictate the format that you log it
into.  For example, you may be required to provide audio samples in a
pre-specified format, so you have to encode it that way before delivery
(to webpage, CD, etc - even if its not a lawful wiretap but training for
example).  If you just need the raw data (safest and convert at the time
of playback so you have options open later for all new things) you would
want to log the entire packet flow.

Unfortunately tcpdump does not work on /dev/zap or similar entries, that
would actually be a nice feature if it could (or some hooks were added
to just cause it to dump raw frames to be analyzed later).  But it does
work in the inet side of things.  

http://sourceforge.net/projects/psipdump/
DESC: pcapsipdump is a tool for dumping SIP sessions (+RTP traffic, if
available) to disk in a fashion similar to "tcpdump -w" (format is
exactly the same), but one file per sip session (even if there is
thousands of concurrect SIP sessions).

tshark -i eth0 -o 'sip.uri contains "somename" or rtp or rtcp' -w -|
pcapsipdump -

may be enough for you.  That way anything that matches the expression
will be logged, and then pcapsipdump will split each call into its own
pcap file.



Examples of scalable solutions:
switch port replication, so that the media and signalling will goto
multiple boxes, such that one can be a logger box and the other can be
the call processing box, avoiding any potential issues with detection of
the recording by going to a logger media gateway, as well as not
increasing the load on the call processing box.

multicast rtp (or similar) to logger boxes working more or less as a
cluster (by using multicast you end up with multiple boxes better able
to fail over on recording).

ramdisk setups that will log the conversations and move them out when
cpu load allows for it.  Just make sure that you get enough storage
space.  Ram disks can be either drop in cards that generally have power
backups for data stored, or regular ram in the system, most linux boxes
default with a /dev/shm which is a ramdisk that way (fill that and you
fill all real ram on the system though).

There are of course other options, these however seemed in the past to
be the most popular ways of doing it.

> 
-- 
Trixter http://www.0xdecafbad.com     Bret McDanel
Belfast +44 28 9099 6461        US +1 516 687 5200
http://www.trxtel.com the phone company that pays you!




More information about the asterisk-biz mailing list