что такое протокол sip

База знаний

Протокол SIP

Этот документ описывает Session Initiation Protocol (SIP), протокол контроля и сигнализации уровня приложения для создания, модификации, и завершения сеансов с одним или несколькими участниками. Эти сеансы включают в себя: телефонные вызовы через Интернет, презентация мультимедийных данных, и мультимедийные конференции.

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

Также, протокол SIP может преодолевать ограничение, связанные с использованием NAT или файрволов. (Обратите внимание на раздел: NAT and VOIP)

Протокол SIP

Принципы протокола SIP

Протокол инициирования сеансов – Session Initiation Protocol (SIP) является протоколом прикладного уровня и предназначается для организации, модификации и завершения сеансов связи: мультимедийных конференций, телефонных соединений и распределения мультимедийной информации. Пользователи могут принимать участие в существующих сеансах связи, приглашать других пользователей и быть приглашенными ими к новому сеансу связи. Приглашения могут быть адресованы определенному пользователю, группе пользователей или всем пользователям.

Протокол SIP разработан группой MMUSIC (Multiparty Multimedia Session Control) комитета IETF (Internet Engineering Task Force), а спецификации протокола представлены в документе RFC 2543]. В основу протокола рабочая группа MMUSIC заложила следующие принципы:

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

Для расширения возможностей протокола SIP могут быть также добавлены и новые типы сообщений.

Интеграция в стек существующих протоколов Интернет, разработанных IETF. Протокол SIP является частью глобальной архитектуры мультимедиа, разработанной комитетом Internet Engineering Task Force IETF. Эта архитектура включает в себя также протокол резервирования ресурсов (Resource Reservation Protocol – RSVP, RFC 2205), транспортный протокол реального времени (Real,Time Transport Pro,tocol – RTP, RFC 1889), протокол передачи потоковой информации в реальном времени (Real,Time Streaming Protocol – RTSP, RFC 2326),
протокол описания параметров связи (Session Description Protocol – SDP, RFC 2327). Однако функции протокола SIP не зависят ни от одного из этих протоколов.

Взаимодействие с другими протоколами сигнализации. Протокол SIP может быть использован совместно с протоколом Н.323. Возможно также взаимодействие протокола SIP с системами сигнализации ТфОП – DSS1 и ОКС7. Для упрощения такого взаимодействия сигнальные сообщения протокола SIP могут переносить не только специфический SIP адрес, но и телефонный номер формата Е.164 или любого другого формата. Кроме того, протокол SIP, наравне с протоколами H.323 и ISUP/IP, может применяться для синхронизации работы устройств управления шлюзами; в этом случае он должен взаимодействовать с протоколом MGCP. Другой важной особенностью протокола SIP является то, что он приспособлен к организации доступа пользователей сетей IP телефонии к услугам интеллектуальных сетей, и существует мнение, что именно этот протокол станет основным при организации связи между указанными сетями.

Методы SIP протокола, определенные в SIP RFC.

В протоколе SIP определено несколько методов, используемых при коммуникации.

Расширенные методы SIP протокола из других RFC:

Ответы на SIP сообщения

После приема и интерпретации запроса, адресат (прокси сервер) передает ответ на этот запрос. Содержание ответов бывает разным:
подтверждение установления соединения, передача запрошенной информации, сведения о неисправностях и т.д.
Структуру ответов и их виды протокол SIP унаследовал от протокола НТТР.

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

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

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

Базовый курс по Asterisk

Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk

что такое протокол sip. Смотреть фото что такое протокол sip. Смотреть картинку что такое протокол sip. Картинка про что такое протокол sip. Фото что такое протокол sip

Элементы

Протокол SIP имеет клиент-серверную модель. Основными функциональными элементами являются:

Важные преимущества

Так как группа MMUSIC разрабатывала протокол SIP с учётом недостатков предшествующего ему H.323, то SIP обзавелся следующими достоинствами:

