Загрузил Signminus

Iskratel SIP specification(RU)

реклама
Issued by Iskratel; All rights reserved
SIP
OBR70121a
Стандартизация
Issued by Iskratel; All rights reserved
Спецификация стандарта принята в IETF
рабочей группой SIP, входящей в
Транспортную рабочую группу
Впервые стандартизована в 1999 (RFC2543)
Несколько RFC относятся к SIP – главный RFC
- RFC 3261
Статистика проекта SIP (по состоянию на май
2004):
 137 черновых стандартов интернет, относящихся к
SIP
 11 новых и 2 обновлённых стандарта за последние
14 дней
Протоколы Voice over IP
Call Control and Signaling
Signaling and
Gateway Control
Media
Audio/
Video
H.323
H.225
H.245
Q.931
RAS
SIP
MGCP
TCP
RTP
RTCP
RTSP
UDP
Issued by Iskratel; All rights reserved
IP
H.323 Version 1 и 2 поддерж. H.245 поверх TCP, Q.931 поверх TCP и RAS поверх UDP.
H.323 Version 3 и 4 поддерж. H.245 поверх UDP/TCP и Q.931 поверх UDP/TCP и RAS поверх UDP.
SIP поддерж. TCP и UDP.
Что такое SIP
Issued by Iskratel; All rights reserved
Протокол инициализации сеанса (Session Initiation
Protocol)
Сигнальный протокол прикладного уровня,
который определяет процедуры инициирования,
модификации и завершения мультимедийные
диалоговых сессии связи между пользователями.
Протокол управления мультимедийными
сеансами
SIP
 SIP – хотя он относится к числу протоколов для
одноранговых сетей, т.е из конца в конец (end-to-end), он
состоит из логических клиента и сервера
 SIP обеспечивает определение присутствия и мобильность
 примитивы : session setup, termination, changes
 Любые услуги базируются на уровнях, лежащих выше SIP:




переадресация неизвестных вызовов секретарю
ответ с web-страницы если абонент недоступен
посылка изображения в формате JPEG при установке сеанса
и т.п.
 Характерные особенности
Issued by Iskratel; All rights reserved
 текстовый формат (совместимость с telnet, tcpdump)
 легко программируется
SIP – Основные цели, решаемые
протоколом
 SIP не ограничивается только интернет телефонией
Issued by Iskratel; All rights reserved
 SIP умеет обнаруживать присутствие пользователя
 SIP сообщения могут переносить произвольное полезное
содержание сигнализации:
описание сессии, короткие сообщения, изображения JPEG,
любые MIME* типы
 Подходит для приложений, оперирующих понятием сессии
 Функции распределены между устройствами
 Сетевые игры (Quake II/III)
 Видео конференции, и т.п
 Приложения могут использовать инфраструктуру SIP как
средство реализации свои задач (Call Processing, User
Location, Authentication)
 Мгновенный обмен сообщениями и определение присутствия
 SIP для устройств
* MIME (Multipurpose Internet Mail Extension - многоцелевые расширения электронной почты для Internet)
разработаны как метод передачи присоединенных данных по Internet средствами электронной почты.
Чем SIP не является
Issued by Iskratel; All rights reserved
Транспортным протоколом
Протоколом резервирования QoS
Протоколом управления шлюзами
Некоторые утверждают, что он может
использоваться для вызова IP-приборов …
Он не диктует …
 особенности изделия и услуги (цвет вашего телефона и
мелодии идентифицирующие звонящего, число
одновременных вызовов воспринимаемых вашим
телефоном …)
 Сетевую конфигурацию
Распределённая архитектура SIP
Компоненты SIP
Issued by Iskratel; All rights reserved
Location
Server
Redirect
Server
Registrar
Server
PSTN
GW
User
Agent
Proxy
Server
Proxy
Server
Агент пользователя (User agent)
Агент пользователя (UA) - прикладная программа
из двух частей:
 Клиент агента пользователя (User agent client, UAC) –
прикладная программа, которая инициирует SIP-запрос
(request),
 Сервер агента пользователя (User agent server, UAS) прикладная программа общения с пользователем после
