Moving from AGI to FastAGI will improve performance, as said before, because no more forking is needed. Although arguable, I find hard to justify moving to an Asterisk app for performance reasons, most of the time I&#39;d say such movement would be justified when more granularity and control over the Asterisk API&#39;s is needed ( like calling constantly ast_read() to process audio and control frames).<div>
<br clear="all">Moises Silva<br>Senior Software Engineer<br>Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3 Canada<br>t. 1 905 474 1990 x 128 | e. <a href="mailto:moy@sangoma.com">moy@sangoma.com</a><br>

<br><br><div class="gmail_quote">On Sun, May 9, 2010 at 1:59 AM, Deepesh D <span dir="ltr">&lt;<a href="mailto:deep.d2010@gmail.com">deep.d2010@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Performance is the main reason for switching from AGI to module. Will<br>
a FastAGI running on the same server as asterisk give me improved<br>
performance?<br>
<br>
Are there any docs/examples/frameworks of FastAGI in C++?<br>
<br>
On Sun, May 9, 2010 at 1:49 AM, Donny Kavanagh &lt;<a href="mailto:donnyk@gmail.com">donnyk@gmail.com</a>&gt; wrote:<br>
&gt; Consider FastAGI, I presume one of your issues is that agi spawns one<br>
&gt; process per call, however if you took the FastAGI approach, you would bolt a<br>
&gt; socket layer onto your app and then asterisk will connect via tcp.  This<br>
&gt; would probably give you the best of both worlds, your app is now<br>
&gt; multi-threaded only one process required, but you still keep everything<br>
&gt; separate from asterisk and don&#39;t have to learn how to write an asterisk<br>
&gt; module.<br>
&gt;<br>
&gt; Donny<br>
&gt;<br>
&gt; On Sat, May 8, 2010 at 2:11 PM, Deepesh D &lt;<a href="mailto:deep.d2010@gmail.com">deep.d2010@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; Is it possible to write asterisk modules in C++. I am using an AGI<br>
&gt;&gt; application written in C++ and would like to convert it to an asterisk<br>
&gt;&gt; module.<br>
&gt;&gt;<br>
&gt;&gt; Thanks<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; _____________________________________________________________________<br>
&gt;&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;&gt;<br>
&gt;&gt; asterisk-dev mailing list<br>
&gt;&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;&gt;   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; _____________________________________________________________________<br>
&gt; -- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
&gt;<br>
&gt; asterisk-dev mailing list<br>
&gt; To UNSUBSCRIBE or update options visit:<br>
&gt;   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
&gt;<br>
<font color="#888888"><br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</font></blockquote></div><br></div>