[Freeswitch-users] keep limit counter active across dialplans when used in attended transfers

Bipin Patel bipin at xbipin.com
Sun Jun 25 15:10:04 UTC 2017


hi,

i have a requirement where i need to generate a different ringtone if 
that ext is on another call and i do it using limit by setting a counter 
for the caller and callee and then checking the counter if it has a 
value of 1 which would mean that ext is on anohter call so generate a 
different ringtone and this work fine.

The problem being if A calls B and B attended transfers the call to C 
then the counter for C is incremented in the features dialplan but it 
doesnt reflect in the internal dialplan and i read that active limits 
dont remain global across dialplans so is there anyway to keep the limit 
counter active. i tried limit_ignore_transfer but that doesnt seem to 
work, im on the FS master

Below is my internal and features dialplan, any pointers would be helpful


INTERNAL DIALPLAN

     <extension name="general_stuff1" continue="true">
       <condition>
           <action application="set" data="rtp_negotiate_near_match=true"/>
           <action application="set" data="inherit_codec=true"/>
           <action application="set" data="suppress_cng=true"/>
           <action application="set" data="limit_ignore_transfer=true" />
           <action application="limit" data="hash max_calls 
${sip_from_user} -1" />
       </condition>
     </extension>

     <extension name="ChangeRingBack">
       <condition field="destination_number" expression="^ChangeRingBack$"/>
       <condition field="rdnis" expression="^(.*$)">
           <action application="set" 
data="transfer_ringback=%(250,250,400);%(250,3500,400)"/>
           <action application="set" 
data="ringback=%(250,250,400);%(250,3500,400)"/>
           <action application="bridge" 
data="sofia/internal/$1%$${domain}"/>
       </condition>
     </extension>

     <extension name="local_user_calling">
       <condition field="destination_number" expression="^(.*)$">
           <action application="limit" data="hash max_calls 
${destination_number} -1" />
           <action application="bind_meta_app" data="3 b s 
execute_extension::att_xfer XML features"/>
           <action application="set" 
data="transfer_ringback=%(400,200,400,375);%(400,2000,400,375)"/>
           <action application="set" data="hold_music=$${hold_music}" />
           <action application="set" 
data="ringback=%(400,200,400,375);%(400,2000,400,375)"/>
           <action application="set" data="call_timeout=30"/>
           <action application="set" data="hangup_after_bridge=true"/>
           <action application="set" data="continue_on_fail=true"/>
           <action application="limit" data="hash max_calls 
${destination_number} 1 ChangeRingBack"/>
           <action application="bridge" 
data="sofia/internal/$1%$${domain}"/>
       </condition>
     </extension>

FEATURES DIALPLAN

     <extension name="att_xfer">
       <condition field="destination_number" expression="^att_xfer$">
           <action application="set" 
data="transfer_ringback=%(400,200,400,375);%(400,2000,400,375)"/>
           <action application="set" data="hold_music=$${hold_music}" />
           <action application="set" 
data="ringback=%(400,200,400,375);%(400,2000,400,375)"/>
           <action application="set" data="continue_on_fail=true"/>
           <action application="read" data="2 11 ivr/ivr-enter_ext.wav 
digits 30000 #"/>
           <action application="set" data="origination_cancel_key=#"/>
           <action application="limit" data="hash max_calls ${digits} -1" />
           <action application="att_xfer" 
data="sofia/internal/${digits}%$${domain}"/>
       </condition>
     </extension>


-- 
Regards,
Bipin


------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20170625/c3fa03b4/attachment.html>


More information about the FreeSWITCH-users mailing list