Hi all, I'd like to clarify the intended behaviour of a FIFO queue, with regards to the delivery strategy - by default, do FIFO-placed calls ring through to all members of the queue, or do they do it round-robin? I have the following simple configuration: <fifo name="2000@sample.com" importance="0"> <member timeout="20" simo="1" lag="5">{fifo_member_wait=nowait}user/1001@sample.com</member> <member timeout="20" simo="1" lag="5">{fifo_member_wait=nowait}user/1002@sample.com</member> </fifo> The behaviour I'm seeing is this: When I put a call through to the FIFO, it first tries to deliver it to 1001, then 1002, and so on. If I put a call through the first time, it goes to 1001, but if I call again, it starts at 1002. If on the other hand, I put the following in the dialplan: <action application="set" data="fifo_destroy_after_use=true" /> The first time I place a call, it follows the round-robin behaviour described above, but any subsequent calls get delivered simulatenously to the FIFO members (i.e. 1001 and 1002 ring at the same time until one picks it up). I can't make head nor tail of how this is supposed to work. I've read various posts on this list which describe the behaviour as being concurrent, but so far I have only managed to reliable get it working sequentially. Any comments or ideas welcome. Regards, Alvaro
Recently quite a bit of commenting was added to mod_fifo.c. I would suggest reading all that to understand the interaction a bit better. Its not such a simple answer, it depends on the strategy and a number of other factors. Mike On Jun 12, 2014, at 10:27 AM, Alvaro Mari-Thompson <alvaro@voicebooth.com> wrote:
Hi all,
I’d like to clarify the intended behaviour of a FIFO queue, with regards to the delivery strategy – by default, do FIFO-placed calls ring through to all members of the queue, or do they do it round-robin?
I have the following simple configuration:
<fifo name="2000@sample.com" importance="0"> <member timeout="20" simo="1" lag="5">{fifo_member_wait=nowait}user/1001@sample.com</member> <member timeout="20" simo="1" lag="5">{fifo_member_wait=nowait}user/1002@sample.com</member> </fifo>
The behaviour I’m seeing is this: When I put a call through to the FIFO, it first tries to deliver it to 1001, then 1002, and so on. If I put a call through the first time, it goes to 1001, but if I call again, it starts at 1002.
If on the other hand, I put the following in the dialplan:
<action application=”set” data=”fifo_destroy_after_use=true” />
The first time I place a call, it follows the round-robin behaviour described above, but any subsequent calls get delivered simulatenously to the FIFO members (i.e. 1001 and 1002 ring at the same time until one picks it up).
I can’t make head nor tail of how this is supposed to work. I’ve read various posts on this list which describe the behaviour as being concurrent, but so far I have only managed to reliable get it working sequentially.
Any comments or ideas welcome.
Regards, Alvaro _________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
participants (2)
-
Alvaro Mari-Thompson
-
Michael Jerris