1© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Release the power of the network
2© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Session Initiation Protocol в деталях
Сессия PS-SIPАлександр Фелижанко, CCIE, CSE+7 495 961 1410
3© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Содержание
• Роль SIP в современном миреинфокоммуникаций
• SIP в деталях
• Cisco Call Session Control Platform и IMS
4© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Роль SIP в современном миреинфокоммуникаций
5© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Фундаментальные изменения воператорском мире
ВремяВремя
Конвергентныеуслуги,
предлагаемыепакетом
Конвергентныеуслуги,
предлагаемыепакетом
Конкурентнаяструктурауслуг
Конкурентнаяструктурауслуг
Потребитель-ские услугиПотребитель-ские услуги
Полосапропускания исостав услуг
Полосапропускания исостав услуг
Постоянныйтариф
(Flat Rate)
Постоянныйтариф
(Flat Rate)
Источникдоходовоператора
Источникдоходовоператора
Конвергентныегибкие сети иэлементы
Конвергентныегибкие сети иэлементы
КонкурентноепреимуществоКонкурентноепреимущество
Гетерогеннаясеть
Гетерогеннаясеть
Идентификация, учет предпочтений, присутствия иместоположения
Идентификация, учет предпочтений, присутствия иместоположения
Решения дляклиентовРешения дляклиентов ВиртуализацияВиртуализация
Регулируе-мый наборуслуг
Регулируе-мый наборуслуг
Приложениядля
конкретногодомена
Приложениядля
конкретногодомена
Времяподключенияи расстояние
Времяподключенияи расстояние
Однотипнаясеть
Однотипнаясеть
6© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Рынок и индустрия быстроразвиваются
• Уровень капитальных затрат операторов связии степень внимания инвестороввосстанавливаются после кризиса
• Широкое принятие технологии WiFi
Дома, на рабочем месте (WLAN), в публичных HotSpot
• Развитие широкополосных услуг и принятиемобильной связи в мировом масштабе
• Появление высокофункциональныхабонентских устройств, сочетающихширокополосный и беспроводной доступ подоступной цене
• Стремление к предложению услуг Quad Play(Triple Play плюс Mobile Wireless)
7© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Конвергенция онлайновой работы, развлечений и коммуникаций
Один простой взгляд на призыв “Подключись!”Один простой взгляд на призыв “Подключись!”
Один общий набор услугЕдинообразная работа с услугамиГолос, VideoPhone, IM/Chat (текст, аудио, видео) и UM
Единообразная работа при использовании различныхустройств доступа
Персонифицированные пользователем (тоны/КПВ, списки приятелей/каталоги)
Unified Messaging – эл.почта, голос, видеопочта
8© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Стандартизованная сервиснаяинфраструктура на основе SIP
• Предоставление более сложных услуг требуетновых подходов
Сети на основе IP – фундамент для сквозных сетей
SIP де-факто является сервисной инфраструктурой дляразвивающихся сетей IP
3GPP/IMS, ITU NGN/ETSI TISPAN и PacketCableобогащают работу друг друга и приходят к единойархитектуре
• SIP позволяет операторам эффективносотрудничать в плане предоставления услуг ивзаимодействовать с другими сервис-провайдерами
9© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Почему IP Multimedia Subsystem (IMS)?
• Модульная архитектура сетей нового поколения (NGN) наоснове SIP
• Благодаря стандартизованным интерфейсам, создаетпредпосылки для формирования экосистемыразработчиков приложений
• Позволяет операторам проводить стратегию мульти-вендорности
• Опирается на методологию кооперации между оконечнымоборудованием и сетью для предоставления передовыхуслуг
• Максимально использует ключевой актив оператора: данные об абонентах
• Включает поддержку новых мультимедийных технологий
10© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Вклад Cisco в ключевые RFC по SIP/IMSАвторство и соавторство в стандартах
RFC 3261 SIP
RFC 2976 SIP INFO Method
RFC 3262 PRACK
RFC 3263 DNS SIP
RFC 3264 Offer/Answer
RFC 3311 UPDATE
RFC 3312 QoS Reservation
RFC 3428 Extension for IM
RFC 3315 DHCP SIP
RFC 3320 Signaling Compression
RFC 3325 Asserted Identity
RFC 3326 REASON
RFC 3327 PATH Discovery
RFC 3581 Symmetric Response Routing
RFC 3608 Service Route Discovery
RFC 3665 BCP for Basic Call Flows
RFC 3666 BCP for SIP PSTN Call Flows
RFC 3680 Registrations EVENT Package
RFC 3725 BCP for 3PCC
RFC 3824 E.164 Numbers
RFC 3840 Indicating User Agent Capabilities
RFC 3841 Caller Preferences
RFC 3842 MWI EVENT Package
RFC 3891 REPLACES Header
RFC 4028 Session Timers
RFC 4032 Preconditions – Update to RFC 3312
RFC 4092 SDP Alternative NAT Semantics
RFC 4168 SCTP as a Transport
RFC 4235 Dialog EVENT Package
11© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
SIP в деталях
12© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
• Session Initiation Protocol (SIP) – это протоколсигнализации прикладного уровня для создания, модификации и завершения мультимедийных сессий содним или несколькими участниками
• Впервые стандартизован в марте 1999 года в RFC 2543
• В мае 2002 года исправленный и дополненныйстандарт опубликован в RFC 3261 вместе с
34 RFC, описывающими расширения (Standards Track)
15 драфтами рабочих групп IETF и
свыше 50 индивидуальных документов, которыепока не включены в список документов рабочихгрупп IETF
Основы SIP
13© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Участники сессий SIP могут общаться:
• Посредством
одноадресной передачи (unicast)
многоадресной передачи (multicast)
в полносвязанной структуре одноадресных отношений
комбинации перечисленного
• В среде IPv4 и IPv6 с использованием
UDP
TCP
SCTP или
TLS через TCP
Основы SIP (продолжение)
14© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Сила SIP в преемственности
• В SIP используется несколько существующихпротоколов IETF для обеспечения:
Форматирования сообщений (HTTP 1.1) RFC 2616
Описания параметров сессий (SDP) RFC 2327
Передачи (RTP) RFC 3550 и (RTSP) RFC 2326
Адресации (URL) RFC 1738 и (URI) RFC 2396
Разрешения имен и мобильности (DHCP) RFC 2131 и
(DNS) RFC 1034 и 1035
Кодирования приложений (MIME) RFC 2045
Безопасности (TLS) RFC 2246 и (IPsec) RFC 2401 и 2406
15© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Основы SIP (продолжение)Компоненты SIP
• Пользовательские агенты (User Agent – UA)
User Agent Client (UAC) – инициатор установления сессии
User Agent Server (UAS) – отвечает на запрос по установлению сессии
User Agent = UAC + UAS
• Шлюзы*
Отвечают за трансляцию формата SIP в и из формата протокола, отличного от SIP, какправило – ТфОП (медиа и сигнализация)
• Серверы регистрации (Registrar Server)*
Ведут регистрацию агентов, обрабатывая сообщения REGISTER
• Прокси серверы (Proxy Server)*
Выполняют маршрутизацию сообщений SIP
Могут добавлять, модифицировать и удалять заголовки сообщений SIP (например, Record Route или Via)
• Серверы переадресации (Redirect Server)*
Возвращают агенту новый адрес для прямой маршрутизации вызова по этому адресу
* Опциональный компонент
16© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Адресация в SIP
• Fully-Qualified Domain Name (FQDN)
sip:jdoe.cisco.com
• Домен в стиле SMTP [RFC 2368]
• Адреса в стиле E.164 [RFC 2806]
sip:[email protected]; user=phone
user=phone означает, что это шлюз
(gateway.com это FQDN терминирующего шлюза)
• Смешанные адреса
sip:[email protected]; user=phone
17© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Формат пакета SIP
IHL Total Length
Identification Flags Fragment Offset
Header ChecksumProtocolTime to Live
Source Address
Destination Address
PaddingOptions
Version DSCP ECN
Заголовок IPv4 – 20 байт, двоичный
Source PortSource Port Destination PortDestination Port
ChecksumChecksumLengthLength
Заголовок UDP – 8 байт, двоичный(здесь может быть такжеTCP или SCTP)
Заголовки SIP в кодировке US-ASCII(переменная длина)Заголовок SIP – текстовый
переменной длины
В сообщениях SIP *иногда* присутствует тело- В заголовке сообщения SIP указывается тип тела- Может быть текст, данные, аудио, видео иличто-то еще
Тело сообщения SIP –переменной длины, присутствует не всегда(это зависит от типасообщения)
18© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Заголовки SIP на примере
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
19© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Заголовки SIP на примере
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Метод = Команда Request URI Версия протокола SIP
20© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Заголовки SIP на примере
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Список всех устройств SIP на пути‘branch’ для идентификации
Обязательный заголовок во всех запросах SIP
21© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Максимальное кол-во серверов SIP, разрешенное на сигнальном пути
Заголовки SIP на примере
Обязательный заголовок во всех запросах SIPкроме INFO
22© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Адрес назначения сообщения SIP
Заголовки SIP на примере
Обязательный заголовок во всех запросах SIP
23© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Отправитель сообщения SIP Псевдо-случайное значение (для id)
Заголовки SIP на примере
Обязательный заголовок во всех запросах SIP
24© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Идентификатор вызова, глобально уникальный в рамках домена
Заголовки SIP на примере
Обязательный заголовок во всех запросах SIP
25© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Последовательно увеличивающийся порядковый номер Методас этого UA
Заголовки SIP на примере
Обязательный заголовок во всех запросах SIP
26© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Прямой путь к отправителю сообщения – FQDN или IP-адрес
Заголовки SIP на примере
27© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Описание тела сообщения (когда оно присутствует)
Заголовки SIP на примере
28© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhdsMax-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
- Ниже идет тело сообщения- Заголовки Content-Type и Content-Length указывают на это
Длина содержимого тела сообщения в октетах
Заголовки SIP на примере
29© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Session Description Protocol (SDP)
• SDP – это протокол описанияпараметров сессии длямультимедийных соединений
• Представляет наборпараметров мультимедийнойсессии
По функциональностипохож на H.245 в мире H.323
• Разработан рабочей группойIETF MMUSIC
• Простой и гибкий
Текстовый
Расширяемый
• Лежит в основе модели SIPOffer/Answer (Предложение/ Ответ), описанной в RFC 3264
“Строки” ниже в типичномпорядке
• v = версия протокола
• o = создатель сессии и ееидентификатор
• s = имя сессии
• c = информация о соединении
• k = ключи шифрования
• t = продолжительность сессии
• m = описание медии итранспортный адрес
• a = (ноль или больше) строкатрибутов медии
RFC 2327
30© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
• Тело сообщения SDP только для голоса
Тело сообщения SIP длямультимедийной сессии
- Видео- Порт UDP # 51172- Поддерживаемые кодеки: H.261, H.263
v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000m=video 51172 RTP/AVP 31 34a=rtpmap:31 H.261/90000a=rtpmap:34 H.263/90000
- Аудио- Порт UDP # 49172 - Поддерживаемые кодеки: G.711
v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000
- Аудио- Порт UDP # 49172 - Поддерживаемые кодеки: G.711
• Тело сообщения SDP для голоса и видео
RFC 2327
31© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP (они же Запросы) по RFC 3261
• INVITE – абонент или услуга приглашаются научастие в мультимедийной сессии
• ACK – подтверждает, что клиент получилфинальный ответ на запрос INVITE
• BYE – завершает установленную сессию; можетбыть послан любым пользовательским агентом всессии с несколькими участниками
• CANCEL – отменяет отправленный “ожидающий”запрос; не завершает установленные сессии
• OPTIONS – запрашивает возможности серверов UAS
• REGISTER – регистрирует пользовательского агентана сервере регистрации домена
32© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
• INFO (RFC 2976)
• PRACK (RFC 3262)
• SUBSCRIBE и NOTIFY (RFC 3265)
• UPDATE (RFC 3311)
• MESSAGE (RFC 3428)
• REFER (RFC 3515)
• PUBLISH (RFC 3903)
Дополнительные методы SIP
33© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Описание Примеры
1xx Информационные – Запрос получен, продолжаю его обрабатывать
100 Trying 180 Ringing 181 Call is Being Forwarded 183 Session Progressing
2xx Успех – Действие было успешно получено, понято и выполнено
200 OK 202 Acceptable
3xx Переадресация – для завершения выполнения запроса нужно обратиться к другому элементу SIP
300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily
4xx Ошибка клиента – Запрос содержит ошибки (неверный синтаксис) или не может быть обслужен на этом сервере
401 Unauthorized 406 Not Acceptable 407 Proxy Authentication Required 486 Busy Here 487 Request Terminated 488 Not Acceptable Here
5xx Ошибка сервера – Сервер не смог обслужить правильно построенный запрос
502 Bad Gateway 503 Service Unavailable
6xx Глобальная ошибка – Запрос не может быть обслужен ни на одном сервере
600 Busy Everywhere 603 Decline
Ответы SIPRFC 3261
34© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: INVITE, ACK и BYE
Invite
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
(SDP Alice не показан)
RFC 3261
35© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
200 OK
Alice Bob
Методы SIP: INVITE, ACK и BYE
SIP/2.0 200 OKVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8 ;received=10.1.3.33To: Bob ;tag=a6c85cfFrom: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 131
(SDP Bob не показан)
36© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
200 OK
Alice Bob
Методы SIP: INVITE, ACK и BYE
ACK
ACK sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8Max-Forwards: 70To: Bob ;tag=a6c85cfFrom: Alice ;tag=1928301774Call-ID: [email protected]: 314159 ACKContent-Length: 0
37© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
200 OK
Сессия установлена
Alice Bob
Методы SIP: INVITE, ACK и BYE
ACK
38© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
200 OK
Сессия установлена
Alice Bob
Методы SIP: INVITE, ACK и BYE
ACK
BYE
BYE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP 10.1.3.33;branch=z9hG4bKnashds8Max-Forwards: 70From: Bob ;tag=a6c85cfTo: Alice ;tag=1928301774Call-ID: [email protected]: 231 BYEContent-Length: 0
RFC 3261
39© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
200 OK
Session Established
Alice Bob
Методы SIP: INVITE, ACK и BYE
ACK
BYE
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP 192.168.10.20From: Alice ;tag=1928301774To: Bob ;tag=a6c85cf Call-ID: [email protected]: 231 BYEContent-Length: 0
40© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice BobSIP Proxy “server10.biloxi.com”
Методы SIP: INVITE, ACK и BYE с прокси
Invite
INVITE sip:[email protected]/TCP SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=10.1.3.33
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
(SDP Alice не показан)
RFC 3261
41© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
SIP Proxy “server10.biloxi.com”
INVITE sip:[email protected]/TCP SIP/2.0Via: SIP/2.0/TCP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1 ;received=192.168.10.1
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=10.1.3.33
Max-Forwards: 69To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
(SDP Alice не показан)
Заголовок Viaтелефона Alice
Заголовок Viaпрокси-сервера
Max-Forwardsуменьшаетсяна 1
42© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3Invite Invite
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
SIP Proxy “server10.biloxi.com”
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1 ;received=192.168.10.1
Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8 ;received=10.1.3.33
To: Bob ;tag=a6c85cfFrom: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 131
(SDP Bob не показан)
Note: Обазаголов-ка Via
43© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
200 OK
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
SIP Proxy “server10.biloxi.com”
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8 ;received=10.1.3.33
To: Bob ;tag=a6c85cfFrom: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 131
(SDP Bob не показан)
Note: Одинзаго-ловокVia
44© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
200 OK200 OK
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
ACK
ACK sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds8
Max-Forwards: 70To: Bob ;tag=a6c85cfFrom: Alice ;tag=1928301774Call-ID: [email protected]: 314159 ACKContent-Length: 0
SIP Proxy “server10.biloxi.com”
45© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
200 OK200 OK
Сессия установлена
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
ACK
SIP Proxy “server10.biloxi.com”
46© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
200 OK200 OK
Сессия установлена
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
ACK
SIP Proxy “server10.biloxi.com”
BYE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP 10.1.3.33;branch=z9hG4bKnashds8Max-Forwards: 70From: Bob ;tag=a6c85cfTo: Alice ;tag=1928301774Call-ID: [email protected]: 231 BYEContent-Length: 0
BYE
RFC 3261
47© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite Invite
200 OK200 OK
Сессия установлена
Alice Bob
Методы SIP: INVITE, ACK и BYE с прокси
ACK
BYE
SIP Proxy “server10.biloxi.com”
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP 192.168.10.20From: Alice ;tag=1928301774To: Bob ;tag=a6c85cf Call-ID: [email protected]: 231 BYEContent-Length: 0
48© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Различные типы прокси серверов
Transaction Stateless
Прокси серевер, котрый передает (проксирует) все сообщенияи ответы, не отслеживая никакого состояния
Dialog Stateful
Прокси сервер, который вставляет заголовок Record Route всамый первый запрос SIP для того, чтобы гарантировать, чтовсе остальные сообщения в рамках диалога проходили черезэтот сервер; это относится к каждому прокси серверу насигнальном пути между пользовательскими агентами
Transaction Stateful
Прокси сервер, который, получая запрос SIP, отслеживаетсостояние транзакции до получения финального ответа наэтот запрос (т.е. ответы 2XX, 3XX, 4XX, 5XX или 6XX). Этотпрокси ничего не знает о запросах UPDATE (обновление), REFER (перевод) и BYE (завершение) сессии
49© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
SIP Redirect Server
INVITE
302 Moved Temporarily
200 OK
ACK
ACK
INVITE (с URI из заголовка Contact в ответе 302)
Сессия установлена
SIP Redirect Server SIP Call Flow с Redirect
180 Trying
Alice Bob
50© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Сессия #1 установлена
Alice Bob Carol
Методы SIP: reINVITE дляудержания вызова (Call Hold)
INVITE/200 OK/ACK
reINVITE[hold]
200 OK
• Перевод на удержание существующейсессии выполняется отправкойудерживающим агентом сообщения INVITE стем же Call-ID, но с изменением режима с“sendrecv” на “sendonly”• В 200 OK будет соответственно “recvonly”
ACK
RFC 3261
51© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Сессия #1 установлена
200 OK (“sendrecv”)
reINVITE [session #1 “sendrecv”]
Alice Bob Carol
Методы SIP: Трехсторонняя конференциячерез агента Bob
INVITE/200 OK/ACK
reINVITE[hold]
200 OK/ACK
Сессия #2 установлена
ACK
INVITE
200 OK
ACK
Здесь медиа смешивается на агенте Bob, но он бы мог так желегко указать на выделенную для этого ферму DSP
В этот момент обе сессии активны
52© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: CANCEL
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP 10.1.3.33;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Content-Type: application/sdpContent-Length: 142
(Alice's SDP not shown)
Invite
CANCEL – отменяет запросы всостоянии ожидания ответа; не завершает установленныесессии
RFC 3261
53© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
Alice Bob
Методы SIP: CANCEL
CANCEL
CANCEL sip:[email protected] SIP/2.0Via: SIP/2.0/TCP 10.1.3.33;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 10197 CANCELContact: Reason: SIP ;cause=486 ;text=“Busy Here”Content-Length: 0
CANCEL – отменяет запросы всостоянии ожидания ответа; не завершает установленныесессии
• Заголовок Reason укажетпричину отмены
• В данном случае Aliceскорее всего решилаположить трубку до того, как ее вызов был принят
54© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
Alice Bob
Методы SIP: CANCEL
CANCEL
487 “Request Terminated”
SIP/2.0 487 Request TerminatedVia: SIP/2.0/TCP 10.1.3.33From: Alice ;tag=1928301774To: Bob ;tag=a6c85cf Call-ID: [email protected]: 10197 CANCELContent-Length: 0
CANCEL – отменяет запросы всостоянии ожидания ответа; не завершает установленныесессии
• 487 “Request Terminatedэто правильный ответ наCANCEL “ожидающего”запроса INVITE
55© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Invite
Alice Bob
Методы SIP: CANCEL
CANCEL
487 “Request Terminated”
ACK sip:[email protected] SIP/2.0Via: SIP/2.0/TCP 10.1.3.33;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected] CSeq: 10197 ACKContent-Length: 0
CANCEL – отменяет запросы всостоянии ожидания ответа; не завершает установленныесессии
• Ответ 4XX всегдадолжен сопровождатьсяACK
ACK
56© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP: CANCELCall Forking
• Прокси “размножает” входящий INVITE на несколькопользовательских агентов
• Fork может быть последовательным (например, CANCEL через 3 КПВ и INVITE следующему агенту) илипараллельным
• Значения поля “Branch” в заголовках Via уникальны длякаждого исходящего INVITE
• Сессия устанавливается с первым агентом, ответившим200 OK
• Остальным агентам отправляется CANCEL
• Прокси ДОЛЖЕН БЫТЬ как минимум “Transaction Stateful”, чтобы CANCEL были правильно сформированы
• Если прокси еще и “Dialog Stateful”, через него будетпроходить BYE
57© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3
Пример Call Forking FlowПараллельный Call Forking
Invite
Invit
e
Alice
OfficePhone
OfficePhone
Bob’s
CellphoneCellphoneBob’s
Invite
Invite Invite
Atlanta.com Biloxi.com 180
Rin
ging
180 Ringing
180 Ringing
200 OK
180 Ringing
200 OK
ACK 200 OK
Session Established
CANC
EL
CANCEL
RFC 3261
Mobile LaptopMobile LaptopBob’s
58© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice
Методы SIP: OPTIONS
Bob
OPTIONS – позволяет опроситьвозможности UAS
• Дает возможностьвыяснить, поддерживаетли UAS и какие:
– методы,
– типы контента,
– расширения,
– кодеки,
– и т.д.
до отправки INVITE, т.е. еще до попыткиустановления диалога
OPTIONS sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK77i832k9 ;received=10.1.3.33
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 22756 OPTIONSContact: Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER,
SUBSCRIBE, NOTIFY, MESSAGE, UPDATEAccept: application/sdp, application/pidf-xmlContent-Length: 0
OPTIONS
RFC 3261
59© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3
Alice
Методы SIP: OPTIONS
Bob
200 OKOPTIONS – позволяет опросить
возможности UAS
• В 200 OK передаются:– Известные контакты
– Поддерживаемыеметоды
– Поддерживаемые языки
– Типы тел сообщений
• Если сервер не готовпринять новый запрос, онотвечает 486 “Busy Here”
SIP/2.0 200 OKVia: SIP/2.0/TCP sip:[email protected];branch=z9hG4bK77i832k9 ;received=10.1.3.33
To: Bob ; tag=a6c85e3From: Alice ;tag=1928301774Call-ID: [email protected]: 22756 OPTIONSContact: Contact: Allow: INVITE, ACK, OPTIONS, BYE, CANCEL, REFER,
NOTIFY, MESSAGEAccept: application/sdp, text/plain, image/jpegAccept-language: en, frContent-Type: application/sdpContent-Length: 274
(в SDP - кодеки, которые поддерживает Bob)
OPTIONS
RFC 3261
Note: более короткий списокметодов
60© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice
Методы SIP: REGISTER
REGISTER – связывает SIP URI агента (называемый Address of Record – AOR) с контактом
– Дает возможность агентамполучать сообщения SIP
– Регистрации представляютдинамическуюсоставляющую состоянияабонентов в сети
• Клиенты могут использоватьтри метода для поискасервера регистрации:
– Конфигурация на клиенте
– Address-of-Record своегодомена [sip:atlanta.com]
– Multicast [224.0.1.75]
REGISTER
REGISTER sip:server19.atlanta.com SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bk2l55n1
To: Alice From: Alice ;tag=283074Call-ID: [email protected]: 31862 REGISTERContact: Expires: 21600Content-Length: 0
SIP Registrar Server “server19”
RFC 3261
61© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
REGISTER
Alice
Методы SIP: REGISTER
SIP Registrar Server “server19”
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bk2l55n1; received=10.1.3.33
To: Alice ; tag=a6c85e3From: Alice ;tag=283074Call-ID: [email protected]: 31862 REGISTERContact: Contact: Expires: 3600Contact-Length: 0
REGISTER – связывает SIP URI агента (называемый Address of Record – AOR) с контактом
– Ответ 200 OK с Registrar содержит список заколовковContact со всеми текущими“привязками”
– Заголовок Expires информирует агента, черезсколько времени нужнообновлять регистрацию
REGISTER как правило сопровождается аутентификацией
62© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: PRACK
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=10.1.3.33
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEContact: Requires: 100relContent-Type: application/sdpContent-Length: 142
(SDP Alice не показан)
INVITE PRACK – надежная доставкаответов 1XX (provisional response)
• Для подтвержденияполучения ответов 1XX (например, 180 Ringing и 183 Session Progress с SDP илиКПВ)
• Если UAC хочет надежнойдоставки ответов 1XX, он всвой INVITE помещает взаголовок Requires параметр100rel
RFC 3262
63© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: PRACK
SIP/2.0 183 Session ProgressVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITERSeq: 813520Contact: Content-Type: application/sdpContent-Length: 235
(SDP Bob не показан)
PRACK – надежная доставкаответов 1XX (provisional response)
• UAS включает в ответзаголовок RSeq, которыйявляется порядковымномером сообщения дляподтверждения его состороны клиента
• Почему такой обменнеобходим?
– Например, для гарантиидоставки SDP в ответах 1XX до ответа вызова (раннеепроключение медиа-ресурсов)
INVITE
183 Session Progress
64© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: PRACK
PRACK sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asi98JK ;received=10.1.3.33
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159RAck: 813520 314159 INVITEContact: Content-Length: 0
INVITE
183 Session Progress
PRACK
PRACK – надежная доставкаответов 1XX (provisional response)
• Отправляется клиентом послеполучения ответа 1XX (отличного от 100 Trying) назапрос INVITE до финальногоответа (ACK), но только есликлиент запросил процедуру всвоем INVITE
• Должен быть отправлен, еслиINVITE содержал заголовокRequires с параметром 100rel
• Включает заголовок RAck с темже значением порядковогономера, что был в заголовкеRSeq сообщения 183, получениекоторого он таким образомподтверждает
65© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: PRACK
SIP/2.0 200 OK sip:[email protected]: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asi98JK ;received=10.1.3.33
To: Bob ; tag=a6c85e3From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 PRACKContact: Content-Length: 0
INVITE
183 Session Progress
200 OK [PRACK]
PRACK
PRACK – надежная доставкаответов 1XX (provisional response)
• 200 OK на PRACK отправляетсясервером UAS
• Обмен сообщениями непрекращается с получениемPRACK или 200 OK на него
66© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP: SUBSCRIBE & NOTIFY
SUBSCRIBE – используется, чтобы запроситьасинхронное уведомление онаступлении события илигруппы событий
• Метод используется, чтобызапросить текущее состояние иуведомления об измененияхсостояния на удаленном узле
• В запросе СЛЕДУЕТприсутствовать заголовкуExpires
• Запросы ДОЛЖНЫ иметь толькоодно значение в заголовке Event
SIP RegistrarIM App Server
SUBSCRIBE (Event: Reg)
SUBSCRIBE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP app_IM.atlanta.com;branch=z9hG4bKnashds7
From: sip:app_IM.atlanta.com ;tag=123aa9To: sip:[email protected]: 9987@app_IM.atlanta.comCSeq: 9887 SUBSCRIBEContact: sip:app_IM.atlanta.comEvent: regMax-Forwards: 70Expires: 21600Accept: application/reginfo+xml
RFC 3265 и 3680
67© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP: SUBSCRIBE & NOTIFY
SUBSCRIBE (Event: Reg)
200 OK
SIP RegistrarIM App Server
SIP/2.0 200 OKVia: SIP/2.0/TCP app_IM.atlanta.com;branch=z9hG4bKnashds7 ;received=10.1.3.2
From: sip:app_IM.atlanta.com ;tag=123aa9To: sip:[email protected] ;tag=xyzyggCall-ID: 9987@app_IM.atlanta.comCSeq: 9887 SUBSCRIBEContact: sip:server19.atlanta.comExpires: 3600
SUBSCRIBE – используется, чтобы запроситьасинхронное уведомлениео наступлении событияили группы событий
• Заголовок Expires ДОЛЖЕНприсутствовать в ответе
• Ответы 2XX показывают, чтоподписка принята и чтоNOTIFY будет отправленнемедленно при наступлениисобытия
68© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP: SUBSCRIBE & NOTIFY
SUBSCRIBE (Event: Reg)
200 OK
NOTIFY (status: active)
SIP RegistrarIM App Server
NOTIFY sip:app_IM.atlanta.com SIP/2.0Via: SIP/2.0/TCP server1.atlanta.com ;branch=z9hG4bKnasaii
From: sip:[email protected] ;tag=xyzyggTo: sip:app_IM.atlanta.com ;tag=123aa9Max-Forwards: 70Call-ID: 9987@app_IM.atlanta.comCSeq: 1288 NOTIFYContact: sip:server19.atlanta.comEvent: regSubscription-State: activeContent-Type: application/reginfo+xmlContent-Length: 223
NOTIFY – используется, чтобыуведомить узел SIP онаступлении события, накоторое этот узелподписался с помощьюSUBSCRIBE
• NOTIFY отправляется, чтобыуведомить подписчиков обизмениях в состоянии, накоторые те подписались
• Заголовок Event долженсовпадать с Event из SUBSCRIBE
69© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Методы SIP: SUBSCRIBE & NOTIFY
SUBSCRIBE (Event: Reg)
200 OK
NOTIFY (status: init)
200 OK
SIP RegistrarIM App Server
SIP/2.0 200 OKVia: SIP/2.0/TCP server19.atlanta.com;branch=z9hG4bKnasaii ;received=10.1.3.1
From: sip:app_IM.atlanta.com ;tag=123aa9To: sip:[email protected] ;tag=xyzyggCall-ID: 9987@app_IM.atlanta.comCSeq: 1288 NOTIFYContact: sip:server1.atlanta.comContent-Length: 0
NOTIFY – используется, чтобыуведомить узел SIP онаступлении события, накоторое этот узелподписался с помощьюSUBSCRIBE
• Отправка NOTIFY на узел, который его не ожидает, является неправильнымповедением, отправляющий узелдолжен получить в ответ 481 "Subscription does not exist"
70© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: MESSAGE
MESSAGE – для передачисообщений междупользователями почти вреальном времени
• Содержимое сообщения – втеле приложения MIME
• MESSAGE не создает диалоги!
• Сообщения явно не увязаныдруг с другом
• Размер тела сообщения недолжен превышать 1300 байт
MESSAGE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asegma
Max-Forwards: 70To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 22756 MESSAGEContent-Type: text/plainContent-Disposition: renderContent-Length: 37
Скажи, Боб, это классная презентация?
MESSAGE
RFC 3428
71© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: MESSAGE
MESSAGE
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bKnashds7 ;received=10.1.3.33
To: sip: sip:[email protected]>; tag=a6c85e3From: [email protected] ;tag=1928301774Call-ID: [email protected]: 22756 MESSAGEContent-Length: 0
MESSAGE – для передачисообщений междупользователями почти вреальном времени
• Ответ 200 OK не обязательноозначает, что пользовательпрочитал сообщение
• Ответы 4xx или 5xx показывают, что сообщение небыло успешно доставлено
• Ответ 6xx означает, чтосообщение было доставленоуспешно, но было отвергнуто
72© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice
Пример: Регистрация в системемгновенного обмена сообщениями
REGISTER
200 OK
SUBSCRIBE (Event: Reg)
200 OK
NOTIFY (status: init)
200 OK
NOTIFY (status: active)
200 OK
SIP Registrar IM App Server
RFC 3680
MESSAGE
Добро пожаловать в систему мгновенного обменасообщениями, обслуживающую CiscoExpo!
200 OK
73© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice SIP Proxy
Методы SIP: INFO
INFO – для передачиуправляющей информации, относящейся к сессии игенерируемой во времясессии
• Тип содержимого Content-Type не определен ни в одном RFC, поэтому агентам необходимоего согласовать заранее
INFO sip:Alice’[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com
;branch=z9hG4bK776asegmaMax-Forwards: 70To: Bank From: Alice ;tag=1928301774Call-ID: [email protected]: 22756 INFOContact: Content-Type: text/plainContent-Length: 16
3 1 8 1 9 6 2
INFO
Сессия установлена
Alice Банк Alice
RFC 2976
74© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice SIP Proxy
Методы SIP: INFO
• Передача информации об уровнесигнала в беспроводной сети дляподдержки приложений мобильности
• Передача информации о состояниибаланса счета
• Передача изображений или другой не-потоковой информации междуучастниками сессии
• Ответ 487 “Request Terminated”отправляется, если INFO не можетбыть принят
INFO
200 OK
Сессия установлена
Alice
INFO
200 OK
INFO – для передачиуправляющей информации, относящейся к сессии игенерируемой во времясессии
• Примеры: Передача сигнальныхсообщений ТфОП между шлюзамив течение вызова
• Передача тонового набора (цифрDTMF) во время сессии SIP
Банк Alice
75© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: UPDATE
UPDATE – позволяет агенту обновлятьпараметры сессии
• UAC должен включить в заголовок Allow индикацию о поддержке UPDATE
INVITE (SDP 1)
INVITE sip:[email protected]/TCP SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928Call-ID: [email protected]: UPDATECSeq: 22756 INVITEContact: Requires: 100relContent-Type: application/sdpContent-Length: 142
(SDP Alice не показан)(но она просит кодек G.711)
RFC 3311
76© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: UPDATE
INVITE (SDP 1)
200 OK (PRACK)
PRACK
180 Ringing (SDP 1)
SIP/2.0 180 RingingVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
To: Bob From: Alice ;tag=1928Call-ID: [email protected]: UPDATECSeq: 22756 INVITERSeq: 813520Contact: Content-Type: application/sdpContent-Length: 142
(SDP Bob не показан)(но он согласен на кодек G.711)
UPDATE – позволяет агенту обновлятьпараметры сессии
• UAC должен включить в заголовок Allow индикацию о поддержке UPDATE
77© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice Bob
Методы SIP: UPDATE
UPDATE – позволяет агенту обновлятьпараметры сессии
• UPDATE здесь для смены кодека с G.711 из первого SDP на G.729
200 OK (UPDATE)
INVITE (SDP 1)
180 Ringing (SDP 1)
200 OK (PRACK)
PRACK
200 OK (INVITE)
Сессия установлена
UPDATE (SDP 2)
UPDATE sip:[email protected]/TCP SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70To: Bob From: Alice ;tag=1928Call-ID: [email protected]: 10197 UPDATEContact: Content-Type: application/sdpContent-Length: 142
(Новый SDP Alice не показан)(но она теперь просит кодек G.729)
• UPDATE может быть использованпосле того, как принят INVITE, однако использование reINVITE более предпочтительно
ACK
78© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
REFER (Refer-to: Carol)
Сессия #1 установлена
Alice Bob Carol
Методы SIP: REFERПеревод вызова
INVITE/200 OK/ACK
reINVITE[hold]
200 OK/ACK
REFER sip:[email protected] SIP/2.0Via: SIP/2.0/UDP swp34.biloxi.com
;branch=z9hG4bKna9Max-Forwards: 70To: ;tag=a6c85cfFrom: ;tag=1928301774Call-ID: [email protected]: 10187 REFERAllow: INVITE, ACK, CANCEL, OPTIONS,
BYE, REFER, NOTIFY, UPDATESupported: replacesRefer-To: Contact: Content-Length: 0
REFER – Запрос SIP от одного UA для приглашения (INVITE) всессию другого агента
• REFER неявно устанавливаетподписку с другим UA
– Поэтому после выполнениятребуется NOTIFY
• В запросе REFER заголовок “Refer-to” является обязательным
RFC 3515
79© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
REFER (Refer-to: Carol)
202 Accepted
Сессия #1 установлена
Alice Bob Carol
Методы SIP: REFERПеревод вызова
INVITE/200 OK/ACK
reINVITE[hold]
200 OK/ACK
INVITE (по адресу из REFER от Боба)
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com ;branch=z9VHJ23J41Max-Forwards: 70To: From: ;tag=0616052ueCall-ID: [email protected]: 6187 INVITEContact: Content-Length: 147
(SDP Alice не показан)
80© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
REFER (Refer-to: Carol)
202 Accepted
Сессия #1 установлена
INVITE (по адресу из REFER от Боба)
NOTIFY
200 OK
200 OK
BYE
Сессия #2 установлена
Alice Bob Carol
Методы SIP: REFERПеревод вызова
INVITE/200 OK/ACK
reINVITE[hold]
200 OK/ACK
200 OK
BYE
200 OK/ACK
81© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice “ESC1”
Методы SIP: PUBLISH
PUBLISH – запрос SIP насоздание, модификацию иудаление состояния ресурса, ассоциированного с AOR (Address-Of-Record)
• Event State Compositor (ESC): сервер, которыйобрабатывает запросыPUBLISH, отвечает заформирование ипредставление композитногосостояния ресурса
• На ESC конфигурируется, какие устройства могутиформировать его о своемсостоянии
• Первичное сообщениеPUBLISH должно иметь тело всообщении
• Заголовки Record-Route иContact здесь не имеютсмысла
PUBLISH sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com
;branch=z9hG4bK776asegmaMax-Forwards: 70To: Alice From: Alice ;tag=1928301774Call-ID: [email protected]: 22756 PUBLISHEvent: presenceExpires: 21600Content-Type: application/pidf+xmlContent-Length: 126
(Тело сообщения в формате XML не показано)
PUBLISH
RFC 3903
82© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice
Методы SIP: PUBLISH
PUBLISH
200 OK
SIP/2.0 200 OKVia: SIP/2.0/TCP pc33.atlanta.com;branch=z9hG4bK776asegma ;received=10.1.3.33
To: sip: sip:[email protected]>;tag=1928301774 From: [email protected]: [email protected]: 22756 PUBLISHSIP-ETag: hp169abcExpires: 1800
“ESC1”
PUBLISH – запрос SIP насоздание, модификацию иудаление состояния ресурса, ассоциированного с AOR (Address-Of-Record)
• 404 (Not Found) – ошибка, когдаESC получает неизвестноесостояние
• OPTIONS может бытьиспользован, чтобы понять, поддерживает ли UAS методPUBLISH
• 4 опреации с методомPUBLISH:
– Initial
– Refresh
– Modify
– Remove
RFC 3903
83© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
200 OK
ACK
INVITE
INVITE
486 “Busy Here”
200 OK
Сессия установлена
Пример SIP:Call Forward Busy и No Answer
Alice Bob Bob’s VM
ACK
Боб говоритс Дейвом
Biloxi.com Proxy
181 Call Forwarded
RFC 3261
Нет 180 Ringing привызове на Voice Mail
84© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
200 OK
ACK
INVITE
INVITE
487 “Request Terminated”
180 Ringing
200 OK
Сессия установлена
Пример SIP:Call Forward Busy и No Answer
Alice Bob Bob’s VM
CANCEL
Боб неотвечает
Biloxi.com Proxy
RFC 3261
180 Ringing
ACK
85© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Средства безопасности в SIP
• Digest Authentication
Для аутентификации отправителя сообщения
• TLS/IPsec
Конфиденциальность/Целостность сигнальныхсообщений на каждом участке или насквозь (e2e – end to end)
• S/MIME
Конфиденциальность тела сообщения e2e
• Network Asserted Identity
Сеть удостоверяет личность вызывающего абонента, тотли он за кого он себя выдает
• SIP Privacy
Сохранение приватности некоторых частей сообщений, отправляемых за пределы своего домена
86© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice SIP Proxy Bigbox 10
Digest Authentication
Audrey
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com
;branch=z9hG4bK74b43Max-Forwards: 70From: Alice ;tag=9fxced76slTo: Audrey Call-ID: [email protected]: 31862 INVITEContact: Content-Type: application/sdpContent-Length: 151
(SDP Alice не показан)
Digest Authentication –Механизм аутентификациидля некоторых сообщений
• Может быть как для одногозаголовка сообщения, так идля нескольких
• НЕ работает для теласообщения
RFC 3261
87© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
Digest Authentication
407 Proxy Auth Req
Audrey
SIP/2.0 407 Proxy Authorization RequiredVia: SIP/2.0/TLS pc33.atlanta.com
;branch=z9hG4bK74b43 ;received=10.1.3.33From: Alice ;tag=9fxced76slTo: Audrey ;tag=3flal12sfCall-ID: [email protected]: 31862 INVITEProxy-Authenticate: Digest realm="atlanta.com", qop="auth", nonce="f84f1cec41e6cbe5aea9c8e88d359",opaque="", stale=FALSE, algorithm=MD5
Content-Length: 0
SIP Proxy Bigbox 10
Digest Authentication –Механизм аутентификациидля некоторых сообщений
• В ответ отправляется 407 “Proxy Authentication Required” с заголовком Proxy-Authenticate, содержащиминформацию для вычисленияцифровой подписи по томуили иному алгоритму
88© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
Digest Authentication
407 Proxy Auth Req
Invite с токеном
Audrey
INVITE sips:[email protected] SIP/2.0Via: SIP/2.0/TLS pc33.atlanta.com;branch=z9hG4bK776asdhds ;received=10.1.3.33
Max-Forwards: 70Route: To: Audrey From: Alice ;tag=1928301774Call-ID: [email protected]: 31863 INVITEContact: Content-Type: application/sdpContent-Length: 151Authorization: Digest username=“audrey", realm="atlanta.com"
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",uri="sips:[email protected]",response="dfe56131d1958046689d83306477ecc"
(SDP Alice не показан)
SIP Proxy Bigbox 10
Digest Authentication –Механизм аутентификациидля некоторых сообщений
• Вследствие отсутствиямеханизма защитыцелостности Digest используется TLS
89© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
Digest Authentication
407 Proxy Auth Req
Invite с токеном
Audrey
Invite с токеном
INVITE sips:[email protected] SIP/2.0Via: SIP/2.0/TLS Bigbox10.atlanta.com;branch=z9hG4bKnashd92 ;received=10.1.3.1
Via: SIP/2.0/TLS pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 69To: Audrey From: Alice ;tag=1928301774Call-ID: [email protected]: 31863 INVITEContact: Content-Type: application/sdpContent-Length: 151Authorization: Digest username=“audrey", realm="atlanta.com"
nonce="ea9c8e88df84f1cec4341ae6cbe5a359", opaque="",uri="sips:[email protected]",response="dfe56131d1958046689d83306477ecc"
(SDP Alice не показан)
SIP Proxy Bigbox 10
Digest Authentication –Механизм аутентификациидля некоторых сообщений
90© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice BobProxy 1 (BigBox3)
Цель – сквознаябезопасность, но...
Proxy 2 (Server10)
Например, зашифровано IPsec ESP
• Если Alice шифрует до конечной точки (Bob), прокси-серверыне могут видеть/добавлять/модифицировать/удалятьзаголовки
–Это проблема по многим причинам, таким как:
• Alice нужно знать IP-адрес Боба
• Ни одна сеть/домен по пути не может помочь, не можетуправлять сообщениями, не может их журналировать
X X
• Поэтому для правильной работы SIP требуются механизмыбезопасности hop-by-hop, работающие на каждом участке попути следования сигнальных сообщений
RFC 2246, 3546 и 3261
91© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice BobProxy 1 (BigBox3)
SIPS: Безопасность Hop-by-Hop
Proxy 2 (Server10)
Encrypted Encrypted Encrypted
UNencrypted UNencrypted
• От агента до сервера – SIP требует Transport Layer Security (TLS)– TLS работает поверх уровня IP
– TLS применяется к тем устройствам, которые не установилидвусторонние доверительные отношения
• Сигнализация между серверами может быть через TLS или IPsec (который считается опциональным – но более устойчивым)
• Серверы SIP дешифруют каждое сообщение (требуетсяотдельный ключ на каждый hop) – таким образом они видят всезаголовки сообщений, что и дает возможность SIP работатьправильно
RFC 2246, 3546 и 3261
92© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
407 Auth Req (PS1)
Сессия установлена
Alice BobProxy 1 (BigBox3)
INVITE
Proxy 2 (Server10)
INVITE (Auth PS1)INVITE (Auth PS1)
407 Auth Req (PS2)
INVITE (Auth PS1&2)
ACK407 Auth Req (PS1&2)
ACK
ACK
200 OK200 OK200 OK
ACK ACKACK
INVITE (Auth PS1&2)INVITE (Auth PS1&2)
TLSTLS TLS или IPsec
SIPS (TLS) – для обеспеченияцелостности
93© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Безопасность SIP: Secure/Multipart Internet Mail Extension
Alice Bob
Content-type: application/sdp
v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0 4 18a=rtpmap:0 PCMU/8000a=rtpmap:4 G723/8000 a=rtpmap:18 G729/8000
INVITE с телом S/MIME
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bKnashds8To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEMax-Forwards: 70Contact: Content-Type: application/pkcs7-mime;
smime-type=enveloped-data; name=smime.p7mContent-Disposition: attachment;
filename=smime.p7m handling=required
• Тело S/MIME– Заголовок Content-Type указывает на использованиеsmime
– Элементы SIP ДОЛЖНЫподдерживать SHA1 (аутентификация) и3DES (шифрование)
• AES специфицированотдельно
– Все тело должно бытьподписано целиком
RFC 3261
94© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Безопасность SIP: S/MIME
Alice Bob
INVITE с телом S/MIME
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bKnashds8To: Bob From: Alice ;tag=1928301774Call-ID: [email protected]: 314159 INVITEMax-Forwards: 70Contact: Content-Type: application/pkcs7-mime;
smime-type=enveloped-data; name=smime.p7mContent-Disposition: attachment;
filename=smime.p7m handling=required
Тело того же сооб-щения, шифрованоS/MIME
Content-type: application/sdp
v=0o=alice 2890844526 2890844526 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0 4 18a=rtpmap:0 PCMU/8000
JB23LB645V73V73MNB73KV7K4VLHV4T234T2T2JH5NG5CMGX5MYM5SMN5GYCWG5CYMWYMWHNHG5MC5YGWC5CW5WIU87W34TO8W7FLW5LWC5WC5C4L5CLWCTYWJHC54JHCW45HCWLJ5HCWL5CLWJH5CLJH4C5JHEWCLTJYH54CLWJ5CYWJ45CLYWJ5HFKGFD3K7GHD4KHG7DK4T5DLTYGCK6DUK4TDUK4GHCUK56CUY45TD6UK3TCKH45T8K3TH2DXL2HTXLKT8K2XK82XK83K5T8D3KGHICXH4D98D4D967763R9356T08726R85R6L2Y4F5L356D3Y5SD3754T73967RT35PI84FY7J3FD6D3LU6D6L37Y45F639456T2987R2RFL24YD2L6TDK3T7D3K75YU5D756RO837R3FLY
95© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice SIP Proxy Bigbox 10 Audrey
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com
;branch=z9hG4bK74b43Max-Forwards: 70From: ;tag=9fxt6cTo: Audrey Call-ID: [email protected]: 31862 INVITEP-Preferred-Identity: Alice Privacy: noneContent-Type: application/sdpContent-Length: 151
(SDP Alice не показан)
Network Asserted Identity –Механизм идентификации врамках одного домена
• Сервер аутентифицируетпользователя с помощью Digest Authentication
• Поле заголовка From –
• P-Preferred-Identity запрашиваетсяклиентом, но ожидается результатаутентификации сетью дляподтверждения личности
• Значения в заголовке Privacy: “user” = приватность требуется, “none” = всеравно
Network Asserted Identity/Privacy (Trusted)
RFC 3325
96© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
407 Proxy Auth Req
Audrey
SIP/2.0 407 Proxy Authorization RequiredVia: SIP/2.0/TLS pc33.atlanta.com
;branch=z9hG4bK74b43From: ;tag=9fxt6cTo: Audrey ;tag=3flalCall-ID: [email protected]: 31862 INVITEProxy-Authenticate: ... Realm: atlanta.com
(остаток не показан – см. слайд про Digest)Content-Length: 0
SIP Proxy Bigbox 10
Network Asserted Identity –Механизм идентификации врамках одного домена
• 407 это Digest Challenge со строныпрокси-сервера
• Для сохранения целостности прокси-сервер запрашивает TLS
• Полный заголовок “Proxy-Authenticate” не показан дляэкономии места – см.пример сослайда про Digest Authentication
Network Asserted Identity/Privacy (Trusted)
97© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
407 Proxy Auth Req
INVITE с Preferred
Audrey
INVITE sips:[email protected] SIP/2.0Via: SIP/2.0/TLS pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70Route: To: Audrey From: ;tag=19jtf0Call-ID: [email protected]: 31863 INVITEP-Preferred-Identity: Alice Privacy: idContent-Type: application/sdpContent-Length: 151Authorization: ... (не показан – см. слайды про Digest)
(SDP Alice не показан)
SIP Proxy Bigbox 10
Network Asserted Identity –Механизм идентификации врамках одного домена
• Теперь INVITE с SIPS URI
– Означает, что используется TLS
• Добавлены заголовки Authorization иRoute
• Privacy=id – не доверяй другомудомену
• Полный заголовок Authorization непоказан для экономии места – см.пример со слайда про DigestAuthentication
Network Asserted Identity/Privacy (Trusted)
98© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
INVITE
Alice
407 Proxy Auth Req
INVITE c Preferred
Audrey
INVITE c Asserted
INVITE sips:[email protected] SIP/2.0Via: SIP/2.0/TLS Bigbox10.atlanta.com;branch=z9hG4bKnashd92
Via: SIP/2.0/TLS pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 69To: Audrey From: ;tag=19jtf0Call-ID: a84b4c76e66710CSeq: 31863 INVITEP-Asserted-Identity: Alice Privacy: idContent-Type: application/sdpContent-Length: 151Authorization: ... (не показан)(SDP Alice не показан)
SIP Proxy Bigbox 10
Network Asserted Identity –Механизм идентификации врамках одного домена
• P-Asserted-Identity отправляетсяпрокси-сервером, поскольку Alice аутентифицирована и Audrey доверяем – в том же домене
RFC 3325
Network Asserted Identity/Privacy (Trusted)
99© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Услугаприватности
INVITE
Alice
407 Proxy Auth Req
INVITE (с Preferred?)
Bob
INVITE от Anonymous
INVITE sips:[email protected] SIP/2.0Via: SIP/2.0/TLS agent86.privacy-service.com;branch=z9hG4bKnashd93
Max-Forwards: 69To: Bob From: ;tag=19jtf1Call-ID: a84b4c76e66711CSeq: 31863 INVITEContact: Content-Type: application/sdpContent-Length: 151Authorization: ... (не показан)
(SDP Alice не показан)
Proxy “Agent 86”
Приватность SIP – вне доменадоверия
• Заголовок Privacy и все другиеупоминания об Alice удалены илиизменены, включая заголовок Via
• Заголовки с информацией о личностиотправителя: From, Contact, Reply-To, Via, Call-Info, User-Agent, Organization, Server, Subject, Call-ID, In-Reply-To, Record-Route и Warning
RFC 3323
Network Asserted Identity/Privacy (Untrusted)
100© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
Bob
INVITE
183 Session Progress
PRACK
ACK
200 OK (PRACK)
UPDATE
200 OK (UPDATE)
180 Ringing
PRACK
200 OK (INVITE)
200 OK (PRACK)
Сессия установлена
SIP Preconditions – Механизмгарантирования полосыпропускания для сессии спомощью RSVP
• Использует стандартнуюмодель Offer/Answer дляустановления сессии
• Позволяет производитьрезервирование полосы ДОтого, как зазвонитвызываемый телефон (нетзвонков “от призраков”)
• Все остальные правила ивозможности SIP полностьюдоступны
RFC 3312
101© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Alice
SIP (QoS) Preconditions
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/TCP pc33.atlanta.com:5060
;branch=z9hG4bK74bf9Max-Forwards: 70From: Alice
;tag=9fxced76sl To: Bob Call-ID: [email protected]: 31862 INVITERequires: 100relContact: Content-Type: application/sdpContent-Length: 191
v=0o=alice 2890844526 2890844526 IN IP4
atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0 4 18a=rtpmap:0 PCMU/8000a=rtpmap:4 G723/8000 a=rtpmap:18 G729/8000a=curr:qos e2e nonea=des:qos mandatory e2e sendrecv
Среди заголовков в INVITE нетничего особенного для работы SIPPreconditions, только заголовок“Requires: 100rel”, который просит, чтобы ответы 1XX доставлялисьнадежно и подтверждались PRACK
Запросы и ответы на резервирова-ние полосы пропускания в callflow SIP Preconditions – именно вSDP
Bob
Строки “a” current и desired накаждый поток сообщений сессииДОЛЖНЫ быть сгенерированыдля Preconditions
102© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Jam
es P
olk
200
50
50
3
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
Bob
v=0o=bob 2890844527 2890844527 IN IP4 biloxi.comc=IN IP4 172.16.1.36t=0 0m=audio 3456 RTP/AVP 0a=rtpmap:0 PCMU/8000a=curr:qos e2e nonea=des:qos mandatory e2e sendrecva=conf:qos e2e recv
SIP/2.0 183 Session ProgressVia: SIP/2.0/TCP swc50.atlanta.com:5060
;branch=z9hG4bK74bf9 ;received=10.1.3.33From: Alice ;tag=9fxced76slTo: Bob ;tag=8321234356Call-ID: [email protected]: 31862 INVITERSeq: 813520 Contact: Content-Type: application/sdpContent-Length: 210
Боб просит подтверждениерезервирования
Текущая и желаемая строки “a”ДОЛЖНЫ быть сгенерированы
103© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
PRACK
Bob
PRACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK74bf9 ;received=10.1.3.33
Max-Forwards: 70To: Bob From: Alice
;tag=8321234356Call-ID: [email protected]: 31862 RAck: 813520 31862 INVITEContact: Content-Length: 0
Этот PRACK для подтверждениясообщения 183 – не зависит отвыполнения резервирования
104© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
PRACK
200 OK (PRACK)
Bob
SIP/2.0 200 OK sip:[email protected]: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK74bf9 ;received=10.1.3.33
To: Bob From: Alice
;tag=8321234356Call-ID: [email protected]: 31862 PRACKContact: Content-Length: 0
105© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
Invite
183 Session Progress
Bob
PATH от B
RESV к B
PATH от A
RESV к A
PATH от B PATH от BPATH от B
RESV к BRESV к BRESV к B
PATH от APATH от APATH от A
RESV к A RESV к ARESV к A
Router 1 Router 2.... Router N
RFC 2205
106© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
PRACK
200 OK (PRACK)
Bob
UPDATE
UPDATE sip:[email protected] SIP/2.0From: Alice ;tag=9fxced76sl To: Bob Contact: Call-ID: [email protected]: 10197 UPDATEContent-Type: application/sdpContent-Length: 191
v=0o=alice 2890844528 2890844528 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000a=curr:qos e2e senda=des:qos mandatory e2e sendrecv
UPDATE отправляется дляподтверждения того, что оба UAпроизвели резервирование (send)
107© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
PRACK
200 OK (PRACK)
UPDATE
200 OK (UPDATE)
Bob
SIP/2.0 200 OK sip:[email protected]: Alice ;tag=9fxced76sl To: Bob Contact: Call-ID: [email protected]: 10197 UPDATEContent-Type: application/sdpContent-Length: 195
v=0o=alice 2890844529 2890844529 IN IP4 atlanta.comc=IN IP4 10.1.3.33t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000a=curr:qos e2e sendrecva=des:qos mandatory e2e sendrecv
200 OK от Боба – это UPDATE суведомлением sendrecv орезервировании в обе сторонымежду UA
108© 2005 Cisco Systems, Inc. All rights reserved.SIP Cisco Public
Резервирование полосы с RSVP
Alice
SIP (QoS) Preconditions
INVITE
183 Session Progress
PRACK
ACK
200 OK (PRACK)