Протокол сигнализации SIP

Содержание

Слайд 2

Определение

«SIP*- является протоколом управления прикладного уровня для создания, изменения и завершения сеансов

Определение «SIP*- является протоколом управления прикладного уровня для создания, изменения и завершения
связи с одним или большим количеством участников. В понятие сеанса входят мультимедиа конференции, обучение на расстоянии, Internet-телефония и подобные приложения» (RFC 2543)

*SIP – Session Initiation Protocol – Протокол инициализации сессии

Слайд 3

История создания протокола

Session Invitation Protocol:
Установление сеанса
Элементарные возможности согласования
Работа только поверх UDP
SDP для

История создания протокола Session Invitation Protocol: Установление сеанса Элементарные возможности согласования Работа
описания сеанса

Simple Conference Invitation Protocol:
Базировался на TCP
Использовал HTTP и SMTP

Session Initiation Protocol:
Работа поверх UDP
Использование SDP
Поддержка TCP

Слайд 4

История создания протокола

Разработкой протокола занимается группа MMUSIC (Multiparty Multimedia Session Control) комитета

История создания протокола Разработкой протокола занимается группа MMUSIC (Multiparty Multimedia Session Control)
IETF
1996 – создания первой версии SIP
1999 – 11 версий документа Draft-ietf-mmusic-SIP
В настоящее время действующей редакцией является RFC 3261

Слайд 5

Принципы, заложенные в основу протокола

Персональная мобильность пользователя
Масштабируемость сети
Расширяемость протокола SIP
Интеграция в стек

Принципы, заложенные в основу протокола Персональная мобильность пользователя Масштабируемость сети Расширяемость протокола
существующих протоколов Интернет
Взаимодействие с различными протоколами сигнализации

Слайд 6

Сравнение систем сигнализации

Сравнение систем сигнализации

Слайд 7

Организации стандартизации

телефония

Международный союз электросвязи
ITU-T
(ех. CCITT)

H.323, E.164, Z.100

Интернет

Группа разработчиков Интернет
(IETF – Internet Engineering

Организации стандартизации телефония Международный союз электросвязи ITU-T (ех. CCITT) H.323, E.164, Z.100
Task Force)

RFC 2543, RFC 2030

Слайд 8

Принципы, заложенные в основу SIP

Расширяемость протокола – возможность дополнения протокола новыми функциями
Масштабируемость

Принципы, заложенные в основу SIP Расширяемость протокола – возможность дополнения протокола новыми
сети – возможность увеличения элементов в сети при её расширении
Интеграция в стек существующих протоколов Интернет
Взаимодействие с другими протоколами сигнализации
Персональная мобильность - возможность быть доступными в любом месте с любым терминалам в любое время (сообщение REGISTER) → единый номер для всех услуг электросвязи

Слайд 9

Особенности протокола SIP

Основан на НТТР → проверенная технология для работы в Интернет
Использует

Особенности протокола SIP Основан на НТТР → проверенная технология для работы в
и UDP, и TCP
Работает поверх различных транспортных протоколов (IP, IPX, X.25, ATM)
Использует адресацию типа e-mail ([email protected])
Текстовый формат сообщений → простота и удобство техобслуживания и программирования
Высокая информативность сообщений → минимальное время установления соединения

Слайд 10

Возможности протокола SIP

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

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

Слайд 11

Основные характеристики протокола SIP

Назначение: для IP-коммуникаций
Архитектура: peer-to-peer
Преемственность: не пытается воспроизвести ТфОП
Стандарты: IETF-стандарт

Основные характеристики протокола SIP Назначение: для IP-коммуникаций Архитектура: peer-to-peer Преемственность: не пытается
RFC
Интеллект: рассредоточен по элементам сети
Сложность: еще простой, хотя уже содержит 13 запросов
Масштабируемость: высшая степень
Передача информации: речь, данные, видео

Слайд 12

Основные характеристики протокола SIP

Описание функциональных возможностей конечного оборудования: использование протокола SDP для

Основные характеристики протокола SIP Описание функциональных возможностей конечного оборудования: использование протокола SDP
обмена данными о функциональных возможностях
Контроль доступа: поддерживается
Качество обслуживания: процедуры QoS
Адресация: поддержка IP- адресов и имен доменов через DNS
Обнаружение закольцованных маршрутов: с помощью специальных заголовков
Защита информации: протоколы IPSec, TLS, SSL и HTTP Digest
Кодирование: текстовое кодирование

Слайд 13

Место протокола SIP в стеке протоколов TCP/IP

Место протокола SIP в стеке протоколов TCP/IP

Слайд 14

Формирование сообщения сигнализации SIP

Формирование сообщения сигнализации SIP

Слайд 15

Адресация в SIP

В Интернет – URL (Uniform Resource Location)
В SIP – SIP

Адресация в SIP В Интернет – URL (Uniform Resource Location) В SIP
URL (sip:name@host)

тип адреса пример
«имя@домен» - sip:[email protected]
«имя@хост» - sip:[email protected]
«имя@IP-адрес» - sip:[email protected]
«№ телефона@шлюз» - sip:[email protected]

