21 августа 2015

Архитектура SIP телефонии

Архитектура сети SIP-телефонии и история развития топологии.

Внедрение цифровой телефонной связи началось с разработки протокола для переноса принятой тогда системы организацией телефонной связи. Привычные топология, архитектура и формат передачи информации были перенесены на набирающие популярность сети передачи пакетов данных, работавших на протоколе TCP/IP. Этот протокол присваивает каждому устройству уникальный адрес, и в дальнейшем все отправляемые пакеты адресуются между уникальными адресами.

Международный союз электросвязи создал протокол H.323, позже эволюционировавший в SIP (Session Initiation Protocol) прежде всего для телефонии. Новая разработка взяла лучшее от HTTP: правила передачи данных и архитектуру построения связи, и вскоре стала наиболее популярным решением на рынке коммерческой связи.

Первым шагом при создании любой инфраструктуры является определение функционала будущей системы, и, как следствие, её архитектуры. В этом процессе балансируются требования заказчика и возможности технологии и оборудования, на ней построенного.

В архитектуре SIP именно терминал отвечает за распределение информации, соединение с абонентами, контроль адресации и доставки пакетов, а остальные элементы сети либо заняты маршрутизацией и дополнительным функционалом, либо являются конечными абонентами. SIP-терминал по сути является агентом пользователя - User Agent (UA).

В сетевой инфраструктуре участвуют ещё один тип компонентов — это прокси-сервер. Его главная задача – прием и обработка запроса. Кроме этого, прокси может отслеживать пользователя в сети, его вызов, прохождение сигнала, предоставление услуг и другие задачи. Так как он тоже состоит из клиентской и серверной частей, то может принимать и инициировать вызовы и т. п.

Прокси-сервер может быть совмещен с сервером местоположения или установлен отдельно; в любом случае они будут взаимодействовать по протоколу LDAP (RFC 1777), rwhios (RFC 2167) и некоторым другим процессам.

В функционал прокси-сервера также может входить сохранение информации о входящем запросе и всех сгенерированных на его основе дальнейших запросах. Поскольку эта информация должна храниться до конца транзакции, на ее поддержание требуются ресурсы сервера, что уменьшает его быстродействие. Такое решение подходит для небольших локальных сетей, где количество абонентов не так велико, и уменьшение быстродействия сервера не сильно влияет на саму связь.

Прокси-сервер хранит в себе данные, если:

  • используется стандартный протокол передачи сигнала TCP;
  • многоадресная рассылка сигнала;
  • и размножаются запросы.

Прокси-сервер без сохранения данных только переадресует запросы и ответы, которые к нему приходят. Так как он не ведет запись сведений о сигнале, то и работает быстрее. Такие сервера целесообразно использовать при большом количестве абонентов – в данном случае уменьшение функционала решается в пользу скорости обработки. При этом один и тот же сервер можно использовать в двух вариантах, как с сохранением информации, так и без.

SIP-сети с прокси-сервером работают по следующему алгоритму: провайдер телефонии сообщает IP адрес прокси всем пользователям. Теперь абонент отправляет запрос на соединение с другим абонентом, сервер определяет его местонахождение, и эту информацию, вместе с запросом на подключение отправляет тому, кому позвонили. Если этот телефон в сети и доступен для звонка, обратно уходит ответ, подтверждающий, что запрос принят, обработан, и абоненты могут быть соединены друг с другом.

Сервер переадресации в составе сети необходим для определения IP-адреса вызываемого абонента. Для этого он взаимодействует с сервером определения местоположения, никаких дополнительных действий типа терминации, инициации собственного запроса, не требуется.

При условии, что у вызывающего абонента есть адрес вызываемого, можно обойтись без отдельного узла для переадресации.

Одна из важных особенностей SIP-телефонии – свободное перемещение абонента по сети. При наличии подключения устройство, например телефон, мгновенно включается в работу; изменение настроек не требуется. Отчасти это заслуга сервера определения местоположения пользователей. Именно он регистрирует местонахождение абонента – в любой точке планеты – либо по присвоенному IP-адресу, либо дискретно по времени с предустановленными интервалами. Адреса абонентов находятся в базе данных - как постоянный адрес, так и временное расположение.

Исходя из вышеперечисленного, архитектура SIP сети выглядит следующим образом:


Непосредственно SIP серверы могут быть реализованы на базе серверов ЛКС. Пользовательские терминалы могут представлять собой ПК или ноутбуки с определенным ПО, или SIP-телефон, который можно подключить «мостом» - между розеткой и персональным компьютером, избежав прокладки дополнительных коммуникаций.

С помощью программного обеспечения SIP-сервер может вести работу с разными абонентами в разных режимах, тем самым делая SIP удобной пользователю и экономя средства на телефонных разговорах.