Сервер определения местоположения пользователей

Воронин Роман ТС-41 м

Архитектура и протоколы сетей Н.323 и SIP

Протокол Н.323. Архитектура сети и семейство протоколов Н.323.

H.323 — рекомендация ITU-T, определяющая набор стандартов для передачи мультимедиа-данных по сетям с пакетной передачей. Сети на базе протоколов Н.323 ориентированы на интеграцию с телефонными сетями и могут рассматриваться как сети ISDN, наложенные на IP-сети. Семейство протоколов H.323 обеспечивает работу мультимедийных приложений в сетях с коммутацией пакетов. Речевой трафик – это только одно из приложений H.323, наряду с передачей видео и данных.

Рекомендации H.323 предусматривают:

Управление полосой пропускания

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

Межсетевые конференции

Рекомендации H.323 предлагают средство соединения участников видеоконференции в разнородных сетях (например, IP и ISDN, IP и PSTN).

Платформенная независимость

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

Поддержка многоточечных конференций

Рекомендации H.323 позволяют организовывать конференцию с тремя или более участниками. Многоточечные конференции могут проводиться как с использованием центрального MCU (устройства многоточечной конференции), так и без него.

Поддержка многоадресной передачи

H.323 поддерживает многоадресную передачу в многоточечной конференции, если сеть поддерживает протокол управления групповой адресацией (такой, как IGMP). При многоадресной передаче один пакет информации отравляется всем необходимым адресатам без лишнего дублирования. Многоадресная передача использует полосу пропускания гораздо более эффективно, поскольку всем адресатам - участникам списка рассылки отправляется ровно один поток.

Стандарты для кодеков

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

Совместимость

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

Гибкость

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

 

Общая архитектурасети IP-телефонии на базе стандарта H.323 представлена на рисунке ниже.

Рис.1. Архитектура сети H.323

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

Шлюз Н.323 является устройством обособляющим в себе свіязь телефонных сетей общего пользования и IP сетей. Шлюз выполняет функцию преобразования мультимедийной информации, поступающей со стороны телефонной сети общего пользования с коммутацией каналов (сигнализации и трафик пользователей) в аналоговом виде с постоянной скоростью, в вид, необходимый для передачи по IP сетям. Это преобразование включает в себя процесс кодирования информации, процесс уменьшения пауз в разговоре, инкапсуляция информации в сегменты/пакеты RTP/UDP/IP. Также шлюз обеспечивает обратное преобразование мультимедийных данных поступивших с IP сетей в вид необходимый для передачи по телефонным сетям общего пользования.

Функции привратника( Gatekeeper):

- Регистрация оконечных и других устройств в сети H.323;

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

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

- Другие.

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

Рис.2. Зона сети H.323

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

Устройство управления конференциями (MCU – Multipoint Control Unit)

Одной из услуг IP телефонии предоставляемой абонентам является конференцсвязь. В рекомендации H.323 определено три вида организации конференций.
Первым видом является централизованная конференция. При организации такого вида конференции оконечное оборудование соединяется как точка-точка с устройством управления конференциями (MCU), отвечающим за процесс создания и окончания конференции, и обрабатывающих пользовательские данные.

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

Третьим видом является смешанная конференция. Представляет собой смесь первого и второго типа.

Рис.3. Разные виды конференции в сети Н.323

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

Недостатком децентрализованной конференции выступает более сложное терминальное оборудование и необходимость поддержки IP сети работы в режиме мультикастной рассылки(IP multicasting). В случае если сеть на поддерживает мультикастный режим работы, то терминал может устанавливать с каждым участником конференции соединение типа точка-точка , однако такой подход является крайне не эффективным.

Устройство управления конференциями MCU обязательно должно содержать в себе элемент, которым является контроллер многоточечных соединений (Multipoint controller, MC). MCU может быть одно- или несколько - процессорным что необходимо для обработки пользовательских данных при многоточечных соединениях (Multipoint processor, MP).

 

