[Asterisk-Users] Asterisk and SER for Call Center Application

Waldo Rubinstein waldo at trianet.net
Thu Nov 3 13:26:27 MST 2005


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



More information about the asterisk-users mailing list