Распределенная архитектура IP – АТС Asterisk привлекательна своей локальной отказоустойчивостью по сравнению с централизованной. Например, если у вас установлен единичный экземпляр АТС в центральном офисе, а филиалы подключены через VPN, то при отказе без связи останутся все. С другой стороны, если в каждой филиале имеется собственная IP – АТС Asterisk, при отказе филиальной АТС без связи остается только филиал.
У администраторов возникает вполне логичный вопрос – как объединить между собой все экземпляры IP – АТС в единую корпоративную систему связи? У нас есть ответ. О том, как объединить несколько IP – АТС Asterisk по протоколу IAX расскажем в статье. Конфигурация будет произведена с помощью графического интерфейса FreePBX 13.
Пошаговое видео
Сценарий
Представим, что вы честный системный администратор в компании, занимающейся производством мебели. У компании есть центральный офис в Москве и производство в Новосибирске. На уровне L3 сетевая связность между локальными сетями офисов обеспечена технологией VPN. В Московском офисе мы используем нумерацию 1XX (100-199), а в Новосибирске 2XX (200-299).
Для корректной настройки от нас потребуется создать 2 IAX транка на каждом из филиалов и создать соответствующие маршрута. IP – адресация на нашем стенде следующая:
- Москва - 192.168.1.67
- Новосибирск - 192.168.1.68
Настройки Московского филиала
Приступаем к настройке Московского филиала. Переходим в раздел Connectivity → Trunks и добавляем новый IAX транк нажатием +Add Trunk → Add IAX2 Trunk. В поле Trunk Name вкладки Outgoing вводим novosib, а в сегменте PERR Details вносим следующие настройки:
username=novosib host=192.168.1.68 type=peer secret=wikimerion qualify=yes context=from-trunk disallow=all allow=alaw
После настройки исходящих параметров, приступаем к настройке входящих для Московского филиала. Открываем вкладку Incoming. В поле User Context укажите moscow, а в разделе следующие настройки:
host=192.168.1.68 type=user secret=wikimerion qualify=yes context=from-internal disallow=all allow=alaw
Нажимаем Submit. Переходим к настройке исходящего маршрута в Московском филиале. Нам нужно будет осуществлять звонки с 1XX на 2XX номера, следовательно, в шаблоне набора мы укажем IP – АТС Asterisk отправлять все вызовы, в которых пользователи набрали трехзначный номер начинающийся с двойки в транк до Новосибирска. Переходим в раздел Connectivity → Outbound Routes и нажимаем + Add Outbound Route:
После указания настроек нажимаем Submit и Apply Config
Настройки Новосибирского филиала
Теперь произведем необходимые настройки для филиала в Новосибирске. Переходим по пути Connectivity → Trunks → +Add Trunk → Add IAX2 Trunk. В Outgoing секции указываем имя moscow и следующие параметры:
username=moscow host=192.168.1.67 type=peer secret=wikimerion qualify=yes context=from-trunk disallow=all allow=alaw
Теперь в секции Incoming указываем контекст novosib и следующие опции конфигурации:
host=192.168.1.67 type=user secret=wikimerion qualify=yes context=from-internal disallow=all allow=alaw
Делаем исходящий маршрут для звонков в Москву. Переходим в Connectivity → Outbound Routes и нажимаем + Add Outbound Route:
Нажимаем Submit и Apply Config
Проверка
Для проверки наших настроек, в каждом из филиалов дадим команду iax2 show peers
. Как видим, наши транки в статусе OK
Теперь, при звонках с московских внутренних номеров, которые зарегистрированы на московской IP – АТС Asterisk в сторону новосибирского филиала на номера вида 2XX, мы сможем дозвониться, и, что самое главное, на телефонах принимающей стороны будет виден внутренний номер звонящего.