Часто бывает необходимо объединить в единый номерной план несколько территориально разнесенных офисных помещений и в Asterisk это делается элементарно.
Объединить сервера ip-телефонии можно по протоколу SIP или IAX. Рекомендуется использовать протокол IAX, т.к. в отличии от SIP он использует единый порт для передачи голоса и сигнальной информации, что упрощает настройку межсетевых экранов. Так же плюсом IAX является то, что он позволяет объединять каналы. В нем используется метод отправки голосовых данных множества звонков под одним заголовком. Для одного, двух одновременных вызовов эффект от этой возможности невелик, но если между точками выполняются десятки или сотни звонков, выигрыш в пропускной способности за счет использования объединения каналов может быть огромным.
Рассмотрим настройку двух серверов Asterisk.
Первый назовем – Syktyvkar, с номерным планом 1XX.
Второй назовем – Uhta, с номерным планом 2XX.
Настраиваем сервер Syktyvkar:
Редактируем конфигурационный файл iax.conf:
[general]
bindport=4569 ; порт, на который принимать запросы
bindaddr=192.168.0.1 ; ip-адрес, на который принимать запросы
autokill=yes ; гарантирует, что новые соединения, устанавливаемые
; удаленной стороной и не получившие подтверждения,
; корректно завершаются
; Регистрируемся на удаленном сервере
register => syktyvkar:[email protected]
[uhta]
type=friend
trunk=yes ; объединение каналов
secret=password
host=dynamic
context=incoming
Добавляем в extensions.conf маршрут на удаленный сервер (для номеров 2xx):
[uhta]
exten => _2XX,1,Dial(IAX2/uhta/${EXTEN})
exten => _2XX,n,Hangup
Аналогичные настройки делаем и для сервера Uhta.
Редактируем конфигурационный файл iax.conf:
[general]
bindport=4569 ; порт, на который принимать запросы
bindaddr=192.168.1.1 ; ip-адрес, на который принимать запросы
autokill=yes ; гарантирует, что новые соединения, устанавливаемые
; удаленной стороной и не получившие подтверждения,
; корректно завершаются
; Регистрируемся на удаленном сервере
register => uhta:[email protected]
[syktyvkar]
type=friend
trunk=yes ; объединение каналов
secret=password
host=dynamic
context=incoming
Добавляем в extensions.conf маршрут на удаленный сервер (для номеров 1xx):
[syktyvkar]
exten => _1XX,1,Dial(IAX2/syktyvkar/${EXTEN})
exten => _1XX,n,Hangup