sip протокол что это

SIP-телефония:
просто о сложном

Эта статья нашего блога посвящена всем известной, но далеко не всем понятной теме — SIP-телефония. В чем ее особенность? И почему компании все чаще выбирают SIP-телефонию? Давайте разбираться.

IP/VoIP/SIP — в чем разница?

Многие пользователи современной связи не раз сталкивались с такими терминами как IP, VoIP или SIP-телефония. На первый взгляд кажется, что это определения для одной услуги. Однако, между этими понятиями есть существенная разница.

IP (Internet Protocol — «межсетевой протокол») — протокол передачи данных через интернет. Именно благодаря ему все устройства могут взаимодействовать. Любой компьютер или мобильный гаджет, с которого пользователь выходит во всемирную сеть, обладает уникальным адресом, который и помогает ему передавать и принимать информацию.

VoIP (Voice over IP — «голос по интернет-протоколу») — способ передачи голосовых сообщений в интернете. На его базе работает телефонная сеть и другие коммуникационные сервисы, которые позволяют передавать речь пользователей.

SIP (Session Initiation Protocol — протокол установления сеанса) — один из протоколов передачи голоса в сети. SIP-телефония — более точечное определение IP-телефонии, так как в данном случае связь осуществляется по определенному пути — протоколу.

Как работает IP телефония SIP?

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

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

SIP-телефония: схема звонка

1. В момент соединения голос трансформируется и становится цифровым сигналом.

2. Затем данная информация поступает в компьютер или другой гаджет.

3. Передающее и принимающее устройства распознают друг друга.

4. Дальнейшее их взаимодействие ведется по SIP-протоколу.

5. Поток информации вновь изменяется и становится аналоговым.

6. Абонент снимает трубку и слышит речь пользователя SIP-телефонии.

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

Достоинства SIP-телефонии

Связь работает везде

Есть только одно обязательное условие для звонков по SIP-телефонии — скорость интернета должна быть более 64 Кбит/сек.

Нет привязки к офису

IP телефонию SIP отличает то, что она не ограничена адресом регистрации компании. Разговаривать с абонентами можно из всех городов России и мира.

Звонки с разных устройств

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

Быстрое подключение и настройка

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

Большое число дополнительных сервисов

Пользователям SIP-телефонии доступны +100 коммуникационных сервисов, например, очередь и сценарии звонков, интеграция с бизнес-приложениями, запись и хранение звонков и др.

Не надо покупать дорогостоящее оборудование, прокладывать провода в офисе. Подключение бесплатное. Ежемесячная абонентская плата от 790 рублей.

Все телефонные номера, которые работают по протоколу 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

Источник

SIP-телефония

Вместо вступления…

В последнее время наблюдается повышенный интерес к технологиям IP-телефонии, использование которой позволяет в значительной мере снизить стоимость телефонной связи. При этом становится возможным использование сети Интернет, что позволяет сразу достичь «глобальных масштабов», а необходимость прокладки магистральных коммуникаций попросту отпадает.

Целью данной статьи является поверхностное рассмотрение возможностей IP-телефонии, использующей протокол SIP, для ознакомления с общими принципами ее работы.

Протокол SIP (Session Initiat Protocol, протокол установки соединения) не является первопроходцем в области IP-телефонии. Протокол H.323 уже давно используется для целей IP-телефонии, однако изначально он не разрабатывался для IP-сетей, что снижает «оптимальность» их совместной работы. За годы работы с протоколом H.323 накоплен большой опыт использования, который позволил выявить как его положительные черты, так и недостатки, которые были учтены при разработке протокола SIP.

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

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

Основные преимущества протокола SIP:

1. Масштабируемость — возможность увеличения количества клиентов при расширении сети.

2. Мобильность — возможность получения сервиса вне зависимости от местоположения (как например электронная почта), а каждому пользователю выдается персональный идентификатор, по которому он может быть найден.

3. Расширяемость — возможность дополнения протокола новыми функциями (за счет введения новых заголовков и сообщений). Как уже говорилось выше, если устройству встречается неизвестное ему расширение протокола, оно попросту игнорируется. Так как протокол H.323 использует сообщения двоичного формата, то неизвестные функции могут привести к невозможности предоставления сервиса.

Протокол SIP разрабатывался с расчетом на возможность использования любых транспортов, но, тем не менее, наиболее предпочтительным является использование UDP-пакетов (это позволяет повысить производительность по сравнению с использованием протокола TCP, но требует использования дополнительных механизмов проверки доставки сигнальных сообщений).

