Смекни!
smekni.com

VOIP, Стандарты H.323/SIP (стр. 3 из 5)

Рисунок 3. Место протокола SIP в стеке протоколов TCP/IP (http://phone.icf.bofh.ru/voip/3/glava7.files/image002.jpg)

По сети с маршрутизацией пакетов IP может передаваться пользовательская информация практически любого вида: речь, видео и данные, а также любая их комбинация. При организации связи между терминалами пользователей необходимо сообщить встречной стороне, какого рода информация может приниматься (передаваться), алгоритм ее кодирования и адрес, на который следует передавать информацию. Таким образом, одним из обязательных условий организации связи при помощи протокола SIP является обмен между сторонами данными об их функциональных возможностях. Для этой цели чаще всего используется протокол описания сеансов связи - SDP (Session Description Protocol). Поскольку в течение сеанса связи может производиться его модификация, предусмотрена передача сообщений SIP с новыми описаниями сеанса средствами SDP».( Гольдштейн Б.С., Гойхман В.Ю., Онучина Д.Н. 2009:103)

«Для передачи речевой информации комитет IETF предлагает использовать протокол RTP, но сам протокол SIP не исключает возможность применения для этих целей и других протоколов.

Протокол SIP предусматривает организацию конференций трех видов:

в режиме многоадресной рассылки (multicasting), когда информация передается на один multicast-адрес, откуда затем доставляется сетью конечным адресатам;

при помощи контроллера управления конференции (MCU), к которому участники конференции передают информацию в режиме "точка-точка", а контроллер обрабатывает информацию (т. е. смешивает или коммутирует) и рассылает ее участникам конференции;

путем соединения каждого пользователя с каждым в режиме "точка-точка".

Протокол SIP дает возможность присоединения новых участников к уже существующему сеансу связи, т. е. двусторонний сеанс может перейти в конференцию». (Б. С. Гольдштейн, А. А. Зарубин, В. В. Саморезов 2005:176)

Адресация

«Для того чтобы вызвать кого-то, необходимо знать его адрес или хотя бы имя. В сети Интернет для нахождения хоста используется URL (для SIP он обозначается как SIP URL). В качестве адреса в SIP выбран самый распространенный тип - адрес электронной почты. Он уже сейчас является основным адресом, не зависящим от местоположения пользователя. Существуют четыре основные формы адреса: имя@домен, имя@хост, имя@IP-адрес, №телефона-@шлюз.

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

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

В начале адреса ставятся слово sip, указывающее, что это именно SIP-адрес, так как бывают другие (например, mailto)».( Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. 2006:123)

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

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

sip: user1@rts.loniis.ru

sip: user1@ 195.201.37.104

sip: 273-44-55@gateway.ru » (Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. 2006: 125)

Элементы сети SIP

«Сеть SIP содержит следующие основные элементы.

Агент пользователя (User Agent или SIP client) является приложением терминального оборудования и включает в себя две составляющие: клиент агента пользователя (User Agent Client - UAC) и сервер агента пользователя (User Agent Server - UAS), иначе называемые клиент и сервер. Клиент UAC инициирует SIP-запросы, т.е. выступает в качестве вызывающей стороны. Сервер UAS принимает запросы и отвечает на них, т.е. выступает в качестве вызываемой стороны.

Запросы могут передаваться не прямо адресату, а на некоторый промежуточный узел. Такие узлы бывают двух основных типов: прокси-сервер и сервер переадресации» (Гольдштейн Б.С., Гойхман В.Ю., Онучина Д.Н.2009: 155)

«Прокси-сервер (proxy server) принимает запросы, обрабатывает их и отправляет дальше на следующий сервер, который может быть как другим прокси-сервером, так и последним UAS. Таким образом, прокси-сервер принимает и отправляет запросы и клиента, и сервера. Приняв запрос от UAC, прокси-сервер действует от имени этого UAC.

Существует два вида прокси-серверов: с сохранением состояний (stateful) и без сохранения состояний (stateless). Сервер первого типа хранит в памяти входящий запрос, который явился причиной генерации одного или нескольких исходящих запросов. Эти исходящие запросы сервер также запоминает. Все запросы хранятся в памяти сервера только до окончания транзакции, т.е. до получения ответов на за просы. Сервер без сохранения состояний просто ретранслирует запросы и ответы, которые получает. Он работает быстрее, чем сервер 1-го типа, так как ресурс процессора не тратится на запоминание состояний, вследствие чего сервер этого типа может обслужить большее количество пользователей.

Прокси-сервер может модифицировать запросы, которые он переправляет дальше. Проще говоря, пользователь отсылает требование установить соединение на прокси-сервер, а тот сам заботится о том, чтобы оно было установлено. Прокси-сервер может размножать запрос и передавать его по разным направлениям, чтобы запрос достиг нескольких мест, в надежде на то, что нужный пользователь окажется в одном из них». ( Гольдштейн А.Б., Гольдштейн Б.С. 2006:99)

«Сервер переадресации (redirect server) передает клиенту в ответе на запрос адрес следующего сервера или клиента, с которым первый клиент связывается затем непосредственно. Он не может инициировать собственные запросы. Адрес сообщается первому клиенту в поле Contact сообщений SIP. Таким образом, этот сервер просто выполняет функции поиска текущего адреса пользователя.

Пользователь может перемещаться от одной оконечной системы к другой, так что нужен какой-то метод определения его местоположения. Для этого в SIP используется сервер местоположения (location server) - это база адресов, доступ к которой имеют SIP-серверы, пользующиеся ее услугами для получения информации о возможном местоположении вызываемого пользователя. Упрощенно базу данных можно представить как совокупность адресных записей, в которых напротив публикуемого адреса пользователя его стоит текущий адрес. Приняв запрос, сервер SIP обращается к серверу местоположения, чтобы узнать адрес, по которому можно найти пользователя. В ответ тот сообщает либо список возможных адресов, либо информирует о невозможности найти их. С другой стороны, пользователь информирует SIP-сервер о своем местоположении сообщением REGISTER. Сервер местоположения может располагаться как совместно с SIP-сервером (рисунок 4), где могут присутствовать некоторые элементы базы адресов, так и отдельно от него». (Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. 2006:134)

Рисунок 4. Архитектура SIP сети (http://dvo.sut.ru/libr/skiri/w133gold/5_2.gif)

Сигнализация протокола SIP

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

В протоколе SIP определены два типа сигнальных сообщений — запрос (request) и

ответ (response). Сообщения имеют текстовый формат и базируются на протоколе

НТТР (синтаксис и семантика определены в RFC 2068). В запросе указываются

процедуры, вызываемые для выполнения требуемых операций, а в ответе результаты их выполнения. SIP определяет шесть процедур:

INVITE (приглашение к сеансу связи)

BYE (завершение соединения)

OPTIONS (используется для передачи информации о возможных характеристиках сеанса связи, и не применяется в процедуре установления соединения)

ACK (используется для подтверждения получения сообщения или для положительного ответа на команду INVITE)

CANCEL (прекращает поиск пользователя)

REGISTER (передает информацию о местоположении пользователя)» (Гольдштейн Б.С., Гойхман В.Ю., Онучина Д.Н. 2009:157)

«В общих чертах, схема применения SIP для установления двунаправленного сеанса

связи такова: в составе сообщения INVITE вызывающий пользователь передает

вызываемому характеристики инициируемой мультимедиа-сессии, а тот в ответном

сообщении АСК отмечает те из них, которые может поддержать. Для подтверждения возможности приема конкретного формата мультимедийной информации вызываемому пользователю нужно указать отличный от нуля номер протокольного порта. SIP обеспечивает определение адреса пользователя и установление соединения с ним. Для описания канала мультимедийной связи, реализации функций защиты, аутентификации и т. д. он использует другие протоколы. В частности, очень важен протокол SDP (RFC 2327), который описывает параметры соединения. В сигнальные сообщения SDP входят следующие сведения:

период времени, в течение которого сеанс активен

среда передачи данных сеанса: тип мультимедиа (видео, аудио и т. д.), его формат, используемый транспортный протокол (RTP/UDP/IP, H.320 и т. д.) и номер порта

информация для приема потока (адреса, порты, форматы и т. д.)

данные о необходимой полосе пропускания

SDP используется исключительно для текстового описания сеанса и не имеет ни