46535 (665578), страница 2
Текст из файла (страница 2)
«Сценарий установления соединения между двумя терминалами 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) и