mod_fifo: Selection of consumers in a certain order.
Hi all, We are in the need of a certain application using mod fifo. Basically we are doing the following as described in the wiki: <fifo name="sales_fifo@$${domain}" importance="0"> <member timeout="15" simo="1" lag="5">{call_timeout=30,fifo_member_wait=nowait}user/1009@$${domain}</member> <member timeout="15" simo="1" lag="5">{call_timeout=30,fifo_member_wait=nowait}user/1008@$${domain}</member> </fifo> <extension name="sales_fifo"> <condition field="destination_number" expression="^sales_fifo$"> <action application="answer"/> <action application="set" data="fifo_orbit_exten=1010:45"/> <action application="set" data="fifo_orbit_dialplan=XML"/> <action application="set" data="fifo_orbit_context=default"/> <action application="set" data="fifo_caller_exit_key=2"/> <action application="set" data="fifo_caller_exit_to_orbit=true"/> <action application="fifo" data="sales_fifo@$${domain} in undef $${base_dir}/sounds/music/8000/wooohooo.wav"/> </condition> </extension> Things work fine, but we have noticed that the consumers are selected in kind of a load balancing basis, so that if member 1009 answered the last call then the next call goes to 1008 even if 1009 is available. We would like to know if there is a way to select the next consumer available in a different fashion such as in strict order setting a preference for each member. Say member 1 preference=1 member 2 preference=2 so that only if member 1 is on the phone the call rolls to member 2. Hope it makes sense. All input on how to achieve this is appreciated. Regards,
On Jul 7, 2009, at 11:25 PM, Luis F Urrea wrote:
Hi all,
We are in the need of a certain application using mod fifo. Basically we are doing the following as described in the wiki: <fifo name="sales_fifo@$${domain}" importance="0">
<member timeout="15" simo="1" lag="5">{call_timeout=30,fifo_member_wait=nowait}user/1009@$$ {domain}</member> <member timeout="15" simo="1" lag="5">{call_timeout=30,fifo_member_wait=nowait}user/1008@$$ {domain}</member>
</fifo>
<extension name="sales_fifo"> <condition field="destination_number" expression="^sales_fifo$"> <action application="answer"/>
<action application="set" data="fifo_orbit_exten=1010:45"/> <action application="set" data="fifo_orbit_dialplan=XML"/> <action application="set" data="fifo_orbit_context=default"/>
<action application="set" data="fifo_caller_exit_key=2"/> <action application="set" data="fifo_caller_exit_to_orbit=true"/> <action application="fifo" data="sales_fifo@$${domain} in undef $$ {base_dir}/sounds/music/8000/wooohooo.wav"/>
</condition> </extension>
Things work fine, but we have noticed that the consumers are selected in kind of a load balancing basis, so that if member 1009 answered the last call then the next call goes to 1008 even if 1009 is available.
We would like to know if there is a way to select the next consumer available in a different fashion such as in strict order setting a preference for each member. No. Maybe you'd like to patch it or add a wishlist to jira or add a bounty.
But, depending on how many agents you have, a '|' separated dialstring might do the trick:
<member timeout="15" simo="3" lag="5">{leg_timeout=30,fifo_member_wait=nowait}user/1009|user/1008| user/1007...</member>
Say member 1 preference=1 member 2 preference=2
so that only if member 1 is on the phone the call rolls to member 2.
Hope it makes sense.
All input on how to achieve this is appreciated.
Regards,
_______________________________________________ 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)
-
Luis F Urrea
-
Seven Du