Объединение двух офисов через SIP Trunk в Asterisk: звонки по 3-значным номерам
Задача: объединить телефонию главного офиса и филиала
У компании есть центральный офис в Москве (номера 1XX) и удаленный филиал в Санкт-Петербурге (номера 2XX). Сотрудники тратят бюджет компании на междугородние звонки по сотовой связи, не могут быстро перевести звонок клиента коллеге из другого города или позвонить по короткому внутреннему номеру.
План единого номерного пространства (Диалплан)
| Филиал | Диапазон номеров | IP-адрес АТС | Правило набора |
|---|---|---|---|
| Офис Москва | 100–199 | 192.168.10.5 (или white IP A) | Набирает 2XX → уходит в Питер |
| Филиал СПБ | 200–299 | 192.168.20.5 (или white IP B) | Набирает 1XX → уходит в Москву |
Пошаговая настройка PJSIP транка между двумя серверами Asterisk
Шаг 1. Настройка транка на АТС Москва (pjsip.conf)
; Транк в сторону филиала Санкт-Петербург
[trunk-to-spb]
type = endpoint
transport = transport-udp
context = from-internal
disallow = all
allow = alaw,ulaw
aos_endpoint = 192.168.20.5:5060
[spb-identify]
type = identify
endpoint = trunk-to-spb
match = 192.168.20.5Шаг 2. Настройка транка на АТС СПБ (pjsip.conf)
; Транк в сторону Москвы
[trunk-to-moscow]
type = endpoint
transport = transport-udp
context = from-internal
disallow = all
allow = alaw,ulaw
aos_endpoint = 192.168.10.5:5060
[moscow-identify]
type = identify
endpoint = trunk-to-moscow
match = 192.168.10.5Шаг 3. Маршрутизация вызовов (extensions.conf)
На сервере Москвы добавляем правило: если менеджер набирает номер, начинающийся с двойки (2XX), отправлять звонок в транк СПБ:
; В диалплане Москвы:
exten => _2XX,1,NoOp(Звонок в филиал СПБ)
same => n,Dial(PJSIP/${EXTEN}@trunk-to-spb,30)
same => n,Hangup()На сервере Санкт-Петербурга добавляем зеркальное правило для звонков на номера 1XX:
; В диалплане СПБ:
exten => _1XX,1,NoOp(Звонок в Москву)
same => n,Dial(PJSIP/${EXTEN}@trunk-to-moscow,30)
same => n,Hangup()Безопасность: При объединении АТС через публичный интернет обязательно соединяйте офисы через зашифрованный VPN-туннель (IPSec, WireGuard, OpenVPN). Никогда не открывайте PJSIP транки без авторизации наружу во внешний мир!
Частые вопросы (FAQ)
Нужно ли платить оператору связи за звонки между офисами через транк?
Нет! Звонки идут исключительно через интернет-канал между вашими серверами по протоколу VoIP. Они абсолютно бесплатны независимо от расстояния.
Можно ли переводить входящие городские звонки клиента между филиалами?
Да. Менеджер в Москве может нажать кнопку перевода (Transfer или клавиши ## / *2) и набрать внутренний номер 205 коллеги в Питере.
Что выбрать для связи АТС: IAX2 или PJSIP транк?
Протокол <b>IAX2</b> (Inter-Asterisk eXchange) удобнее для связи двух систем Asterisk, так как передает сигнализацию и голос по одному единственному UDP-порту 4569, вообще не испытывая проблем с NAT.
Что произойдет, если в филиале упадет интернет?
В диалплане можно настроить резервный маршрут (Failover): если транк недоступен, звонок автоматически перенаправляется на мобильный номер сотрудника через обычную городскую линию.