Так как телефония с использованием протокола SIP позволяет использовать большое количество разнообразных сервисов (помимо передачи голоса, возможна передача видео, текстовых сообщений, факсов и др.), необходим механизм обмена информацией о том, какие сервисы может использовать вызываемаявызывающая стороны. Для этой цели используется протокол SDP (Session Description Protocol) — протокол описания сессии. Данный протокол позволяет определить какие звуковые (видео и другие) кодеки и иные возможности может использовать удаленная сторона.

Собственно сама передача голоса осуществляется благодаря использованию протокола RTP (Real-time Transport Protocol, протокол транспортировки в реальном времени). Сам протокол SIP непосредственного участия в передаче голосовых, видео и других данных не принимает, он отвечает только за установление связи (по протоколам SDP, RTP и др.), поэтому под SIP-телефонией понимается не передача голоса по протоколу SIP, а передача голоса с использованием протокола SIP. Использование протокола SIP предоставляет новые возможности установления соединений (а также возможность беспроблемного расширения данных возможностей), а не непосредственной передачи голосового и других видов трафика.

Формат адресов используемых протоколом SIP напоминает формат E-Mail-адреса: имя@идентификатор_хоста. В начале адреса ствится приставка «sip:» (пример: sip:user@host.com). В качестве идентификатора хоста может служить его IP-адрес, домен или имя хоста (IP-адрес определяется с использованием DNS, так что в итоге все равно получается обращение по адресу sip: имя@IP-адрес).

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

Стандартными элементами в SIP-сети являются:

1. User Agent: по протоколу SIP устанавливаются соединения «клиент-сервер». Клиент устанавливает соединения, а сервер принимает вызовы, но так обычно телефонный аппарат (или программный телефон) может как устанавливать так и принимать звонки, то получается что он одновременно играет роль и клиента и сервера (хотя в реализации протокола это не является обязательным критерием) — в этом случае его называют User Agent (UA) или терминал.

2. Прокси-сервер: прокси сервер принимает запросы и производит с ним некоторые действия (например определяет местоположение клиента, производит переадресацию или перенаправление вызова и др.). Он также может устанавливать собственные соединения. Зачастую прокси-сервер совмещают с сервером определения местоположения (Register-сервер), в таком случае его называют Registrar-сервером.

3. Сервер опредления местоположения или сервер регистрации (Register): данный вид сервера служит для регистрации пользователей. Регистрация пользователя производится для определения его текущего IP-адреса, для того чтобы можно было произвести вызов user@IP-адрес. В случае если пользователь переместится в другое место и/или не имеет определенного IP-адреса, его текущий адрес можно будет определить после того, как он зарегистрируется на сервере регистрации. Таким образом клиент останется доступен по одному и тому же SIP-адресу вне зависимости от того, где на самом деле находится.

4. Сервер переадресации: обращается к серверу регистрации для определения текущего IP-адреса пользователя, но в отличие от прокси сервера только «переадресует» клиента, а не устанавливает собственные соединения.

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

Сообщения SIP

Стартовая строка различается в зависимости от того является ли сообщение запросом или ответом (в случае запроса — в ней сообщается тип запроса, адресат и номер версии протокола, а в случае ответа — номер версии протокола, статус и текстовую расшифровку статуса).

В заголовках содержатся сведения об источнике, адресате, пути следования сообщения и др. Этих заголовков может быть достаточно много и это количество может меняться на пути следования пакетов.

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

Пример

Рассмотрим пример процесса установления соединения с использованием SIP-протокола (пример взят из RFC 3261). Данный пример отражает работу базовых функций телефонии и соответственно не затрагивает такие возможности как видеосвязь передача текстовых сообщений и др. — общий принцип работы протокола остается неизменным.

Пользователь Alice (sip:alice@atlanta.com) вызывает пользователя Bob (sip:bob@biloxi.com).

1. Пользователь Alice посылает сообщение INVITE прокси-серверу по умолчанию (atlanta.com) Если бы пользователю Alice был известен IP-адрес пользователя Bob и он мог к нему обратиться напрямую, то запрос INVITE в этом случае мог быть послан непосредственно вызываемому пользователю.

2. Прокси-сервер посылает запрос INVITE серверу вызываемого абонента (biloxi.com).

