<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The dialplan exists to route calls, it is not a script processor. It is designed to handle common use cases. FreeSWITCH apps that play media to the caller are typically blocking, so they wait for the audio file to play before proceeding and sometimes wait for a response from the caller.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>What you want to do falls outside the design of the XML dialplan, so a script would likely be the best approach since this gives you much more control. Stanislav’s suggestion of a script that commands FS via ESL sounds like a good approach to me since you are free to write in the language of your choice.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Your design sounds familiar so it might be worth searching these mailing list archives for a similar solution.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Also, there might be some wisdom captured on this Confluence page<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><a href="https://freeswitch.org/confluence/display/FREESWITCH/Holding+Bin#HoldingBin-AttendedTransfersandVoiceMail">https://freeswitch.org/confluence/display/FREESWITCH/Holding+Bin#HoldingBin-AttendedTransfersandVoiceMail</a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hope this helps.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>---<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Bote<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>FreeSWITCH Docs Janitor<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><a href="http://freeswitch.org/confluence"><span style='color:blue'>http://freeswitch.org/confluence</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Emrah<br><b>Sent:</b> Friday, 15 January, 2016 06:00<br><b>Subject:</b> Re: [Freeswitch-users] Ringback, MOH or file playback while executing dial plan instructions<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Just to have some ringback? Wow that sounds like it would be a little over the top. In that case I could just bridge one call onto another extension with the loopback channel. That would effectively play a ringback.<o:p></o:p></p><div><p class=MsoNormal>But this isn’t just a question of ringback.&nbsp;<o:p></o:p></p></div><div><p class=MsoNormal>the bottom line is that there is no application to play something while allowing dial plan processing and I find that to be a pity.<o:p></o:p></p></div><div><p class=MsoNormal>Not everything should resort in coding in external apps. And not something that is as trivial as this.<o:p></o:p></p></div><div><p class=MsoNormal>there are apps like “curl” or “httpapi” that can be executed from the dialplan and they exist for a reason. It would be nice to allow something to be played back while we carry on executing a few dial plan operations.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>E<o:p></o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Jan 15, 2016, at 9:11 AM, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>&gt; wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>I would suggest using two FreeSWITCH boxes:&nbsp; the SBC gets the call, bridges it to the core server, and plays its own ringback while the core server processes the call. You can also merge them together in one box, just by bridging to &quot;sofia/external/new_extension@SERVERIP:5080&quot;<br><br><br><br><o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>On Fri, Jan 15, 2016 at 8:10 AM, Emrah &lt;<a href="mailto:lists@kavun.ch" target="_blank">lists@kavun.ch</a>&gt; wrote:<o:p></o:p></p><div><p class=MsoNormal>Question:<o:p></o:p></p><div><p class=MsoNormal>It’s not very sexy, but how about parking the call?<o:p></o:p></p></div><div><p class=MsoNormal>I can play whatever I want while the call is parked and take my time in doing whatever I need to do. The question then becomes how to keep a trail of the UUID, transfer it to the right extension and retain codec configs as well as set variables?<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>What are your thoughts?<o:p></o:p></p><div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Jan 15, 2016, at 7:53 AM, Emrah &lt;<a href="mailto:lists@kavun.ch" target="_blank">lists@kavun.ch</a>&gt; wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><p class=MsoNormal>Thank you to all for your valuable inputs.<o:p></o:p></p><div><p class=MsoNormal>See? At first it looks super trivial! And I think it should be.&nbsp;<o:p></o:p></p></div><div><p class=MsoNormal>Begin troll mode<o:p></o:p></p></div><div><p class=MsoNormal>With Asterisk, using MusicOnHold or Ringing does exactly that.<o:p></o:p></p></div><div><p class=MsoNormal>End troll mode<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>I will not give up. I don’t want to result to external programming for something like this, although using a little lua script sounds appealing.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>If I get it working like I want I’ll post something here.<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal>Ciao!<o:p></o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On Jan 15, 2016, at 2:54 AM, Stanislav Sinyagin &lt;<a href="mailto:ssinyagin@gmail.com" target="_blank">ssinyagin@gmail.com</a>&gt; wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Ringback is played back only when FreeSWITCH starts an outbound channel - during the bridge command, for example. What Enrah wants, is to play the early media while the dialplan execution goes on, but before the call is bridged. <br><br>I tried the following sequence, but it didn't work either: the next command after sleep() was never executed, because the originator timed out after 20 seconds, and the audio file was played during these 20 seconds:<br><br><span style='font-family:"Courier New"'>&nbsp; &lt;extension name=&quot;test1&quot;&gt;<br>&nbsp; &nbsp; &lt;condition field=&quot;destination_number&quot; expression=&quot;^test1$&quot;&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;pre_answer&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;ring_ready&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;set&quot; data=&quot;api_result=${bgapi(uuid_broadcast ${uuid} /opt/sound/ITU-T_P_50_BRITISH_ENGLISH.wav)}&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;sleep&quot; data=&quot;10000&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;set&quot; data=&quot;api_result=${uuid_break(${uuid} all)}&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;answer&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;playback&quot; data=&quot;ivr/ivr-welcome.wav&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;sleep&quot; data=&quot;1000&quot;/&gt;<br>&nbsp; &nbsp; &nbsp; &lt;action application=&quot;hangup&quot;/&gt;<br>&nbsp; &nbsp; &lt;/condition&gt;<br>&nbsp; &lt;/extension&gt;<br><br></span><o:p></o:p></p></div><p class=MsoNormal>so, it looks like it needs an external application talking over ESL. <o:p></o:p></p><div><p class=MsoNormal style='margin-bottom:12.0pt'><br><br><br><br><br><br><o:p></o:p></p></div></div><div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>On Thu, Jan 14, 2016 at 4:26 PM, Michael Jerris &lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt; wrote:<o:p></o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'>use whatever sound file you want as your ringback?<br><br>&gt; On Jan 14, 2016, at 6:42 AM, Emrah &lt;<a href="mailto:lists@kavun.ch" target="_blank">lists@kavun.ch</a>&gt; wrote:<br>&gt;<br>&gt; Hi all,<br>&gt; Is there no way to force a 183 in a session and play a ringback or MOH while executing other dial plan instructions?<br>&gt; Basically, I’ve gone around trying instant_rinback=true, ring_ready, gentones, etc… No luck.<br>&gt; If I bridge my channel to&nbsp; loopback/wait, sure enough it works.<br>&gt; What I need to do is play a ringback or some MOH while I carry on executing my dial plan instructions. The 183 is a nice to have but I don’t mind if the channel is answered.<br><br><o:p></o:p></p></div></div></div></blockquote></div></div></div></div></blockquote></div></div></div></div></div></div></div></div></blockquote></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>