funzioni lua riorganizzate
This commit is contained in:
parent
8afe654faf
commit
1b8ecb7ff0
4 changed files with 73 additions and 64 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
dofile('/etc/asterisk/rorFunctions.lua')
|
||||||
|
dofile('/etc/asterisk/rorDebug.lua')
|
||||||
|
dofile('/etc/asterisk/rorConf.lua')
|
||||||
|
|
||||||
SIP = "PJSIP/"
|
SIP = "PJSIP/"
|
||||||
|
|
||||||
|
@ -245,9 +248,6 @@ extensions = {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
-- XXX: rimettici il 402, l'ho tolto per fare delle prove; e poi rimettilo come from-regia, non come from-ext
|
|
||||||
INTERNI = {401,403,404,405,406};
|
|
||||||
EXT = {020202, 402};
|
|
||||||
|
|
||||||
-- gli interni si possono chiamare fra loro
|
-- gli interni si possono chiamare fra loro
|
||||||
for _, num in ipairs(INTERNI) do
|
for _, num in ipairs(INTERNI) do
|
||||||
|
@ -264,45 +264,11 @@ end
|
||||||
end ]]--
|
end ]]--
|
||||||
|
|
||||||
-- con il prefisso 0, gli interni possono chiamare qualsiasi cosa
|
-- con il prefisso 0, gli interni possono chiamare qualsiasi cosa
|
||||||
extensions["from-regia"]["_0."] = function(c, ext)
|
extensions["from-interni"]["_0."] = chiamaEsterno(TRUNKS)
|
||||||
app.noop(ext)
|
extensions["from-regia"]["_1[12]."] = chiamaEsterno(TRUNKS)
|
||||||
trunks = { "fastweb/", "vodafone/" };
|
|
||||||
if ext:sub(1,1) == "0" then
|
|
||||||
num = ext:sub(2) -- butta via lo 0 iniziale
|
|
||||||
-- XXX: in realta' questo dovra' passare per i trunk, rimuovere prima o poi
|
|
||||||
trunks = { "" };
|
|
||||||
else
|
|
||||||
num = ext:sub(3) -- butta via l'*1 o *2
|
|
||||||
trunks = { trunks[tonumber(ext:sub(2,2))] };
|
|
||||||
end
|
|
||||||
|
|
||||||
to_dial = ""
|
|
||||||
for i, trunk in ipairs(trunks) do
|
|
||||||
if i > 1 then
|
|
||||||
to_dial = to_dial .. "&"
|
|
||||||
end
|
|
||||||
to_dial = to_dial .. SIP .. trunk .. num
|
|
||||||
end
|
|
||||||
|
|
||||||
-- qui NON ci va il doppio underscore: solo chi chiama puo' usare questa feature
|
|
||||||
app.set("DYNAMIC_FEATURES=mandainondaChiamante")
|
|
||||||
app.dial(to_dial)
|
|
||||||
end
|
|
||||||
extensions["from-regia"]["_1[12]."] = extensions["from-regia"]["_0."]
|
|
||||||
|
|
||||||
-- gli esterni possono chiamare, e squilla in tutti i telefoni
|
-- gli esterni possono chiamare, e squilla in tutti i telefoni
|
||||||
extensions["from-ext"]["_."] = function()
|
extensions["from-ext"]["0612345678"] = chiamaDaEsterno(INTERNI)
|
||||||
to_dial = ""
|
|
||||||
for _, num in ipairs(INTERNI) do
|
|
||||||
if #to_dial > 0 then
|
|
||||||
to_dial = to_dial .. "&"
|
|
||||||
end
|
|
||||||
to_dial = to_dial .. SIP .. num
|
|
||||||
end
|
|
||||||
app.set("__DYNAMIC_FEATURES=mandainondaRicevente")
|
|
||||||
app.dial(to_dial)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
extensions["debug"][9000] = function ()
|
extensions["debug"][9000] = function ()
|
||||||
app.answer()
|
app.answer()
|
||||||
|
@ -314,30 +280,9 @@ extensions["debug"][9000] = function ()
|
||||||
end
|
end
|
||||||
app.hangup()
|
app.hangup()
|
||||||
end
|
end
|
||||||
extensions["debug"][9440] = function()
|
extensions["debug"][9440] = tono(440)
|
||||||
app.answer()
|
extensions["debug"][9880] = tono(880)
|
||||||
for i = 1,20 do
|
extensions["private"][9438] = tono(438)
|
||||||
app.playtones("440/4000")
|
|
||||||
app.wait(4)
|
|
||||||
end
|
|
||||||
app.hangup()
|
|
||||||
end
|
|
||||||
extensions["debug"][9880] = function()
|
|
||||||
app.answer()
|
|
||||||
for i = 1,20 do
|
|
||||||
app.playtones("880/4000")
|
|
||||||
app.wait(4)
|
|
||||||
end
|
|
||||||
app.hangup()
|
|
||||||
end
|
|
||||||
extensions["private"][9438] = function()
|
|
||||||
app.answer()
|
|
||||||
for i = 1,20 do
|
|
||||||
app.playtones("438/4000")
|
|
||||||
app.wait(4)
|
|
||||||
end
|
|
||||||
app.hangup()
|
|
||||||
end
|
|
||||||
-- questa e' la stanza in cui 401 incontra i suoi interlocutori
|
-- questa e' la stanza in cui 401 incontra i suoi interlocutori
|
||||||
extensions["private"][9401] = function()
|
extensions["private"][9401] = function()
|
||||||
app.answer()
|
app.answer()
|
||||||
|
|
5
transfer_back/conf/rorConf.lua
Normal file
5
transfer_back/conf/rorConf.lua
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
TRUNKS = { "nonEsisto", "messagenetTrunk", "asdTrunk" };
|
||||||
|
-- XXX: rimettici il 402, l'ho tolto per fare delle prove; e poi rimettilo come from-regia, non come from-ext
|
||||||
|
INTERNI = {401,403,404,405,406};
|
||||||
|
EXT = {020202, 402};
|
||||||
|
|
10
transfer_back/conf/rorDebug.lua
Normal file
10
transfer_back/conf/rorDebug.lua
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
function tono(freq)
|
||||||
|
return function()
|
||||||
|
app.answer()
|
||||||
|
for i = 1,20 do
|
||||||
|
app.playtones(string.format("%d/4000", freq))
|
||||||
|
app.wait(4)
|
||||||
|
end
|
||||||
|
app.hangup()
|
||||||
|
end
|
||||||
|
end
|
49
transfer_back/conf/rorFunctions.lua
Normal file
49
transfer_back/conf/rorFunctions.lua
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
function chiamaEsterno(_trunks)
|
||||||
|
return function (context, ext)
|
||||||
|
app.noop(ext)
|
||||||
|
app.noop(context)
|
||||||
|
if ext:sub(1,1) == "0" then
|
||||||
|
num = ext:sub(2) -- butta via lo 0 iniziale
|
||||||
|
trunks = _trunks;
|
||||||
|
else
|
||||||
|
num = ext:sub(3) -- butta via l'*1 o *2
|
||||||
|
trunks = { _trunks[tonumber(ext:sub(2,2))] };
|
||||||
|
end
|
||||||
|
|
||||||
|
if context == "from-regia" then
|
||||||
|
-- qui NON ci va il doppio underscore: solo chi chiama puo' usare questa feature
|
||||||
|
app.set("DYNAMIC_FEATURES=mandainondaChiamante")
|
||||||
|
-- XXX: vogliamo che #9 non faccia proprio niente se sei un interno non di regia?
|
||||||
|
-- o vorremmo tipo che facendo #9 da from-interni inoltrasse la chiamata alla regia?
|
||||||
|
end
|
||||||
|
|
||||||
|
to_dial = ""
|
||||||
|
for i, trunk in ipairs(trunks) do
|
||||||
|
if i > 1 then
|
||||||
|
to_dial = to_dial .. "&"
|
||||||
|
end
|
||||||
|
dial_s = string.format("%s%s@%s", SIP, num, trunk)
|
||||||
|
app.dial(dial_s, nil, "g")
|
||||||
|
app.noop("DIALSTATUS=" .. channel.DIALSTATUS.value)
|
||||||
|
if channel.DIALSTATUS.value ~= "CHANUNAVAIL" then
|
||||||
|
app.noop("esco ciao")
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function chiamaDaEsterno(_interni)
|
||||||
|
return function()
|
||||||
|
to_dial = ""
|
||||||
|
for _, num in ipairs(INTERNI) do
|
||||||
|
if #to_dial > 0 then
|
||||||
|
to_dial = to_dial .. "&"
|
||||||
|
end
|
||||||
|
to_dial = to_dial .. SIP .. num
|
||||||
|
end
|
||||||
|
app.set("__DYNAMIC_FEATURES=mandainondaRicevente")
|
||||||
|
app.dial(to_dial)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in a new issue