Описание процесса объединения двух Asterisk серверов с помощью протокола IAX, используя графический интерфейс FreePBX версии 13. Пример основан на двух офисах компании, расположенных в Москве и Новосибирске.
Схема сети и нумерация
Компания имеет два офиса: московский и новосибирский. Каждый офис оснащен Asterisk сервером, маршрутизатором и другой сетевой аппаратурой.
- Москва: внутренняя подсеть 192.168.10.0/24. Телефонная нумерация начинается с 1 (трёхзначные номера от 100 до 199).
- Новосибирск: внутренняя подсеть 192.168.20.0/24. Телефонная нумерация начинается с 2 (трёхзначные номера от 200 до 299).
Офисы соединены VPN-соединением, обеспечивающим сетевую связь между подсетями. Это позволяет, например, пинговать устройства из одного офиса в другой по внутренним IP-адресам.
Выбор протокола IAX обусловлен тем, что он является проприетарной разработкой Asterisk. Использование IAX позволяет использовать собственную, проверенную технологию.
Настройка и тестирование
Для демонстрации используются два софтфона:
- 101 (MicrоSIP) – зарегистрирован на московском Asterisk сервере (IP-адрес 192.168.1.167).
- 201 (Phone or Light) – зарегистрирован на новосибирском Asterisk сервере (IP-адрес 192.168.1.168).
В примере, для упрощения, используется одна подсеть для обоих Asterisk серверов. В реальной сети рекомендуется использовать разные подсети.
Настройка транков и маршрутов в FreePBX
Для соединения Asterisk серверов необходимо создать два транка и два маршрута.
На московском Asterisk сервере:
- Добавить транк: Тип транка – IAX2. Имя транка – novosib (в сторону Новосибирска).
- Настройки IAX:
- Outgoing: username=novosib, host=192.168.1.168, secret=[пароль], context=from-internal, disallow=all, allow=g711ulaw.
- Incoming: username=moscow, secret=[пароль].
На новосибирском Asterisk сервере:
- Добавить транк: Тип транка – IAX2. Имя транка – moscow (в сторону Москвы).
- Настройки IAX:
- Outgoing: username=moscow, host=192.168.1.167, secret=[пароль], context=from-internal, disallow=all, allow=g711ulaw.
- Incoming: username=novosib, secret=[пароль].
На обоих Asterisk серверах:
- Маршруты:
- Москва: Маршрут для вызовов на номера, начинающиеся с 2 (Новосибирск). Транк – novosib. Паттерн – 2xx.
- Новосибирск: Маршрут для вызовов на номера, начинающиеся с 1 (Москва). Транк – moscow. Паттерн – 1xx.
После настройки проверьте статус транков и пиров командами sip show peers и iax2 show peers. Выполните тестовый звонок между софтфонами 101 и 201 в обоих направлениях.
Настройка связи между двумя Asterisk серверами с использованием протокола IAX успешно завершена. Тестирование подтвердило работоспособность системы.