<div dir="ltr">the sched_broadcast with the hangup parameter should work fine, I use it in a few js projects :)<div><br></div><div>The function is replaced by the sched_broadcast, so going by your example you would have:</div><div><br></div><div>//set up the play file and hangup</div><div><i style="font-size:12.8px">session.execute(&quot;sched_broadcast&quot;, &quot;+120 playback!normal_clearing::&quot; + </i><span style="font-size:12.8px">sonidos + &quot;/&quot; + despedida + &quot;.wav</span><i style="font-size:12.8px"> both&quot;)</i><span style="font-size:12.8px">;</span><br></div><div><br></div><div>...</div><div>...</div><div>...</div><div><i>script continues</i></div><div><br></div><div><br></div><div>After <span style="font-size:12.8px">120 seconds, the </span><span style="font-size:12.8px">sonidos/despedida.wav file will be played and then the call will end with the  &quot;normal_clearing&quot; (16) cause code.</span></div><div>During the 120 seconds, you can run any other code you need.  If the call ends before the 120 seconds, the broadcast is automatically disposed of.</div><div><br></div><div>thanks</div><div>Matt </div></div><div class="gmail_extra"><br><div class="gmail_quote">On 25 January 2016 at 20:20, Michael Jerris <span dir="ltr">&lt;<a href="mailto:mike@jerris.com" target="_blank">mike@jerris.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What exactly is the javascript doing when you want to call that callback?  this is probably not possible due to how the JavaScript is blocked by native functions when doing actions such as handling audio due to the threading model of the embedded languages.  They run in the session thread so they are not as async as people tend to be used to with js.   This sort of approach might be more appropriate when using js in a remote control type structure such as when controlling a session over esl, but not in the embedded mod_v8.  we have discussed doing a truly async type control for embedded languages but have never implemented it.<div class="HOEnZb"><div class="h5"><span></span><div><br>On Monday, January 25, 2016, Normando Hall &lt;<a href="mailto:nhall@unixlan.com.ar" target="_blank">nhall@unixlan.com.ar</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Thanks Matt, I can play a file, but still can&#39;t run the function.
    Are there any application can run a function instead a file?<br>
    <br>
    Thanks!<br>
    Normando<br>
    <br>
    <br>
    <div>El 25/01/2016 a las 05:59 a.m., Matt
      Broad escribió:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">try using the 1 liner sched_broadcast <a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+sched+broadcast" target="_blank"></a><a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+sched+broadcast" target="_blank">https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+sched+broadcast</a>
        <div><br>
        </div>
        <div>The below will schedule a broadcast to play
          /tmp/hangupfile.mp3 to both legs after 60 seconds. </div>
        <div><br>
        </div>
        <div><i>maxTimeTaskID = </i><i>session.execute(&quot;sched_broadcast&quot;,
            &quot;+60 playback!normal_clearing::/tmp/hangupfile.mp3 both&quot;)</i>;<br>
        </div>
        <div><br>
        </div>
        <div>If you find you need to cancel the broadcast use:</div>
        <div><br>
        </div>
        <div><i>session.execute(&quot;sched_cancel&quot;,maxTimeTaskID);</i><br>
        </div>
        <div><br>
        </div>
        <div>hope this helps.</div>
        <div><br>
        </div>
        <div>thanks</div>
        <div>Matt</div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On 25 January 2016 at 06:58, <span dir="ltr">&lt;<a>royj@yandex.ru</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">have no
            relationship to the resource, but first link to request
            &#39;asynchronous code javascript&#39;<br>
            <br>
            <a href="http://www.hiddenwebgenius.com/blog/guides/understanding-javascripts-asynchronous-code/" rel="noreferrer" target="_blank">http://www.hiddenwebgenius.com/blog/guides/understanding-javascripts-asynchronous-code/</a><br>
            <br>
            25.01.2016, 09:16, &quot;Normando Hall&quot; &lt;<a></a><a>nhall@unixlan.com.ar</a>&gt;:<br>
            <div>
              <div>&gt; Sorry, I missed to say it is
                Freeswitch 1.4<br>
                &gt;<br>
                &gt; El 25/01/2016 a las 02:53 a.m., Normando Hall
                escribió:<br>
                &gt;&gt;  Hello everybody.<br>
                &gt;&gt;<br>
                &gt;&gt;  I am coding a js script to do somethings, and
                I want to add a global<br>
                &gt;&gt;  timeout, to call a function to play a file and
                hangup. But the function<br>
                &gt;&gt;  called inmediatelly.<br>
                &gt;&gt;  Also tested with setInterval, the same
                behaviour.<br>
                &gt;&gt;<br>
                &gt;&gt;  function playTimeout(despedida){<br>
                &gt;&gt;      if (session.ready()) {<br>
                &gt;&gt;          logger(&quot;TIMEOUT&quot;);<br>
                &gt;&gt;          session.execute(&quot;playback&quot;, sonidos +
                &quot;/TIMEOUT.wav&quot;);<br>
                &gt;&gt;          session.execute(&quot;sleep&quot;,&quot;500&quot;);<br>
                &gt;&gt;          logger(despedida);<br>
                &gt;&gt;          session.execute(&quot;playback&quot;, sonidos +
                &quot;/&quot; + despedida + &quot;.wav&quot;);<br>
                &gt;&gt;          session.hangup();<br>
                &gt;&gt;      }<br>
                &gt;&gt;      exit(&quot;TIMEOUT&quot;);<br>
                &gt;&gt;  }<br>
                &gt;&gt;<br>
                &gt;&gt;  setTimeout(playTimeout(despedida),120000);<br>
                &gt;&gt;  .<br>
                &gt;&gt;  .<br>
                &gt;&gt;  .<br>
                &gt;&gt;  my script continue<br>
                &gt;&gt;<br>
                &gt;&gt;  Any help is welcome!<br>
                &gt;&gt;<br>
                &gt;&gt;  Thank you<br>
                &gt;&gt;  Normando<br>
                &gt;&gt;<br>
                &gt;&gt;
 _________________________________________________________________________<br>
                &gt;&gt;  Professional FreeSWITCH Consulting Services:<br>
                &gt;&gt;  <a>consulting@freeswitch.org</a><br>
                &gt;&gt;  <a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
                &gt;&gt;<br>
                &gt;&gt;  Official FreeSWITCH Sites<br>
                &gt;&gt;  <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
                &gt;&gt;  <a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
                &gt;&gt;  <a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
                &gt;&gt;<br>
                &gt;&gt;  FreeSWITCH-users mailing list<br>
                &gt;&gt;  <a>FreeSWITCH-users@lists.freeswitch.org</a><br>
                &gt;&gt;  <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" 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" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
                &gt;&gt;  <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
                &gt;<br>
                &gt;
