Интеграция протокола SIP с IP-сетями.
Одной из важнейших особенностей протокола SIP является его независимость от транспортных технологий. Но в то же время предпочтение отдается технологии маршрутизации пакетов IP и протоколу UDP. Следует оговорить, что для этого необходимо создать дополнительные механизмы надежной доставки сигнальной информации. К таким механизмам относятся повторная передача информации при ее потере, подтверждение приема и др [3]. Сигнальные сообщения могут переноситься как протоколом транспортного уровня UDP, так и протоколом TCP. Протокол UDP позволяет быстрее, чем TCP, доставлять сигнальную информацию (даже с учетом повторной передачи неподтвержденных сообщений), а также вести параллельный поиск местоположения пользователей и передавать приглашения к участию в сеансе связи в режиме многоадресной рассылки. В свою очередь, протокол TCP упрощает работу с межсетевыми экранами (firewall), а также гарантирует надежную доставку данных. При использовании протокола TCP разные сообщения, относящиеся к одному вызову, могут либо передаваться по одному TCP-соединению, либо для каждого запроса и ответа на него может открываться отдельное TCP-соединение. На рисунке 2.1 показано место, занимаемое протоколом SIP в стеке протоколов TCP/IP [5]. По сети с маршрутизацией пакетов IP может передаваться пользовательская информация практически любого вида: речь, видео и данные, а также любая их комбинация. При организации связи между терминалами пользователей необходимо сообщить встречной стороне, какого рода информация может приниматься (передаваться), алгоритм ее кодирования и адрес, на который следует передавать информацию. Таким образом, одним из обязательных условий организации связи при помощи протокола SIP является обмен между сторонами данными об их функциональных возможностях. Для этой цели чаще всего используется протокол описания сеансов связи - SDP (Session Description Protocol). Поскольку в течение сеанса связи может производиться его модификация, предусмотрена передача сообщений SIP с новыми описаниями сеанса средствами SDP [3].
Рисунок 2.1 Место протокола SIP в стеке протоколов TCP/IP.
Для передачи речевой информации комитет IETF предлагает использовать протокол RTP, рассмотренный выше, но сам протокол SIP не исключает возможность применения для этих целей и других протоколов. Протокол SIP предусматривает организацию конференций трех видов [5,6]: · в режиме многоадресной рассылки (multicasting), когда информация передается на один multicast-адрес, откуда затем доставляется сетью конечным адресатам; · при помощи контроллера управления конференции (MCU), к которому участники конференции передают информацию в режиме «точка-точка», а контроллер обрабатывает информацию (т. е. смешивает или коммутирует) и рассылает ее участникам конференции; · путем соединения каждого пользователя с каждым в режиме «точка-точка». Протокол SIP дает возможность присоединения новых участников к уже существующему сеансу связи, т. е. двусторонний сеанс может перейти в конференцию.
Адресация.
Для организации взаимодействия с существующими приложениями IP-сетей и для обеспечения мобильности пользователей протокол SIP использует адрес, подобный адресу электронной почты. В качестве адресов рабочих станций используются специальные универсальные указатели ресурсов - так называемые SIP URL (Universal Resource Locators) [3]. SIP-адреса бывают четырех типов: · имя@домен; · имя@хост; · имя@IР-адрес; · №телефона@шлюз. Таким образом, адрес состоит из двух частей. Первая часть - это имя пользователя, зарегистрированного в домене или на рабочей станции. Если вторая часть адреса идентифицирует какой-либо шлюз, то в первой указывается телефонный номер абонента.
Во второй части адреса указывается имя домена, рабочей станции или шлюза. Для определения IP-адреса устройства необходимо обратиться к службе доменных имен - Domain Name Service (DNS) [5]. Если же во второй части SIP-адреса размещается IP-адрес, то с рабочей станцией можно связаться напрямую. В начале SIP-адреса ставится слово «sip:», указывающее, что это именно SIP-адрес. Примеры SIP-адресов: · sip: als@rts.loniis.ru · sip: user1@192.168.100.152
Архитектура сети SIP.
На рисунке 2.4 представлена упрощенная схема действия протокола [5]. Рисунок 2.2 Архитектура «клиент-сервер».
Клиент выдает запросы, в которых указывает, что он желает получить от сервера. Сервер принимает запрос, обрабатывает его и выдает ответ, который может содержать уведомление об успешном выполнении запроса, уведомление об ошибке или информацию, затребованную клиентом. Управление процессом обслуживания вызова распределено между разными элементами сети SIP. Основным функциональным элементом, реализующим функции управления соединением, является терминал. Остальные элементы сети отвечают за маршрутизацию вызовов, а в некоторых случаях предоставляют дополнительные услуги. В протоколе SIP устанавливаются следующие основные компоненты [5]: · Терминал. В случае, когда клиент и сервер взаимодействуют непосредственно с пользователем, они называются, соответственно, клиентом агента пользователя - User Agent Client (UAC) и сервером агента пользователя - User Agent Server (UAS). · Прокси-сервер. Прокси-сервер принимает запросы, обрабатывает их и, в зависимости от типа запроса, выполняет определенные действия. Это может быть поиск и вызов пользователя, маршрутизация запроса, предоставление услуг и т. д. Прокси-сервер состоит из клиентской и серверной частей, поэтому может принимать вызовы, инициировать собственные запросы и возвращать ответы. Прокси-сервер может быть физически совмещен с сервером определения местоположения или существовать отдельно от него. Предусмотрено два типа прокси-серверов – с сохранением состояний (stateful) и без сохранения состояний (stateless). Сервер первого типа хранит в памяти входящий запрос, который явился причиной генерации одного или нескольких исходящих запросов. Эти исходящие запросы сервер также запоминает. Все запросы хранятся в памяти сервера только до окончания транзакции, т. е. до получения ответов на запросы. Он позволяет предоставить большее количество услуг, но работает медленнее, чем сервер второго типа. Он может применяться для обслуживания небольшого количества клиентов, например, в локальной сети [3]. Прокси-сервер должен сохранять информацию о состояниях, если он:
o использует протокол TCP для передачи сигнальной информации; o работает в режиме многоадресной рассылки сигнальной информации; o размножает запросы. Последний случай имеет место, когда прокси-сервер ведет поиск вызываемого пользователя сразу в нескольких направлениях, т. е. один запрос, который пришел к прокси-серверу, размножается и передается одновременно по всем этим направлениям. Сервер без сохранения состояний просто ретранслирует запросы и ответы, которые получает. Он работает быстрее, чем сервер первого типа, так как ресурс процессора не тратится на запоминание состояний, вследствие чего сервер этого типа может обслужить большее количество пользователей. Недостатком такого сервера является то, что на его базе можно реализовать лишь наиболее простые услуги [5]. Впрочем, прокси-сервер может функционировать как сервер с сохранением состояний для одних пользователей и как сервер без сохранения состояний - для других. Алгоритм работы пользователей с прокси-сервером выглядит следующим образом [3]. Поставщик услуг IP-телефонии сообщает адрес прокси-сервера своим пользователям. Вызывающий пользователь передает к прокси-серверу запрос соединения. Сервер обрабатывает запрос, определяет местоположение вызываемого пользователя и передает запрос этому пользователю, а затем получает от него ответ, подтверждающий успешную обработку запроса, и транслирует этот ответ пользователю, передавшему запрос. Прокси-сервер может модифицировать некоторые заголовки сообщений, которые он транслирует, причем каждый сервер, обработавший запрос в процессе его передачи от источника к приемнику, должен указать это в SIP-запросе для того, чтобы ответ на запрос вернулся по такому же пути.
· Сервер переадресации. Сервер переадресации предназначен для определения текущего адреса вызываемого пользователя. Вызывающий пользователь передает серверу сообщение с известным ему адресом вызываемого пользователя, а сервер обеспечивает переадресацию вызова на текущий адрес этого пользователя. Для реализации этой функции сервер переадресации должен взаимодействовать с сервером определения местоположения. · Сервер определения местоположения пользователей. Пользователь может перемещаться в пределах сети, поэтому необходим механизм определения его местоположения в текущий момент времени. Для хранения текущего адреса пользователя служит сервер определения местоположения пользователей, представляющий собой базу данных адресной информации. Кроме постоянного адреса пользователя, в этой базе данных может храниться один или несколько текущих адресов [5]. Этот сервер может быть совмещен с прокси-сервером или быть реализован отдельно от прокси-сервера, но иметь возможность связываться с ним.
Пример SIP-сети. Сети SIP обычно строятся из элементов трех основных типов: терминалов, прокси-серверов и серверов переадресации. На рисунке 2.3 [5] приведен пример возможного построения сети SIP.
Рисунок 2.3 - Пример построения сети SIP.
Терминалы могут быть двух типов: · Персональный компьютер со звуковой платой и программным обеспечением SIP-клиента. · SIP-телефон, подключающийся непосредственно к ЛВС Ethernet. Путем программирования сервер можно настроить на разные алгоритмы работы: он может обслуживать часть пользователей по одним правилам, а другую часть - по иным. В протоколе SIP определены два вида сигнальных сообщений - запрос и ответ. Они имеют текстовый формат и базируются на протоколе HTTP. В запросе указываются процедуры, вызываемые для выполнения требуемых операций, а в ответе – результаты их выполнения. Определены шесть процедур [5]: · INVITE - приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования); · BYE - завершает соединение между двумя пользователями; · OPTIONS - используется для передачи информации о поддерживаемых характеристиках (эта передача может осуществляться напрямую между двумя агентами пользователей или через сервер SIP); · АСК - используется для подтверждения получения сообщения или для положительного ответа на команду INVITE;
· CANCEL - прекращает поиск пользователя; · REGISTER - передает информацию о местоположении пользователя на сервер SIP, который может транслировать ее на сервер адресов (Location Server). Возможный сценарий установления и завершения сеанса связи по протоколу SIP показан на рисунке 2.4 [3] Рисунок 2.4 - Возможный сценарий установления и завершения сеанса связи по протоколу SIP.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|