2009/3/27 Francois Delawarde <fdelawarde@wirelessmundi.com>
Hello and welcome me into FreeSWITCH's world! <= sorry that was rude
I am (hoping to say "I was" soon) a heavy user of Asterisk's call queues for small call centers with sometimes empty queues and all agents idle for a few seconds.
FreeSWITCH's mod_fifo algorithm is apparently quite different than Asterisk's app_queue. Instead of choosing an agent for a each call once it gets to the bottom of the queue given a specific strategy, FreeSWITCH does the inverse and finds a call once an agent is free given a strategy (the call that has waited longer from all the agent's queues, or the call in the queue that currently has more calls waiting). Am I right?
If the above deduction is correct, while it seems a MUCH better choice for heavier call centers that always have calls in their queues ("in queue" calls are not delayed by the processing of the call at the end of the queue), I have a few doubts for what would happen in small call centers when those queues sometimes get empty and several agents "fight" for the incoming calls. My questions are following:
- If for example 4 agents are "connected" (fifo out) to an empty queue, what happens when a call arrives? Do the 4 agents ring? If not, how do we know which agent get the call?
If you are using on-hook agents, it will place as many outbound calls as there are people waiting. If you are using off-hook agents it will just connect the first free agent.
- Is there an [easy] way (with some javascript or similar) to "emulate" Asterisk's distribution strategies to agents (by amount of time without calls, total number of answered calls, round robing, ...) in this cases?
Easiest way would be to write a patch in C to mod_fifo it'self or propose a bounty for features and see if you can get the change approved by the developers.
A couple of other newbie questions that has nothing to do with the above: - Is there a way to execute some PHP scripts for each call that would do the bridging or call applications (like Asterisk's AGI)?
Your best bet would be to not try to do anything "like asterisk" FreeSWITCH is a paradigm shift from asterisk and you may defeat yourself trying to do anything the same way. That said, yes, look at Event Socket and ESL, (using asterisk terminology, it's a combination of AGI and manager).
- What is the recommended language for features, speed, and programming ease (not a priority) for this kind of scripts (C? LUA?, Javascript?, ..)?
C
Thanks in advance, François.
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400