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'd say such movement would be justified when more granularity and control over the Asterisk API'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"><<a href="mailto:deep.d2010@gmail.com">deep.d2010@gmail.com</a>></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 <<a href="mailto:donnyk@gmail.com">donnyk@gmail.com</a>> wrote:<br>
> Consider FastAGI, I presume one of your issues is that agi spawns one<br>
> process per call, however if you took the FastAGI approach, you would bolt a<br>
> socket layer onto your app and then asterisk will connect via tcp. This<br>
> would probably give you the best of both worlds, your app is now<br>
> multi-threaded only one process required, but you still keep everything<br>
> separate from asterisk and don't have to learn how to write an asterisk<br>
> module.<br>
><br>
> Donny<br>
><br>
> On Sat, May 8, 2010 at 2:11 PM, Deepesh D <<a href="mailto:deep.d2010@gmail.com">deep.d2010@gmail.com</a>> wrote:<br>
>><br>
>> Hello,<br>
>><br>
>> Is it possible to write asterisk modules in C++. I am using an AGI<br>
>> application written in C++ and would like to convert it to an asterisk<br>
>> module.<br>
>><br>
>> Thanks<br>
>><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>
><br>
><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>
><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>