Thanks for replying. This is my dialplan <extension name="in_fifo"> <condition field="destination_number" expression="^779$"> <action application="set" data="fifo_music=$${hold_music}"/> <action application="answer"/> <action application="fifo" data="myq in undef undef"/> </condition> </extension> And I created a queue in fifo.conf.xml like this <fifo name="myq" importance="0"> <!--<member timeout="60" simo="1" lag="20">{member_wait=nowait}user/1005@$${domain}</member>--> </fifo> However, I'm still not able to see the incoming call get queued. freeswitch@localhost.localdomain> fifo list myq API CALL [fifo(list myq)] output: <fifo_report> <fifo name="myq" consumer_count="0" caller_count="0" waiting_count="0" importance="0"> <callers></callers> <consumers></consumers> </fifo> </fifo_report> I tried both mod_skypiax and mod_dingaling, but with the same result. Regards, -Jingwei On Sun, Jan 17, 2010 at 11:37 AM, Seven Du <dujinfang@gmail.com> wrote:
2010/1/15, Jingwei Yang <jingwei.yang@gmail.com>:
Hi Guys,
I'm implementing an ACD system using ESL and mod_fifo. Based on what Anthony suggested in this post:
http://www.mail-archive.com/freeswitch-users@lists.freeswitch.org/msg01652.h...
*You can make an event socket application that listens for FIFO events
and
keeps track of what FIFOs are currently busy and when there are people waiting you can have that script generate a call to a group of SIP phones so when the first one answers, it sends them in as an agent where they can field the calls. *
1. How should I handle the concurrent issues? If I bridge a user to two agents and both of them answers, how does FS take care of this situation? Will a slower agent get a busy tone automatically?
I think it just follow the standard originate dialstring rules.
2. If the socket application is brought up after some users have called in, what command should I use to check the busy queues? fifo list?
Yes. Perhaps you can also check the fifo db, either sqlite or ODBC.
3. Am I using fifo list and fifo count correctly?
here's the testing dialplan:
<extension name="in_fifo"> <condition field="destination_number" expression="^779$"> <action application="set" data="fifo_music=$${hold_music}"/> <action application="answer"/> <action application="fifo" data="*myq *in"/> </condition> </extension>
when a call comes in and gets queued, these are the results of some commands I tried.
freeswitch@localhost.localdomain> fifo list API CALL [fifo(list)] output: <fifo_report> <fifo name="cool_fifo@192.168.1.104" consumer_count="0" caller_count="0" waiting_count="0" importance="0"> <callers></callers> <consumers></consumers> </fifo> </fifo_report>
freeswitch@localhost.localdomain> fifo list myq API CALL [fifo(list myq)] output: <fifo_report></fifo_report>
freeswitch@localhost.localdomain> fifo count myq API CALL [fifo(count myq)] output: none
It seems *myq* doesn't get created at all? Please enlighten.
Thanks and best regards, -Jingwei
AFAIK, thant means the channel didn't queued in. Did you see any error logs? I think you need to remove the stars in <action application="fifo" data="*myq *in"/>.
_______________________________________________ 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