Precisely my line of thought Steve. I&#39;m almost done with a LUA to do the call setup/tare-down and manipulate hangup causes as needed.<br><br>While I&#39;m at it, I think I may as well handle codec prefs ...etc. within the same script.<br>
<br>Will let you and the others how things progress.<br><br>BR,<br><br>Ahmed.<br><br><div class="gmail_quote">2010/1/13 Steven Ayre <span dir="ltr">&lt;<a href="mailto:steveayre@gmail.com">steveayre@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">&quot;I wonder if it&#39;s possible to rewrite causes from such bridges by<br>

executing a JS or similar app attached to the bridge. I&#39;ll report on<br>
this as and when.&quot;<br>
<br>
</div>If you run a LUA (or JS, etc) script where the hangup app currently<br>
is, then you&#39;ll be able to check the current hangup cause at that<br>
point within the script and conditionally run the hangup app from your<br>
script with the cause you want to rewrite to.<br>
<br>
-Steve<br>
<br>
2010/1/13 Ahmed Naji &lt;<a href="mailto:a.alalousi@gmail.com">a.alalousi@gmail.com</a>&gt;:<br>
<div><div></div><div class="h5">&gt; Steve/All,<br>
&gt;<br>
&gt; Thanks for all your feedback, this thread can be closed.<br>
&gt;<br>
&gt; Here is some feedback:<br>
&gt;<br>
&gt; Re: Steve&#39;s queries:<br>
&gt;<br>
&gt; - &quot;pproxy&quot; was a typo on my part, but it should not affect anything. I set<br>
&gt; them both to false in vars.xml, and don&#39;t over-ride them anywhere.<br>
&gt; - true re: default values for proxy_media &amp; bypass_media being false. I am<br>
&gt; explicitly setting them here out of 1) paranoia and 2) I like to make sure I<br>
&gt; know my variable values and not leave them to defaults - relics of being a<br>
&gt; developer<br>
&gt; - I was disabling the q850 code as part of my attempts to crack this nut.<br>
&gt;<br>
&gt; Re: the solution, I&#39;ve managed to rewrite some of the codes with a call to<br>
&gt; the hangup app, which is what Steve is also using, and his findings re:<br>
&gt; bridges getting 183 and 180 before 4xx.<br>
&gt;<br>
&gt; I wonder if it&#39;s possible to rewrite causes from such bridges by executing a<br>
&gt; JS or similar app attached to the bridge. I&#39;ll report on this as and when.<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Ahmed.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2010/1/12 Steven Ayre &lt;<a href="mailto:steveayre@gmail.com">steveayre@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; - prpoxy_media should be proxy_media<br>
&gt;&gt; - bypass_media and proxy_media shouldn&#39;t need setting to false -<br>
&gt;&gt; that&#39;s their default (unless you&#39;re set one of them to true on the sip<br>
&gt;&gt; profile?)<br>
&gt;&gt; - why do you need to disable q850 reason?<br>
&gt;&gt;<br>
&gt;&gt; I do something very similar - try this...<br>
&gt;&gt;<br>
&gt;&gt; &lt;condition field=&quot;destination_number&quot; expression=&quot;^(?:5824)(44(1|2)\d+)$&quot;&gt;<br>
&gt;&gt;  &lt;action application=&quot;set&quot; data=&quot;continue_on_fail=true&quot;/&gt;<br>
&gt;&gt;  &lt;action application=&quot;set&quot; data=&quot;hangup_after_bridge=true&quot;/&gt;<br>
&gt;&gt;  &lt;action application=&quot;set&quot; data=&quot;sip_ignore_remote_cause=true&quot;/&gt;<br>
&gt;&gt;  &lt;action application=&quot;bridge&quot; data=&quot;sofia/gateway/<a href="http://sip.xx.xx.com/$1" target="_blank">sip.xx.xx.com/$1</a>&quot;/&gt;<br>
&gt;&gt;  &lt;action application=&quot;hangup&quot; data=&quot;NORMAL_CIRCUIT_CONGESTION&quot;/&gt;<br>
&gt;&gt; &lt;/condition&gt;<br>
&gt;&gt;<br>
&gt;&gt; By the way, you&#39;ll be unable to rewrite the hangup cause for a bridge<br>
&gt;&gt; that gets a 180 or 183 packet from the gateway before getting a 4xx,<br>
&gt;&gt; 5xx or 6xx packet (because those bridges don&#39;t &#39;fail&#39;) - I&#39;ve seen<br>
&gt;&gt; this on a SIP provider before who gives 183 Session Progress before a<br>
&gt;&gt; 404 Not Found if the PSTN number dialled doesn&#39;t exist.<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt; -Steve<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2010/1/12 Ahmed Naji &lt;<a href="mailto:a.alalousi@gmail.com">a.alalousi@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; Here you go:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; &lt;condition field=&quot;destination_number&quot;<br>
&gt;&gt; &gt; expression=&quot;^(?:5824)(44(1|2)\d+)$&quot;<br>
&gt;&gt; &gt; break=&quot;on-true&quot;&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;bypass_media=false&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot; data=&quot;prpoxy_media=false&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot;<br>
&gt;&gt; &gt; data=&quot;disable_q850_reason=true&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot;<br>
&gt;&gt; &gt; data=&quot;hangup_after_bridge=false&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot;<br>
&gt;&gt; &gt; data=&quot;sip_ignore_remote_cause=true&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action application=&quot;bridge&quot; data=&quot;sofia/gateway/<a href="http://sip.xx.xx.com/$1" target="_blank">sip.xx.xx.com/$1</a>&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot;<br>
&gt;&gt; &gt; data=&quot;bridge_hangup_cause=NORMAL_CIRCUIT_CONGESTION&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action inline=&quot;true&quot; application=&quot;set&quot;<br>
&gt;&gt; &gt; data=&quot;hangup_cause=NORMAL_CIRCUIT_CONGESTION&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action application=&quot;bridge&quot; data=&quot;error/normal_circuit_congestion&quot;/&gt;<br>
&gt;&gt; &gt;   &lt;action application=&quot;hangup&quot; data=&quot;NORMAL_CIRCUIT_CONGESTION&quot;/&gt;<br>
&gt;&gt; &gt; &lt;/condition&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; As you can see, I am trying to rewrite the hangup codes in a multitude<br>
&gt;&gt; &gt; of<br>
&gt;&gt; &gt; ways and places, but still exhibit the same behaviour.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Any help appreciated.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Ahmed.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 2010/1/12 Steven Ayre &lt;<a href="mailto:steveayre@gmail.com">steveayre@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Can you show us the dialplan extension you&#39;re trying?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Thanks,<br>
&gt;&gt; &gt;&gt; -Steve<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; 2010/1/12 Ahmed Naji &lt;<a href="mailto:a.alalousi@gmail.com">a.alalousi@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;&gt; &gt; Hi Michael,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; This is exactly what I&#39;m doing, but it&#39;s just not happening.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Thanks,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Ahmed.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; 2010/1/12 Michael Collins &lt;<a href="mailto:msc@freeswitch.org">msc@freeswitch.org</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; On Mon, Jan 11, 2010 at 4:18 AM, Ahmed Naji &lt;<a href="mailto:a.alalousi@gmail.com">a.alalousi@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Dear All,<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I posted a thread re the subject but didn&#39;t get any joy, so perhaps<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; second time lucky.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I need to rewrite a couple of hangup causes to mean<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; NORMAL_CONGESTION<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; and<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; no matter which variables I set, this isn&#39;t happening. The idea is<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; to<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; control what codes are returned to an end point after a successful<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; bridge,<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; as well as deal with what codes are returned if the bridge is<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; unsuccessful<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; (e.g. user_busy, originator_cancel ...etc).<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I&#39;ve had limited success by setting hangup_after_bridge=false then<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; bridging to error/&lt;required_code&gt;. This, however only works when<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; the<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; B-leg<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; terminates the call after a successful answer. Any other codes are<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; not<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; rewritten.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I&#39;ve also tried playing with the bridge_hangup_code and hangup_code<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; variables prior and after bridging, still no joy. I have also set<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; sip_ignore_remote_cause=true prior to entering the bridge, as well<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; explicitly in vars.xml.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; By the way, I&#39;m running in proxy-media mode, but I did try it with<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; bypass-media as well. Same symptoms, same behaviour.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Any help with this would be highly appreciated.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Well, I do know that when you do a hangup in the dialplan you can<br>
&gt;&gt; &gt;&gt; &gt;&gt; pass<br>
&gt;&gt; &gt;&gt; &gt;&gt; an<br>
&gt;&gt; &gt;&gt; &gt;&gt; optional cause as well:<br>
&gt;&gt; &gt;&gt; &gt;&gt; &lt;action application=&quot;hangup&quot; data=&quot;USER_BUSY&quot;/&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; If you are doing the hanging up then you have a fair amount of<br>
&gt;&gt; &gt;&gt; &gt;&gt; control...<br>
&gt;&gt; &gt;&gt; &gt;&gt; -MC<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; --<br>
&gt;&gt; &gt;&gt; &gt; Ahmed Naji<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt;&gt; &gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; &gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Ahmed Naji<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Ahmed Naji<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&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><br clear="all"><br>-- <br>Ahmed Naji<br>