... Asterisk ACD Distribution 4 Call Center ... 
 ... AstrouTer for Asterisk 1.4.X ... 
The software is an Event Handler System for Inbound Calls routing to a several ACD Asterisk Servers. Base on manager conection the System can redirect calls to a diferent ACD servers using many algorithms. The Whole System know all the ACD states. Coming soon the first stable release. This is the Physical architecture
 
 
AstrouTer Version 1 
In the Version 1, all the calls pass from the Gateway Asterisk servers to Asterisk ACD servers. No matter the ACD states. 
If all agents are busy in all Asterisk ACD Servers the call was put in the local queues using a distribution 
algorithm for example Round Robin.   
AstrouTer Version 2 
In the test Version 2, there are a main queue in every Asterisk Gateway. The call remain in this queue, 
waiting for a free agent in a ACD servers. So in this case we have a central queue in every Asterisk Gateway.
Asterisk Gateway Configuration Nodes (Version 1) 
 
Manager.conf
[dialer] 
secret = 1234
read = user
writetimeout = 500
write = system,call,log,verbose,command,agent,user
permit=0.0.0.0/0.0.0.0
writetimeout = 500
[acd] 
secret = 1234
writetimeout = 500
read= system, call, log, verbose, command, agent, user
write = system, call, log, verbose, command, agent, user
permit=0.0.0.0/0.0.0.0
extensions.conf
[macro-astrouter]
exten => s,1,Set(numcola=${ARG1})
exten => s,n,ResetCDR(w)
exten => s,n,UserEvent(IncomingCall|DID: ${EXTEN}|Channel: ${CHANNEL})
exten => s,n,Wait(2)
[default]
; Asterisk ACD (1)
exten => 001,1,Dial(SIP/t_agents1/${QueueNum})
exten => 001,n,Hangup
;
; Asterisk ACD (2)
exten => 002,1,Dial(SIP/t_agents2/${QueueNum})
exten => 002,n,Hangup
;
; Asterisk ACD (3)
exten => 003,1,Dial(SIP/t_agents3/${QueueNum})
exten => 003,n,Hangup
[test]
exten => s,1,Macro(astrouter,4)  ; Pass the Call to Queue 4
sip.conf
[t_agents1]
type=friend
host=192.168.XX.XX
context=default
username=t_agents1
disallow=all
allow=alaw
qualify=yes
[t_agents2]
type=friend
host=192.168.XX.XX
context=default
username=t_agents2
disallow=all
allow=alaw
qualify=yes
[t_agents3]
type=friend
host=192.168.XX.XX
context=default
username=t_agents3
disallow=all
allow=alaw
qualify=yes
Asterisk ACD Configuration Nodes (Version 1)
Manager.conf
[acd]
secret = 1234
read= system, call, log, verbose, command, agent, user,config
write = system, call, log, verbose, command, agent, user,config
permit=0.0.0.0/0.0.0.0
[dialer]
secret = 1234
read= user,agent
write = system, call, log, verbose, command, agent, user
permit=0.0.0.0/0.0.0.0
queues.conf
; Set this in every queue
eventwhencalled = yes
eventmemberstatus = no
extensions.conf
[default]
; If the Number of the Queue is 4
exten => 4,1,Answer
exten => 4,n,Goto(ToQueue1)
[ToQueue1]
exten => s,1,Set(CDR(userfield)=${CALLERID(name)})
exten => s,n,UserEvent(IncomingCall|DID: ${EXTEN}|Channel: ${CHANNEL})
exten => s,n,MixMonitor(/var/records/today/${UNIQUEID}_${CAMPAIGN}_AGENT.gsm|v(3)V(3))
exten => s,n,Queue(Queue1|t)
exten => s,n,Hangup
AstrouTer Configuration Files (Version 1)
asthostacd.conf  
# HOST,Manager User,Manager Pass,Server Name,Extension to Reach
192.168.68.67,dialer,1234,SrvACD1,001
asthostconm.conf  
# HOST,Manager User,Manager Pass,Server Name
#
192.168.68.64,dialer,1234,SrvConm1
astrouter.conf
# Select the algorithm code
# test          = 1
# med           = 2
# fewestcalls   = 3
# jsq           = 4
# rrmemory      = 5
#
test=1
#
Downloads
-- [Astrouter Paper]
ScreenShots
--Normal Operation
--When some Asterisk goes Down the calls will be redirect to active servers