Anthony:<div><br></div><div>You are da man. Thank you. It&#39;s very kind of you to release me from endless trial :P<br><br><div class="gmail_quote">On Sat, Oct 24, 2009 at 1:47 AM, Chris Burns <span dir="ltr">&lt;<a href="mailto:chris@cloudtel.com">chris@cloudtel.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">poor bbhenry :)<br>
<br>
Added in r15207 please test and update docu if necessary:<br>
<a href="http://wiki.freeswitch.org/wiki/Variable_api_on_answer" target="_blank">http://wiki.freeswitch.org/wiki/Variable_api_on_answer</a><br>
<div><div></div><div class="h5"><br>
On October 23, 2009 11:02:07 am Anthony Minessale wrote:<br>
&gt; it&#39;s probably related to escaping the data.<br>
&gt; I was sick of watching you suffer so i added api_on_answer variable to<br>
&gt; trunk.<br>
&gt;<br>
&gt; On Fri, Oct 23, 2009 at 3:54 AM, Henry Huang<br>
&lt;<a href="mailto:red.rain.seven@gmail.com">red.rain.seven@gmail.com</a>&gt;wrote:<br>
&gt; &gt; Thanks to c6burns on IRC channel for the tip to use execute_on_answer in<br>
&gt; &gt; combination with eval, and of course everyone here that pointing me to<br>
&gt; &gt; the right direction.<br>
&gt; &gt; I was able to execute sched_api with eval, but not with the combination<br>
&gt; &gt; of execute_on_answer. The argument just don&#39;t get parsed as the eval<br>
&gt; &gt; argument. Here is the code:<br>
&gt; &gt;<br>
&gt; &gt; setVariable(&quot;execute_on_answer&quot;, &quot;eval sched_api(+%ld none uuid_displace<br>
&gt; &gt; &lt;some uuid&gt; start<br>
&gt; &gt; /usr/local/freeswitch/sounds/en/us/callie/misc/8000/final.wav 20 mux)&quot;);<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Here is the log:<br>
&gt; &gt; 2009-10-23 16:17:53.633189 [DEBUG] switch_scheduler.c:214 Added task 2<br>
&gt; &gt; sched_api_function (none) to run at 1256285888<br>
&gt; &gt; EXECUTE sofia/internal/<a href="mailto:1688004@192.168.1.66">1688004@192.168.1.66</a> *eval(+OK *Added: 2<br>
&gt; &gt; )<br>
&gt; &gt;<br>
&gt; &gt; 2009-10-23 16:18:04.52701 [DEBUG] switch_channel.c:1927 sofia/internal/<br>
&gt; &gt; <a href="mailto:1688004@192.168.1.66">1688004@192.168.1.66</a> *execute on answer: eval(sched_api(+37 none<br>
&gt; &gt; uuid_displace 84d74f41-8668-4138-943f-f076e94046ad start<br>
&gt; &gt; /usr/local/freeswitch/sounds/en/us/callie/misc/8000/final.wav 20 mux))*<br>
&gt; &gt; EXECUTE sofia/internal/<a href="mailto:1688004@192.168.1.66">1688004@192.168.1.66</a> eval(sched_api(+37 none<br>
&gt; &gt; uuid_displace 84d74f41-8668-4138-943f-f076e94046ad start<br>
&gt; &gt; /usr/local/freeswitch/sounds/en/us/callie/misc/8000/final.wav 20 mux))<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; The first part of the log is when I just do execute(&quot;eval&quot;,<br>
&gt; &gt; &quot;${sched_api(+%ld none uuid_displace &lt;some uuid&gt; start<br>
&gt; &gt; /usr/local/freeswitch/sounds/en/us/callie/misc/8000/final.wav 20 mux)}&quot;);<br>
&gt; &gt; And I simple get a OK, and then later on the sched_api gets executed.<br>
&gt; &gt;<br>
&gt; &gt; However, on the excerpt of the second log. which I use the combination<br>
&gt; &gt; with execute_on_answer like specified in the yellow hight code above. It<br>
&gt; &gt; doesn&#39;t simply return a OK, instead it shows the whole blob of code. and<br>
&gt; &gt; does nothing later.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Thu, Oct 22, 2009 at 4:09 AM, Anthony Minessale &lt;<br>
&gt; &gt;<br>
&gt; &gt; <a href="mailto:anthony.minessale@gmail.com">anthony.minessale@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt; Yes you need an API object as described in other email.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Which line of code from java caused that segfault<br>
&gt; &gt;&gt; It looks like a simple NULL string issue that we may want to hunt down.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Wed, Oct 21, 2009 at 4:44 AM, Henry Huang<br>
&lt;<a href="mailto:red.rain.seven@gmail.com">red.rain.seven@gmail.com</a>&gt;wrote:<br>
&gt; &gt;&gt;&gt; I can&#39;t seem to find the right thing to use in mod_java to execute api<br>
&gt; &gt;&gt;&gt; commands, only api_after_bridge<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; 2009-10-21 17:42:46.593094 [NOTICE] mod_sofia.c:1509 Pre-Answer<br>
&gt; &gt;&gt;&gt; sofia/internal/<a href="mailto:1688003@192.168.1.66">1688003@192.168.1.66</a>!<br>
&gt; &gt;&gt;&gt; #<br>
&gt; &gt;&gt;&gt; # A fatal error has been detected by the Java Runtime Environment:<br>
&gt; &gt;&gt;&gt; #<br>
&gt; &gt;&gt;&gt; #  SIGSEGV (0xb) at pc=0x004e4480, pid=1927, tid=16116624<br>
&gt; &gt;&gt;&gt; #<br>
&gt; &gt;&gt;&gt; # JRE version: 6.0_16-b01<br>
&gt; &gt;&gt;&gt; # Java VM: Java HotSpot(TM) Client VM (14.2-b01 mixed mode linux-x86 )<br>
&gt; &gt;&gt;&gt; # Problematic frame:<br>
&gt; &gt;&gt;&gt; # C  [libc.so.6+0x6f480]  strcpy+0x10<br>
&gt; &gt;&gt;&gt; #<br>
&gt; &gt;&gt;&gt; # An error report file with more information is saved as:<br>
&gt; &gt;&gt;&gt; # /usr/local/freeswitch/bin/hs_err_pid1927.log<br>
&gt; &gt;&gt;&gt; 2009-10-21 17:42:59.883729 [ERR] switch_core_session.c:1374 Invalid<br>
&gt; &gt;&gt;&gt; Application sched_api<br>
&gt; &gt;&gt;&gt; 2009-10-21 17:42:59.883729 [NOTICE] switch_core_session.c:1375 Hangup<br>
&gt; &gt;&gt;&gt; sofia/internal/<a href="mailto:1688003@192.168.1.66">1688003@192.168.1.66</a> [CS_EXECUTE]<br>
&gt; &gt;&gt;&gt; [DESTINATION_OUT_OF_ORDER]<br>
&gt; &gt;&gt;&gt; #<br>
&gt; &gt;&gt;&gt; # If you would like to submit a bug report, please visit:<br>
&gt; &gt;&gt;&gt; #   <a href="http://java.sun.com/webapps/bugreport/crash.jsp" target="_blank">http://java.sun.com/webapps/bugreport/crash.jsp</a><br>
&gt; &gt;&gt;&gt; # The crash happened outside the Java Virtual Machine in native code.<br>
&gt; &gt;&gt;&gt; # See problematic frame for where to report the bug.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; On Sat, Oct 17, 2009 at 3:37 AM, Michael Collins<br>
&lt;<a href="mailto:msc@freeswitch.org">msc@freeswitch.org</a>&gt;wrote:<br>
&gt; &gt;&gt;&gt;&gt; On Fri, Oct 16, 2009 at 11:53 AM, Henry Huang<br>
&gt; &gt;&gt;&gt;&gt; &lt;<a href="mailto:red.rain.seven@gmail.com">red.rain.seven@gmail.com</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; &gt; wrote:<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; So how would you trigger it from a script dialplan? The only time it<br>
&gt; &gt;&gt;&gt;&gt;&gt; seemed to work is when I did setVariable(&quot;api_after_bridge&quot;,<br>
&gt; &gt;&gt;&gt;&gt;&gt; &quot;sched_api blah blah blah&quot;);<br>
&gt; &gt;&gt;&gt;&gt;&gt; but then it gets executed after the channel&#39;s been teared down. I<br>
&gt; &gt;&gt;&gt;&gt;&gt; thought api_after_bridge means right after the call gets connected.<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; I need something to execute an api command right before or right<br>
&gt; &gt;&gt;&gt;&gt;&gt; after the call gets bridged.<br>
&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt;&gt; api_after_bridge is a channel variable, so using setVariable works<br>
&gt; &gt;&gt;&gt;&gt;&gt; just<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; fine. If you need to sched_api is an API only. Check these out:<br>
&gt; &gt;&gt;&gt;&gt; <a href="http://wiki.freeswitch.org/wiki/Mod_commands#Misc._Commands" target="_blank">http://wiki.freeswitch.org/wiki/Mod_commands#Misc._Commands</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; So you need an API object in order to use it. I don&#39;t know the syntax<br>
&gt; &gt;&gt;&gt;&gt; for creating an api obj in Java but in Lua it goes like this:<br>
&gt; &gt;&gt;&gt;&gt; api = freeswitch.API();<br>
&gt; &gt;&gt;&gt;&gt; res = api:execute(&quot;sched_api&quot;,&quot;+300 none my_api my_api_args&quot;)<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; Remember, if the method you are using isn&#39;t found in the dial plan<br>
&gt; &gt;&gt;&gt;&gt; tools then it isn&#39;t a dial plan application. Make sure it&#39;s on the<br>
&gt; &gt;&gt;&gt;&gt; list: <a href="http://wiki.freeswitch.org/wiki/Mod_dptools" target="_blank">http://wiki.freeswitch.org/wiki/Mod_dptools</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; On the other hand, API commands are listed here:<br>
&gt; &gt;&gt;&gt;&gt; <a href="http://wiki.freeswitch.org/wiki/Mod_commands" target="_blank">http://wiki.freeswitch.org/wiki/Mod_commands</a><br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; dptools require a session object, api commands require an api<br>
&gt; &gt;&gt;&gt;&gt; object...<br>
&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt;&gt; -MC<br>
&gt; &gt;&gt;&gt;&gt;<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; UNSUBSCRIBE:<br>
&gt; &gt;&gt;&gt;&gt; <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;<br>
&gt; &gt;&gt;&gt; --<br>
&gt; &gt;&gt;&gt; Henry Huang<br>
&gt; &gt;&gt;&gt; UniC Solution - Communication Unified<br>
&gt; &gt;&gt;&gt; VoIP &amp; Open Source software Consultant<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; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-user" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-user</a><br>
</div></div>&gt; &gt;&gt;&gt;s <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<div class="im">&gt; &gt;&gt;<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; Anthony Minessale II<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>
&gt; &gt;&gt; ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
&gt; &gt;&gt; Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; AIM: anthm<br>
</div>&gt; &gt;&gt; <a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a> &lt;<a href="mailto:MSN%253Aanthony_minessale@hotmail.com">MSN%3Aanthony_minessale@hotmail.com</a>&gt;<br>
&gt; &gt;&gt; GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a>&lt;PAYPAL%3Aanthony.minessa<br>
<div class="im">&gt; &gt;&gt;<a href="mailto:le@gmail.com">le@gmail.com</a>&gt; IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; FreeSWITCH Developer Conference<br>
</div>&gt; &gt;&gt; <a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a> &lt;<a href="mailto:sip%253A888@conference.freeswitch.org">sip%3A888@conference.freeswitch.org</a>&gt;<br>
<div class="im">&gt; &gt;&gt; <a href="http://iax:guest@conference.freeswitch.org/888" target="_blank">iax:guest@conference.freeswitch.org/888</a><br>
</div>&gt; &gt;&gt; <a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a>&lt;googletalk%3Aconf%2B888@co<br>
<div class="im">&gt; &gt;&gt;<a href="http://nference.freeswitch.org" target="_blank">nference.freeswitch.org</a>&gt; pstn:213-799-1400<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;<br>
&gt; &gt; --<br>
&gt; &gt; Henry Huang<br>
&gt; &gt; UniC Solution - Communication Unified<br>
&gt; &gt; VoIP &amp; Open Source software Consultant<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>
<br>
<br>
<br>
</div><div><div></div><div class="h5">_______________________________________________<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>Henry Huang<br>UniC Solution - Communication Unified<br>VoIP &amp; Open Source software Consultant<br>
</div>