Thank you so much for your explanations! I will try this.<br clear="all"><br>--<br>Nikolay<br>
<br><br><div class="gmail_quote">On Wed, May 2, 2012 at 5:26 PM, Michael Collins <span dir="ltr"><<a href="mailto:msc@freeswitch.org" target="_blank">msc@freeswitch.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The best way to handle this would be to use the bridge application outside of the Lua script. Go ahead and do the Lua script stuff w/ your database and then construct your dialstring. Set that to a channel variable, like "my_dialstring":<br>
<br><span style="font-family:courier new,monospace">session:setVariable('my_dialstring',session_call)</span><br style="font-family:courier new,monospace"><br>And then let the Lua script exit. Then just add a bridge to your dialplan:<br>
<br><span style="font-family:courier new,monospace"><action application="bridge" data="${my_dialstring}"/></span><br style="font-family:courier new,monospace"><br>As a rule of thumb: if you *can* do it in the dialplan then you probably *should* do it in the dialplan. Use the scripting language for what it's good at and use the dialplan for what it's good at. Lua is good for logic, db lookups, and more complicated processing. The dialplan is awesome at connecting call legs. The bridge app will do all the work for you so you can focus on more important pursuits. <br>
<br>-MC<br><br><div class="gmail_quote"><div><div>On Tue, May 1, 2012 at 8:17 PM, Nikolay Rogoshchenkov <span dir="ltr"><<a href="mailto:nickolayr@gmail.com" target="_blank">nickolayr@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
<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><extension name="ext_call"></div><div> <action application="set" data="hangup_after_bridge=true"/></div>
<div> <action application="set" data="ignore_early_media=false"/></div><div> <condition field="destination_number" expression="\d{7,}"/>.</div><div> <condition field="${sip_from_host}" expression="^(10\.9\.0\.25)$">.</div>
<div> <action application ="lua" data="answer.lua"/>.</div><div> </condition></div><div></extension></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("[leg_timeout=30,ignore_early_media=true,hangup_after_bridge=true,origination_caller_id_number=".. cid .."]sofia/gateway/%s/%s",gwlist[index],dn);</div>
<div> legB = freeswitch.Session(session_call);</div></div>until ((hcause == 'USER_BUSY') or (hcause == 'SUCCESS') or (hcause == 'NO_ANSWER') 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>
<br></div></div>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>