Работа над рекомендациями ITU-T серии H началась не для IP-телефонии. Первая рекомендация из этой серии (H.320) была выпущена в 1990 году и относилась к системам видео-телефонии, ориентированных на работу в узкополосной ISDN.

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

  • H.320 — по сетям ISDN;
  • H.321 — по сетям Ш-ЦСИО и ATM;
  • H.322 — по сетям с коммутацией пакетов с гарантированной пропускной способностью;
  • H.323 — по сетям с коммутацией пакетов с негарантированной пропускной способностью;
  • H.324 — по телефонным сетям общего пользования;
  • H.324/C — по сетям мобильной связи.

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

 

Рис.4. Семейство протоколов Н.323

Семейство протоколов H.323 включает в себя 3 основных протокола:

- Протокол RAS (Registration Admission Status) – протокол взаимодействия оконечного оборудования с привратником;

- Протокол управления соединениями H.225;

- Протокол управляющих сообщений внутри соединения H.245.

Основными процедурами, выполняемыми оконечным оборудованием и привратником с помощью протокола RAS, являются:

- обнаружение привратника;

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

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

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

- управление полосой пропускания в процессе обслуживания вызова.

Рис.5. Основные протоколы функционирования сети Н.323

H.323-терминал должен поддерживать протоколы:
H.245 - согласование параметров соединения,
Q.931 - для установления соединения и согласования параметров этого соединения,
RAS (Registration/Admission/Status) - взаимодействия с контроллером зоны (Gatekeeper),
RTP/RTCP - для работы с потоками аудио и видео пакетов и семейство протоколов Н.450, а также включать в себя аудиокодек G.711 для сжатия аудиопотока. Его дополнительными компонентами могут быть другие аудиокодеки и видеокодеки H.261 и/или H.263. Необязательной является поддержка протокола совместной работы над документами T.120.

Аудиокодек предназначен для оцифровки аналогового звукового сигнала и сжатия полученного цифрового сигнала, а также проведения обратной операции. Стандартом H.323 предусмотрена возможность использования пяти кодеков — G.711 (преобразование 3,1-кГц аналогового сигнала для передачи в цифровой форме на скоростях 48, 56 или 64 кбит/с), G.722 (7 кГц; 48, 56 или 64 кбит/с), G.723 (3,1 кГц; 5,3 или 6,3 кбит/с), G.728 (3,1 кГц; 16 кбит/с) и G.729 (3,1 кГц; 8 кбит/с). Каждый терминал должен поддерживать по крайней мере один аудиокодек.

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

Протокол сигнализации Q.931 используется для установления и разрыва соединений между двумя терминалами H.323, а также между терминалом и шлюзом. Служебные сообщения этого протокола передаются поверх TCP.

Протокол управления мультимедийной конференцией H.245 обеспечивает:

  • согласование возможностей компонентов;
  • установление и разрыв логических каналов;
  • передачу запросов на установление приоритета;
  • управление потоком (загрузкой канала);
  • передачу общих команд и индикаторов.

Сообщения протокола H.245 передаются по H.245-каналу управления. Это логический канал «0», который, в отличие от каналов обмена мультимедиа-потоками, постоянно открыт. Межтерминальный обмен параметрами позволяет согласовывать режимы работы и форматы кодирования информации, что обеспечивает взаимодействие терминалов от разных производителей. В процессе обмена сообщениями о параметрах уточняются возможности терминалов принимать и передавать различные виды трафика.

 

H.225.0 является частью группы протоколов H.323, разработанных Международным Союзом электросвязи (ITU-T).

