Добрый день. Ситуация такова. trixbox v2.8.0.4. asterisk 1.6. Стоит sip домофон на двери и в нем по умолчанию с завода идет бинд клавиши #. От руководства поступила задача чтобы не все сотрудники могли открыть дверь домофона, но при этом могли пообщаться с пришедшим человеком.
На ум пришло следующее с помощью applicationmap обрабатывать нажатие клавиши через макрос.
сделал так
в файл globals_custom.conf
DYNAMIC_FEATURES = opendoor
в файл features_applicationmap_custom.conf
opendoor => #,callee,Macro,customopendoor
features_featuremap_custom.conf
opendoor => #
extensions_custom.conf
[macro-customopendoor]
exten => s,1,Progress ;Начало скрипта
exten => s,2,GotoIf($["${CALLERID(num)}" = "243"]?4:3);Проверяем если caller id = номеру охранника то на шаг 4, иначе 5
exten => s,3,GotoIf($["${DIALEDPEERNUMBER}" = "243"]?4:5) ;Если вызываемый номер = номеру охранника то на шаг 4,иначе 5
exten => s,4,Hangup() ;Завершаем разговор
exten => s,5,SendDTMF(#,300) ;Отсылаем сигнал #
В текущем макросе если номер абонента совпал с 243 то разговор завершается, иначе отправляется дтмф и дверь открывается.
НО! теперь поломалась комбинация клавиш ## которая делает слепой перевод. вместо этого отправляется два раза dtmf.
Никак не могу разобраться как решить данную проблему(