Waldo Rubinstein
2005-Nov-03 13:26 UTC
[Asterisk-Users] Asterisk and SER for Call Center Application
I suppose the * and SER topic has been discussed way too much, but I searching through all the archives, I haven't really found an answer to what I think could be done. I would like to setup a set of asterisk servers with identical configuration files so that a SER machine can load balance the traffic to, say, 3 asterisk servers. The idea is that if one asterisk server fails, the other servers will take over without having to change any configuration settings. Obviously all the active registrations and channels in the failed server will be lost, but at least the UAs can automatically reregister. The problem that I have with this is that say I have a UA SIP/1001 that registers on Asterisk Server 1. When SER receives a call for SIP/ 1001, all three asterisk servers know about SIP/1001 because it's configured in their sip.conf. However, the UA SIP/1001 is currently logged in asterisk server 1. How does SER know which server to send the actual call to? Could I do something like a broadcast of the call so that all three asterisk servers try to reach the UA and whichever answers answers? What happens if the two asterisk servers which received a request and could not reach the UA send the caller to voicemail, while the call is actually established in server 1 (may be I don't know enough about SIP)? What I'm trying to achieve is the following. In addition to the three asterisk servers, I would setup a central queueing server with asterisk. Say, UA SIP/1001 is registered in asterisk server 1. When the agent on SIP/1001 logs into the queue (possibly via AGI script), the UA will be added to the central queueing server instead of the server the UA is actually registered. Now the central queueing server knows that SIP/1001 is ready to take calls from a queue. Going back to my previous paragraph, when the central queueing server needs to send a call to SIP/1001, it will do so through the SER server. That way, SER can take care of locating (or broadcasting) the call to SIP/ 1001, regardless of which server the agent is actually registered in. This would allow me to have multiple asterisk servers handling all our queue calls. Why would I want to use asterisk for servers 1,2,3 instead of just SER and the single asterisk queueing server? We have many agents in different geographic locations and we need to have all calls recorded. This would allow us to have a distributed architecture of asterisk servers where each server would "Monitor" each agent's call instead of trying to fine tune so many different details in order to achieve "512 simultaneous calls being recorded". Am I dreaming? Is this conceptually crazy or is it doable? Can someone point me in the right direction? I have some time in my hands and if someone gives me some pointers, I guess I could try to tackle a small lab environment to simulate this. Thanks, Waldo
BJ Weschke
2005-Nov-03 14:56 UTC
[Asterisk-Users] Asterisk and SER for Call Center Application
It's very doable. I did a presentation of a case study on this exact solution at Astricon last month. Contact me off list for the slides. On 11/3/05, Waldo Rubinstein <waldo@trianet.net> wrote:> I suppose the * and SER topic has been discussed way too much, but I > searching through all the archives, I haven't really found an answer > to what I think could be done. > > I would like to setup a set of asterisk servers with identical > configuration files so that a SER machine can load balance the > traffic to, say, 3 asterisk servers. The idea is that if one asterisk > server fails, the other servers will take over without having to > change any configuration settings. Obviously all the active > registrations and channels in the failed server will be lost, but at > least the UAs can automatically reregister. > > The problem that I have with this is that say I have a UA SIP/1001 > that registers on Asterisk Server 1. When SER receives a call for SIP/ > 1001, all three asterisk servers know about SIP/1001 because it's > configured in their sip.conf. However, the UA SIP/1001 is currently > logged in asterisk server 1. How does SER know which server to send > the actual call to? Could I do something like a broadcast of the call > so that all three asterisk servers try to reach the UA and whichever > answers answers? What happens if the two asterisk servers which > received a request and could not reach the UA send the caller to > voicemail, while the call is actually established in server 1 (may be > I don't know enough about SIP)? > > What I'm trying to achieve is the following. In addition to the three > asterisk servers, I would setup a central queueing server with > asterisk. Say, UA SIP/1001 is registered in asterisk server 1. When > the agent on SIP/1001 logs into the queue (possibly via AGI script), > the UA will be added to the central queueing server instead of the > server the UA is actually registered. Now the central queueing server > knows that SIP/1001 is ready to take calls from a queue. Going back > to my previous paragraph, when the central queueing server needs to > send a call to SIP/1001, it will do so through the SER server. That > way, SER can take care of locating (or broadcasting) the call to SIP/ > 1001, regardless of which server the agent is actually registered in. > This would allow me to have multiple asterisk servers handling all > our queue calls. > > Why would I want to use asterisk for servers 1,2,3 instead of just > SER and the single asterisk queueing server? We have many agents in > different geographic locations and we need to have all calls > recorded. This would allow us to have a distributed architecture of > asterisk servers where each server would "Monitor" each agent's call > instead of trying to fine tune so many different details in order to > achieve "512 simultaneous calls being recorded". > > Am I dreaming? Is this conceptually crazy or is it doable? Can > someone point me in the right direction? I have some time in my hands > and if someone gives me some pointers, I guess I could try to tackle > a small lab environment to simulate this. > > Thanks, > Waldo > _______________________________________________ > --Bandwidth and Colocation sponsored by Easynews.com -- > > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >