VOIP, Стандарты H.323/SIP

VOIP, Стандарты H.323/SIP

Vadim Nironen

Высшая школа Майнор. Институт инфотехнологии

Таллинн 2010 

Введение

«Концепция передачи голоса по сети с помощью персонального компьютера зародилась в Университете штата Иллинойс (США). В 1993 г. Чарли Кляйн выпустил в свет Maven, первую программу для передачи голоса по сети с помощью PC. Одновременно одним из самых популярных мультимедийных приложений в сети стала CU-SeeMe, программа видеоконференций для Macintosh (Mac), разработанная в Корнельском университете. 

Апрель 1994 г. Во время полета челнока Endeavor NASA передало на Землю его изображение с помощью программы CU-SeeMe. Одновременно, используя Maven, попробовали передавать и звук. Полученный сигнал из Льюисовского исследовательского центра поступал на Maven, соединенный с Интернет, и любой желающий мог услышать голоса астронавтов. Потом одну программу встроили в другую, и появился вариант CU-SeeMe с полными функциями аудио и видео как для Maven, так и для PC. Февраль 1995 г. Израильская компания VocalTec предложила первую версию программы Internet Phone, разработанную для владельцев мультимедийных PC, работающих под Windows. Это стало важной вехой в развитии Интернет-телефонии!» (А.В. Росляков, М.Ю. Самсонов & И, В, Шибаева 2003:16)

«Под IP телефонией (VOIP Voice over IP) понимают технологию передачи голоса через сети протокола IP в режиме реального времени. Такой протокол используется как в сети Интернет, так и в локальных сетях. Обычный телефонный звонок можно разбить на две фазы: набор номера (и все что при этом происходит) и разговор. Точно так же и задача передачи телефонных звонков по сетям ip практически разбивается на две фазы: коммутация (маршрутизация) вызовов и передача данных (кодированного голоса). Коммутация вызовов осуществляется передачей сигнальных сообщений, а данный процесс упрощенно называется сигнализацией». (Б. С. Гольдштейн, А. А. Зарубин, В. В. Саморезов 2005:15) Сигнализация решается средствами специальных протоколов H.323, SIP и др. по мнению автора это на сегодняшний день 2 основных стандарта, которые будут рассмотрены ниже.

Данная работа предназначена для общего ознакомления со стандартами H.323 и SIP, и будет полезна как для начинающих, так и продвинутых пользователей, которых интересует VOIP. По мнению автора, эта технология в настоящее время бурно развивается, и является актуальной для её рассмотрения. Тема эта очень большая, и в данном реферате невозможно изложить все детали этих стандартов, каждая область этого вопроса, изложена в отдельных книгах. Таким образом, целью автора являлось ознакомить и дать некоторое знание об этих двух стандартах: Узнать, как работают эти стандарты, чем они отличаются, перспективы этих протоколов.

Протокол H.323

Архитектура системы на базе стандарта Н.323

«Основными устройствами сети являются: терминал, контроллер зоны (Gatekeeper), шлюз и устройство управления конференциями (MCU). Все перечисленные компоненты организованы в так называемые зоны Н.323. Одна зона состоит из контроллера зоны и нескольких оконечных точек, причем контроллер зоны управляет всеми оконечными точками своей зоны. Зоной может быть и вся сеть поставщика услуг IP-телефонии или ее часть, охватывающая отдельный регион. Деление на зоны Н.323 не зависит от топологии пакетной сети, но может быть использовано для организации наложенной сети Н.323 поверх пакетной сети, используемой исключительно в качестве транспорта. » ( А.В. Росляков, и др. 2003:37)

Терминал H.323

«Терминал Н.323 представляет собой оконечное устройство пользователя сети IP-телефонии, способное передавать и принимать трафик в масштабе реального времени, взаимодействуя с другими терминалами Н.323, шлюзом или устройством управления конференциями. Для обеспечения этих функций терминал включает в себя:

элементы аудио (микрофон, акустические системы, телефонный микшер

система акустического эхоподавления)

элементы видео (монитор, видеокамера)

элементы сетевого интерфейса

интерфейс пользователя

Н.323-терминал должен поддерживать протоколы Н.245, Q.931, RAS, RTP/RTCP и семейство протоколов Н.450, а также включать в себя аудиокодек G.711. Также немаловажна поддержка протокола совместной работы над документами Т.120» (А.В. Росляков, и др. 2003:38) Определения протоколов смотри в приложении 1.

Шлюз

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

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

реализация физического интерфейса с телефонной и IP-сетью

детектирование и генерация сигналов абонентской сигнализации

преобразование сигналов абонентской сигнализации в пакеты данных и обратно

преобразование речевого сигнала в пакеты данных и обратно

соединение абонентов

передача по сети сигнализационных и речевых пакетов

разъединение связи

Большая часть функций шлюза в рамках архитектуры TCP/IP реализуется в процессах прикладного уровня. 

При отсутствии в сети контроллера зоны должна быть реализована еще одна функция шлюза – преобразование номера PSTN (public switched telephone network) в транспортный адрес IP-сети.

В случае, когда терминал Н.323 связывается с другим терминалом Н.323, расположенным в той же самой IP-сети, шлюз в этом соединении не участвует…. (А.В. Росляков, и др. 2003:39)

Контроллер зоны

Контроллер зоны выполняет функции управления зоной сети IP-телефонии, в которую входят терминалы, шлюзы и устройства управления конференциями, зарегистрированные у этого контроллера зоны. Функции, выполняемые контроллером зоны:

регистрация оконечных и других устройств

преобразование alias-адреса (имени абонента, телефонного номера, адреса электронной почты и др.) в транспортный адрес сети с маршрутизацией пакетов IP (IP адрес и номер порта TCP)

контроль доступа пользователей системы к услугам IP-телефонии

контроль, управление и резервирование пропускной способности сети

определение местоположения оконечного оборудования в сети

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

опрос и индикация текущего состояния оконечного оборудования

Контроллер зоны упрощает процесс вызова, позволяя использовать легко запоминающиеся alias-адреса. Функции контроллера зоны могут быть встроены в шлюзы, устройства управления конференциями, а также в терминалы Н.323. (А.В. Росляков, и др. 2003:41)

Устройство управления конференциями

Устройство управления конференциями обеспечивает связь трех и более терминалов Н.323. Все терминалы, участвующие в конференции, устанавливают соединение с устройством управления конференциями (MCU Multipoint Control Unit). Устройство управляет ресурсами конференции, согласовывает возможности терминалов по обработке звука и видео, определяет аудио и видеопотоки, которые необходимо направлять по многим адресам.

Рекомендация Н.323 предусматривает три вида конференций:

1. Централизованная конференция, в которой оконечные устройства соединяются в режиме точка-точка с устройством управления конференциями MCU, контролирующим процесс создания и завершения конференции, а также обрабатывающим потоки пользовательской информации.

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

3. Смешанная конференция, т.е. комбинация двух предыдущих видов.

Контролер конференций должен использоваться для организации конференций любого вида. Он определяет режим конференции, который может быть общим для всех участников конференции или отдельным для каждого из них. (А.В. Росляков, и др. 2003:42)

Сигнализация по стандарту H.323

Стек протокола H.323

«Семейство протоколов Н.323 включает в себя три основных протокола: протокол взаимодействия оконечного оборудования с контроллером зоны – RAS, протокол управления соединениями – Н.225 и протокол управления логическими каналами – Н.245. Для переноса сигнальных сообщений H.225 и управляющих сообщений H.245 используется протокол с установлением соединения и с гарантированной доставкой информации – TCP. Сигнальные сообщения RAS переносятся протоколом с негарантированной доставкой информации – UDP. Для переноса речевой и видеоинформации используется протокол передачи информации в реальном времени – RTP. Контроль переноса пользовательской информации производится протоколом RTCP.

Эти три протокола и другие, совместно с Интернет протоколами TCP/IP, UDP, RTP и RTCP» (Wikipedia.org) можно увидеть на рисунке 1.



