[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