Слайд 16

Уровни протокола SIP

Первый уровень – отвечает за синтаксис и кодирование
Второй уровень –

Уровни протокола SIP Первый уровень – отвечает за синтаксис и кодирование Второй
транспортный – определяет, как клиент передает запросы и принимает ответы, и как сервер получает запросы и передает ответы по сети
Третий уровень – уровень транзакций – производит повторную передачу сообщений прикладного уровня, определяет соответствие ответов запросу и уведомляет верхний уровень о срабатывании таймера.
Четвертый уровень – пользователь транзакций – создает/отменяет клиентские запросы

Слайд 17

Понятие транзакции

Транзакция - это запрос, переданный клиентской стороной серверной стороне с использованием

Понятие транзакции Транзакция - это запрос, переданный клиентской стороной серверной стороне с
транспортного уровня SIP, вместе со всеми ответами на этот запрос, переданными серверной стороной клиенту.

Слайд 18

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

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

Слайд 19

Элементы сети SIP

Агент пользователя (UA – User Agent)
Прокси-сервер (proxy server)
Сервер переадресации (redirect

Элементы сети SIP Агент пользователя (UA – User Agent) Прокси-сервер (proxy server)
server)
Сервер определения местоположения (location server) (не стандартизирован в RFC 2543)

Слайд 20

Агент пользователя

Агент пользователя (User Agent):
Клиент агента пользователя (User Agent Client) – часть

Агент пользователя Агент пользователя (User Agent): Клиент агента пользователя (User Agent Client)
программного обеспечения агента пользователя, которая создает новые запросы, отправляет их и обрабатывает принятые ответы.
Сервер агента пользователя (User Agent Server) - часть программного обеспечения агента пользователя, которая принимает запросы и генерирует ответы, основываясь на действиях пользователя, полученных сообщениях, результатах выполнения программ или на каких-либо других событиях.

Слайд 21

Агент пользователя

Агент пользователя

Слайд 22

Клиент агента пользователя UAC

Запрос, составленный клиентом агента пользователя включает в себя :
Стартовую

Клиент агента пользователя UAC Запрос, составленный клиентом агента пользователя включает в себя
строку, в кот. указан тип запроса
Поле request-URI и версию SIP
Базовый набор полей заголовков: To, from, Cseq, Call-ID, Max-Forwards и Via
Эти заголовки:
Обязательны для всех SIP-запросов
Яв-ся основными частями SIP-сообщения
Обеспечивают большинство услуг маршрутизации сообщений, в т.ч. адресацию, маршр-ю ответов, сохранение очередности сообщений, уникальную идентификацию

Слайд 23

Сервер агента пользователя UAS

Пошаговая обработка запроса:
Аутентификация
Анализ типа запроса
Анализ полей заголовков

Если запрос

Сервер агента пользователя UAS Пошаговая обработка запроса: Аутентификация Анализ типа запроса Анализ
принимается – должны быть произведены изменения состояния соединения, если не принимается – ни одно из изменений производиться не должно

Слайд 24

Сервер агента пользователя UAS

принимает запросы, обрабатывает их и, в зависимости от типа

Сервер агента пользователя UAS принимает запросы, обрабатывает их и, в зависимости от
запроса, выполняет определенные действия.
Бывает двух типов:
Без сохранения состояний (Stateless) –принимает запросы, перенаправляет их дальше и забывает
С сохранением состояний (Stateful) – принимает запросы, перенаправляет их и ждет ответы

Слайд 25

Сообщения SIP

Сообщения SIP

Слайд 26

Структура сообщения SIP

Структура сообщения SIP

Слайд 27

Стартовая строка

Начальная строка любого SIP сообщения. Если сообщение является запросом, то в

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

Слайд 28

Заголовки

служат для передачи информации об отправителе, адресате, пути следования и других сведений,

Заголовки служат для передачи информации об отправителе, адресате, пути следования и других
т.е. переносят необходимую для обслуживания данного сообщения информацию. О типе заголовка можно узнать из его имени. В протоколе SIP определено 4 типа заголовков:
Общие заголовки
Заголовки содержания
Заголовки, передающие дополнительную информацию о запросе
Заголовки, передающие дополнительную информацию об ответе

Слайд 29

Заголовки. Формат

Каждое поле состоит из имени поля, знака «:» и значение поля:
Имя

Заголовки. Формат Каждое поле состоит из имени поля, знака «:» и значение
поля: значение поля
Поля заголовков могут быть расширены на несколько строк, тогда каждая следующая строка отделяется пробелом или знаком табуляции
Порядок следования заголовков не имеет значения
Формат значения заголовка зависит от имени заголовка
Заголовок может иметь неограниченное число параметров
Одно и то же имя параметра не может использоваться более одного раза

Слайд 30

Заголовки

Заголовок Call-ID – уникальный идентификатор сеанса связи (call reference - DSS-1): [email protected]

