Протокол инициализации сеанса (Session Initiation Protocol — SIP)

Протокол SIP (RFC 2543) является частью стека протоколов управления многосторонним мультимедийным сеансом, разработанного IETF (IETF-Multiparty Multimedia Session Control — 1ETF-MMSC). Он используется для сквозной сигнализации и управления вызовом в пакетных сетях для обеспечения голосовых, видео и других служб реального времени для двух или более конечных точек. Протокол SIP основан на коде, записанном в формате ASCII, и функционирует на уровне приложения эталонной модели OSI. Приводимые ниже свойства этого протокола считаются его достоинствами по сравнению с протоколом Н.323.

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

•          Поддержка уже существующих протоколов. Протокол SIP представляет собой спецификацию IETF, которая прозрачно работает с уже существующими протоколами, такими как система имен домена (Domain Name System — DNS), протокол описания сеанса (Session Description Protocol — SDP) и протокол реального времени RTP.

•     В этом протоколе предусмотрена интеграция с уже существующими приложениями.

При разработке протокола SIP была заложена возможность совместной работы с различными приложениями данных, таких как чаты и электронная почта.

•          В протоколе SIP предусмотрена высокая мобильность пользователя. Пользователь имеет возможность использования службы независимо от его положения в SIP-сети.

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

Сообщения протокола SIP записываются в коде ASCII. В настоящее время при форматировании используется синтаксис протокола HTTP версии 1.1, который является стандартом IETF для кодировки сообщений. При использовании этого формата пользователь обнаруживает, что URL SlP-адресов во многом напоминают адреса в WWW. Причина в том, что таким путем обеспечивается простота декодирования и использования, а также поиск ошибок. Если вместо IP-адреса используется имя узла, то для преобразования имени можно сделать запрос на DNS-сервер.

Сообщения протокола SIP можно разделить на две большие группы — запросы и ответы. Запросы представляют собой сообщения от клиентов UAC серверам UAS. Ответами являются обратные сообщения от серверов UAS к клиентам UAC.

В сетях SIP запросы также называются методами. В RFC 2543 определены следующие шесть основных типов методов.

•          INVITE. Запрос на установку нового SIP-сеанса. Этот метод установки сеанса используется в SIP-сетях.

•          REGISTER. Регистрация конечной точки протокола SIP. Метод REGISTER используется при регистрации SIP-терминала на прокси-сервере для идентификации терминала и используемых им номеров.

•          АСК. Окончательное подтверждение запроса INVITE. До получения сообщения АСК все методы после INVITE считаются промежуточными и рассматриваются как часть процесса установки вызова.

•          OPTIONS. Запрос о возможностях. Метод OPTIONS используется для запроса сервера или другого агента UA о его возможностях в данном сеансе.

•          CANCEL. Отменяет запрос на установку сеанса, который еще не был завершен. Это сообщение посылается в тех случаях, когда вызов протокола SIP был установлен, но сеанс был закончен (пользователь отсоединился [повесил трубку]) до получения ответа.

•          BYE. Запрос на прекращение соединения или на отсоединение. Это сообщение аналогично сообщению Disconnect в сети ISDN.

В примере 24.1 показано применение метода INVITE. В табл. 24.10 описаны первичные заголовки.

1^ё4ода’1ЙУ1Т^йото1эпа SIP . •                                                                                                     S* *’

IЖЙ&Й. ?,.^-^ s^-‘S. ж -.л,ж.                                                    ^ … _„…………………. . .

INVITE sip:2029033300010.15.2.6:5060;user=phone SIP/2/0 Via: SIP/2.0/UDP 10.15.1.6:5000

From: < sip:2019033300010.15.1.6>;tag=lEl1E574-8FC To: <sip: 202903 3300010.15.2.6;user=phone> Date:Thu, 12 Dec 2002 20:08:06 GMT

Call-Id: D2A1FE7 3-C3AB11D3-8039C64F-9EF784A8@10.15.1.6 Supported: timer, lOOrel Min-SE: 1800

Cisco-Guid: 3533 831795-32827 68339-2151073359-2 6670214 80

User-Agent: Cisco-SIPGateway/IOS-12.x

Cseq: 101 INVITE

Max-Forwards: 6

Timestamp: 947189286

Contact: <sip: 2019033 000010.15.1 . 6: 50 60;-jser=phone> Expires: 180

Allow-Events: telephoine-event Content-Type: application/sdp Content-Length:233

Окончание табл. 24.10

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

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

Протокол SIP работает совместно с некоторыми другими стандартными протоколами. Среди них наиболее важным, вероятно, является протокол описания сеанса (Session Description Protocol — SDP). Протокол SDP используется для обмена возможностями между оконечными точками. Синтаксис этого протокола находится непосредственно вслед за сообщениями SIP INVITE, 183 Session Progress и ответом 200 OK для INVITE. Роль протокола SDP в сети SIP аналогична роли протокола Н.245 в сетях Н.323. Протокол SDP позволяет агентам UA обсудить свойства среды, включая такие как аудиокодеки и информацию протокола RTP. В примере 24.2 показан вывод параметров протокола SDP для метода SIP INVITE. В табл. 24.12 подробно обсуждается каждое из этих полей.

24.2. ^РР-параметры 51Р-сообщен

v=0

0=CiscoSystemsSIP-GW-UserAgent 762 3453 IN IP4 10.15.1.6

s=SIP Call

c=IN IP4 10.15.1.6

t=0 0

m=audio 16952 RTP/AVP 18 100 a=rtmap:18 G729/8000 a=fmtp:18 annexb=no a=rtmap:100 X-NSE/8000 a=fmtp:100 192-194 a=ptime:10

i Таблица 24.12. SDP-riapaMeTpbi SIP-сообщения INVITE

Заголовок

Описание

v=0

Используемая версия протокола SDP

0=CiscoSystemsSIP-GW-

Информация об инициаторе вызова, включая тип агента

UserAgent 762 3453 IN IP4

UA, тип сети и контактное имя

10.15.1.6

 

s=SIP Call

Имя сеанса

c=IN IP4 10.15.1.6

Информация о типе среды, как в протоколах IPv4 или

 

IPv6, и адрес соединения. Под адресом соединения

 

понимается адрес отправлющего агента UA

t=0 0

Время начала и остановки

m=audio 16952 RTP/AVP 18 100

Тип среды и транспортный порт, которые будут исполь

 

зоваться для вызова

a=rtmap:18 G729/8000

Атрибуты, используемые в поле типа среды. В данном

a=rtmap:100 X-NSE/8000

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

a=ptime:10

кодек (G729)

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100