Страница 1 из 1

Blind transfer и макрос.

Добавлено: 26 сен 2013, 11:09
mnx
Добрый день. Ситуация такова. 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.
Никак не могу разобраться как решить данную проблему(

Re: Blind transfer и макрос.

Добавлено: 26 сен 2013, 11:15
Vlad1983
ставить
DYNAMIC_FEATURES = opendoor
только при вызовах с домофона

Re: Blind transfer и макрос.

Добавлено: 26 сен 2013, 11:26
zzuz
Автор сейчас замучает вопросами , где это выставлять. Ему проще

Код: Выделить всё

opendoor => #,callee,Macro,customopendoor
переопределить на другой набор DTMF последовательности.

Re: Blind transfer и макрос.

Добавлено: 26 сен 2013, 14:18
mnx
да не спорю так проще, на текущий момент так и сделано, но раз есть возможность сделать через # то надо сделать через #.

Re: Blind transfer и макрос.

Добавлено: 26 сен 2013, 15:47
mnx
Vlad1983 писал(а):ставить
DYNAMIC_FEATURES = opendoor
только при вызовах с домофона
Проблему решил другим способом, но хотелось бы услышать\увидеть пример если Вас не затрудит...
как я понял должна быть использована команда Set(__DYNAMIC_FEATURES=opendoor)?

Можно абсолютно любой пример использования для ограничения только конкретным extension'ом... Заранее благодарен.

P.S. проблема решилась банально, макрос был переписан следующим способом
[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,MacroExit

Re: Blind transfer и макрос.

Добавлено: 26 сен 2013, 15:57
Vlad1983
изучать основы диалплана
направление дано
за примерами в гугль