Asterisk-CDR-Viewer-Mod
Asterisk-CDR-Viewer-Mod copied to clipboard
Replacing "Macro" to "GoSub"
App_macro is deprecated[1] and not exists[2] in default build of Asterisk. GoSub is suitable function. "macro-" prefix in context name is no longer needed.
[1] Details: https://wiki.asterisk.org/wiki/display/AST/app_macro+Deprecation [2] Can cause this error: pbx.c:2907 pbx_extension_helper: No application 'Macro' for extension (context,,)
Что-то у меня не работает так. status is 'UNKNOWN'
Статус пира тут вообще не используется. Вот из моего прода, работает:
[context] exten => _X.,1,GoSub(recording,s,1(${CALLERID(num)},${EXTEN})) exten => _X.,n,Dial(PJSIP/${EXTEN},60)
[recording] exten => s,1,Set(WAV=/rec/${UNIQUEID}-${STRFTIME(${EPOCH},,%Y-%m-%d-%H_%M)}-${ARG1}-${ARG2}) exten => s,n,Set(CDR(filename)=${WAV}.wav) exten => s,n,MixMonitor(${WAV}.wav,b) exten => s,n,return
ок, потом разберусь, спасибо за труд
ок, потом разберусь, спасибо за труд
exten => s,n,Return; Добавил в [recording] и всё заработало
Только переход на субрутину надо делать по-другому, чтобы не создавались пустые файлы, если на звонок не ответили. Вариант ниже запускает субрутину только при ответе:
same=n(callrec),Dial(PJSIP/${EXTEN},,TtRrU(record^${CALLERID(num)}^${EXTEN}))
Здесь record — имя субрутины. Это для стандартных абонентов.
Для очередей запускать субрутину лучше автоматически, есть специальный параметр очереди:
membergosub=recque
Здесь reсque — субрутина для записи в очереди.