Команда 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

Вернуться к списку команд