3. Далее прокси-сервер пользователя Bob при необходимости определяет его текущий IP-адрес и посылает ему сообщение INVITE — у пользователя начинает звонить телефон, о чем сообщается в ответе 180 (Ringing).

4. Если вызываемый пользователь ответил на звонок, то на запрос INVITE высылается ответ 200 (OK).

5. Вызывающий пользователь отправляет сообщение ACK, сообщающее вызываемому о том, что он получил ответ на свой запрос INVITE, им задаются окончательные параметры соединения. На этом этапе все готово к установлению соединения по протоколу RTP (Real-time Transport Protocol).

6. Устанавливается RTP-соединение с заранее согласованными параметрами.

7. Для завершения соединения, завершающим пользователем (кладет трубку) высылается запрос BYE, на которое высылается ответ 200 (OK)

Пока сообщения установления соединения (INVITE) ходят между прокси-серверами и неизвестно доступен ли вызываемый пользователь, в ответ на INVITE посылается ответ 100 (Trying), сообщающий о попытке установления соединения.

Так как прокси-сервер может устанавливать собственные соединения, его использование позволяет вызовам без проблем преодолевать NAT. Также возможно построение нескольких прокси-серверов в одну цепочку, что позволяет преодолевать сразу несколько NAT.

Кодеки

Для передачи звука и видео используются различные алгоритмы сжатия и кодирования данных. Эти алгоритмы называются кодеками. Различные кодеки используют различную ширину полосы пропускания, а также вносят различные задержки и обеспечивают различное качество сервиса. Для звуковых кодеков обычно ширина полосы пропускания составляет от 4-х до 64 кбит/с.

Методика тестирования

Основное направления тестирования SIP-телефонии заключается в рассмотрении качества передачи голоса при ограничении ширины полосы пропускания. Также будет рассматриваться качество передачи голоса при динамическом изменении числа сеансов IP-телефонии и изменении загруженности канала связи. При тестировании IP-маршрутизаторов будет также рассматриваться поведение потоков трафика при установлении сеансов IP-телефонии.

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

Заключение

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

Источник

Что такое SIP-протокол

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

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

Разделение понятий IP, SIP, VoIP

Иногда эти понятия путают. Однако они совершенно четко разделяются между собой.

IP (Internet Protocol) — базовое понятие. Это технология, которая позволяет обмениваться информацией между всеми компьютерами в мире. IP был изобретен в 1981 году, и именно на основе протокола TCP/IP родился интернет.

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

VoIP — «Voice over IP», иначе «голос через интернет-соединение». Это технология передачи голоса через интернет. Изначально слышать друг друга могли только пользователи интернета. Сейчас с помощью специальных шлюзов VoIP позволяет звонить на городские и мобильные телефоны через интернет. VoIP используют и без телефонии, когда проходит интернет-трансляция: вебинары, видеоконференции, подкасты.

Подытожим, IP — глобальный протокол, по которому работает интернет. На его основе создано множество других протоколов, в том числе SIP. VoIP — общая технология передачи голоса через интернет, которая используется для разных задач. SIP-телефония — одна из ее разновидностей, в которой для связи используется модификация SIP-протокола.

Возможности SIP-телефонии

Алгоритм работы SIP-телефонии

В интернете любые данные разбиваются на маленькие IP-пакеты и передаются в двоичном виде по сети к адресату. На его устройстве IP-пакеты собираются и декодируются обратно. Маршрут пакета определяется IP-адресом назначения — уникальным номером каждого устройства в интернете, он может быть постоянным или динамическим.

В телефонии это работает так. При звонке голос через микрофон и звуковую карту кодируется и сжимается с помощью кодека. Затем полученные данные разбиваются в IP-пакеты и передаются через шлюзы по сети. На принимающем устройстве данные раскодируются обратно в голосовое сообщение. Это типовой алгоритм работы для разных протоколов.

Для телефонии требуется специальное оборудование:

Протокол помогает разным устройствам понимать друг друга. Абонент регистрируется на сервере и получает SIP-адрес. При звонке абонента два SIP-сервера взаимодействуют друг с другом: узнают IP-адреса компьютеров и ищут доступные кодеки для кодирования голоса.

SIP-протокол — открытый стандарт, который поддерживается десятками софтфонов, IP-телефонов. Услуги SIP-телефонии оказывает множество телекоммуникационных компаний. Эта технология дает возможность звонить через интернет даже по городскому аналоговому телефону стандарта DECT, который подключен через SIP-шлюз.

