<br><br><div class="gmail_quote">On Thu, Apr 10, 2008 at 6:58 AM, Mikael A. Bjerkeland &lt;<a href="mailto:mikael@bjerkeland.com">mikael@bjerkeland.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
tor, 10.04.2008 kl. 13.44 +0200, skrev kokoska rokoska:<br>
<div class="Ih2E3d">&gt; Hi all,<br>
&gt;<br>
&gt; I try to implement &quot;continue on fail&quot; with different actions (Forward,<br>
&gt; Voicemail, InbandInfo...) based on failure type (No Answer, Busy...)and<br>
&gt; come into troubles how to do :-)<br>
&gt;<br>
&gt; &nbsp;From what I know about FreeSWITCH (very few :-) I see three solutions,<br>
&gt; but I do not like any of them :-)<br>
&gt;<br>
&gt; Pre: My dialplan si served by http server through mod_xml_curl.<br>
&gt;<br>
&gt; 1. After the failure use something &quot;Asterisk like&quot;<br>
&gt; &lt;action application=&quot;transfer&quot; data=&quot;${originate_disposition}&quot;/&gt;<br>
&gt; But why should I invoke transfer (new dialplan parsing, garbage in CDR)<br>
&gt; for such a simple thing?<br>
</div>An idea:<br>
You can use execute_extension which behaves similar to Asterisk&#39;s Macro.<br>
Transfer has a closer resemblance to Goto.<br>
<div class="Ih2E3d"></div></blockquote><div><br>or you can just set hangup_after_bridge=true and put a list of bridge lines in a row<br>&lt;action application=&quot;set&quot; data=&quot;hangup_after_bridge=true&quot;/&gt;<br>
&lt;action application=&quot;bridge&quot; data=&quot;sofia/foo/<a href="mailto:a@z.com">a@z.com</a>&quot;/&gt;<br>&lt;action application=&quot;bridge&quot; data=&quot;sofia/foo/<a href="mailto:a@z.com">a@z.com</a>&quot;/&gt;<br>

&lt;action application=&quot;bridge&quot; data=&quot;sofia/foo/<a href="mailto:a@z.com">a@z.com</a>&quot;/&gt;<br>
<br>or you can split all the routes with a | and let originate deal with it <br>&lt;action application=&quot;bridge&quot; data=&quot;sofia/foo/a@z.com|sofia/foo/b@z.com|sofia/foo/<a href="mailto:c@z.com">c@z.com</a>&quot;/&gt;<br>
<br><br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
&gt;<br>
&gt; 2. Use ...break=&quot;never&quot;... and serve next extension through<br>
&gt; mod_xml_curl. Bur it invokes unnecessary http request and even I ask,<br>
&gt; why should I send it in parts if I know all I need at the beginning of<br>
&gt; the call?<br>
&gt;<br>
&gt; 3. Use custom app to handle processing of failed bridge.<br>
&gt; &lt;action application=&quot;bridge&quot; data=&quot;sofia/xxx/yyy%zzz&quot;/&gt;<br>
&gt; &lt;action application=&quot;whatever_lang&quot; data=&quot;whatever_name<br>
&gt; ${originate_disposition}&quot;/&gt;<br>
&gt; But I dislike to start new process/thread (performance) and, like in<br>
&gt; previous cases, why to do it i parts, if have all info at the beginnig?<br>
&gt;</div></blockquote><div><br>FreeSWITCH does not parse the dialplan as it&#39;s executing it parses it once when the call is in the RING state much like a dns lookup.<br><br>When a new call comes into FS it goes to RING which looks up the desired dialplan by name and routes the session to that dialplans hunt function.&nbsp; This function has 1 chance to look at the call data and install a set of instructions.&nbsp; If it does this the core will take the resulting extension and change the session state to EXECUTE where it will execute the instructions.<br>
<br>The XML dialplan uses the XML to perform this task and is actually nothing more than an example of how FS can be used.&nbsp; When it parses the XML it runs through the whole thing matching conditions etc and the resulting actions are installed into the session and that&#39;s the end of the XML. so the break=never thing is irrelevant.<br>
<br>In fact the way FS works, it&#39;s actuall the transfer option you described that would result in a new curl request because transfer sends the call back to ring state where it repeats the dialplan lookup process with a new destination_number.<br>
<br><br><br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
&gt;<br>
&gt; If I look to my ideas, I&#39;m sure I miss something important :-)<br>
&gt; Could you, please, point me to right way? Or just tell me your &quot;rating&quot;<br>
&gt; of cases above :-)<br>
&gt;<br>
<br>
</div>Please tell me how it goes and post some examples of your configs if you<br>
get it to work.<br>
<div><div></div><div class="Wj3C7c"><br>
&gt; Thank you very much!<br>
&gt;<br>
&gt; Best regards,<br>
&gt;<br>
&gt; kokoska.rokoska<br>
&gt;<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>
<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>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
<br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400