Основная цель H.225.0 это определение сообщений и процедур для:

  • Сигнализации вызова: т.е. установку, управление и завершение вызова H.323. Сигнализация H.225.0 основана на процедурах установления вызова ISDN и рекомендации Q.931.
  • Функция сигнализации RAS: осуществляет процедуры регистрации, допуска, изменения пропускной способности, проверки статуса и отказа между оконечными устройствами Привратника H.323 (H.323 Gatekeeper). RAS сигнализация использует отдельный канал, для сообщений типа Регистрация (Registration), допуск (Admission) и Статус (Status), что и определило название RAS.
  • Упаковка медиа-данных используя RTP для традиционных кодеков, таких как G.711, H.261 и H.263.

 

Протокол RTP (RFC 1889) обеспечивает в IP-сетях доставку адресатам аудио- и видеопотоков в масштабе реального времени. Согласно стандарту H.323, в сетях с негарантированной полосой пропускания с целью минимизации задержек и максимального использования имеющейся полосы пропускания для передачи аудио- и видеопотоков, а также сигнализации RAS применяется протокол User Datagram Protocol (UDP). Этот протокол задействует механизм многоадресной рассылки (IP Multicast) для негарантированной доставки звука и видео определенному числу пользователей. Поверх IP Multicast работает RTP, который создает необходимые условия для нормального воспроизведения полученных потоков на абонентских терминалах.

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

 

Транспортный протокол управления передачей в режиме реального времени RTCP (RFC 1889) контролирует реализацию функций RTP. Он также отслеживает качество обслуживания и снабжает соответствующей информацией компоненты, участвующие в конференции.

Литература:

1) Гольдштейн А.Б., Гольдштейн Б.С. SOFTSWITCH. – СПб.: БХВ – С-П, 2006. – 368 с.

2) http://interexc.com/113

3) http://iptop.net/tech/h323_1.html

 

Протокол SIP

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

В модели взаимодействия открытых систем SIP является сетевым протоколом прикладного уровня.

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

Разработкой занималась организация IETF MMUSIC Working Group. Протокол начал разрабатываться в 1996 году Хенингом Шулзри и Марком. В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и основной протокол архитектуры IMS (модификация 3GPP TS.24.229). Наряду c другим распространённым протоколом H.323, SIP — один из протоколов, лежащих в основе Voice over IP.

В основу протокола рабочая группа MMUSIC заложила следующие принципы:

Простота: включает в себя только шесть методов (функций)

Независимость от транспортного уровня, может использовать UDP, TCP, ATM и т.д.

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

Масштабируемость сети. Структура сети на базе протокола SIP позволяет легко ее расширять и увеличивать число элементов.

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

Интеграция в стек существующих протоколов Интернет. Протокол SIP является частью глобальной архитектуры мультимедиа, разработанной комитетом IETF. Кроме SIP, эта архитектура включает в себя протоколы RSVP, RTP, RTSP, SDP.

Взаимодействие с другими протоколами сигнализации. Протокол SIP может быть использован совместно с другими протоколами IP-телефонии, протоколами ТфОП, и для связи с интеллектуальными сетями.

Дизайн протокола

Клиенты SIP традиционно используют порт 5060 TCP и UDP для соединения элементов SIP-сети. В основном, SIP используется для установления и разъединения голосовых и видеозвонков. При этом он может использоваться и в любых других приложениях, где требуется установка соединения, таких, как системы оповещения, мобильные терминалы и так далее. Существует большое количество рекомендаций RFC, относящихся к SIP и определяющих поведение таких приложений. Для передачи самих голосовых и видеоданных используют другие транспортные протоколы, чаще всего RTP.

Главной задачей разработки SIP было создание сигнального протокола на базе IP, который мог бы поддерживать расширенный набор функций обработки вызова и услуг, представленных в существующей ТфОП. Сам протокол SIP не определяет этих функций, а сосредоточен только на процедурах установления звонка и сигнализации. При этом он был спроектирован с поддержкой таких функциональных элементов сети, как прокси-серверы (Proxy Servers) и Пользовательские Агенты (User Agents). Эти элементы обеспечивают базовый набор услуг: набор номера, вызов телефонного аппарата, звуковое информирование абонента о статусе вызова.