Рисунок 1. Стек протокола H.323 (http://www.voiceip.com.ua/articles/h323_stek.jpg)

Протокол RAS

«H.225 Registration, Admission, and Status (RAS)

RAS - это протокол, обеспечивающий сигнализацию между оконечными устройствами (терминалами и шлюзами) и контроллером зоны. RAS используется для:

Обнаружение контроллера зоны

Регистрация оконечного оборудования у контроллера зоны

Контроль доступа оконечного оборудования к сетевым ресурсам

Определение местоположения оконечного оборудования в сети

Изменение полосы пропускания в процессе обслуживания вызова

Опрос и индикация текущего состояния оконечного оборудования

Оповещение контроллера зоны об освобождении полосы пропускания, ранее занимавшейся оборудованием.» ( Соколов О.В. Слободской Н.В.online)

«Выполнение первых трех процедур, предусмотренных протоколом RAS, является начальной фазой установления соединения с использованием сигнализации Н.323. Далее следуют фаза сигнализации Н.225.0 (Q.931) и обмен управляющими сообщениями Н.245. Разъединение происходит в обратной последовательности: в первую очередь закрывается управляющий канал Н.245 и сигнальный канал Н.225.0, после чего по каналу RAS контроллер зоны оповещается об освобождении ранее занимавшейся оконечным оборудованием полосы пропускания.

Для переноса сообщений протокола RAS используется протокол негарантированной доставки информации UDP.

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

Сигнальный канал Н.225.0

«H.225 сигнализация вызова - используется для установления соединения между H.323 оконечными точками (терминалами и шлюзами), через которые будут транспортироваться данные в реальном масштабе времени. Сигнализация вызова включает обмен H.225 сообщениями протокола через надежный канал, задействованный для этой цели (канал сигнализации вызовов).

Если в H.323 сети нет контроллера зоны, то конечные точки обмениваются сигналами вызовов непосредственно друг с другом. Если контроллер зоны есть, то возможно использование двух методов вызовов: обмен сигналами непосредственно между конечными точками (так называемый "метод прямых вызовов") и обмен между оконечными точками только после обращения к контроллеру зоны и маршрутизации вызова ("метод с маршрутизацией вызовов в контроллере зоны"). Выбор используемого метода осуществляется при регистрации конечной точки в контроллере зоны.

Метод с маршрутизацией вызовов в контроллере зоны происходит следующим образом. Сигналы вызовов между оконечными точками и контроллером зоны передаются по RAS-каналам. Контроллер зоны получает сообщение вызова через канал сигнализации из одной оконечной точки и направляет его к другой оконечной точке через канал сигнализации другой оконечной точки».( Соколов О.В. Слободской Н.В. 2006:70)

Управляющий канал Н.245

«H.245 - сигнализация управления - состоит из сквозного обмена H.245-сообщеними между H.323-оконечными точками. H.245-сообщения управления передаются через H.245-каналы управления. H.245 - канал управления представляет из себя логический канал, который постоянно открыт, в отличие от каналов обмена мультимедиа потоков. Сообщения сигнализации управления можно разделить на две группы: обмен терминалов H.323 своими параметрами и сообщения управления.

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

Сообщения управления процессами логическими каналами между конечными точками: логический канал несет информацию от одной оконечной точки до другой оконечной точки (в случае двухточечной конференции) или множественных оконечных точек (в случае отметки на многоточечную конференцию). Протокол H.245 предоставляет набор сообщений, обеспечивающих открытие и закрытие этих каналов. Логический канал всегда однонаправленный.» (Соколов О.В. Слободской Н.В. 2006:75)

Процедура соединения по H.323

«Сценарий установления соединения между двумя терминалами H.323 без использования контроллера зоны ( рисунок 2)



Рисунок 2. Установка соединения H.323 (http://www.voiceip.com.ua/articles/h323_h323_signaling_0001.gif)

Оконечный пункт A (вызывающая сторона) соединяется с оконечным пунктом B (вызываемая сторона) и посылает сообщение Setup (установка, как определено в H.225.0), включающее тип вызова (например, только звуковые сигналы), номер вызываемой и вызывающей стороны и адрес.

Оконечный пункт B откликается сообщением уведомления (Alerting). Оконечный пункт A должен принять это сообщение прежде, чем истечет время, отведенное на установку.

Когда пользователь в оконечном пункте B отвечает на вызов (снимает трубку), сообщение Connect (соединение) передается в оконечный пункт A.

Оба терминала передают информацию о своих возможностях (типы среды, выбор кодека и информация о мультиплексировании) в сообщении TerminalCapabilitySet (установка возможностей терминала).

Каждый терминал отвечает сообщением TerminalCapabilitySetAck (подтверждение установки возможностей терминала). В случае если удаленный оконечный пункт не обладает какими-то возможностями, будет передано сообщение TerminalCapabilitySetReject (отклонение установки возможностей терминала), и терминалы продолжат передавать эти сообщения, пока не определят, что устанавливаемые возможности поддерживаются обоими оконечными пунктами.

Каждый терминал передает сообщение H.245 OpenLogicalChannel (открыть логический канал), чтобы открыть логический канал с удаленным оконечным пунктом, чтобы настроить речевые каналы, по которым будет производиться обмен мультимедийными потоками.

В случае готовности к приемке данных каждый терминал передает OpenLogicalChannelAck (подтверждение открытия логического канала) в удаленный оконечный пункт, определяя номер порта, на который удаленному оконечному пункту следует передавать данные RTP, и номер порта, на который следует передавать данные RTCP удаленному оконечному пункту.

Оконечные пункты обмениваются информацией в пакетах RTP. Во время этого обмена передаются пакеты RTCP для контроля качества передачи данных.

Когда оконечный пункт A дает отбой (вешает трубку), он должен передать сообщение H.245 CloseLogicalChannel (закрыть логический канал) для каждого канала, открытого с оконечным пунктом B.

Оконечный пункт B отвечает сообщением CloseLogicalChannelAck (подтверждение закрытия логического канала).

Оконечный пункт A посылает команду H.245 EndSessionCommand (команда завершения сеанса) и закрывает канал после приема такого же сообщения от оконечного пункта B.

Оба терминала посылают сообщение H.225.0 ReleaseComplete (освобождение завершено) по каналу сигнализации вызова, которое закрывает канал и завершает соединение.» (Соколов О.В. online)

Протокол инициирования сеансов – SIP

Принципы построения протокола SIP

«Протокол инициирования сеансов (Session Initiation Protocol - SIP) является протоколом прикладного уровня и предназначается для организации, модификации и завершения сеансов связи (например, мультимедийных конференций, телефонных соединений). Пользователи могут принимать участие в существующих сеансах связи, приглашать других пользователей и быть приглашенными ими к новому сеансу связи. Протокол SIP разработан группой MMUSIC комитета IETF, а спецификации протокола представлены в документе RFC 2543». (Wikipedia.org SIP) «В основу протокола заложены следующие принципы:

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

Масштабируемость сети. Она характеризуется, в первую очередь, возможностью увеличения количества элементов сети при ее расширении. Серверная структура сети, построенная на базе протокола SIP, отвечает этому требованию.

Расширяемость протокола. Она характеризуется возможностью дополнения протокола новыми функциями при введении новых услуг и его адаптации к работе с различными приложениями. 

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

Интеграция в стек существующих протоколов Интернета, разработанных IETF. Протокол SIP является частью глобальной архитектуры мультимедиа, разработанной IETF. Эта архитектура включает в себя также и другие протоколы: резервирования ресурсов (Resource Reservation Protocol - RSVP, RFC 2205), транспортный протокол реального времени (Real-Time Transport Protocol - RTP, RFC 1889), протокол передачи потоковой информации в реальном времени (Real-Time Streaming Protocol - RTSP, RFC 2326), протокол описания параметров связи (SDP, RFC 2327). Однако функции самого протокола SIP не зависят ни от одного из этих протоколов.

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

Интеграция протокола SIP с IPсетями

«Важной особенностью протокола SIP является его независимость от транспортных

технологий. В качестве транспорта могут использоваться протоколы Х.25, Frame Relay, AAL5, IPX и др. Структура сообщений SIP не зависит от выбранной транспортной технологии.

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

При использовании протокола ТСР разные сообщения, относящиеся к одному вызову, либо могут передаваться по одному TCP соединению, либо для каждого запроса и ответа на него может открываться отдельное TCP соединение». (Гольдштейн А.Б., Гольдштейн Б.С. 2006:98)

«На рисунке 3 показано место, занимаемое протоколом SIP в стеке протоколов TCP/IP.



Рисунок 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 используется исключительно для текстового описания сеанса и не имеет ни

транспортных механизмов, ни средств согласования требуемых для сеанса параметров.

Сообщения SDP передаются в составе некоторых сообщений SIP, например INVITE, 

ACK и OPTION.

Формат адресации в рамках SIP аналогичен формату адресации, используемому в

электронной почте: «user@domain», «user@IP_address» или «phone_number@gateway».

Последний адрес обозначает обычный номер PSTN, доступный через данный шлюз.

Например, ссылка на web-странице «sip://i.smith@company.com» будет работать как

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

SIP-сервер работает в режиме proxy сервера или в режиме переадресации. В первом

случае, получив запрос на соединение, например, с адреса i.smith@company.com, 

сервер определяет его IP адрес и происходит соединение .В случае если

данный сервер не может обработать адрес, он сообщает владельцу запроса адрес следующего SIP сервера, то есть включается режим переадресации (Рисунок 5). Протокол SIP разрешает обращение к нескольким серверам. В результате разветвленного поиска и сложной процедуры установления соответствия имени и IP-адреса может получиться набор результатов. Например, поиск адреса i.smith@company.com может привести как к мистеру И. Смиту, так к его жене, автоответчику, мобильному номеру, адресу электронной почты и т.д. При этом будет предоставлена дополнительная информация о том, мобильный это терминал или фиксированный, домашний номер или рабочий и т.д. После этого открывается канал связи, и обмен мультимедийными пакетами осуществляется на базе RTP (Real Time Transport Protocol), или сходного протокола». (Гольдштейн Б.С., Гойхман В.Ю., Онучина Д.Н.2009: 160)



Рисунок 5. Сигнализация SIP (www.wikipedia.org SIP)

Установления соединения через сервер переадресации

«Сеть SIP содержит пользователей (правильно сказать UAS), прокси-серверы и серверы переадресации. Перед началом сеанса связи вызывающий пользователь должен знать либо адрес вызываемого пользователя, либо адрес SIP-сервера. Адрес может быть в виде: user@domain, тогда необходимо преобразовать его в IP-адрес с помощью услуг DNS. Адреса серверов пользователю сообщает поставщик услуги. Для доступа к серверу может потребоваться аутентификация, обеспечивающая обслуживание только определенной группы пользователей, например, тех, кто заплатил за услуги. Если прямого адреса пользователя нет, он обращается к прокси-серверу или к серверу переадресации. Далее алгоритм работы сети зависит от того, к какому серверу он обратился.»( Б. С. Гольдштейн, А. А. Зарубин, В. В. 2005:122) «Вызывающему пользователю требуется вызвать другого пользователя. Он передает запрос INVITE 1 на известный ему адрес сервера переадресации и на порт 5060, используемый по умолчанию (рисунок 6). В запросе вызывающий пользователь указывает адрес вызываемого пользователя. Сервер переадресации запрашивает текущий адрес нужного пользователя у сервера местоположения 2, теперь вызывающая сторона может связаться с вызываемой стороной. Для этого она передает новый запрос INVITE 6. В теле сообщения INVITE указываются данные о функциональных возможностях вызывающей стороны в формате протокола SDP. Вызываемая сторона принимает запрос INVITE и начинает его обработку, о чем сообщает ответом 100 Trying 7 встречному оборудованию для перезапуска его таймеров. 

После завершения обработки поступившего запроса оборудование вызываемой стороны сообщает своему пользователю о входящем вызове, а встречной стороне передает ответ 180 Ringing 8. 

После приема вызываемым пользователем входящего вызова встречной стороне передается сообщение 200 ОК 9, в котором содержатся данные о функциональных возможностях вызываемого терминала в формате протокола SDP. 

Терминал вызывающего пользователя подтверждает прием ответа запросом АСК 10. На этом фаза установления соединения заканчивается, и начинается разговорная. 

По завершении разговорной фазы любая из сторон передает запрос BYE 11, который подтверждается ответом 200 ОК 12». (Гольдштейн А.Б., Гольдштейн Б.С.2006:201) 



Рисунок 6. Сценарий соединения установления (http://iptop.net/sip/img/06.gif)

Заключение

«Протокол SIP значительно моложе своего соперника, и опыт его использования в сетях связи несопоставим с опытом использования протокола Н.323. Интенсивное внедрение технологии передачи речевой информации по IP-сетям потребовало постоянного наращивания функциональных возможностей как протокола Н.323, так и протокола SIP. Этот процесс приводит к тому, что достоинства одного из протоколов перенимаются другим.

Оба протокола являются результатом решения одних и тех же задач специалистами ITU-T и комитета IETF. Решение ITU-T оказалось ближе к традиционным телефонным сетям, а решение комитета IETF базируется на принципах, составляющих основу сети Internet.

В заключении автор решил сделать небольшой сравнительный анализ, что бы узнать какой все таки стандарт использовать и в какой области, очевидно, что это 2 разных стандарта.

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

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

Протокол SIP состоит из набора законченных компонентов (модулей), которые могут заменяться в зависимости от требований и могут работать независимо друг от друга. Этот набор включает в себя модули поддержки сигнализации для базового соединения, для регистрации и для определения местоположения пользователя, которые не зависят от модулей поддержки качества обслуживания (QoS). работы с директориями, описания сеансов связи, развертывания услуг (service discovery) и управления конфигурацией.

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

Масштабируемость сети (scalablllty). Сервер SIP, по умолчанию, не хранит сведений о текущих сеансах связи и поэтому может обработать больше вызовов, чем gatekeper Н.323, который хранит эти сведения (statefull). 

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

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

Протокол Н.323 использует двоичное представление своих сообщений на базе языка ASN.1, поэтому их непосредственное чтение затруднительно. Для кодирования и декодирования сообщений необходимо использовать компилятор ASN. 1. Но, в то же время, обработка сообщений, представленных в двоичном виде, производится быстрее.

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

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

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

Список литературы

1. Выполнение и оформление студенческих работ . 2009 Таллинн: Mainori Kõrgkool

2. Руководство Высшей Школы Майнор по написанию предметной работы. 2009. Таллинн: Mainori Kõrgkool

3. А.В. Росляков, М.Ю. Самсонов И.В. Шибаева: IP-телефония, издание второе. 2003. Москва.

4. Б. С. Гольдштейн, А. А. Зарубин, В. В. Саморезов: протокол SIP справочник . 2005. Санкт-Петербург.

5. Соколов О.В. Слободской Н.В. 2006. Ораганизация и возможности сетей IP-телефонии [Online] . http://voipx.ru/cgi-bin/loscont.cgi?ID=08

5. Михаил Платов. Опубликовано в журнале "Системный админстратор", №5 2005г.[Online] http://www.voip.kg/news/13/57/chto-vazhno-znat-ob-IP-telefonii/

6. H.323 Standarts [online] http://www.packetizer.com/ipmc/h323/standards.html

7. IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.3, March 2009 Different Approaches of interworking between SIP and H.323 [online] http://paper.ijcsns.org/07_book/200903/20090331.pdf

8. Гольдштейн А.Б., Гольдштейн Б.С. SOFTSWITCH. Санкт-Петербург, 2006

9. Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. IP-телефония (3-е издание). М.: Радио и связь, 2006

10. Гольдштейн Б.С., Гойхман В.Ю., Онучина Д.Н. Протокол SIP: учебное пособие. ГОУВПО СПбГУТ. СПб, 2009

11. Wikipedia.org SIP [online] http://ru.wikipedia.org/wiki/SIP

12. Соколов О.В. Протокол H.323 [online] http://www.voiceip.com.ua/articles/h323.htm

Приложение 1

«Протоколы семейства H.323:

 H.235.0–H.235.9 — определение безопасности систем H.323, включая поддержку протокола SRTP;

 H.239 — управление индикацией типа информационного потока Role Management; 

 H.241 — расширенные видеопроцедуры Extended Video Procedures; 

 H.249 — расширение индикации ввода пользователя Extended User Input Indications (например, щелчка мыши или движения курсора); 

 H.361 — поддержка качества услуг между терминалами End-to-End Quality of Service (вместо Приложения N H.323) и сигнализации приоритета услуги Service Priority Signaling; 

 H.460.10 — категория коллективного вызова Call Party Category (транспорт поля ISUP через систему H.323); 

 H.460.11 — установление задержанного вызова Delayed Call Establishment (тем самым гарантируется, что медиа-поток появится ранее, чем сигнал о входящем вызове); 

 H.460.12 — индикатор управления бликами Glare Control Indicator; 

 H.460.13 — управление освобождением вызванного пользователя Called User Release Control (при критически важных вызовах, например при обращении в службы скорой помощи, важно знать, как и когда произошло разъединение); 

 H.460.14 — многоуровневый приоритет и прерывание Multi-Level Precedence and Pre-Emption (добавление поддержки MLPP стандартом H.323); 

 H.460.15 — сигнализация паузы транспортного канала и перенаправления вызова Call Signalling Transport Channel Suspension and Redirection; 

 H.460.16 — гарантия надежного разъединения путем введения механизма квитирования Multiple-Message Release Sequence Capability; 

 H.460.17 — туннелирование RAS через H.225.0 Tunneling RAS Through H.225.0; 

 H.460.18 — пропуск сигнализации H.323 трансляторами адресов NAT и межсетевых экранов Traversal of H.323 Signaling across Network Address Translators and Firewalls; 

 H.460.19 — пропуск мультимедийных потоков H.323 преобразователями адресов NAT и межсетевыми экранами Traversal of H.323 Media Across Network Address Translators and Firewalls; 

 H.460.20 — номера дислокации для H.323 Location Number for H.323; 

 H.460.21 — широковещательное сообщение для систем H.323 Message Broadcast for H.323 Systems»( IJCSNS International Journal of Computer Science and Network Security)