Читаем Asterisk™: будущее телефонии Второе издание полностью

Таким образом, добавляя слэш и имя, мы сообщаем противоположному концу, что должно быть указано в качестве краткого имени пользователя в поле Proxy Authorization (Авторизация прокси) SIP-сообщения INVITE.

Весь остальной файл занимает блок авторизации, используемый для управления входящими и исходящими вызовами другого сервера Asterisk. Сервер Торонто использует блок авторизации [osaka], и сервер Осака использует блок [toronto]. Определен тип friend, что позволяет принимать и направлять вызовы к другому серверу Asterisk. Параметр secret (секрет) - это пароль, который должна использовать другая система при аутентификации. Параметр context (контекст) указывает, в какой части диалплана (extensions.conf) обрабатываются входящие вызовы. Для параметра host задано значение dynamic (динамический), это указывает серверу Asterisk на то, что противоположный конец сообщит свой IP-адрес, на который следует направлять адресованные ему звонки, при регистрации. Наконец, с помощью параметров disallow (запретить) и allow (разрешить) можно определять, какие кодеки будут использоваться при общении с противоположным концом. После сохранения файла и перезагрузки SIP-канала на обоих серверах Asterisk (выполнение команды sip reload из консоли Asterisk) в окне командной строки должно быть выведено примерно следующее сообщение, что свидетельствует об успешной регистрации удаленного сервера:

*CLI> -- Saved useragent "Asterisk PBX" for peer toronto (Для равноправного участника сети торонто сохранен агент пользователя "офисная АТС Asterisk") После выполнения команды sip show peers статус хоста Unspecified (Не определен) должен быть замен IP-адресом удаленного сервера: *CLI> sip show peers

Name/username Host Dyn Nat ACL Port Status

toronto/osaka 192.168.2.202 D 5060 Unmonitored

Убедиться в успешности собственной регистрации можно, выполнив команду sip show registry из консоли Asterisk: *CLI> sip show registry

Host Username Refresh State Reg.Time

192.168.1.101:5060 osaka 105 Registered Sun, 22 Apr 2007 19:13:20

Теперь, когда оба сервера Asterisk довольны друг другом, займемся конфигурацией пары SIP-телефонов, чтобы иметь возможность позвонить.

Конфигурация SIP-телефона

Подробнее о конфигурации SIP-телефонов в Asterisk рассказывается в разделе «Конфигурация канала FXS для аналогового телефона» данной главы. Ниже представлена конфигурация SIP-телефона в файле sip.conf для каждого из двух серверов, которые будут использоваться в диалплане в следующем разделе, предоставляющая нам две конечные точки для установления соединения. Эти строки должны быть добавлены в конце файла sip.conf для каждого соответствующего сервера.

Файл sip.conf для сервера Торонто:

[1000] type=friend host=dynamic context=phones

Файл sip.conf для сервера Осака:

[1001] type=friend host=dynamic context=phones

Теперь для сервера Торонто должен быть зарегистрирован добавочный номер 1000, а для сервера Осака - 1001. Убедиться в этом можно с помощью команды sip show peers. Далее мы собираемся сконфигурировать логику диплплана, что позволит производить звонки с одного добавочного номера на другой.

Конфигурация диалплана

Теперь можно сконфигурировать простой диалплан для каждого сервера, который позволит выполнять звонки между зарегистрированными телефонами: один для Торонто, а другой - для Осаки. В разделе «Работа с конфигурационными файлами интерфейсов» данной главы мы создали простой файл extensions.conf. Теперь давайте на базе этой конфигурации создадим диалплан. Диалпланы обоих серверов будут очень похожи, но для ясности здесь приведены оба. Новые строки, добавленные в существовавший до этого файл, выделены курсивом:

Файл extensions.conf для Торонто:

[globals]

[general]

autofallthrough=yes

[default]

[incoming_calls]

[phones]

include => internal include => remote

[internal]

exten => _2XXX,1,NoOp

exten => _2XXX,n,Dial(SIP/${EXTEN},30)

exten => _2XXX,n,Playback(the-party-you-are-calling&is-curntly-unavail) exten => _2XXX,n,Hangup

[remote]

exten => _1XXX,1,NoOp

exten => _1XXX,n,Dial(SIP/osaka/${EXTEN})

exten => _1XXX,n,Hangup

[osaka_incoming] include => internal

Файл extensions.conf для Осаки:

[globals]

[general]

autofallthrough=yes [default] [incoming_calls] [phones]

include => internal include => remote

[internal]

exten => _1XXX,1,NoOp

exten => _1XXX,n,Dial(SIP/${EXTEN},30)

exten => _1XXX,n,Playback(the-party-you-are-calling&is-curntly-unavail) exten => _1XXX,n,Hangup

[remote]

exten => _2XXX,1,NoOp

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT