Всем привет.
Хочу представить пакет, над которым работал последнее время: SipRegistrar.
Он решает довольно узкую, но вполне реальную задачу — объединяет функции классического pfSense маршрутизатора и SIP-маршрутизатора в одном устройстве для небольших офисов, мастерских и складов и.т.п.
Если вы когда-нибудь разворачивали отдельную АТС (Asterisk/FreeSWITCH) только ради того, чтобы 5–50 офисных IP телефонов звонили друг другу по коротким номерам, или чтобы подключить пару аналоговых шлюзов к внешним операторам, — вы знаете это чувство: избыточность. Лишняя VM или Raspberry Pi, ещё один сервер на обновлениях, ещё одна точка отказа.
Этот пакет убирает промежуточное звено.
Что делает пакет
Пакет устанавливает Kamailio 6.1.1 на pfSense 2.7.2 и превращает ваш существующий межсетевой экран в независимого от вендора SIP-регистрара.
Любые устройства, совместимые с RFC 3261 — Grandstream, Yealink, Cisco, Fanvil, Snom или софтфоны (Zoiper, MicroSIP и др.) — могут зарегистрироваться и звонить друг другу по коротким номерам (2–5 цифр).
Также поддерживается:
Маршрутизация вызовов на внешние SIP-транки (например, Zadarma, Ростелеком или любой другой провайдер) и аналоговые FXO/FXS-шлюзы (Yeastar, Grandstream, AudioCodes и т.п.);
Маршрутизация по префиксам номеров — вызовы с 9 на один транк, с 8 на другой;
Входящая маршрутизация DID с разделением на рабочее / нерабочее время;
Группы вызовов (Ring Groups) — параллельный обзвон всех участников или последовательный (hunt) с таймаутами;
Полноценный веб-интерфейс в стиле pfSense: Services → SIP Registrar со вкладками:
*статус регистраций в реальном времени;
*активные вызовы;
*история звонков (CDR) с фильтром по номеру и сортировкой.
Без медиа-прокси — RTP идёт напрямую между телефонами (peer‑to‑peer). Это даёт минимальную задержку и практически нулевую нагрузку на CPU. Именно поэтому решение отлично подходит для работы в локальных сетях (офисы, производственные помещения, склады, домашние лаборатории).
Зачем это нужно
pfSense — надёжный маршрутизатор и фаервол. Kamailio — эталонный SIP-роутер. Но до сих пор не было простого, управляемого через GUI пакета, который склеил бы их в рамках одной системы, не превращая роутер в полноценную АТС.
Данный пакет закрывает этот пробел. Он не заменяет Asterisk/FreeSWITCH — в нём нет голосовой почты, IVR, конференций, B2BUA и прочих «взрослых» фич. Но если ваша базовая потребность — внутренняя связь по коротким номерам + разумная маршрутизация через шлюзы/транки, то это решение делает ровно это с почти нулевым обслуживанием.
Быстрый старт
Скопируйте пакет на pfSense. Например в каталог /tmp.
Подключитесь по SSH к pfSense и выполните скрипт установки из каталога /tmp/offline командой sh install.sh.
Добавьте входящее правило файрвола, разрешающее UDP-трафик на порт 5060 (или на тот порт, который вы укажете в настройках) на вашем LAN-интерфейсе.
Настройте телефоны, шлюзы, транки и маршрутизацию через веб-интерфейс (Services → SIP Registrar).
Укажите на IP телефонах (шлюзах) в качестве SIP-сервера IP-адрес pfSense — и всё.
Подробные скриншоты и пошаговые инструкции есть в репозитории.
качаем тут GitHub: https://github.com/humaxoid/SipRegistar
Лицензия: BSD 2‑Clause
Пакет активно поддерживается. Буду рад баг-репортам, предложениям по функциональности и конструктивной обратной связи. Если у вас в офисе сейчас висит отдельный сервер с АТС только ради внутренней маршрутизации — попробуйте эту связку, возможно, она заметно упростит вашу инфраструктуру.
Удачи с установкой!