Так как SIP унаследовал текстовый формат сообщений от HTTP, то в случае если одному терминалу при установлении соединения неизвестна какая-либо возможность, известная другому, то данный факт попросту игнорируется. Если же такая ситуация возникнет с протоколом H.323, то это приведет к сбою соединения, т.к H.323 имеет бинарный формат сообщений и все возможности протокола описаны в соответствующей документации.

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

При появлении новый услуг существует возможность дополнят протокол SIP новыми функциями.

Имеется возможность использования протокола SIP с протоколами сигнализации сетей ТфОП, такими как DSS-1 и ОКС7.

Типы запросов

Для организации простейшего вызова в протоколе SIP, предусмотрено 6 типов информационных запросов:

Определено 6 типов ответов, которым прокси-сервер описывает состояние соединения, например: подтверждение установления соединения, передача запрошенной информации, сведения о неисправностях др.

Информационные ответы сообщают о ходе выполнения запроса и не являются его завершением. Остальные же классы ответов завершают выполнение запроса.

В следующей статье мы рассмотрим основные сценарии установления соединения по протоколу SIP, а также его модификации и дополнительные функции.

Базовый курс по Asterisk

Мы собрали концентрат всех must have знаний в одном месте, которые позволят тебе сделать шаг вперед на пути к экспертному владению Asterisk

Источник

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

SIP (Session Initiation Protocol)

что такое протокол sip. Смотреть фото что такое протокол sip. Смотреть картинку что такое протокол sip. Картинка про что такое протокол sip. Фото что такое протокол sip

SIP (англ. Session Initiation Protocol — протокол установления сеанса) — протокол для сигнализации и управления мультимедийными сеансами связи. Наиболее распространённые области применения в интернет-телефонии – для передачи голоса и осуществления видеозвонков, а также обмена мгновенными сообщениями по сетям IP (Internet Protocol). Протокол описывает, каким образом клиентское приложение (например, софтфон) может запросить начало соединения у другого, возможно, физически удалённого клиента, находящегося в той же сети, используя его уникальное имя. Протокол определяет способ согласования между клиентами об открытии каналов обмена на основе других протоколов, которые могут использоваться для непосредственной передачи информации (например, RTP). Допускается добавление или удаление таких каналов в течение установленного сеанса, а также подключение и отключение дополнительных клиентов (то есть допускается участие в обмене более двух сторон — конференц-связь). Протокол также определяет порядок завершения сеанса.

Содержание

История разработки

SIP-протокол был первоначально разработан группой специалистов в 1996 году. Он был стандартизован в RFC 2543 в 1999 году (SIP 1.0). В ноябре 2000 года он был принят в качестве сигнального протокола 3 GPP и постоянного элемента IP-архитектуры Multimedia Subsystem (IMS) для потоковых мультимедийных услуг на базе IP в системах сотовой связи. Последняя версия (SIP 2.0) в спецификации RFC 3261 была выпущена в июне 2002 года. С определёнными расширениями и уточнениями она используется и в наше время. Несмотря на то что первоначально SIP-протокол был разработан на основе голосовых сервисов. Сегодня он поддерживает широкий спектр приложений, включая видеоконференции, потоковые мультимедиа, обмен мгновенными сообщениями, передачу файлов и факсов через IP и онлайн-игры.

Принципы протокола