Телефонные сети на основе SIP могут поддерживать и более современные услуги, обычно предоставляемые ОКС-7, несмотря на значительное различие этих двух протоколов. ОКС-7 характеризуется сложной, централизованной интеллектуальной сетью и простыми, неинтеллектуальными, терминалами (традиционные телефонные аппараты). SIP — наоборот, требует очень простую (и, соответственно, хорошо масштабируемую) сеть с интеллектом, встроенным в оконечные элементы на периферии (терминалы, построенные как физические устройства или программы).

SIP используется вместе с несколькими другими протоколами и участвует только в сигнальной части сессии связи. SIP выполняет роль носителя для SDP, который описывает параметры передачи медиаданных в рамках сессии, например используемые порты IP и кодеки. В типичном применении сессии SIP — это просто потоки пакетов RTP. RTP является непосредственным носителем голосовых и видеоданных.

Адресация

Для организации взаимодействия с существующими приложениями IP-сетей и для обеспечения мобильности пользователей, SIP использует адрес, подобный адресуэлектронной почты. В качестве адресов рабочих станций используются универсальные указатели ресурсов URI, так называемые SIP URI. Обычно используется следующий формат [sip ":"] идентификатор ["@" фрагмент], где идентификатор указывает на логин абонента или его номер телефона, а фрагмент определяет хост, который может быть задан доменным именем или IP-адресом.

В SIP существуют 4 формы адресов:

– имя@домен,

– имя@хост (sip:user1@sales.npc.kiev.ua) ,

– имя@IP-адрес (sip:user1@195.101.38.105),

– №телефона@шлюз (tel:4346656@sip-gateway.uа ).

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

Имена пользователей представляют собой обычные алфавитно-цифровые идентификаторы. В IP-телефонии, как правило, используют чисто цифровые идентификаторы («номера») для удобства расширения/замены классических телефонных сетей. Номера местной связи, как правило, 2-3-4-значные.

Номер телефона, передаваемый шлюзу — любой доступный через него, и может быть как номером местной связи, так и номером мобильного или обычного городского телефона. Адрес шлюза (IP-адрес или доменное имя) задаётся в настройках телефона или программы-клиента, а пользователю для совершения звонка достаточно только набора номера.

Архитектура сети

Протокол SIP имеет клиент-серверную архитектуру.

Рис. 1 Архитектура «клиент-сервер»

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

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

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

Рис. 2 Пример сети на базе протокола SIP.

Терминал

Когда клиент и сервер реализованы в оконечном оборудовании и взаимодействуют непосредственно с пользователем, они называются пользовательским агентским клиентом — User Agent Client (UAC) — и пользовательским агентским сервером — User Agent Server (UAS). Если в устройстве присутствуют и UAC, и UAS, то оно называется пользовательским агентом — User Agent (UA), а по своей сути представляет собой терминальное оборудование SIP.

Сервер UAS и клиент UAC имеют возможность непосредственно взаимодействовать с пользователем. Другие клиенты и серверы SIP этого делать не могут.

Агенты пользователей инициируют запросы, отвечают на них и взаимодействуют с другими клиентами UAC-UAS.

Прокси-сервер

Прокси-сервер (от англ. proxy — «представитель») представляет интересы пользователя в сети. Это главный управляющий элемент (мини SS). Он принимает запросы, обрабатывает их и выполняет соответствующие действия. Прокси-сервер состоит из клиентской и серверной частей, поэтому может принимать вызовы, инициировать запросы и возвращать ответы. Прокси-сервер может не изменять структуру и содержимое передаваемых сообщений, лишь добавляя свою адресную информацию в специальное поле Via.

Предусмотрено два типа прокси-серверов

· с сохранением состояний (stateful). Такой сервер хранит в своей памяти все полученные запросы и связанные с ним новые сформированные запросы до окончания транзакции.

