Запись при переводе разговора по диалплану с DTMF

Добрый день!

Проблема в в следующем, при переводе вызова через диалплан из IVR и шлюз на аналоговую атс не записываются звонки, соответственно входящие тоже не пишутся. лог пролистал mixmonitor стартует и отрабатывает нормально, но не присваивает имя файлу записи.

Хотя если тот-же диалплан вставить в приложение диалпланов и назначить номер b позвонить - то все работает.

Версия 2022.3.15

dialplan:

exten => _31XX,1,Set(NEXT_EXTEN=wwwwww${EXTEN:0:1}w${EXTEN:1:1}w${EXTEN:2:1}w${EXTEN:3:1})

    same => n,Dial(PJSIP/7777/7777,,mD(${NEXT_EXTEN})TtekKHhU(dial_answer)b(dial_create_chan,s,1))

    same => n,Dial(PJSIP/7778/7778,,mD(${NEXT_EXTEN})TtekKHhU(dial_answer)b(dial_create_chan,s,1))

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] app_stack.c: PJSIP/7777-00000070 Internal Gosub(dial_answer,s,1) start

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] pbx_lua.c: Executing [s@dial_answer:1] MixMonitor("PJSIP/7777-00000070", "/storage/usbdisk1/mikopbx/astspool/monitor/2023/03/29/11/.wav,ab")

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] pbx_lua.c: Executing [s@dial_answer:1] NoOp("PJSIP/7777-00000070", "Start MixMonitor on channel PJSIP/7777-00000070")

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] pbx_lua.c: Executing [s@dial_answer:1] UserEvent("PJSIP/7777-00000070", "StartRecording,recordingfile:/storage/usbdisk1/mikopbx/astspool/monitor/2023/03/29/11/.mp3,recchan:PJSIP/7777-00000070")

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] pbx_lua.c: Executing [s@dial_answer:1] AGI("PJSIP/7777-00000070", "/usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php")

[2023-03-29 11:15:48] VERBOSE[21786][C-0000004c] res_agi.c: Launched AGI Script /usr/www/src/Core/Asterisk/agi-bin/clean_timeout.php

[2023-03-29 11:15:48] VERBOSE[21791][C-0000004c] app_mixmonitor.c: Begin MixMonitor Recording PJSIP/7777-00000070

Смотрите как это реализовано в типовом dialplan

same => n,ExecIf($["${DST_CONTACT}x" != "x"]?Dial(${DST_CONTACT},${ringlength},${TRANSFER_OPTIONS}ekKHhU(${ISTRANSFER}dial_answer)b(dial_create_chan,s,1)):Set(DIALSTATUS=CHANUNAVAIL)) 

Отличие в параметре "U(${ISTRANSFER}dial_answer)"

При трансфере вызов будет направляться в transfer_dial_answer, а при обычном звонке в dial_answer. Вероятно проблема в этом. 

В рамках форума это не просто анализировать. Совет - анализируйте уже существующий dialplan. Изучайте base64 кодированный текст, что виден в verbose логе, в CELGenUserEvent. 

где этот dialplan описан.

каким образом шлюз подключен АТС. опишите детали

этот диалплан добавлен в extension.conf

шлюз fxs - настроены 2 порта по которым идет звонок в аналоговую атс на ivr меню с донабором внутреннего абонента.

а на самой атс соответственно исходящие вызовы с префиксом 33XX отправляются на эти 2 порта