hostprofi.ru
Подобрать хостинг
Термин·буква S

SIP-телефония на сервере

краткое определение

SIP-телефония на сервере — развёртывание IP-АТС (Asterisk, FreeSWITCH) на VPS или выделенном сервере для обслуживания корпоративной телефонии: маршрутизация звонков, голосовое меню, запись разговоров и интеграция с CRM.

SIP (Session Initiation Protocol) — прикладной протокол сигнализации, описанный в RFC 3261 (2002), управляющий установкой, изменением и завершением мультимедийных сеансов — прежде всего голосовых звонков через IP-сеть. SIP только сигнализирует (кто, куда, что): передача голоса идёт по протоколу RTP (Real-time Transport Protocol, RFC 3550), часто через UDP. Сервер SIP-телефонии — это IP-АТС, принимающая звонки, маршрутизирующая их между абонентами и обеспечивающая дополнительные функции корпоративной АТС.

Как работает SIP-телефония

SIP-клиент (телефон, softphone, браузер с WebRTC) регистрируется на SIP-сервере методом REGISTER, указывая свой адрес. При исходящем звонке клиент отправляет INVITE с описанием поддерживаемых кодеков (SDP — Session Description Protocol). Сервер проверяет маршрут, отправляет INVITE адресату. После подтверждения (200 OK) устанавливается RTP-поток напрямую между участниками — сервер сигнализации из медиапотока исключается. Звонок завершается методом BYE.

SIP использует порт 5060 (UDP/TCP) для сигнализации и диапазон портов RTP (10000–20000 UDP) для медиа. На сервере обязательно открыть оба диапазона в файрволе. TLS+SRTP (SIP over TLS, RFC 5246; Secure RTP, RFC 3711) шифруют сигнализацию и медиа.

Программные IP-АТС

  • Asterisk — открытая IP-АТС, разработана Марком Спенсером в 1999 году. Написана на C. Поддерживает SIP, IAX2, DAHDI (физические платы). Конфигурация — текстовые файлы (sip.conf, extensions.conf) или диалплан в Lua/Python. FreePBX — веб-интерфейс поверх Asterisk.
  • FreeSWITCH — создан в 2006 году как замена Asterisk с более строгой реализацией RFC 3261. Использует sofia-sip стек от Nokia — лучшая open-source реализация SIP. Поддерживает WebRTC нативно, модульная архитектура. Подходит для операторских решений и SBC (Session Border Controller).
  • 3CX — коммерческая IP-АТС с веб-интерфейсом, поддержкой WebRTC, мобильными клиентами и встроенной интеграцией с CRM. Работает на Linux и Windows. Бесплатная версия — до 8 одновременных звонков.
  • Kamailio — SIP-прокси и регистратор для операторских нагрузок (миллионы регистраций), не IP-АТС. Применяется совместно с Asterisk/FreeSWITCH для масштабирования.

История SIP

SIP разработан IETF Марком Хэндли и Эваном Шулзринном в 1996 году. RFC 2543 (первая версия) вышел в 1999 году. RFC 3261 (действующая версия) — в июне 2002 года. Параллельно существовал стандарт H.323 от ITU-T (1996) — более сложный, применялся в видеоконференц-системах. К 2005 году SIP вытеснил H.323 как стандарт VoIP. В 2006 году FreeSWITCH появился как альтернатива Asterisk с лучшим соответствием RFC. В 2012–2015 годах WebRTC (RFC 8825) принёс SIP-совместимую сигнализацию в браузеры без дополнительного ПО.

Требования к серверу для IP-АТС

Для небольшой АТС (до 50 одновременных звонков): 2 vCPU, 2 ГБ RAM, 20 ГБ SSD на VPS — достаточно. Для 200+ одновременных звонков и записи разговоров: 8 vCPU, 16 ГБ RAM, 500 ГБ HDD для хранения записей на выделенном сервере. Ключевое требование — низкая задержка сети (jitter): при jitter >30 мс слышны артефакты. MOS (Mean Opinion Score) — стандартная метрика качества голоса; значение выше 4.0 — хорошее качество, ниже 3.5 — неприемлемое.

Безопасность: SIP-серверы регулярно сканируются на предмет несанкционированного использования (SIP fraud). Защита: запрет регистрации с неизвестных IP, fail2ban для блокировки брутфорса паролей SIP-аккаунтов, TLS для сигнализации, SRTP для медиа. IP-адрес сервера желательно не публиковать в DNS-записях, не связанных с ATS — это снижает поверхность атаки.

Для SIP-телефонии на сервере открывают порты: UDP 5060 (SIP signaling), UDP 10000-20000 (RTP media). Fail2ban с модулем asterisk-iptables блокирует брутфорс SIP-регистраций. Nginx используется как reverse proxy для веб-интерфейса АТС (FreePBX, Fusion PBX). Аудит логов через Graylog или Zabbix.

Другие термины