Session Initiation Protocol (SIP)
Лекция 9
Протокол инициирования сеансов связи
Session Initiation Protocol (SIP) – Протокол инициирования сеансов связи – текст-ориентированный протокол прикладного уровня. Предназначен для организации, модификации и завершения различных сеансов связи, в том числе, мультимедийных конференций, телефонных соединений, широковещательной рассылки мультимедийной информации и соединений пользователей с разными инфокоммуникационными приложениями.
1996 г. – SIP2.0
Принципы протокола SIP
-
Предоставление услуг независимо от местоположения пользователя, т.е. персональная мобильность пользователей;
-
Определение готовности пользователей участвовать в сеансе связи;
-
Масштабируемость сети, построенной на базе SIP;
-
Интеграция в стек протоколов Интернет, разработанный IETF для передачи мультимедийной информации (RSVP, RTP, SDP);
-
Взаимодействие с протоколами сигнализации Н.323. MGCP, MEGACO/H.248, DSS1, ОКС7;
-
Расширяемость протокола SIP;
-
Простота протокола SIP;
-
Независимость от транспортных технологий.
-
SDP (Session Description Protocol) – Протокол описания сеансов связи.
-
SIP не реализует:
-
Механизмы управления потоками информации;
-
Механизмы предоставления гарантированного качества обслуживания;
-
SIP не предназначен для передачи пользовательской информации
Адресация SIP
-
Адрес – универсальный указатель ресурсов URL (Universal Resource Locators) – SIP URL
-
Типы SIP-адресов:
-
имя@домен (sip:sergei@advp.ru),
-
имя@хост,
-
имя@IP-адрес (sip:sergei@218.10.15.126),
-
№телефона@шлюз (tel:+78129996633@sip-gateway.ru).
-
Архитектура сети SIP – “клиент-сервер”.
-
При организации и завершении сеанса связи SIP поддерживает:
-
определение местоположения пользователя (User Location);
-
определение готовности пользователя участвовать в сеансе (User availability);
-
определение функциональных возможностей терминалов пользователей (User capabilities);
-
установление сеанса связи (Session Setup), т.е. назначение параметров;
-
управление сеансом связи (Session Management), т.е. модификация параметров связи.
Функциональные элементы SIP
-
Агент пользователя – терминал, инициирующий запросы, отвечает на запросы, взаимодействует с другими агентами для организации и завершения сеанса связи.
-
Прокси-сервер обрабатывает запросы, поступающие от терминалов пользователей. 2 типа: с сохранением данных о состояниях и без.
-
Сервер перенаправления определяет текущий IP-адрес вызываемого пользователя.
-
Сервер регистрации местоположения пользователей позволяют агентам регистрировать свое местоположение, реализуя тем самым услуги мобильности.
Структура сообщений протокола SIP
-
Стартовая строка – тип запроса, текущий узел-адресат, номер версии протокола. При ответе – номер версии протокола, тип ответа, короткая расшифровка ответа.
-
Заголовки сообщений – информация об отправителе, адресате, пути следования и т.д.
Заголовки сообщений протокола SIP
-
Общие заголовки присутствуют в запросах и ответах, например, Call-ID (идентификатор соединения), Contact (контакт), CSeq (порядковый номер запроса/ответа), Date (дата), Encryption (кодирование), From (источник запроса), To (адресат), Via (через), Record-Route (запись маршрута);
-
Заголовки содержания переносят информацию о размере тела сообщения или об источнике запроса, например, Content-Encoding (кодирование тела сообщения), Content-Length (размер тела сообщения), Content-Type (тип содержимого);
Заголовки сообщений протокола SIP
-
Заголовки, передающие дополнительную информацию о запросе, например, Accept (принимается), Accept Encoding (кодирование поддерживается), Accept Language (язык поддерживается), Priority (приоритет), Subject (тема), Route (маршрут), Response-Key (ключ кодирования ответа);
-
Заголовки ответов, передают дополнительную информацию об ответе, например, Allow (разрешение), Proxy-Authenticate (подтверждение подлинности прокси-сервера), Unsupported (не поддерживается), Warning (предупреждение), Server (сервер), Retry-After (повторить через некоторое время).
Общие заголовки протокола SIP
-
Call-ID – уникальный идентификатор сеанса связи. Состоит из буквенно-числового значения и имени рабочей станции, например, 2345call@advp.ru;
-
То – определяет адресата. Содержит параметр tag для идентификации терминала пользователя. ;
-
From – идентифицирует отправителя запроса. По структуре аналогичен То;
-
CSeq – уникальный идентификатор запроса, относящийся к одному соединению. Состоит из 2-х частей: натурального числа в диапазоне от 1 до 232 и типа запроса, например, 2 INVITE;
-
Via – позволяет избежать зацикливания запроса и поддерживать одинаковый путь для запроса и ответа. Пример заголовка:
-
Via: SIP/2.0/UDPsip.telecom.com.5060;branch=721e418c4.1
-
Record-Route – прокси-сервер вписывает свой адрес – SIP URL.
Команды (запросы)
-
INVITE приглашает принять участие в сеансе связи, содержит описание