Savoy, Kevin - Williston, ND
2007-Apr-13 09:01 UTC
[asterisk-users] Call Recording Servers
We are looking at using Asterisk as a call recording server for an Avaya VoIP S8700 system in a multi-site VoIP Call Center. All calls will be coming in to one location and sent out via VoIP to other call centers. What kind of specs should we be looking at purchasing for our Asterisk server to be record up 200-300 calls simultaneously? Linux runs in 64 bit architecture, but does Asterisk actually take advantage of the 64 bit? Has anyone tried doing this already? What would be the best way to get the calls from the Avaya PBX over to the Asterisk recording server? Any thoughts? Thank you for your time. _______________ Kevin Savoy Business Unit Telecom Analyst 2218 4th Ave W Williston, ND 58801 Ph: 701-774-4023 Fax: 701-774-2901 http://www.novo1.com <http://www.novo1.com> Novo 1 is a service mark of Novo 1, Inc -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070413/6056dc5e/attachment.htm
Savoy, Kevin - Williston, ND wrote:> > We are looking at using Asterisk as a call recording server for an > Avaya VoIP S8700 system in a multi-site VoIP Call Center. All calls > will be coming in to one location and sent out via VoIP to other call > centers. > > > > What kind of specs should we be looking at purchasing for our Asterisk > server to be record up 200-300 calls simultaneously? >I can tell you from experience that disk I/O will be your bottleneck. In our testing, call quality began to seriously deteriorate at around 60 simultaneous calls. Our solution was to record to a RAM disk and move the leg files over NFS to a dedicated server for mixing, indexing, and retrieval. It has been a while since the tests, but as far as I know app_monitor based call recording still has a disk write in the code path that bridges two channels. Unless another kind reader of this list can provide updated information or a better call recording method, I'd assume this is still the case. For our inbound call center operations, we regularly record roughly 200-300 simultaneous calls on a single server. The agents and queues also reside on that server, but we have taken great care to offload as many processes as possible. We aren't 100% stable, but I believe most of our downtime can be attributed to app_queue. If no new information surfaces, I'd be happy to talk with you about dimensioning and our overall architecture. Keep in mind that if its an option, breaking this task down so that it can be spread across multiple machines will minimize the number of headaches you're going to have.> > Linux runs in 64 bit architecture, but does Asterisk actually take > advantage of the 64 bit? >That really depends on how you define "take advantage." We are running on a 64-bit architecture, but I have no idea if we're any better off because of it. From what I've read, you typically have to benchmark processes to see if they are faster on a 64-bit OS. One definite advantage of 32-bit is most code is more heavily tested for it. Some assumptions that programmers might make, such as casting a pointer to an int, do not port very well to 64-bit. However, if you end up going down the RAM disk path, you might want to research whether or not a 64-bit OS would be necessary to provide enough memory.> > Has anyone tried doing this already? What would be the best way to > get the calls from the Avaya PBX over to the Asterisk recording > server? Any thoughts? > >I haven't implemented this particular case, but off the top of my head I would say that you could register the Avaya PBX as a SIP user agent. Then you could direct all of the calls to the Asterisk server which would utilize dialplan logic to record them and bridge them to their desired endpoints. Once again, I'm relying on the other readers of this list to point out any naivety on my part. My best thinking doesn't usually occur at 8:30 on Friday evening. I hope this is helpful, Matthew Roth InterMedia Marketing Solutions Software Engineer and Systems Developer