Recently, a new module for writing Asterisk dialplan in the Lua programming language was merged into Asterisk trunk. It was developed by Matt Nicholson of Digium, Inc. See the commit and mantis issue. It will be available in Asterisk 1.6.
Lua is a powerful, fast, light-weight, embeddable scripting language.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
‘Lua’ means ‘moon’ in Portuguese and is pronounced LOO-ah.
This module provides another alternative for native dialplan programming. Check out the example extensions.lua file for an example of how it looks.
There has been some discussion about benchmarking pbx_lua versus the existing extensions.conf and extensions.ael for dialplan execution performance, but no results have been posted as of yet.