On Thu, 1 Jul 2010, Gilles wrote: > I'm taking a look at how to write scripts to be called from the > dialplan, and saw pbx_lua mentioned. > > I'd like to know more about this feature, such as what the difference is > with just calling the Lua interpreter through AGI (same difference as > between php-cgi and mod_php?), whether it's production-ready, etc.
I've never used it (I'm a 1.2 Luddite), but I would be very interested in anything that looks like a "real" language for writing dialplans. I've used AEL, and it is a much "cleaner" method of writing dialplan, but (at least in 1.2) it has a bunch of syntactical weirdness. For example, forgetting to end a line with a semi-colon can cause half your dialplan to disappear without warning. I use AGI a lot. I write AGIs in C so, aside from the "create a new process" hit, they execute at the same speed as the code inside Asterisk. You can execute XXX AGIs written in C in the time it takes to load either the Perl or PHP interpreter and parse your script. AGIs have a lot of advantages: ) If they crash, they only impact the call that invoked the AGI. ) They're nice little "black boxes" where you can package up a bunch of logic and complexity in a single line of dialplan. Imagine implementing voicemail in dialplan versus an AGI. AGIs hide a lot of detail and help keep clumsy fingers from introducing impossible to find bugs. ) They can be debugged separately from Asterisk. By feeding the appropriate input (by file redirection) from the command line, you can do a substantial bit of debugging as long as it doesn't need to actually interact with Asterisk. I frequently fire up emacs, load gdb, and step through my C AGIs line by line. Set a breakpoint, examine a variable, change it's value, and continue. Sure beats the heck out of trying to debug an AGI by peppering it with VERBOSE or syslog() statements. -- 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 -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