· без сохранения состояний (stateless). Такой сервер просто обрабатывает получаемые запросы. Но на его базе нельзя реализовать сложные, интеллектуальные услуги.

Сервер переадресации

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

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

Сервер определения местоположения пользователей

Пользователь может перемещаться в пределах сети SIP, поэтому существует механизм определения его местоположения в текущий момент времени. Сервер определения местоположения пользователей служит для хранения текущего адреса пользователя и представляет собой базу данных адресной информации. В качестве источника информации о местоположении пользователя, может выступать даже устройство или сервер, не работающее по протоколу SIP (например СУБД, MS Exchange, RADIUS-сервер и т.п.).

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

Сервер B2BUA

B2BUA — (англ. back-to-back user agent, буквально: пользовательский агент спина-к-спине) — вариант серверного логического элемента в приложениях, работающих с протоколом SIP. По идеологии работы, B2BUA похож на прокси-сервер SIP, однако есть принципиальные различия. Сервер B2BUA, работает одновременно с несколькими (как правило, двумя) конечными устройствами — терминалами, разделяя вызов или сеанс на разные плечи-участки. С каждым участком B2BUA работает индивидуально, как UAS по отношению к инициатору и как UAC по отношению к терминалу, принимающему вызов. При этом сигнальные сообщения передаются в рамках сеанса в обе стороны синхронно. Таким образом, каждый из участников соединения (сеанса связи), на уровне сигнализации взаимодействует с B2BUA, как с оконечным устройством, хотя в действительности, сервер является посредником. Это отражается в адресных полях (таких как From, To и Contact) сообщений, отправляемых сервером B2BUA. Таким образом, ключевое отличие B2BUA - полностью независимая сигнализация всех участков вызова. Это означает, в частности, что для взаимодействия с каждым отдельным пользователем в рамках сеанса связи используются уникальные идентификаторы, а содержимое одних и тех же сообщений для разных участков будет различным.

Сервер B2BUA может предоставлять следующие функции:

· Управление звонками (биллинг, перевод звонка, автоматическое разъединение и т. д.)

· Сопряжение разных сетей (в частности, для адаптации разных диалектов протокола, зависимых от производителей)

· Сокрытие структуры сети (частные адреса, сетевая топология и т. п.)

Довольно часто B2BUA является частью медиа-шлюза для того, чтобы полностью контролировать медиа-потоки в рамках сессии. Сигнальный шлюз, являющийся частью пограничного контроллера соединений/сеансов — наглядный пример применения B2BUA.

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

Администратор сети сообщает адрес этого сервера пользователям.

Вызывающий пользователь передает

запрос INVITE (1) на адрес прокси-сервера и порт 5060, используемый по умолчанию (Рисунок 7.10). В запросе пользователь указывает известный ему адрес вызываемого пользователя. Прокси-сервер запрашивает текущий адрес вызываемого пользователя у сервера определения местоположения (2), который и сообщает ему этот адрес (3). Далее прокси-сервер передает запрос INVITE непосредственно вызываемому оборудованию (4). Опять в запросе содержатся данные о функциональных возможностях вызывающего терминала, но при этом в запрос добавляется поле Via с адресом прокси-сервера для того, чтобы ответы на обратном пути шли через него. После приема и обработки запроса вызываемое оборудование сообщает своему пользователю о входящем вызове, а встречной стороне передает ответ 180 Ringing (5), копируя в него из запроса поля To, From, CallID, CSeq и Via. После приема вызова пользователем встречной стороне передается сообщение 200 ОК (6), содержащее данные о функциональных возможностях вызываемого терминала в

формате протокола SDP. Терминал вызывающего пользователя подтверждает прием ответа запросом АСК (7). На этом фаза установления соединения закончена и начинается разговорная фаза. По завершении разговорной фазы одной из сторон передается