_________________________________________________________________________<br>
                &gt; Professional FreeSWITCH Consulting Services:<br>
                &gt; <a>consulting@freeswitch.org</a><br>
                &gt; <a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
                &gt;<br>
                &gt; Official FreeSWITCH Sites<br>
                &gt; <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
                &gt; <a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
                &gt; <a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
                &gt;<br>
                &gt; FreeSWITCH-users mailing list<br>
                &gt; <a>FreeSWITCH-users@lists.freeswitch.org</a><br>
                &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
                &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
                &gt; <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
                <br>
_________________________________________________________________________<br>
                Professional FreeSWITCH Consulting Services:<br>
                <a>consulting@freeswitch.org</a><br>
                <a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
                <br>
                Official FreeSWITCH Sites<br>
                <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
                <a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
                <a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
                <br>
                FreeSWITCH-users mailing list<br>
                <a>FreeSWITCH-users@lists.freeswitch.org</a><br>
                <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
                UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
                <a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a></div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_________________________________________________________________________
Professional FreeSWITCH Consulting Services: 
<a>consulting@freeswitch.org</a>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a>

Official FreeSWITCH Sites
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a>

FreeSWITCH-users mailing list
<a>FreeSWITCH-users@lists.freeswitch.org</a>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a></pre>
    </blockquote>
    <br>
  </div>

</blockquote></div>
</div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><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" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br></div>