Hi, All!
I have a problem with limiting number of calls to fifo consumer. I have next dialplan to apply limits:
<extension name="call-limit" continue="true">
<condition field="${caller_id_number}" expression="^(\d{3})$">
<action application="set" data="auto_hunt=true"/>
<action application="limit" data="hash 192.168.1.44-lines $1 1"/>
</condition>
</extension>
<extension name="call-limit" continue="true">
<condition field="destination_number" expression="^(\d{3})$">
<action application="set" data="auto_hunt=true"/>
<action application="limit" data="hash 192.168.1.44-lines $1 1"/>
</condition>
</extension>
<extension name="limit_exceeded">
<condition field="destination_number" expression="^limit_exceeded$">
<action application="hangup" data="USER_BUSY"/>
</condition>
</extension>
and next dialplan to register in fifo queue:
<extension name="Agent Login">
<condition field="destination_number" expression="^551$">
<action application="answer"/>
<action application="set" data="result=${fifo_member(add operators {fifo_member_wait=nowait,fifo_consumer_exit_key=none}loopback/${user_name} 1 10)}"/>
<action application="log" data="INFO Add FIFO agent result: ${result}"/>
<action application="log" data="INFO User Login:${user_name}"/>
<action application="sleep" data="1000"/>
<action application="hangup"/>
</condition>
</extension>
In this situation limit is zeroed when loopback channel is hangup (after successful bridge). I trying next variant:
<action application="set" data="result=${fifo_member(add operators
{fifo_member_wait=nowait,fifo_consumer_exit_key=none}user/${user_name}
1 10)}"/>
<action application="log" data="INFO Add FIFO agent result: ${result}"/>