Hi this is a little example from my perl code that do that:<br><br>array random_be contains randomized IP addresses of next hops.<br>there also hash:<br>my %hunt_error=(<br>        NO_USER_RESPONSE =&gt; 1,<br>        NETWORK_OUT_OF_ORDER =&gt; 1,<br>
        DESTINATION_OUT_OF_ORDER =&gt; 1,<br>        SYSTEM_SHUTDOWN =&gt; 1,<br>);<br><br>If error is defined in this array we hunt else drop call. I assume that these errors are internally generated from this FS instance or comes first remote hop. So I need to hunt over next hop. But if error comes from last server I drop call and do not hunt over rest of my SIP servers.<br>
<br>for (my $i=0;$i &lt;= scalar(@random_be) ; $i++) {<br>        my $dst_gw = shift(@random_be);<br>        print &quot;GW:[$dst_gw]\n&quot;;<br>        $bridge = &quot;sofia/internal_out/$called\@$dst_gw&quot;;<br>        $session-&gt;execute(&#39;bridge&#39;,&quot;$bridge&quot;);<br>
        $berror = $session-&gt;getVariable(&quot;originate_disposition&quot;);<br>        if (defined($berror)){<br>                fprint(&quot;\tBridge Error - Check continue or not\n&quot;);<br>                if (!defined($hunt_error{$berror})){<br>
                        fprint(&quot;\t HANGUP - ERROR NOT DEFINED&quot;);<br>                        $session-&gt;execute(&#39;export&#39;,&#39;continue_on_fail=false&#39;);<br>                        $session-&gt;hangup();<br>
                        return (1);<br>                }<br>        } else { last; } ;  ### NO originate_disposition so successful bridge <br>}<br><br>Suppose this will help. Not in Lua but idea is the same.<br><br>Cheers<br>
<br><br><div class="gmail_quote">2010/3/14 rentmycoder rentmycoder <span dir="ltr">&lt;<a href="mailto:rentmycoder@gmail.com">rentmycoder@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">&gt; Pass them as arguments to your luarun hangup hook.<br>
</div>And what about variables are not available before the call setup (like<br>
uuid), only during the call progress or after the hangup???<br>
I would need to access the originate_disposition variable...<br>
<br>
&gt;&gt; &#39;luarun hangup.lua ${originate_disposition}&#39;<br>
<div class="im">&gt;&gt; 2010-03-14 18:25:08.122511 [CRIT] switch_channel.c:759 Invalid data (${api_hangup_hook} contains a variable)<br>
</div>any other hint???<br>
<div><div></div><div class="h5"><br>
<br>
&gt; ---------- Forwarded message ----------<br>
&gt; From: Brian West &lt;<a href="mailto:brian@freeswitch.org">brian@freeswitch.org</a>&gt;<br>
&gt; To: <a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a><br>
&gt; Date: Sun, 14 Mar 2010 13:00:10 -0500<br>
&gt; Subject: Re: [Freeswitch-users] how to access session variables after hangup???<br>
&gt; Pass them as arguments to your luarun hangup hook.<br>
&gt;<br>
&gt; /b<br>
&gt;<br>
&gt; On Mar 14, 2010, at 12:40 PM, rentmycoder rentmycoder wrote:<br>
&gt;<br>
&gt;&gt; Hi guys,<br>
&gt;&gt; Freeswitch rocks!<br>
&gt;&gt; except the documentation:(<br>
&gt;&gt; I&#39;m not able to figure out how to access session variables after hangup...<br>
&gt;&gt; I try to dial out on a gateway and detect it the called party hangs up<br>
&gt;&gt; before bridge...<br>
&gt;&gt;<br>
&gt;&gt; bgapi originate<br>
&gt;&gt; {ignore_early_media=true,continue_on_fail=true,bypass_media=false,hangup_after_bridge=true,originate_timeout=10,api_hangup_hook=&#39;luarun<br>
&gt;&gt; hangup.lua ${uuid}&#39;}sofia/gateway/phoneno &amp;park()<br>
&gt;&gt;<br>
&gt;&gt; I cannot access the variables using:<br>
&gt;&gt; 1. script arguments:<br>
&gt;&gt; &#39;luarun hangup.lua ${uuid}&#39;}<br>
&gt;&gt; 2010-03-14 18:25:08.122511 [CRIT] switch_channel.c:759 Invalid data<br>
&gt;&gt; (${api_hangup_hook} contains a variable)<br>
&gt;&gt;<br>
&gt;&gt; 2. session:getVariable(&quot;originate_disposition&quot;)<br>
&gt;&gt; 2010-03-14 18:31:37.042756 [ERR] mod_lua.cpp:182 hangup.lua:2: attempt<br>
&gt;&gt; to call global &#39;getVar&#39; (a nil value)<br>
&gt;&gt;<br>
&gt;&gt; 3. params:getHeader(&quot;variable_sip_req_uri&quot;)<br>
&gt;&gt; 2010-03-14 18:36:19.973939 [ERR] mod_lua.cpp:182 hangup.lua:3: attempt<br>
&gt;&gt; to index global &#39;params&#39; (a nil value)<br>
&gt;&gt;<br>
&gt;&gt; I have asked this before on the dev list too, but Anthony didn&#39;t gave<br>
&gt;&gt; me a clean answer here:<br>
&gt;&gt; <a href="http://lists.freeswitch.org/pipermail/freeswitch-dev/2009-July/002491.html" target="_blank">http://lists.freeswitch.org/pipermail/freeswitch-dev/2009-July/002491.html</a><br>
&gt;&gt;<br>
&gt;&gt; &quot;In the script you can access the data from the env event which is<br>
&gt;&gt; automatically created for you and it<br>
&gt;&gt; contains all the channel variables from that departed channel.&quot;<br>
&gt;&gt;<br>
&gt;&gt; Ok, but how?????<br>
&gt;&gt;<br>
&gt;&gt; Please help...<br>
&gt;&gt;<br>
<br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">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>
</div></div></blockquote></div><br>