Как устроен SIP-протокол?

SIP-протокол — один из способов передачи данных по сети. Он был разработан на основе протоколов HTTP (передача гипертекста, используется для веб-приложений) и SMTP (на его базе работает обмен электронной почтой). Также как и в HTTP, SIP-протокол использует текстовый формат сообщений. До него был широко распространен протокол передачи данных Н.323, который преобразовывал информацию в двоичный код. Из-за этого нормально взаимодействовать могли только устройства, которые поддерживают подобное кодирование. В SIP-протоколе такая проблема устранена: если нет возможности преобразовать данные, они игнорируются.

От SMTP пришел формат адресов пользователей. Он напоминает e-mail адреса, потому что состоит из имени и идентификатора хоста. SIP-адреса бывают четырех типов: имя@домен, имя@хост, имя@IР-адрес, номер_телефона@шлюз. В начале прибавляется приставка sip. Соединение по такому адресу удобнее, чем по IP-адресу, поэтому пользователи смогут найти друг друга, даже если IP-адрес поменялся.

SIP — «протокол инициирования сеансов», поэтому он отвечает за установление соединения. Он находит абонента и обеспечивает стабильность связи, но не передает непосредственно текст, голос или видео. В обмене мультимедийными данными его обычно используют для соединения с абонентом. За передачу звука отвечают другие протоколы, например RTP (Real-time Transport Protocol).

Технология была разработана в 1996 году и учитывает недоработки других сетевых протоколов. Ее создателями были специалисты из группы MMUSIC Инженерного совета интернета (Internet Engineering Task Force). Это международная организация, которая развивает протоколы и архитектуры.

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

Безопасность использования протокола SIP

Угрозы

При использовании IP-телефонии всегда существует риск атак. Злоумышленники могут:

Меры безопасности

Заключение

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

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

Источник

Взаимодействие клиентов SIP. Часть 1

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

Месяц назад я начал свое знакомство с IP-телефонией, а именно с Lync и Asterisk. И заметил следующую картину: в сети очень много интересных статей по практической стороне вопроса (как и что делать) и очень мало внимания уделено теории (в конце статьи приведены ссылки). Если Вы хотите разобраться с SIP, то извольте либо читать RFC 3261, либо одну из «этих толстых книг». Это, естественно, полезно, но многим хочется в начале изучить некую выжимку, а уж потом бросаться в омут с головой. Эта статья как раз для таких людей.

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

Простое взаимодействие клиентов

Взаимодействие клиентов в рамках SIP чаще всего осуществляется в виде диалога.

Диалог – это равноправное взаимодействие двух User Agent (UA) в виде последовательности SIP-сообщений между ними. При этом, существуют запросы, не образующие диалогов. Однако обо всем по-порядку.

Ниже приведен пример простого взаимодействия между двумя устройствами с поддержкой SIP:

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

Петр хочет начать обмен сообщениями с Иваном, для этого он посылает INVITE-сообщение с данными о типе сессии (простая, мультимедиа и т.д.). Сообщения имеют следующий формат: стартовая строка, одно или несколько полей заголовка, пустая строка, обозначающая конец полей заголовка и необязательное тело сообщения.

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

Стартовая строка содержит метод, Request-URI и версию SIP (актуальная – 2.0). Request-URI – это SIP-адрес ресурса, которому посылается запрос.

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

Поля заголовков имеют следующий формат: :

Первая строка начинается с заголовка Via. Каждое SIP-устройство, создающее или пересылающее сообщение, добавляет свой адрес в поле Via (как это происходит, я планирую показать в следующей части статьи). Обычно адрес представляет собой имя хоста, которое может быть разрешено с помощью DNS-запроса. Поле Via содержит версию SIP, знак “/”, пробел, транспортный протокол (UDP, TCP, TLS, SCTP), двоеточие, номер порта и branch – идентификатор транзакции. Ответы на этот запрос будут содержать такой же номер транзакции.

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

Чаще всего, значение branch начинается с “z9hG4bK”. Это значит, что запрос был сгенерирован клиентом, поддерживающим RFC 3261 и параметр уникален для каждой транзакции этого клиента.

Следующее поле, Max-Forwards, содержит относительно большое целое число. Каждый сервер SIP, который пересылает сообщение, уменьшает это число на единицу. Данное поле обеспечивает простой механизм обнаружение петель (loop).

