Hi everybody, currently I work for an italian Telco and we need to realize a new call centre infrastructure.
In my past experience I always use Asterisk for all (sip registrer, media gateway, IVR, queues and so on)
Now my call centre needs to handle 500 agents and 12k calls/days at least.
So I studied many cases and realized that the best solution was using a kamailio + Asterisk installation.
call from public network, kamailio redirect to asterisk 1
the customer does his choise into the IVR and chose, for example, technical support.
asterisk needs to put the call in a dedicated queue in an asterisk 2, so asterisk redirect the call to Kamilio
kamailio send the call to the queue manager in asterisk 2
All the agents are registered in kamailio DB, the asterisk server in a realtime architecture know about it.
I’n not yet able to understand how asterisk 1 can pass the call to kamailio and kamilio to asterisk 2, I would like to se the dialplan and the kamailio .cfg file.
My question: anybody had the same situation? anybody can help me?
I’m very confident with asterisk, not with kamailio.
Thanks everybody
Use Kamailio (or OpenSIPS) as a load-balancer, registrar and for location service (extra modules can be used for security)
Have a farm of Asterisk instances behind your LB which accept calls from LB
Do not use app_queue, instead create your own “Queuing application” using ARI
You’ll need to share device states (Online/offline, Busy, Idle, Paused and any custom state you need) using a central app or caching layer (such as Redis) in order to let Asterisk box 1 knows that agent X is busy although this agent got a call through Asterisk box 2
In such setup, no need to use chan_agent
It is really advised to avoid using app_queue when having multiple Asterisk instances, unless you still prefer to use the old method (pre-ARI era).
I am also having similar architecture but till now I don’t have Kamalio.
I am using app_queue and to share device/agent status among asterisk I am using corosync. Corosync works pretty good.
But, now I want to use Kamalio for SIP user/Agent registration. I want to know that how do I share device/agent/SIP user status detail from Kamalio to asterisk queue application?
P.S. For now I don’t want to use ARI application for queue.
As much as I know you can’t share Kamailio’s subscribers states with Asterisk’s app_queue … both are totally separate systems. In case you were able to reach something as close to that, please share your output!