[Asterisk-Dev] C AGI clarification

taintedham-mailinglists at yahoo.com taintedham-mailinglists at yahoo.com
Thu Feb 10 18:24:51 MST 2005


Ok, there seems to be a little confusion.  I'm not
saying you can't make an AGI in C.  You can, in fact
you can make an AGI in anything.

However, AGI is a protocol that defines the
communication between an app and the res_agi in
asterisk.  As such, it requires parsing of textual
strings and requires forking, etc.

Looking further into the res_agi, it looks like I
could simply separate the functions res_agi uses when
parsing AGI output.

The idea isn't to create an AGI.  The idea is to
create an app module that uses the same api as an AGI.
 The benefits would be that it executes faster (loaded
in mem, no need to parse, etc), is programmed similar
to the AGI (so hopefully since AGI is pretty stable,
so will the functions that AGI rely on), and the C
code could drop down to a lower level than possible in
AGI.

Basically, I propose we break res_agi into C library
for use in simple apps.... and a res_agi module (as it
is now) which executes external AGI programs using the
C lib.  This would give C programmers a standard API
interface to the asterisk core.

I would love to be in the conference.  I'll try and
make it to the next one on Thursday.

Hope this clears things up.  I'll let you know if I
follow through and create something.

--Dave



More information about the asterisk-dev mailing list