mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 11:28:25 +00:00
Update extensions.lua.sample with naming conflict guidance.
The sample extensions.lua was causing pbx_lua to fail to load when parsing
'app.goto("default", "s", 1)' because in Lua 5.2, 'goto' is now a reserved
word. This patch adds guidance to extensions.lua.sample and changed
'app.goto("default", "s", 1)' to 'app.['goto']("default", "s", 1)'.
https://reviewboard.asterisk.org/r/3627/
ASTERISK-23844 #comment This commit fixes 1.8, patch for 11->trunk coming.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@416578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -85,6 +85,7 @@ TRUNKMSD = 1
|
|||||||
--
|
--
|
||||||
-- app.Dial("DAHDI/1")
|
-- app.Dial("DAHDI/1")
|
||||||
-- app.dial("DAHDI/1")
|
-- app.dial("DAHDI/1")
|
||||||
|
-- app["dial"]("DAHDI/1")
|
||||||
--
|
--
|
||||||
-- More examples can be found below.
|
-- More examples can be found below.
|
||||||
--
|
--
|
||||||
@@ -95,6 +96,24 @@ TRUNKMSD = 1
|
|||||||
-- autoservice_stop() and the autoservice_status() function will return true if
|
-- autoservice_stop() and the autoservice_status() function will return true if
|
||||||
-- an autoservice is currently running.
|
-- an autoservice is currently running.
|
||||||
--
|
--
|
||||||
|
-- Note about naming conflicts:
|
||||||
|
-- Lua allows you to refer to table entries using the '.' notation,
|
||||||
|
-- I.E. app.goto(something), only if the entry doesn't conflict with an Lua
|
||||||
|
-- reserved word. In the 'goto' example, with Lua 5.1 or earlier, 'goto' is
|
||||||
|
-- not a reserved word so you'd be calling the Asterisk dialplan application
|
||||||
|
-- 'goto'. Lua 5.2 however, introduced the 'goto' control statement which
|
||||||
|
-- makes 'goto' a reserved word. This casues the interpreter to fail parsing
|
||||||
|
-- the file and pbx_lua.so will fail to load. The same applies to any use of
|
||||||
|
-- Lua tables including extensions, channels and any tables you create.
|
||||||
|
--
|
||||||
|
-- There are two ways around this: Since Lua is case-sensitive, you can use
|
||||||
|
-- capitalized names, I.E. app.Goto(something) to refer to the Asterisk apps,
|
||||||
|
-- functions, etc. Or you can use the full syntax, I.E. app["goto"](something).
|
||||||
|
-- Both syntaxes are backwards compatible with earlier Lua versions. To make
|
||||||
|
-- your Lua dialplans easier to maintain and to reduce the chance of future
|
||||||
|
-- conflicts you may want to use the app["goto"](something) syntax for all
|
||||||
|
-- table accesses.
|
||||||
|
--
|
||||||
|
|
||||||
function outgoing_local(c, e)
|
function outgoing_local(c, e)
|
||||||
app.dial("DAHDI/1/" .. e, "", "")
|
app.dial("DAHDI/1/" .. e, "", "")
|
||||||
@@ -142,7 +161,8 @@ extensions = {
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
["1000"] = function()
|
["1000"] = function()
|
||||||
app.goto("default", "s", 1)
|
-- See the naming conflict note above.
|
||||||
|
app['goto']("default", "s", 1)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
["1234"] = function()
|
["1234"] = function()
|
||||||
|
|||||||
Reference in New Issue
Block a user