<div dir="ltr"><div>the scenario is Alice calls Bob and Alice hangs up before Bob answers the call,<br></div><div>while using the default dialplan as</div><div>&lt;action application=&quot;bridge&quot; data=&quot;user/${dialed_extension}@${domain_name}&quot; /&gt;</div>
<div>Bob instantly goes hangup after Alice hung up,</div><div><br></div><div>but after change the dialplan to have a lua script process the bridging, as</div><div>&lt;action application=&quot;lua&quot; data=&quot;bridge.lua $1&quot; /&gt;  // $1 is the destination_number</div>
<div>Bob will still be ringing for quite a long time, the bridge.lua is simple:</div><div><br></div><div>dest = argv[1]</div><div><br></div><div>session:execute(&quot;set&quot;, &quot;hangup_after_bridge=true&quot;);</div>
<div>dial_string = string.format(&#39;user/%s&#39;, dest)</div><div>sessionB = freeswitch.Session(dial_string)</div><div><br></div><div>if sessionB:ready() then</div><div><span class="" style="white-space:pre">        </span>freeswitch.bridge(session, sessionB);</div>
<div>else</div><div><span class="" style="white-space:pre">        </span>freeswitch.consoleLog(&quot;info&quot;, &quot;---session NOT ready \n &quot;)</div><div><span class="" style="white-space:pre">        </span>-- ORININATOR_CANCEL can be checked here though omitted for simplicity</div>
<div><span class="" style="white-space:pre">        </span>session:hangup();</div><div>end</div><div><br></div><div>why the bridge.lua is not able to respond to ORININATOR_CANCEL after Alice hangs up?</div><div><br></div></div>