<br><br><div class="gmail_quote">On Thu, Apr 10, 2008 at 6:58 AM, Mikael A. Bjerkeland <<a href="mailto:mikael@bjerkeland.com">mikael@bjerkeland.com</a>> 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">> Hi all,<br>
><br>
> I try to implement "continue on fail" with different actions (Forward,<br>
> Voicemail, InbandInfo...) based on failure type (No Answer, Busy...)and<br>
> come into troubles how to do :-)<br>
><br>
> From what I know about FreeSWITCH (very few :-) I see three solutions,<br>
> but I do not like any of them :-)<br>
><br>
> Pre: My dialplan si served by http server through mod_xml_curl.<br>
><br>
> 1. After the failure use something "Asterisk like"<br>
> <action application="transfer" data="${originate_disposition}"/><br>
> But why should I invoke transfer (new dialplan parsing, garbage in CDR)<br>
> for such a simple thing?<br>
</div>An idea:<br>
You can use execute_extension which behaves similar to Asterisk'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><action application="set" data="hangup_after_bridge=true"/><br>
<action application="bridge" data="sofia/foo/<a href="mailto:a@z.com">a@z.com</a>"/><br><action application="bridge" data="sofia/foo/<a href="mailto:a@z.com">a@z.com</a>"/><br>
<action application="bridge" data="sofia/foo/<a href="mailto:a@z.com">a@z.com</a>"/><br>
<br>or you can split all the routes with a | and let originate deal with it <br><action application="bridge" data="sofia/foo/a@z.com|sofia/foo/b@z.com|sofia/foo/<a href="mailto:c@z.com">c@z.com</a>"/><br>
<br><br> </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>
><br>
> 2. Use ...break="never"... and serve next extension through<br>
> mod_xml_curl. Bur it invokes unnecessary http request and even I ask,<br>
> why should I send it in parts if I know all I need at the beginning of<br>
> the call?<br>
><br>
> 3. Use custom app to handle processing of failed bridge.<br>
> <action application="bridge" data="sofia/xxx/yyy%zzz"/><br>
> <action application="whatever_lang" data="whatever_name<br>
> ${originate_disposition}"/><br>
> But I dislike to start new process/thread (performance) and, like in<br>
> previous cases, why to do it i parts, if have all info at the beginnig?<br>
></div></blockquote><div><br>FreeSWITCH does not parse the dialplan as it'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. This function has 1 chance to look at the call data and install a set of instructions. 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. 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's the end of the XML. so the break=never thing is irrelevant.<br>
<br>In fact the way FS works, it'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> </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>
><br>
> If I look to my ideas, I'm sure I miss something important :-)<br>
> Could you, please, point me to right way? Or just tell me your "rating"<br>
> of cases above :-)<br>
><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>
> Thank you very much!<br>
><br>
> Best regards,<br>
><br>
> kokoska.rokoska<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>
<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