Следом идут поля From и To, которые описывают отправителя и получателя запроса. Важно, что SIP-запросы маршрутизируются исходя из Request-URI, указанного в стартовой строке (см. выше). Это объясняется тем, что поля From и To могут быть изменены при пересылке. Если используется отображаемое имя (например, Ivan Ivanov), то SIP URI помещается внутрь пары угловых скобок. Параметр tag в поле From генерирует отправляющая сторона. В свою очередь принимающая сторона поместит свой tag в поле To.

Поле Call-ID – идентификатор вызова. Совокупность tag’ов из полей From и To и Call-ID однозначно идентифицируют данный диалог. Это необходимо, так как между клиентами может идти сразу несколько диалогов.

Следующее поле, Cseq, содержит порядковый номер запроса и название метода. В данном случае – INVTITE. Номер увеличивается с каждым новым запросом.

Поля Via, Max-Forwards, To, From, Call-ID и CSeq составляют минимальный необходимый набор полей заголовков SIP-сообщения.

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

Для сообщения INVITE также необходимо поле заголовка Contact, в котором содержится SIP URI, относящийся к коммуникационному устройству отправляющей стороны. Это поле используется, чтобы из всех устройств, которыми одновременно может пользоваться Петр, ответ был отправлен именно на данное устройство. Обратите внимание на значения полей From и Contact. Первый раз я не заметил разницу:

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

В сообщении присутствует опциональное поле Subject, то есть тема сообщения. Некоторые SIP-клиенты могут выводить значение этого поля на экран. Для маршрутизации и идентификации диалога поле не используется и может быть произвольным.

Поля Content-Type и Content-Length отвечают за описание тела сообщения. В данном случае будет использоваться Session Description Protocol (SDP). Размер сообщения вычисляется с учетом символов перевода строки:

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

Детальное описание работы протокола SDP заслуживает отдельной статьи, поэтому ниже приведена только краткая расшифровка:

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

В ответ на INVITE SIP-клиент Ивана отправляет два сообщения: 180 Ringing и 200 OK. Первое сообщает, что на стороне Ивана SIP-клиент подает звуковой сигнал звонка, второе – подтверждает установку диалога. Разберемся с каждым из них.

Так будет выглядеть сообщение 180 Ringing:

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

Бледным выделен текст, который не изменился по сравнению с сообщением INVITE.

Обратите внимание на поля заголовков To и From. Несмотря на то, что данное сообщение идет со стороны Ивана, значения полей остаются такими же, как были в первоначальном запросе (от Петра к Ивану). Это объясняется тем, что данные поля определяют направление запроса, а не сообщения.

Строка Via также перекочевала из исходного запроса, в конце строки добавлен параметр received этот параметр содержит IP-адрес, с которого пришел запрос. Обычно это адрес, который может быть получен путем разрешения URI, содержащегося в Via.

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

Наконец, в поле Contact содержится актуальный адрес Ивана.

Так выглядит сообщение 200 ОК, которое отправил SIP-клиент Ивана:

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

Думаю, смысл всех полей, относящихся к протоколу SIP теперь ясен.

В ответ на 200 ОК клиент Петра отправляет подтверждение:

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

Данное сообщение подтверждает, что клиента Петра успешно получил ответ от клиента Ивана. Оба клиента договорились о параметрах меди-сессии, которая будет осуществляться по протоколу RTP.

Обратите внимание, что номер последовательности CSeq все еще равен единице, но в качестве метода уже стоит ACK. Параметр Branch в поле Via содержит новый идентификатор транзакции, так как ACK, отправляемый в ответ на 200 OK считает новой транзакцией.

Теперь давайте рассмотрим, как происходит завершение медиа-сессии. Клиент Петра посылает BYE-запрос для завершение сессии:

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

Получив запрос на завершение сессии, клиент Ивана посылает подтверждение:

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

Мы рассмотрели простой вариант работы протокола SIP. Обратите внимание, что в разные моменты времени клиенты Ивана и Петра выступали то в роли сервера, то в роли клиента, поэтому во всех SIP-клиентах должна функционировать как серверная (User Agent Server или UAS), так и клиентская часть (User Agent Client или UAC).

В следующей статье я планирую рассмотреть взаимодействие клиентов SIP с использованием Proxy-сервера и регистрацию клиентов на Proxy-сервере.

Источник

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

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