Заголовки Заголовок Call-ID – уникальный идентификатор сеанса связи (call reference - DSS-1):

Заголовок То – определяет адресата. Если необходим визуальный вывод имени пользователя, например, на дисплей, то имя пользователя также размещается в поле То.
Заголовок From – идентифицирует отправителя запроса; по структуре аналогичен полю То.
Заголовок CSeq - уникальный идентификатор запроса, относящегося к одному соединению. Он служит для корреляции запроса с ответом на него. CSeq: 2 INVITE.

Слайд 31

Заголовки

Заголовок Via указывается весь путь, пройденный запросом: каждый прокси-сервер добавляет поле со

Заголовки Заголовок Via указывается весь путь, пройденный запросом: каждый прокси-сервер добавляет поле
своим адресом.
Например, запрос на своем пути обрабатывался двумя прокси-серверами: сначала сервером loniis.ru, потом sip.telecom.com. Тогда в запросе появятся следующие поля:
Via: SIP/2.0/UDP sip.telecom.com:5060;branch=721e418c4.1
Via: SIP/2.0/UDP loniis.ru:5060
Заголовок Content-Type определяет формат описания сеанса связи. Само описание сеанса, например, в формате протокола SDP включается в тело сообщения.
Заголовок Content-Length указывает размер тела сообщения

Слайд 32

Сжатые имена заголовков

Сжатые имена заголовков

Слайд 33

Тело сообщения

Запросы:
Содержит описание сеансов связи
Тело сообщения есть не во всех сообщениях (например,

Тело сообщения Запросы: Содержит описание сеансов связи Тело сообщения есть не во
сообщение BYE не содержит тела сообщения)
Ответы:
Любые ответы могут содержать тело сообщения, но содержимое тела в них может быть разным

Слайд 34

Пример сообщения SIP

Пример сообщения SIP

Слайд 35

Пример сообщения SIP

Пример сообщения SIP

Слайд 36

Запросы

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

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

Слайд 37

Запросы

Запросы

Слайд 38

Запросы

Запросы

Слайд 39

Структура запроса

Структура запроса

Слайд 40

Структура запроса

SIP – запросы характеризуются наличием строки Request-Line в стартовой строке.
Request-Line

Структура запроса SIP – запросы характеризуются наличием строки Request-Line в стартовой строке.
состоит из названия типа запроса, Request-URI и версии протокола, разделенных пробелом.
Request-Line заканчивается символами возврата каретки и перевода строки (CRLF).
Оба символа вместе или по одиночке не должны встречаться в других частях строки.
Использование линейного пробела не допускается.

Слайд 41

Тип запроса

6 типов запросов (RFC 3261):
REGISTER
INVITE
ACK
CANCEL
BYE
OPTION

Тип запроса 6 типов запросов (RFC 3261): REGISTER INVITE ACK CANCEL BYE OPTION

Слайд 42

Request-URI

Указывает пользователя или услугу, к которой адресован запрос. Поле Request-URI не должно

Request-URI Указывает пользователя или услугу, к которой адресован запрос. Поле Request-URI не
содержать пробелов и управляющих символов, а также не должно быть заключено в угловые скобки «<>»

Слайд 43

Версия протокола

И запросы и ответы содержат данные действующей версии SIP-протокола, принимая во

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

Слайд 44

Запрос INVITE

приглашает вызываемого пользователя принять участие в сеансе связи.
содержит описание сессии,

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

Слайд 45

Пример запроса INVITE

INVITE sip: [email protected] SIP/2.0
Via: SIP/2.0/UDP kton.loniis.ru
From: Anton

Пример запроса INVITE INVITE sip: alexander@serv1.loniis.ru SIP/2.0 Via: SIP/2.0/UDP kton.loniis.ru From: Anton
[email protected]>
To: Alexander
Call-ID: [email protected]
Cseq: 1 INVITE
Content-Type: application/sdp
Content-Length: ...
  v=0
o=bell 53655765 2353687637 IN IP4 128.3.4.5
C=IN IP4 kton.loniis.ru
m=audio 3456 RTP/AVP 0 3 4

Слайд 46

Запросы

ACK
подтверждает прием ответа на команду INVITE.
оборудование вызывающего пользователя показывает, что

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

Слайд 47

Запросы. Register

В этом запросе пользователи сообщают свое текущее местоположение.
В этом сообщении

Запросы. Register В этом запросе пользователи сообщают свое текущее местоположение. В этом
содержатся следующие заголовки:
То содержит адресную информацию, которую надо сохранить или модифицировать на сервере.
From содержит адрес инициатора регистрации.
Contact содержит новый контактный адрес пользователя, по которому должны посылаться все дальнейшие запросы INVITE.
Expires указывается время в секундах, по истечении которого регистрация заканчивается.

Слайд 48

Запрос INFO

предназначен для обмена сигнальной информацией по SIP сигнальному тракту в процессе

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

Слайд 49

Запрос INFO

Возможными применениями для типа запроса INFO являются:
Перенос текущих сигнальных сообщений ТфОП

