Thanks for the advice, Steven!<div><br></div><div>I would like to thank all the responders, I managed to create an application that uses core ODBC and is accessing MySQL table to get the needed information.</div><div><br></div>
<div>It took less then 3 hours...</div><div><br></div><div>Taking into consideration that I did not have any idea from the beginning, looks like the learning curve here is just perfectly optimized for the newbies... :-)</div>
<div><br></div><div>FreeSWITCH really rocks!</div><div><br></div><div>Will keep learning.</div><div><br></div><div>Regards,</div><div>Vitalie<br><br><div class="gmail_quote">2010/4/23 Steven Ayre <span dir="ltr">&lt;<a href="mailto:steveayre@gmail.com">steveayre@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">If you&#39;re looking for help on writing new applications then of course<br>
everything under src/mod/applications/*/ provide good examples.<br>
<br>
There&#39;s also some documentation online of the APIs available to you<br>
within FreeSWITCH:<br>
<a href="http://docs.freeswitch.org/" target="_blank">http://docs.freeswitch.org/</a><br>
<br>
In particular I recommend you look at the following sections<br>
Modules -&gt; Brought To You By APR<br>
Modules -&gt; Core Library<br>
<br>
Core Library will tell you the APIs for interacting with<br>
sessions/channels (calls) and provide you with useful interfaces for<br>
doing may useful things like DB access, hash tables, file access etc,<br>
while APR gives you a platform independant way of doing things like<br>
like memory allocation, network access, threading etc. Using them will<br>
save you much of the work and keeps the program style nicely<br>
consistent across FreeSWITCH. Done right your module should also work<br>
on any platform FS runs on without any changes needed (unless you app<br>
depends on something that really is platform-specific such as loading<br>
a DLL file on Windows).<br>
<br>
-Steve<br>
<div><div></div><div class="h5"><br>
<br>
<br>
On 23 April 2010 15:19, Vitalii Colosov &lt;<a href="mailto:vetali100@gmail.com">vetali100@gmail.com</a>&gt; wrote:<br>
&gt; OK I think I found, need to use: SWITCH_ADD_APP<br>
&gt; Thank you very much!!!<br>
&gt;<br>
&gt; 2010/4/23 Vitalii Colosov &lt;<a href="mailto:vetali100@gmail.com">vetali100@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; Thanks Mathieu,<br>
&gt;&gt; This really helped!<br>
&gt;&gt; I was able to get Hello World string during the module load :-)<br>
&gt;&gt; Moving to the next step, how can I define an application, let say<br>
&gt;&gt; &quot;skel_app&quot; inside this module?<br>
&gt;&gt; In order to be able to execute it from dialplan.<br>
&gt;&gt; I thought the following does this: SWITCH_ADD_API(api_interface, &quot;skel&quot;,<br>
&gt;&gt; &quot;Skel API&quot;, skel_function, &quot;syntax&quot;);<br>
&gt;&gt; But when I executed &quot;skel&quot; from dialplan, I got error: &quot;Invalid<br>
&gt;&gt; application skel&quot;.<br>
&gt;&gt; Could you hint me please?<br>
&gt;&gt; Thank you very much!<br>
&gt;&gt; Vitalie<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2010/4/23 Mathieu Rene &lt;<a href="mailto:mrene_lists@avgs.ca">mrene_lists@avgs.ca</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Look at mod_skel in src/mod/applications<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Mathieu Rene<br>
&gt;&gt;&gt; Avant-Garde Solutions Inc<br>
&gt;&gt;&gt; Office: + 1 (514) 664-1044 x100<br>
&gt;&gt;&gt; Cell: +1 (514) 664-1044 x200<br>
&gt;&gt;&gt; <a href="mailto:mrene@avgs.ca">mrene@avgs.ca</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On 2010-04-23, at 6:43 AM, Vitalii Colosov wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; Hi dear group,<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; I would like to start writing plugins (applications) for FreeSWITCH<br>
&gt;&gt;&gt; &gt; that will be called from dialplan:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; &lt;action application=&quot;my_cool_application&quot;...&gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Could you please provide me some steps following which I will be able<br>
&gt;&gt;&gt; &gt; to create &quot;helloworld&quot; C/C++ application that will be called from dialplan?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Or some link if this is already described somewhere... I tried to<br>
&gt;&gt;&gt; &gt; google but did not find that.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Then, if I will create something useful, I will contribute it to the<br>
&gt;&gt;&gt; &gt; community with pleasure... :-)<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Thank you very much!<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Vitalie<br>
&gt;&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt;&gt; &gt; FreeSWITCH-dev mailing list<br>
&gt;&gt;&gt; &gt; <a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
&gt;&gt;&gt; &gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
&gt;&gt;&gt; &gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
&gt;&gt;&gt; &gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; FreeSWITCH-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
&gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
&gt;&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; FreeSWITCH-dev mailing list<br>
&gt; <a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br></div>