запрос BYE (8), который подтверждается ответом 200 ОК (9).Все сообщения проходят через прокси-сервер, который может модифицировать в них некоторые поля.

Рис.3 Сценарий установления соединения через прокси,сервер

 

Сообщения протокола SIP

Сообщения протокола SIP (запросы и ответы), представляют собой последовательности текстовых строк, закодированных в соответствии с документом RFC 2279. Структура и синтаксис сообщений SIP идентичны используемым в протоколе HTTP. Структура сообщений протокола SIP:

 

Стартовая строка
Заголовки
Пустая строка
Тело сообщения

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

· Заголовки сообщений содержат информацию, необходимую для обработки сообщения (информация об отправителе, адресате, пути следования и пр.)

· Пустая строка обозначает конец полей заголовков.

· Тело сообщения содержит описание сеансов связи. Не все запросы содержат тело сообщения (например запрос BYE). Все ответы могут содержать тело сообщения, но содержимое тела в них бывает разным.

Запросы

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

1. INVITE — Приглашает пользователя к сеансу связи. Обычно содержит SDP-описание сеанса.

2. ACK — Подтверждает приём ответа на запрос INVITE.

3. BYE — Завершает сеанс связи. Может быть передан любой из сторон, участвующих в сеансе.

4. CANCEL — Отменяет обработку ранее переданных запросов, но не влияет на запросы, которые уже закончили обрабатываться.

5. REGISTER — Переносит адресную информацию для регистрации пользователя на сервере определения местоположения.

6. OPTIONS — Запрашивает информацию о функциональных возможностях сервера.

Но в процессе развития, в протокол было добавлено еще несколько типов запросов, которые дополнили его функциональность:

1. PRACK — временное подтверждение (RFC 3262)

2. SUBSCRIBE — подписка на получение уведомлений о событии (RFC 3265)

3. NOTIFY — уведомление подписчика о событии (RFC 3265)

4. PUBLISH — публикация события на сервере (RFC 3903)

5. INFO — передача информации, которая не изменяет состояние сессии (RFC 2976)

6. REFER — запрос получателя о передаче запроса SIP (RFC 3515)

7. MESSAGE — передача мгновенных сообщений средствами SIP (RFC 3428)

8. UPDATE — модификация состояния сессии без изменения состояния диалога (RFC 3311)

Ответы на запросы

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

SIP-T и SIP-I

Для взаимодействия с традиционными телефонными сетями, использующими сигнализацию ОКС-7, были разработаны модификации протокола SIP для телефонии: Session Initiation Protocol for Telephones (SIP-T) и Session Initiation Protocol Internetworking (SIP-I). Разность версий ввиду того, что SIP-I был разработан ITU-T, а SIP-T —IETF и описан в RFC 3372. Основная задача данных модификаций протокола SIP заключается в прозрачной передаче сообщений ISUP по IP-сети. Данная задача осуществляется путём инкапсуляции сигнальных единиц ОКС в сообщения SIP. Все требуемые задачи по взаимодействию между протоколами были решены на базе протокола SIP:

Требование по взаимодействию Функция SIP-T
Прозрачность сигнализации ISUP Инкапсуляция ISUP в тело сообщения SIP
Возможность маршрутизировать сообщения SIP в зависимости от ISUP Трансляция параметров ISUP в заголовке сообщения SIP
Трансляция адресной информации при установленном соединении Использование метода INFO

SIP в NGN

Литература

1) «IP-телефония» (третье издание) Гольдштейн Б.С., Пинчук А.В., Суховицкий А.Л. М.: Радио и связь, 2006. - 336 с.: ил. ISBN 5-256-01585-0 2) Кучерявый А.Е.,Гильченок Л.З., Иванов А.Ю. Пакетная сеть связи общего пользования. - СПБ.: Наука и Техника, 2004. – 272 с. 3) http://uk.wikipedia.org/wiki/Session_Initiation_Protocol