pbx_lua: Asterisk Dialplan in Lua

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.

From lua.org:

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.

1 thought on “pbx_lua: Asterisk Dialplan in Lua

  1. Sorry for my impolite. I’ve got a feature request, but I don’t know where to post it.

    Following is my feature request:
    I want to setup Asterisk as Media Server under control of other application server. The problem that I can’t handle calls with current Asterisk’s external interfaces (CLI, AMI, …). I recommend that Asterisk provide call processing to external application by support MediaCtrl specification.
    http://tools.ietf.org/id/draft-ietf-mediactrl-sip-control-framework-00.txt
    http://mediactrl.sourceforge.net/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.