<div>Hello,</div><div><br></div><div>I have a dialplan where I get the incoming call to lua script</div><div><br></div><div>&lt;extension name=&quot;ext_call&quot;&gt;</div><div> &lt;action application=&quot;set&quot; data=&quot;hangup_after_bridge=true&quot;/&gt;</div>
<div> &lt;action application=&quot;set&quot; data=&quot;ignore_early_media=false&quot;/&gt;</div><div> &lt;condition field=&quot;destination_number&quot; expression=&quot;\d{7,}&quot;/&gt;.</div><div> &lt;condition field=&quot;${sip_from_host}&quot; expression=&quot;^(10\.9\.0\.25)$&quot;&gt;.</div>
<div> &lt;action application =&quot;lua&quot; data=&quot;answer.lua&quot;/&gt;.</div><div> &lt;/condition&gt;</div><div>&lt;/extension&gt;</div><div><br></div><div>and then I have answering in answer.lua:</div><div>===========================</div>
<div>session:preAnswer();</div><div><br></div><div>[...accessing to DB...]</div><div><br></div><div><div>if (session:ready()) then</div><div> repeat</div><div>    index = index + 1;</div><div>    session_call = string.format(&quot;[leg_timeout=30,ignore_early_media=true,hangup_after_bridge=true,origination_caller_id_number=&quot;.. cid ..&quot;]sofia/gateway/%s/%s&quot;,gwlist[index],dn);</div>
<div>    legB = freeswitch.Session(session_call);</div></div>until ((hcause == &#39;USER_BUSY&#39;) or (hcause == &#39;SUCCESS&#39;) or (hcause == &#39;NO_ANSWER&#39;) or (index == #gwlist) or(session:ready() == false))<br>
<br><div><div>if (legB:ready()) then.</div><div>    freeswitch.bridge(session, legB)</div><div>end</div></div><div>===========================</div><div><br></div><div>But I have a one problem, when the initial legA was disconnected before legB was answered. It it still continued  to call legB (during the 
leg_timeout). </div><div>Could you please explain, how I can cancel legB right after I got disconnect on legA in this case? Thank you.</div><div>--<br>Nikolay<br>
<br><br></div>