[Asterisk-Users] Large Asterisk Setup (~500 Concurrent Calls + Scalability)

Matt Roth mroth at imminc.com
Thu Apr 21 09:12:19 MST 2005


Daniel,

So far our digital recording client is a box on a diagram.  I haven't 
digitally recorded a single call through Asterisk yet, but this is a 
learning process so I'll share what I know in hopes that I can help 
people out and have any of my mistakes corrected.

As I understand it, digital recording is handled by the Asterisk Monitor 
command (http://www.voip-info.org/wiki-Asterisk%20cmd%20Monitor).  The 
default location for saved files is the /var/spool/asterisk/monitor 
directory.  The channel's input and output voice packets are saved to 
different sound files, then soxmix is called to mix the audio together 
to produce a single file as output 
(http://www.voip-info.org/wiki-Monitor%20setup%20sample --- 
http://www.voip-info.org/wiki-SoX).  Our setup also requires allowing 
access to the audio files via FTP to multiple managers for reviewing 
calls and gauging agent performance.  The managers expect the files to 
be in MP3 format and to be indexed so that they can be retrieved based 
on various criteria.  Archiving to tape must also be done on a periodic 
basis to backup the data and conserve disk space.  Obviously, we want as 
little of this activity to occur on the switch as possible.

Our idea is to mount a network drive on a remote machine and save the 
files created by the Monitor command directly to it.  Using this setup, 
the activities for each call would be separated by machine as follows:

---Asterisk Master Server---
* The Monitor command is executed out of the dialplan.
* The input and output packets are saved to the mounted drive of the 
Digital Recording Client.

---Digital Recording Client---
* soxmix is executed to mix the audio together to produce a single WAV file.
* lame is executed to convert the WAV file produced by soxmix into an MP3.
     * This may be an unnecessary step if soxmix can produce an MP3 
directly.
* The MP3 files are indexed to be easily retrievable by various criteria.
    * Directory/file naming conventions, database storage, and custom 
code will be used here.
* An FTP server will be running to allow access to the MP3s.
    * Custom code on the managers' machines will be used to access the 
database for selecting the MP3s to transfer.
* Archiving is done at off-peak hours.

I hope this answers your questions.  If anyone knows of a more efficient 
way to do this, I'd appreciate hearing it.

Matthew Roth
http://www.voip-info.org/tiki-index.php?page=Running%20Asterisk%20on%20Debian


Daniel Salama wrote:

> Nice setup. Please do feed the list with your findings.
>
> I'm interested in a solution for digitally recording calls and I  
> noticed you have a Digital Recording Client. Would you mind 
> elaborating  more on this? Is this another Asterisk box issuing the 
> Monitor command?  If it is, does it mean that even is Asterisk is 
> "monitoring" a call on  another Asterisk box, then the box with the 
> call being monitored will  not suffer any load overhead for 
> Monitoring? I guess what I mean is  that, will that offload the 
> Asterisk box handling the actual call?
>
> Thanks,
> Daniel



More information about the asterisk-users mailing list