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 _______________________________________________ Asterisk-Dev mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-dev To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