принятия SIP-запроса, возвращает ответ (response) на
запрос данного пользователя;
Issued by Iskratel; All rights reserved
User
Agent
User
Agent
UAS
UAC
UAC
UAS
Серверы SIP
Issued by Iskratel; All rights reserved
Сервер - прикладная программа, которая
позволяет системе принимать запросы,
выполнять их и посылать ответы; может иметь
вид proxy-сервера, сервера переадресации или
сервера агента пользователя;
Proxy- сервер
Issued by Iskratel; All rights reserved
Proxy-сервер (или proxy) – промежуточная
программа, которая действует как сервер и как
клиент, имеет право посылать запросы от имени
других клиентов, интерпретирует и при
необходимости переписывает сообщение
запроса перед его отсылкой
User
Agent
Proxy
Server
User
Agent
Issued by Iskratel; All rights reserved
Сервер-распорядитель
(Registrar Server)
 Пользователи информируют
proxy-сервер или серверредиректор, по какому адресу
следует обращаться для
установления сеанса связи.
 Когда пользователю
понадобится изменить адрес,
SIP-клиент выдает запрос
REGISTER.
 Сервер-распорядитель
(Registrar Server) принимает
REGISTER и записывает
содержащуюся в запросе
обновленную информацию.
 Обычно SIP-сервер использует
эти данные для передачи
службе локализации, которая
направляет запрос на
правильный адрес.
 Часто функции proxy-сервера и
сервера-распорядителя
совмещают в одном устройстве
User
Agent
Registrar
Server
Issued by Iskratel; All rights reserved
Сервер переадресации
(Redirect server)
 Сервер переадресации (Redirect
server) – предназначен для
определения текущего адреса
вызываемого абонента.
 Алгоритм простой: вызывающий
абонент обращается к redirect
серверу с известным ему адресом
вызываемого пользователя, а
redirect переадресует вызов на
текущий адрес.
 В процессе данной деятельности
redirect server взаимодействует с
сервером registrar.
 Redirect только сообщает адрес
вызываемого абонента или proxy
сервера.
 Redirect сервер не терминирует
звонки.
User
Agent
Redirect
Server
Сервер локации (Location server)
Issued by Iskratel; All rights reserved
Сервер локации (Location server) – выполняет
услугу определения местоположения
пользователя
Как правило совмещен с сервером переадресации
(Redirect server)
Характерные особенности SIP
Протокол SIP близок к HTTP (HyperText Transfer
Protocol):
Issued by Iskratel; All rights reserved
 запросы и ответы имеют текстовый вид;
 в заголовках есть поля, которые передают параметры
вызова;
 вызовы в SIP идентифицируются посредством Call-ID в
заголовке SIP-сообщения, там же указывается
исходящий (From) и входящий (To) адреса;
 для адресации выбрана форма, принятая в электронной
почте: user@domain, user@host, user@IP-address,
или: phone-number@gateway, что, требует выхода в
IP-облако через соответствующий шлюз “gateway”.
Как и в HTTP, клиент инициирует процедуры (т.н.
методы) на сервере.
SIP Сообщения – Методы и ответы
(Methods&Responses)
 Компоненты SIP архитектуры обмениваются SIP сообщениями:
 SIP Методы (Methods) - процедуры, инициируемые клиентом:
 INVITE – Приглашение пользователя на конференц-связь
 ACK - Подтверждение (для надежности обмена) что клиент
получил последний ответ на запрашиваемый метод INVITE
 BYE - Окончание связи между двумя пользователями
 CANCEL - Окончание поиска пользователя
 REGISTER – Передает информацию о местоположении
пользователя в SIP-сервер
 OPTIONS – Запрос информации о пользователе
 INFO – Используется для передачи информации вне полосы
(out-of-bound information), например: DTMF цифр
Issued by Iskratel; All rights reserved
 SIP Ответы (Responses)
 1xx – Информационные сообщения (Informational Messages)
 2xx – Ответы, подтверждающие успешность выполнения метода
(Successful Responses)
 3xx – Ответы сервера переадресаций (Redirection Responses)
 4xx – Ошибка запроса (Request Failure Responses)
 5xx – Ошибка сервера (Server Failure Responses)
 6xx – Глобальная ошибка (Global Failures Responses)
