Поведения диалплана на LUA
Добавлено: 07 мар 2019, 19:04
Разбираюсь с диалпланом на LUA.
Asterisk 13.25.0
Пишу на LUA аналог следующего номера.
На ael
На LUA
Когда трубку не кладут раньше времени оба диалплана выполняются одинаково.
Но если положить трубку по время приветствия то:
На ael выполнение диалплана прекращается.
На LUA
То есть при hangup со стороны звонящего выполнение диалплана на LUA не прекращается, что в данном примере приводит к получению ненужного письма с пустым файлом.
Asterisk 13.25.0
Пишу на LUA аналог следующего номера.
На ael
Код: Выделить всё
3900 =>
{
Answer;
Set(FILE=/tmp/FILE-${STRFTIME(,,%Y%m%d-%H%M%S)}-${UNIQUEID}.wav);
PlayBack(rec-1);
PlayBack(beep);
MixMonitor(${FILE},,/opt/sender.pl ${FILE} ${EMAIL} "Message" "Запись автоответчика.\nНомер: ${CALLERID(number)}\nСитуация: Ночь.");
Wait(300);
HangUp();
}
Код: Выделить всё
["_3900"] = function(context, extension)
file = "/tmp/FILE-" .. os.date("%Y%d%m-%H%M%S") .. "-" .. uniqueid() .. ".wav"
email = "asdfs@as.ru"
app.Answer()
app.Playback("rec-1")
app.MixMonitor(file, "", "/opt/sender.pl \"" .. file .. "\" \"" .. email .. "\" \"Message\"" .. " \"Запись автоответчика.\nНомер: ${CALLERID(number)}\nСитуация: Ночь.\"")
app.Wait(300)
app.HandUp()
Но если положить трубку по время приветствия то:
На ael выполнение диалплана прекращается.
Код: Выделить всё
-- Executing [3900@FROM_MAIN:1] Answer("SIP/Vjatskaya-00000001", "") in new stack
-- Executing [3900@FROM_MAIN:2] Set("SIP/Vjatskaya-00000001", "FILE=/tmp/FILE-20190307-175427-1551970467.2.wav") in new stack
-- Executing [3900@FROM_MAIN:3] Playback("SIP/Vjatskaya-00000001", "rec-1") in new stack
Код: Выделить всё
-- Executing [3900@FROM_MAIN:1] Answer("SIP/Vjatskaya-00000000", "")
-- Executing [3900@FROM_MAIN:1] Playback("SIP/Vjatskaya-00000000", "rec-1")
-- <SIP/Vjatskaya-00000000> Playing 'rec-1.slin' (language 'ru')
-- Executing [3900@FROM_MAIN:1] MixMonitor("SIP/Vjatskaya-00000000", "/tmp/FILE-20190703-174037-1551969637.0.wav,,/opt/sender.pl "/tmp/FILE-20190703-174037-1551969637.0.wav" "asdsa@sa.ru" "Message" "Запись автоответчика.
-- Номер: ${CALLERID(number)}
-- Ситуация: Ночь."")
-- Executing [3900@FROM_MAIN:1] Wait("SIP/Vjatskaya-00000000", "300")
== Begin MixMonitor Recording SIP/Vjatskaya-00000000
[Mar 7 17:40:45] WARNING[22580]: chan_sip.c:4337 __sip_autodestruct: Autodestruct on dialog '3bd33e3a335159d44735e86764ea9057@213.135.66.13' with owner SIP/Vjatskaya-00000000 in place (Method: BYE). Rescheduling destruction for 10000 ms
== Spawn extension (FROM_MAIN, 3900, 1) exited non-zero on 'SIP/Vjatskaya-00000000'
== MixMonitor close filestream (mixed)
== Executing [/opt/sender.pl "/tmp/FILE-20190703-174037-1551969637.0.wav" "asdsa@sa.ru" "Message" "Запись автоответчика.
== Номер: XXXX
== Ситуация: Ночь."]
== End MixMonitor Recording SIP/Vjatskaya-00000000