- База знаний
- Пример файла конфигурации XML для Cisco 8851 phone
- Пример файла конфигурации XML для Cisco 7970 phone
- Пример файла конфигурации XML для Cisco 9971
- Отладка VoIP звонка с Wireshark
- Книги
- Использование поля Diversion в SIP пакете
- Астериск и Н.323
- ISDN release cause codes
- Пример файла конфигурации голосового шлюза Cisco
- Пример конфигурации интерфейса E1 PRI в голосовом шлюзе Cisco
- Аналоговое зло
- Интернациональные телефонные коды стран
- Практикум по интеграции Астериск в комплексе с OpenBSC/Osmocom
- Факс по IP
Команда DISA()
Назначение
Точка входа в систему DISA (Direct Inward System Access)Описание
- DISA(passcode[|context])
- DISA(password file)
Система DISA (Direct Inward System Access) позволяет некоторым внешним пользователям позвонить на определенный номер, назначенный в Вашей АТС. Получить "внутренний" сигнал КПВ (длинный гудок), и далее совершать вызовы с АТС на другие телефоны так, как будто это локальный пользователь Вашей АТС. Вызовы, совершаемые пользователем, подключенным к системе DISA, обычно обрабатываются в отдельном контексте Вашего плана набора.
При входе пользователь должен ввести код, завершая его нажатием "решетки" (#). Если введен правильный код, пользователь услышит длинный гудок и сможет совершать вызовы. Однако, такой метод доступа создает БОЛЬШИЕ проблемы с безопасностью всей системы. Использовать эту систему надо с большой осторожностью, дабы не попасть, если кто-либо взломает этот код. См: security.
Имеется возможность входить в DISA без использования пароля. Просто замените поле, в котором должен быть пароль, словом no-password.
Пример 1
exten => s,1,DISA(no-password|local)
Пример 2
exten => s/XXXXXXXXXX,1,Answer
exten => s/XXXXXXXXXX,2,DigitTimeout(5)
exten => s/XXXXXXXXXX,3,ResponseTimeout(10)
exten => s/XXXXXXXXXX,4,Authenticate(XXXXX)
exten => s/XXXXXXXXXX,5,DISA(no-password|mycontext)
Замените символы XXXXX нужным номером и PIN кодом. Тогда, позвонив на этот номер и DISA введя код, вы услышите длинный гудок, а совершаемый Вами вызов, будет обрабатываться в контексте mycontext. Не забудьте уделить достаточное внимание безопасности, дабы не дать возможности другим получить доступ к этой системе.
Аргументом команды (в файле extensions.conf ) может быть или один глобальный для всех вызовов пароль (который используется всеми) или индивидуальные пароли, которые содержаться в заданном файле. Вторым параметром может быть задан контекст, который будет использоваться для обработки вызовов из системы DISA. Если контекст не задан, то приложение DISA будет использовать контекст по умолчанию с названием "disa", т.к. предполагается, что в нормальной системе для этих целей всегда используется отдельный контекст, содержащий ограничения на исходящие из системы DISA вызовы. Аргументы могут быть заданы в одном из таких сочетаний:
- цифровой-код
- цифровой-код|контекст
- полный-путь-к-файлу-содержащиму-пароли
В файле, который содержит пароли, (если используется) поддерживается или по одному паролю на строке (тогда используется контекст "disa"), или сочетание пароль|контекст в каждой строке файла. Файл может содержать пустые строки или комментарии, которые начинаются с символа "#" или ";". В дополнение к этому, вышеприведенные аргументы, задаваемые в этом файле, могут иметь дополнительный параметр |new-callerid-string в конце определения, для определения нового (другова) callerid, который будет использоваться для исходящих вызовов, например:
numeric-passcode|context|"My Phone" <(234) 123-4567>
или
full-pathname-of-passcode-file|"My Phone" <(234) 123-4567>
Обратите внимание, что если используется цифровой пароль, то обязательно должен быть определен контекст перед параметром, который задает callerid
Коды возврата
Если авторизация прошла успешно, то далее будет совершен переход в заданный контекст (или контекст по умолчанию) и в нем будет производиться обработка набранного номера, начиная с приоритета 1. Номер екстеншена будет сформирован из набранного номера.- Asterisk password files
Пример 3
[default]
include => voicemail
include => from-sip
[from-sip]
exten => 123,1,Dial(Sip/123)
exten => 1234,1,Dial(Sip/1234)
[voicemail]
exten => 5000,1,VoiceMailMain
[incoming]
exten => s,1,Answer
exten => s,2,Background(Sound-file)
exten => 000,1,DISA(no-password|default)
- Поступает вызов из PSTN
- Asterisk принимает его (в контексте incoming)
- Абонент может сделать выбор и набрать 000, тогда он получит длинный гудок, сгенерированный asterisk
- Далее он может вызвать любой sip телефон или получить доступ к голосовой почте.
Замечание
Приведенная выше настройка имеет серьезные проблемы с безопасностью, т.к. пароль нужно использовать всегда. Тот факт, что тут его нет, еще не значит, что его не надо использовать.
Ссылки по теме:
Asterisk cmd WaitExten
Вернуться к списку команд