Заголовок SIP
Issued by Iskratel; All rights reserved
SIP позаимствовал большую часть синтаксиса и
семантики у HTTP
SIP сообщения выглядят как HTTP сообщения –
формат сообщения, заголовок и поддержка MIME
Пример
SIP заголовка
----------------------------------------------------------------SIP Header
----------------------------------------------------------------INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 192.168.6.21:5060
From: sip:[email protected]
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 100 INVITE
Expires: 180
User-Agent: Cisco IP Phone/ Rev. 1/ SIP enabled
Accept: application/sdp
Contact: sip:[email protected]:5060
Content-Type: application/sdp
Сценарии SIP взаимодействий
 UA-UA. Взаимодействие непосредственно между клиентскими
приложениями (UA) без участия серверов.
 Для этого вызывающий UA должен знать текущий адрес
вызываемого абонента
 Во время вызова происходит следующий диалог:
 вызывающий UA - приглашаю к разговору (INVITE).
 вызываемый UA - выдаю звонок (RINGING), трубка поднята, можно
начинать разговор (OK)
 вызывающий UA - подтверждаю начало разговора (ACK)
 Далее идет разговор (RTP/RTCP между клиентскими приложениями).
 Если один из участников решает прекратить связь, то:
 вызываемый UA - завершаем звонок (BYE)
 вызываемый UA - хорошо, завершаем (OK).
INVITE
TRYING
Issued by Iskratel; All rights reserved
RINGING
OK
User
Agent
ACK
RTP/RTCP
BAY
OK
User
Agent
Сценарии SIP взаимодействий
 UA-Proxy-UA. Звонки c участием Proxy сервера
(или нескольких серверов).
Registrar
Server
WHERIES
LOCATION
Issued by Iskratel; All rights reserved
Proxy
Server
RTP/RTCP
User
Agent
User
Agent
Сценарии SIP взаимодействий
 UA-Redirect-UA. Взаимодействие с участием
Redirect сервера.
Redirect
Server
WHERIES
LOCATION
Proxy
Server
Issued by Iskratel; All rights reserved
INVITE
TRYING,RTP/RTCP
RINGING, OK
BAY
ACK
User
Agent
OK
User
Agent
SIP – цели разработки
SIP разрабатывался для
Issued by Iskratel; All rights reserved
 Интеграции с существующими IETF протоколами
 Масштабируемости и простоты
 Мобильности
 Для лёгкого создания и внедрения услуг
Session Description Protocol - SDP
RFC 2327
Issued by Iskratel; All rights reserved
 Описание сессий отображается в SDP в виде коротких
структурированных текстовых описаниях, содержащих
имя и цель сессии, описание параметров медиа-данных,
протоколы, форматы кодеков, временные параметры и
транспортную информацию, которая необходима , чтобы
принять решение представляет ли данная сессия интерес
и как следует организовать перенос медиа-данных
Спецификации сессий
Issued by Iskratel; All rights reserved
Session description
 v= (protocol version)
 o= (owner/creator and session identifier).
 s= (session name)
 i=* (session information)
 u=* (URI of description)
 e=* (email address)
 p=* (phone number)
 c=* (connection information - not required if included in all
media)
 b=* (bandwidth information)
 z=* (time zone adjustments)
 k=* (encryption key)
 a=* (zero or more session attribute lines)
Спецификации сессий
Time description
 t= (time the session is active)
 r=* (zero or more repeat times)
Issued by Iskratel; All rights reserved
Media description
 m= (media name and transport address)
 i=* (media title)
 c=* (connection information - optional if included at sessionlevel)
 b=* (bandwidth information)
 k=* (encryption key)
 a=* (zero or more media attribute lines)
Issued by Iskratel; All rights reserved
Кодеки
Кодеки
Однонаправленная скорость (Кбит/сек)
G.723
5.3/6.3
GSM
13.0
G.711
64 (телефония)
MPEG L3
56-128
Видео
Зависит от содержания, скорости следования
кадров, степени сжатия, и подвижности
изображения
Скачать