Поведения диалплана на LUA

Разбираюсь с диалпланом на 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();
}
На LUA
- Код: выделить все
["_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
На LUA
- Код: выделить все
-- 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
То есть при hangup со стороны звонящего выполнение диалплана на LUA не прекращается, что в данном примере приводит к получению ненужного письма с пустым файлом.