Запрос INFO Возможными применениями для типа запроса INFO являются: Перенос текущих сигнальных
между шлюзами ТфОП в течении разговорной сессии
Перенос DTMF сигналов, сгенерированных в ходе сессии
Перенос защищённой информации сигналов беспроводных систем для поддержки беспроводной мобильности приложений
Перенос информации об остатке на счёте (билинговой информации)
Перенос изображений и другой не потоковой информации между участниками сессии

Слайд 50

Запрос UPDATE

Используется, когда необходимо изменить параметры сеанса:
Вызывающая сторона создаёт начальную INVITE-транзакцию.
В

Запрос UPDATE Используется, когда необходимо изменить параметры сеанса: Вызывающая сторона создаёт начальную
поле заголовка Allow запроса INVITE среди прочих типов запроса указывается UPDATE для того, чтобы указать способность вызывающей стороны принимать запросы этого типа. INVITE-транзакция протекает надлежащим образом. Любой ответ (предварительный или окончательный) от вызываемой стороны также содержит заголовок Allow с указанным в нём значением UPDATE.

Слайд 51

Запрос UPDATE

После установления диалога (находящегося на ранней стадии или установленного), вызывающая сторона

Запрос UPDATE После установления диалога (находящегося на ранней стадии или установленного), вызывающая
может создать запрос UPDATE, который содержит информацию offer (предложение с описанием сеанса связи в формате SDP), предназначенное для обновления параметров сессии.
Ответ на этот запрос переносит информацию answer (ответ на предложение с указанием принятых параметров также в формате SDP)
Запрос UPDATE является запросом, обновляющим текущий адрес удалённого пользователя (target refresh request).

Слайд 52

Запрос UPDATE. Пример

Запрос UPDATE. Пример

Слайд 53

Сообщения SUBSCRIBE и NOTIFY

Для услуг, которые требуют взаимодействия между конечными точками, необходима

Сообщения SUBSCRIBE и NOTIFY Для услуг, которые требуют взаимодействия между конечными точками,
возможность запрашивать асинхронное уведомление о событиях
Эти услуги включают:
услуги автоматического обратного вызова (связанные с событиями изменения состояния терминала пользователя)
интерактивные списки контактов «buddy lists» (связанные с событиями присутствия пользователя), оповещение об ожидающем сообщении (связанные с событиями изменения состояния почтового ящика)
передача информации о состоянии вызова при взаимодействии сетей Internet и ТфОП.

Слайд 54

Сообщения SUBSCRIBE и NOTIFY

Для услуг, которые требуют взаимодействия между конечными точками, необходима

Сообщения SUBSCRIBE и NOTIFY Для услуг, которые требуют взаимодействия между конечными точками,
возможность запрашивать асинхронное уведомление о событиях
Эти услуги включают:
услуги автоматического обратного вызова (связанные с событиями изменения состояния терминала пользователя)
интерактивные списки контактов «buddy lists» (связанные с событиями присутствия пользователя), оповещение об ожидающем сообщении (связанные с событиями изменения состояния почтового ящика)
передача информации о состоянии вызова при взаимодействии сетей Internet и ТфОП.

Слайд 55

Сообщения SUBSCRIBE и NOTIFY

(1) – запрос подписки на предоставление информации о состоянии

Сообщения SUBSCRIBE и NOTIFY (1) – запрос подписки на предоставление информации о

(2) – подтверждение подписки
(3) – передача информации о текущем состоянии
(4) – подтверждение приёма
(5) – передача информации о текущем состоянии
(6) – подтверждение приёма

Слайд 56

Сообщения SUBSCRIBE и NOTIFY

Запрос SUBSCRIBE используется для запроса информации о текущем состоянии

Сообщения SUBSCRIBE и NOTIFY Запрос SUBSCRIBE используется для запроса информации о текущем
и информации об обновлениях состояния удалённого ресурса.
SUBSCRIBE – это запрос, создающий диалог.
Если начальное сообщение SUBSCRIBE представляет собой запрос вне диалога, его формирование проходит с привлечение процедур по созданию запроса вне диалога для UAC.
Идентификация событий, на которые осуществляется подписка, обеспечивается с помощью трёх компонентов запроса SUBSCRIBE: поля Request URI, заголовка Event и опционально тела сообщения.

Слайд 57

Сообщения SUBSCRIBE и NOTIFY

Запрос SUBSCRIBE должен быть подтверждён окончательным ответом.
После того,

Сообщения SUBSCRIBE и NOTIFY Запрос SUBSCRIBE должен быть подтверждён окончательным ответом. После
как подписка была успешно создана или обновлена, уведомитель должен незамедлительно отослать сообщение NOTIFY, чтобы сообщить подписчику текущее состояние ресурса
Запрос NOTIFY посылается в том же диалоге, который был создан ответом на запрос SUBSCRIBE (если не существовало заранее установленного диалога).
Тип запроса NOTIFY используется для уведомления узла SIP о том, что событие, информация о котором запрашивалась в запросе SUBSCRIBE, произошло.

