> [mailto:[email protected]] On Behalf Of Matthew > Nicholson Sent: Tuesday, May 05, 2009 4:51 PM
> On Tue, 2009-05-05 at 12:41 -0700, Steve Edwards wrote: >> AGI and AMI are only 2 "tools" at your disposal. In terms of "ease of >> implementation," I'd define the available set of tools and rank them in >> this order when considering how to solve a problem: >> >> ) Dialplan > > ) pbx_lua > ) AEL > >> ) AGI >> ) AMI >> ) Asterisk applications > > I would add AEL and pbx_lua to the list above. On Tue, 5 May 2009, Danny Nicholas wrote: > Please elaborate; obviously ?? the dialplan is the simplest route to > solve any problem. Up to a point. I think of AGIs as little black boxes that hide complexity and allow the dialplan to remain simple and robust. > Pbx_lua and ael are the next logical extensions to dialplan(?) My guess would be AEL then lua, but it's just a guess. I'm starting to use AEL in 1.2 -- syntax checking sux and inconsistencies abound. I'm hoping AEL has gotten better. > AGI can be simple custom code in PHP, Perl, C, etc. AMI is like AGI but > using Manager interface... AMI is not like AGI. They have similarities -- AGI talks to Asterisk via a pipe, AMI talks via a socket. Both can be written in any language. (Actually, both are just protocols, so using them as "nouns" is just a shorthand for "a process conforming to the [AGI|AMI] protocol." But, they are different tools for a different set of problems. AGI focuses on a channel but can interact with Asterisk as a whole. AMI focuses on Asterisk as a whole, but can interact with a channel. AGI executes in response to a action in the dialplan (calling AGI()) and it's "lifespan" is (usually) a subset of the lifespan of a channel. AMI executes either as a daemon or in response to a process external to Asterisk -- like a web page or a program executed from cron. I've never used AMI for anything other than simple stuff like "please reload" or "how many channels are active" so I could be all wet here. > and Asterisk Applications is tweaking, patching or rewriting the native > C code?? Yes. This is where it gets fun -- a simple programming error can crash Asterisk -- taking all in-flight calls with it. If you're contemplating solving your problem with an application, contemplate adding another "0" or 2 to your development and maintenance costs :) Thanks in advance, ------------------------------------------------------------------------ Steve Edwards [email protected] Voice: +1-760-468-3867 PST Newline Fax: +1-760-731-3000 _______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