Разработкой занималась организация IETF MMUSIC Working Group. Протокол начал разрабатываться в 1996 году Хенингом Шулзри (Henning Schulzrinne, Колумбийский университет) и Марком Хэндли (Университетский колледж Лондона). В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и основной протокол архитектуры IMS (модификация 3GPP TS.24.229. Наряду c другим распространённым протоколом H.323, SIP — один из протоколов, лежащих в основе Voice over IP. В основу протокола рабочая группа MMUSIC заложила следующие принципы:

Дизайн протокола

Клиенты SIP традиционно используют порт 5060 TCP или UDP для соединения элементов SIP-сети. В основном, SIP используется для установления и разъединения голосовых и видеозвонков. При этом он может использоваться и в любых других приложениях, где требуется установка соединения, таких, как системы оповещения, мобильные терминалы и так далее. Существует большое количество рекомендаций RFC, относящихся к SIP и определяющих поведение таких приложений. Для передачи самих голосовых и видеоданных используют другие транспортные протоколы, чаще всего RTP. Главной задачей разработки SIP было создание сигнального протокола на базе IP, который мог бы поддерживать расширенный набор функций обработки вызова и услуг, представленных в существующей ТфОП. Сам протокол SIP не определяет этих функций, а сосредоточен только на процедурах регистрации пользователя, установления и завершения вызова и соответствующей сигнализации. При этом он был спроектирован с поддержкой таких функциональных элементов сети, как прокси-серверы (Proxy Servers) и Пользовательские Агенты (User Agents). Эти элементы обеспечивают базовый набор услуг: набор номера, вызов телефонного аппарата, звуковое информирование абонента о статусе вызова. Телефонные сети на основе SIP могут поддерживать и более современные услуги, обычно предоставляемые ОКС-7, несмотря на значительное различие этих двух протоколов. ОКС-7 характеризуется сложной, централизованной интеллектуальной сетью и простыми, неинтеллектуальными, терминалами (традиционные телефонные аппараты). SIP — наоборот, требует очень простую (и, соответственно, хорошо масштабируемую) сеть с интеллектом, встроенным в оконечные элементы на периферии (терминалы, построенные как физические устройства или программы). SIP используется вместе с несколькими другими протоколами и участвует только в сигнальной части сессии связи. SIP выполняет роль носителя для SDP, который описывает параметры передачи медиаданных в рамках сессии, например используемые порты IP и кодеки. В типичном применении сессии SIP — это просто потоки пакетов RTP. RTP является непосредственным носителем голосовых и видеоданных. Первая предложенная версия стандарта (SIP 2.0) была определена в RFC 2543. Протокол был дополнительно уточнён в RFC 3261, хотя многие реализации по-прежнему основаны на промежуточных версиях стандарта. Обратите внимание, что номер версии остался 2.0.

Адресация

Для организации взаимодействия с существующими приложениями IP-сетей и для обеспечения мобильности пользователей, SIP использует адрес, подобный адресуэлектронной почты. В качестве адресов рабочих станций используются универсальные указатели ресурсов URI, так называемые SIP URI. Обычно используется следующий формат [sip «:»] идентификатор [«@» фрагмент], где идентификатор указывает на логин абонента или его номер телефона, а фрагмент определяет хост, который может быть задан доменным именем или IP-адресом. Примеры:

Общий стандарт URI определен рекомендацией RFC 3986. Адрес состоит из двух частей. Первая часть — имя пользователя, зарегистрированного в домене или на рабочей станции. Во второй части адреса указывается имя домена сети, хоста или IP-адрес. Если вторая часть идентифицирует какой-либо шлюз, то в первой указывается телефонный номер абонента. Имена пользователей представляют собой обычные алфавитно-цифровые идентификаторы. В IP-телефонии, как правило, используют чисто цифровые идентификаторы («номера») для удобства расширения/замены классических телефонных сетей. Номера местной связи, как правило, 2-3-4-значные. Номер телефона, передаваемый шлюзу — любой доступный через него, и может быть как номером местной связи, так и номером мобильного или обычного городского телефона. Адрес шлюза (IP-адрес или доменное имя) задаётся в настройках телефона или программы-клиента, а пользователю для совершения звонка достаточно только набора номера.

Архитектура сети

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

Терминал

Когда клиент и сервер реализованы в оконечном оборудовании и взаимодействуют непосредственно с пользователем, они называются пользовательским агентским клиентом — User Agent Client (UAC) — и пользовательским агентским сервером — User Agent Server (UAS). Если в устройстве присутствуют и UAC, и UAS, то оно называется пользовательским агентом — User Agent (UA), а по своей сути представляет собой терминальное оборудование SIP. Сервер UAS и клиент UAC имеют возможность непосредственно взаимодействовать с пользователем. Другие клиенты и серверы SIP этого делать не могут.

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

Прокси-сервер (от англ. proxy — «представитель») представляет интересы пользователя в сети. Он принимает запросы, обрабатывает их и выполняет соответствующие действия. Прокси-сервер состоит из клиентской и серверной частей, поэтому может принимать вызовы, инициировать запросы и возвращать ответы. Прокси-сервер может не изменять структуру и содержимое передаваемых сообщений, лишь добавляя свою адресную информацию в специальное поле Via. Предусмотрено два типа прокси-серверов

Сервер B2BUA

Довольно часто B2BUA является частью медиа-шлюза для того, чтобы полностью контролировать медиа-потоки в рамках сессии. Сигнальный шлюз, являющийся частью пограничного контроллера соединений/сеансов — наглядный пример применения B2BUA.

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

Сервер переадресации (англ. Redirect Server) используется для перенаправление вызова по адресу текущего местоположения пользователя. Сервер переадресации не терминирует вызовы и не инициирует собственные запросы, а только сообщает адрес необходимого терминала или прокси-сервера при помощи ответов класса 3XX (301 Moved Permanently или 302 Moved Temporarily). Для этих целей сервер переадресации может взаимодействовать с SIP-регистраром или сервером определения местоположения. Однако, для осуществления соединения пользователь может не использовать сервер переадресации, если он сам знает текущий адрес требуемого пользователя.

Сервер регистрации (регистратор)

что такое протокол sip. Смотреть фото что такое протокол sip. Смотреть картинку что такое протокол sip. Картинка про что такое протокол sip. Фото что такое протокол sip

Сервер определения местоположения пользователей

Пользователь может перемещаться в пределах разных сетей, кроме того, подлинный адрес пользователя может быть и не известным, даже если его номер известен. Это актуально, в частности для услуги переносимости номера (LNP/MNP). Для решения таких задач существует механизм определения местоположения пользователя при помощи сторонних средств, не имеющих прямого отношения к элементам SIP-сети. Для этого используется сервер определения местоположения (англ. Location Server), который хранит текущий адрес пользователя и представляет собой регулярно обновляемую базу данных адресной информации Пользователь, которому нужна адресная информация другого пользователя для установления соединения не связывается с сервером определения местоположения напрямую. Эту функцию выполняют другие SIP-серверы при помощи протоколов LDAP, RWHOIS, ENUM, RADIUS или других протоколов.

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

Сообщения протокола SIP (запросы и ответы), представляют собой последовательности текстовых строк, закодированных в соответствии с документом RFC 2279. Структура и синтаксис сообщений SIP идентичны используемым в протоколе HTTP. Структура сообщений протокола SIP:

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

Запросы

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

Но в процессе развития, в протокол было добавлено еще несколько типов запросов, которые дополнили его функциональность:

Ответы на запросы

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

Алгоритмы установления соединения

Протокол SIP является управляющим протоколом для установления, модификации и разрыва соединения, ориентированного на передачу потоковых данных. Параметры передачи медиа-потоков описываются в протоколе SIP посредством SDP (протокол описания сессии). Потоковые медиа-данные могут передаваться различными средствами, среди которых наиболее популярны транспортные протоколы RTP и RTCP.

Протокол SIP определяет 3 основных сценария установления соединения: с участием прокси-сервера, с участием сервера переадресации и непосредственно между пользователями. Сценарии отличаются по тому, как осуществляется поиск и приглашение вызываемого пользователя. Основные алгоритмы установления соединения описаны в RFC 3665.

Пример сценария установления соединения, с участием SIP сервера переадресации и SIP Proxy

что такое протокол sip. Смотреть фото что такое протокол sip. Смотреть картинку что такое протокол sip. Картинка про что такое протокол sip. Фото что такое протокол sip

Пример сценария установления соединения с участием сервера B2BUA

что такое протокол sip. Смотреть фото что такое протокол sip. Смотреть картинку что такое протокол sip. Картинка про что такое протокол sip. Фото что такое протокол sip

SIP-T и SIP-I

Для взаимодействия с традиционными телефонными сетями, использующими сигнализацию ОКС-7, были разработаны модификации протокола SIP для телефонии: Session Initiation Protocol for Telephones (SIP-T) и Session Initiation Protocol Internetworking (SIP-I). Разность версий ввиду того, что SIP-I был разработан ITU-T, а SIP-T — IETF и описан в RFC 3372. Основная задача данных модификаций протокола SIP заключается в прозрачной передаче сообщений ISUP по IP-сети. Данная задача осуществляется путём инкапсуляции сигнальных единиц ОКС в сообщения SIP. Все требуемые задачи по взаимодействию между протоколами были решены на базе протокола SIP:

Требование по взаимодействиюФункция SIP-T
Прозрачность сигнализации ISUPИнкапсуляция ISUP в тело сообщения SIP
Возможность маршрутизировать сообщения SIP в зависимости от ISUPТрансляция параметров ISUP в заголовке сообщения SIP
Трансляция адресной информации при установленном соединенииИспользование метода INFO

Сравнение с H.323

SIP пригоден для чтения человеком и структурирован в отношении запросов и откликов. Сторонники SIP также заявляют о нём как о более простом, по сравнению с H.323. Однако некоторые склонны считать, что, в то время как первоначально целью SIP была простота, в своём сегодняшнем виде он стал так же сложен, как и H.323. Другие считают, что SIP — протокол без состояний, который тем самым даёт возможность легко реализовать восстановление при отказе и другие возможности, которые затруднены в протоколах с состояниями, таких как H.323. SIP и H.323 не ограничены голосовой связью, они могут обслуживать любой сеанс связи, от голосового до видеосеанса или приложений будущего.

Параметр сравненияSIPH.323
Дополнительные услугиНабор услуг, поддерживаемых обоими протоколами примерно одинаков
Персональная мобильность пользователейИмеется хороший набор средств поддержки мобильностиПерсональная мобильность поддерживается, но менее гибко
Расширяемость протоколаУдобная расширяемость, простая совместимость с предыдущими версиямиРасширяемость поддерживается, но существует ряд сложностей
Масштабируемость сетиОба протокола обеспечивают хорошую масштабируемость сети
Время установления соединенияДостаточно одной транзакцииТребуется несколько транзакций.
Сложность протоколаПростой, мало запросов, текстовый формат сообщенийСложный, много запросов и протоколов, двоичное представление сообщений
Совместимость оборудованияПрактически никакой. Каждый производитель SIP устройств соблюдает только тот набор рекомендаций (RFC) который ему нравится, ибо набор этих рекомендаций очень велик. Совместим фактически только базовый вызовПрактически полная. Стандарты устоявшиеся и имеют чёткий набор спецификаций

Безопасность

Если требуется безопасная передача данных, схема предписывает, что каждый из элементов сети, по которому перенаправляется запрос до целевого домена, должен быть обеспечен Transport Layer Security (TLS). Последний шаг от прокси-сервера к целевому домену при этом обязан функционировать в соответствии с местными настройками по безопасности. TLS защищает от злоумышленников, которые пытаются перехватить данные в момент их отправки. Но она не обеспечивает реальную безопасность до конца и не может предотвратить слежение и кражу информации. Как же SIP-протокол, порты которого должны быть надёжно соединены, работает с другими службами сети? Он работает совместно с несколькими другими протоколами и участвует только в части сигнализации сеанса связи. SIP-клиенты, как правило, используют TCP или UDP с номерами портов 5060 или 5061 для подключения к SIP-серверам и другим конечным точкам SIP. Порт 5060 обычно используется для незашифрованного сигнального трафика, тогда как порт 5061 тесно «дружит» с Transport Layer Security (TLS).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *