Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
n friend – разрешены как исходящие, так и входящие вызовы.
Поле host позволяет определить IP-адрес, с которого разрешены подключения для данного клиента. В нашем случае задавать такое ограничение особого смысла нет, поэтому оставим динамические адреса (dynamic). Поля username и secret определяют имя пользователя и пароль, которые должны использоваться клиентом при регистрации. Dtmfmode задает способ передачи сигналов DTMF. Параметр nat говорит, может ли данный клиент работать из-за NAT. Canreinvite разрешает (yes) или запрещает (no) установку прямого соединения между участниками (минуя Asterisk). Некоторые клиенты поддерживают строго определенные способы работы, что необходимо отражать в файлах конфигурации. Context – имя контекста, в котором будет находиться данный абонент. CallerID – идентификационная строка, отображается при звонках от данного пользователя (АОН).
После задания всех вышеописанных настроек и сохранения файла sip.conf перейдем к определению номерного плана. Для этого нам понадобится отредактировать файл /etc/asterisk/extensions.conf. Но, прежде чем запустить редактор, давайте более детально посмотрим на то, что входит в стандартную поставку.
Номерной план в Asterisk (Dial plan) задается при помощи так называемых расширений (extension). В файле стандартной установки можно увидеть следующее:
[demo]
exten => s,1, Wait,1
exten => s,n, Answer
exten => s,n, SetVar(TIMEOUT(digit)=5)
exten => s,n, SetVar(TIMEOUT(response)=10)
exten => s,n(restart), BackGround(demo-congrats)
exten => s,n(instruct), BackGround(demo-instruct)
exten => s,n, WaitExten
Обработка контекста demo начинается с записей, в которых «s» является первым символом. Так, сначала Asterisk подождет 1 секунду, потом поднимет трубку и ответит на звонок, установит значения переменных (строки 2, 3), проиграет содержимое файлов demo-congrats и demo-instruct и будет ожидать набора добавочного номера. Следующие строки определяют конкретные номера в контексте demo:
exten => 2,1, BackGround(demo-moreinfo)
exten => 2,n,Goto(s,instruct)
exten => 3,1, SetVar(Language()=fr)
exten => 3,2, Goto(s, restart)
exten => 8500, 1, VoiceMailMain
exten => 8500, n, Goto,s
exten => 1000, 1, Goto(default,s,1)
Итак, определены 4 номера – 2, 3, 8500 и 100. При звонке на номер 2 мы прослушаем сообщение demo-moreinfo, после которого Asterisk перенаправит нас в начало, к сообщению demo-instruct. Набрав номер 3, мы изменим язык данной сессии на французский. (Чтобы Asterisk мог «разговаривать» с вами на французском языке, необходимо наличие соответствующих файлов озвучки в папке /var/lib/asterisk/sounds/fr.) При наборе номера 8500 нам ответит система голосовой почты Asterisk. Номер 1000 отправит нас в начало контекста demo.
Надеюсь, что теперь ситуация с контекстами немного прояснилась. Теперь добавим наши телефоны в этот номерной план. Для этого создадим следующий контекст:
[office]
exten => 200,1, Macro(stdexten,200,SIP/200)
exten => user1, 1, Goto(200|1)
exten => 201,1, Macro(stdexten,201,SIP/201)
exten => user2, 1, Goto(201|1)
exten => 202,1, Macro(stdexten,202,SIP/202)
exten => user3, 1, Goto(202|1)
include => demo