Слайд 58

Сообщение Message

Запрос типа MESSAGE предназначен для передачи мгновенных текстовых сообщений (instant massages),

Сообщение Message Запрос типа MESSAGE предназначен для передачи мгновенных текстовых сообщений (instant
используя модель, походящую на функционирование двустороннего пейджера или работу телефона при отправке SMS.
Каждое текущее сообщение (IM) независимо – информация о том, что происходит взаимодействие, переговоры между участниками, может быть отражена только в пользовательском интерфейсе клиента
Такой подход полностью противоположен сессионной модели, где происходит однозначное взаимодействие участников с чётко определённым началом и концом.

Слайд 59

Сообщение Message

Когда один пользователь решает послать другому пользователю текущее текстовое сообщение (IM),

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

Слайд 60

Сообщение Message

Запрос MESSAGE пройдёт через группу прокси-серверов и будет доставлен получателю.
Получив

Сообщение Message Запрос MESSAGE пройдёт через группу прокси-серверов и будет доставлен получателю.
запрос, UA получателя перейдёт к его обработке и в случае успеха в итоге отошлёт окончательный ответ с кодом 200 (OK); это означает, что текстовое сообщение было доставлено пользователю, но указывает на то, что пользователь с ним ознакомился.

Слайд 61

Сообщение Message

MESSAGE sip:[email protected] SIP/2.0
Via: SIP/2.0/TCP serv3.niits.ru;branch=z9hG4bK776sgdkse
Max-Forwards: 70
From: sip:[email protected];tag=49583

Сообщение Message MESSAGE sip:alexander@niits.ru SIP/2.0 Via: SIP/2.0/TCP serv3.niits.ru;branch=z9hG4bK776sgdkse Max-Forwards: 70 From: sip:anton@niits.ru;tag=49583
To: sip:[email protected]
Call-ID: [email protected]
CSeq: 1 MESSAGE
Content-Type: text/plain
Content-Length: 18
Александр, иди сюда.

Слайд 62

Ответы

Шесть типов ответов:
1хх – информационные
2хх – успех
3хх – перенаправление
4хх – ошибка клиента
5хх

Ответы Шесть типов ответов: 1хх – информационные 2хх – успех 3хх –
– ошибка сервера
6хх – глобальная ошибка

Слайд 63

Ответы 1хх

100 Trying - Запрос обрабатывается, например, сервер обращается к базам данных,

Ответы 1хх 100 Trying - Запрос обрабатывается, например, сервер обращается к базам
но местоположение вызываемого пользователя в настоящий момент не определено
180 Ringing - Местоположение вызываемого пользователя определено. Ему дается сигнал о входящем вызове
183 Session Progress – Этот ответ используется для того, чтобы заранее получить от шлюзов, стоящих на пути к вызываемому пользователю, описание сессии для проключения разговорного тракта в предответном состоянии

Информационные ответы

Слайд 64

Ответы 2хх

Ответы об успешной обработке запроса

200 ОК - Kоманда успешно выполнена
202

Ответы 2хх Ответы об успешной обработке запроса 200 ОК - Kоманда успешно
Accepted – Запрос принят для обработки, но она еще не завершена.

Слайд 65

Ответы 3хх

Ответы переадресации вызова

300 Multiple Choices - Вызываемый пользователь доступен по нескольким

Ответы 3хх Ответы переадресации вызова 300 Multiple Choices - Вызываемый пользователь доступен
адресам. Вызывающий пользователь может выбрать любой из них.
301 Moved Permanently - Пользователь изменил свое местоположение, его новый адрес указан в поле Contact
302 Moved Temporarily Пользователь временно изменил свое местоположение, его новый адрес указан в поле Contact

Слайд 66

Ответы 4хх

400 Bad Request - В запросе обнаружена синтаксическая ошибка
401 Unauthorized

Ответы 4хх 400 Bad Request - В запросе обнаружена синтаксическая ошибка 401
– Запрос требует проведения процедуры авторизации пользователя
404 Not Found – Вызываемый пользователь не обнаружен
407 Proxy Authentication Required – Перед вызовом требуется пройти процедуру аутентификации
486 Busy Here – Вызываемый пользователь в данный момент либо не желает либо не имеет возможности принять еще один вызов в дополнение к уже принятым

Слайд 67

Ответы 5хх

Ответы об отказе сервера

500 Internal Server Error - Внутренняя ошибка сервера
501

Ответы 5хх Ответы об отказе сервера 500 Internal Server Error - Внутренняя
Not Implemented - Сервер не может обслужить запрос, потому что в сервере не реализованы соответствующие функции
503 Service Unaviable – Обслуживание временно невозможно вследствие перегрузки или из-за проведения технического обслуживания

Слайд 68

Ответы 6хх

600 Busy Everywhere Вызываемый пользователь занят и не желает принимать вызов

Ответы 6хх 600 Busy Everywhere Вызываемый пользователь занят и не желает принимать
в данный момент. Ответ может указывать подходящее для вызова время.
603 Decline Вызываемый пользователь не может или не желает принять входящий вызов, не указывая причины отказа
604 Does Not Exist Anywhere – Вызываемый пользователь не существует

Ответы о полной невозможности установить соединение

Слайд 69

Диалог

Равноправное взаимодействие двух агентов пользователя по протоколу SIP, которое длится определённое время.

Диалог Равноправное взаимодействие двух агентов пользователя по протоколу SIP, которое длится определённое

Диалог устанавливает последовательность сообщений между UA и обеспечивает верную маршрутизацию запросов.
Идентифицируется каждым агентом пользователя с помощью идентификатора диалога (dialog ID), который состоит из значения Call-ID, локальной метки (local tag) и удалённой метки (remote tag).

Слайд 70

Диалог

У участвующих в диалоге сторон идентификатор диалога имеет свои отличия: локальная метка

Диалог У участвующих в диалоге сторон идентификатор диалога имеет свои отличия: локальная
одного UA идентична удалённой метке другого и наоборот.
Идентификатор диалога напрямую связан со всеми запросами, имеющими параметр «tag» в поле заголовка To.

Слайд 71

Диалог

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

Диалог Компоненты, описывающие состояние диалога и используемые для передачи сообщений в ходе
диалога
локальный порядковый номер (для упорядочивания запросов UA, направляемых своему собеседнику),
удалённый порядковый номер (для упорядочивания запросов от собеседника к UA)
локальный URI
удалённый URI
текущий адрес удалённого пользователя (remote target)
булев флаг «secure»
установленный маршрут (route set)

Слайд 72

Создание диалога

Диалоги создаются путём возврата ответов, не информирующих об ошибках, на запросы

Создание диалога Диалоги создаются путём возврата ответов, не информирующих об ошибках, на
определённых типов.
В данной версии протокола установить диалог возможно только ответами 101-199 и 2хх с параметром «tag» в поле заголовка To на запрос INVITE.
Диалог, установленный предварительным ответом на запрос, называется диалогом «на ранней стадии» (early dialog).

Слайд 73

Диалог

Как только соединение между двумя агентами пользователя установлено, любой из них может

Диалог Как только соединение между двумя агентами пользователя установлено, любой из них
стать инициатором новых транзакций, необходимых в рамках диалога:
UA, отсылающий запросы будет выполнять роль клиента в транзакции,
UA, принимающий запросы, будет выполнять роль сервера.
Эти роли могут отличаться от тех, которые исполняли агенты пользователя в транзакции создания диалога.

Слайд 74

Завершение диалога

Когда на любой запрос вне диалога приходит окончательный ответ класса, отличного

Завершение диалога Когда на любой запрос вне диалога приходит окончательный ответ класса,
от 2хх, диалоги, находящиеся на «ранней стадии», созданные посредством предварительных ответов, разрушаются.
Для разрушения установленных диалогов используется запрос BYE

Слайд 75

Транзакции

Транзакция состоит из запроса и любого количества ответов на него.
Транзакция имеет клиентскую

Транзакции Транзакция состоит из запроса и любого количества ответов на него. Транзакция
сторону и серверную сторону, соответственно они носят название клиентской транзакции и серверной транзакции.
Клиентская транзакция занимается отправкой запросов,
Серверная транзакция – отправкой ответов.
Они создаются в агентах пользователя и прокси-серверах с сохранением состояний (stateful).

Слайд 76

Транзакции. Взаимодействие клиентской и серверной транзакции.

Транзакции. Взаимодействие клиентской и серверной транзакции.

Слайд 77

Функционирование клиентских транзакций

Когда TU нужно инициировать новую транзакцию, он создает клиентскую транзакцию

Функционирование клиентских транзакций Когда TU нужно инициировать новую транзакцию, он создает клиентскую
и передаёт ей:
SIP-запрос, предназначенный для отправки,
IP-адрес,
номер порта,
тип транспортного протокола, на которые должен быть передан запрос.

Слайд 78

Функционирование клиентских транзакций

Существует два конечных автомата клиентских транзакций в зависимости от типа

Функционирование клиентских транзакций Существует два конечных автомата клиентских транзакций в зависимости от
запроса, который передаёт TU:
Один из них поддерживает клиентские транзакции для запросов INVITE (клиентская INVITE-транзакция)
Второй тип поддерживает клиентские транзакции всех типов запросов, исключая INVITE и ACK
Не существует отдельной клиентской транзакции для запроса ACK: когда у TU возникает необходимость передать этот запрос (при подтверждении ответа класса 2хх на запрос INVITE), он отправляет его напрямую транспортному уровню SIP для доставки по сети.

Слайд 79

Конечный автомат клиентской INVITE-транзакции

Конечный автомат клиентской INVITE-транзакции

Слайд 80

Конечный автомат клиентской не-INVITE-транзакции

Конечный автомат клиентской не-INVITE-транзакции

Слайд 81

Соответствие ответов клиентским транзакциям

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

Соответствие ответов клиентским транзакциям Когда транспортный уровень клиента принимает ответ, он должен
какой клиентской транзакции он принадлежит.
Для этой цели существует параметр «branch» в верхнем заголовке Via.
Ответ соответствует клиентской транзакции при выполнении двух условий:
Верхний заголовок Via ответа имеет то же значение параметра «branch», что и аналогичный верхний заголовок запроса, инициировавшего транзакцию.
Поле типа запроса в заголовке CSeq соответствует типу запроса, создавшему транзакцию.

Слайд 82

Функционирование серверных транзакций

Серверная транзакция отвечает за доставку запросов TU и надёжную передачу

Функционирование серверных транзакций Серверная транзакция отвечает за доставку запросов TU и надёжную
ответов.
Серверные транзакции создаются при получении запросов при условии, что создание транзакции желаемо для запроса.
Как в клиентских транзакциях механизм функционирования зависит от типа запроса.

Слайд 83

Серверная Invite-транзакция

Серверная Invite-транзакция

Слайд 84

Серверная не-Invite-транзакция

Серверная не-Invite-транзакция

Слайд 85

Соответствие запросов серверным транзакциям

Запрос соответствует транзакции, когда:
параметр «branch» запроса совпадает с аналогичным

Соответствие запросов серверным транзакциям Запрос соответствует транзакции, когда: параметр «branch» запроса совпадает
параметром в первом заголовке Via запроса, создавшего транзакцию.
имя хоста и номер порта в первом значении заголовка Via совпадают с аналогичными в первом значении заголовка Via запроса, создавшего транзакцию.
тип запроса соответствует типу запроса, создавшего транзакцию, за исключением запроса ACK, для которого тип запроса, создавшего транзакцию, будет INVITE.

Слайд 86

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

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

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

Слайд 87

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

это элементы сети SIP, которые маршрутизируют SIP-запросы серверам агента пользователя и SIP-ответы

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

Слайд 88

Прокси-сервер с сохранением состояний

В режиме с сохранением состояний прокси-сервер действует как механизм

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

Слайд 89

Прокси-сервер с сохранением состояний

Прокси-сервер с сохранением состояний

Слайд 90

Функции прокси-сервера с сохранением состояния

Для каждого запроса элемент, выполняющий роль прокси-сервера, должен

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

Слайд 91

Сервер без сохранения состояния

Работает как ретранслирующий узел сети
Он пересылает каждый запрос

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

Слайд 92

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

Сервер переадресации предназначен для определения текущего адреса пользователя
Не генерирует своих

Сервер переадресации Сервер переадресации предназначен для определения текущего адреса пользователя Не генерирует
запросов
Не терминирует вызовы
Не содержит клиентскую часть программного обеспечения

Слайд 93

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

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

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

Слайд 94

Сервер определения местоположения

Служит для хранения текущего адреса пользователя.
Позволяет агентам регистрировать свое местоположение

Сервер определения местоположения Служит для хранения текущего адреса пользователя. Позволяет агентам регистрировать
, обеспечивая тем самым мобильность пользователя
Может быть совмещен с прокси-сервером
О своем местоположении пользователь информирует сервер при помощи сообщения REGISTER. 2 режима регистрации:
Новый адрес сообщается один раз
Новый адрес сообщается через определенные промежутки времени

Слайд 95

Сервер определения местоположения

Локальная Удаленная

Сервер определения местоположения Локальная Удаленная

Слайд 96

Пример построения SIP-сети

Пример построения SIP-сети

Слайд 97

Tesla

Marconi

INVITE

180 Ringing

200 OK

ACK

Media Session

BYE

200 OK

Пример установления соединения в SIP сети

Tesla Marconi INVITE 180 Ringing 200 OK ACK Media Session BYE 200

Слайд 98

SUBSCRIBE

200 OK

NOTIFY

200 OK


NOTIFY

200 OK

MESSAGE

200 OK

MESSAGE

200 OK

Пример услуги «мгновенного обмена сообщениями»

SUBSCRIBE 200 OK NOTIFY 200 OK … NOTIFY 200 OK MESSAGE 200

Слайд 99

Alice

Registrar Server

REGISTER
Contact: sip:[email protected]

200 OK

Пример регистрации в сети SIP

Alice Registrar Server REGISTER Contact: sip:alice@128.175.13.16 200 OK Пример регистрации в сети SIP

Слайд 100

Регистрация в сети SIP

Alice

Registrar Server

SIP/2.0 200 OK
Via: SIP/2.0/UDP 128.175.13.50:5060;
branch=z9hG4bKus19
To: Alice
From:

Регистрация в сети SIP Alice Registrar Server SIP/2.0 200 OK Via: SIP/2.0/UDP
Alice ;tag=3431
Call-ID: [email protected]
CSeq: 1 REGISTER
Contact: ;expires=3600
Content-Length: 0

REGISTER sip:registrar.udel.edu
Via: SIP/2.0/UDP 128.175.13.50:5060;
branch=z9hG4bKus19
Max-Forwards: 70
To: Alice
From: Alice ;tag=3431
Call-ID: [email protected]
CSeq: 1 REGISTER
Contact: sip:[email protected]
Content-Length: 0

Слайд 101

SIP Redirect Server

INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob
From: Alice ;tag=42
Subject:

SIP Redirect Server INVITE sip:bob@yahoo.com SIP/2.0 Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17a To: Bob
Where are you exactly?
Contact:

Alice

Bob

Redirect Server

SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob ;tag=64
From: Alice ;tag=42
Subject: Where are you exactly?
Contact: sip:[email protected]

ACK

INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob
From: Alice ;tag=13473
Subject: Where are you exactly?
Contact:

Слайд 102

Алгоритм работы сервера перенаправления

Разговор

Алгоритм работы сервера перенаправления Разговор

Слайд 103

Алгоритм работы прокси-сервера

Alice

Bob

Outbound proxy server

Inbound proxy server

Location server

DNS server

Media (RTP)

INVITE sip:[email protected] SIP/2.0
Via:

Алгоритм работы прокси-сервера Alice Bob Outbound proxy server Inbound proxy server Location
SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob
From: Alice ;tag=42
Subject: Where are you exactly?
Contact:

INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP proxy.yahoo.com:5060;
branch=z9hG4bKtiop3
Via: SIP/2.0/UDP proxy.udel.com:5060;
branch=z9hG4bK83842.1
Via: SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob
From: Alice ;tag=42
Subject: Where are you exactly?
Contact:

100 Trying

100 Trying

180 Ringing

180 Ringing

180 Ringing

200 OK

200 OK

200 OK

ACK

BYE

200 OK

INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP proxy.udel.com:5060;
branch=z9hG4bK83842.1
Via: SIP/2.0/UDP 100.101.102.103:5060;
branch=z9hG4bKmp17a
To: Bob
From: Alice ;tag=42
Subject: Where are you exactly?
Contact:

SIP Trapezoid

Слайд 104

Алгоритм работы прокси-сервера или Softswitch NGN

УУД

УУД

Softswitch

Сервер определения
местоположения

Разговор

Алгоритм работы прокси-сервера или Softswitch NGN УУД УУД Softswitch Сервер определения местоположения Разговор

Слайд 105

SIP Proxy Server

INVITE Bob

Alice

Bob’s voicemail

Bob’s Phone

INVITE Bob

486 Busy Here

INVITE Bob

SIP Proxy Server INVITE Bob Alice Bob’s voicemail Bob’s Phone INVITE Bob

Слайд 106

SIP Proxy Server

INVITE Bob

Alice

Bob’s Cell Phone

INVITE Bob

INVITE Bob

Bob’s Office Phone

INVITE Bob

Bob’s Home

SIP Proxy Server INVITE Bob Alice Bob’s Cell Phone INVITE Bob INVITE
Phone

200 OK

200 OK

CANCEL

CANCEL

Слайд 107

Транспортный уровень протокола SIP

Отвечает за перенос запросов и ответов через сеть с

Транспортный уровень протокола SIP Отвечает за перенос запросов и ответов через сеть
использованием ее транспортных протоколов
Отвечает за управление соединениями таких протоколов как TCP и SCTP
Имеет клиентскую и серверную стороны
Соединение контролируется как на клиентской так и на серверной стороне

Слайд 108

Транспортный уровень протокола SIP

Соединения идентифицируются указателем, состоящим из:
Адреса
Порта
Транспортного протокола на

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

Слайд 109

Передача речи и команд управления

Передача речи и команд управления

Слайд 110

SIP-T (SIP for Telephony)

Требование к сети IP-телефонии это возможность так называемой прозрачности

SIP-T (SIP for Telephony) Требование к сети IP-телефонии это возможность так называемой
услуг относительно ТфОП. Традиционные телефонные услуги, такие как call waiting, услуга 800 и т.д. реализуются с помощью системы сигнализации №7.

Слайд 111

Взаимодействие с ТфОП

Разговор

ISUP

ISUP

SIP

Взаимодействие с ТфОП Разговор ISUP ISUP SIP

Слайд 112

Инкапсуляция

IAM 2 = IAM 1

Инкапсуляция IAM 2 = IAM 1

Слайд 113

Дополнительные услуги:

Услуга «Переключение связи»

Дополнительные услуги: Услуга «Переключение связи»

Слайд 114

Дополнительные услуги:

Услуга «Переадресация вызова»

Дополнительные услуги: Услуга «Переадресация вызова»

Слайд 115

Дополнительные услуги:

Услуга «Уведомление о вызове во время связи»

Дополнительные услуги: Услуга «Уведомление о вызове во время связи»

Слайд 116

Применения SIP

Сотовые сети нового поколения 3G
SIP для установления мультимедийных сессий
SIP for Telephony

Применения SIP Сотовые сети нового поколения 3G SIP для установления мультимедийных сессий SIP for Telephony (SIP-T)
(SIP-T)
Имя файла: Протокол-сигнализации-SIP.pptx
Количество просмотров: 47
Количество скачиваний: 0