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

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

Данная статья будет посвящена одному из основных протоколов IP телефонии – SIP (Session Initiation Protocol – протокол установления сеанса), разработанный одним из отделений IETF – MMUSIC (Multiparty Multimedia Session Control). Описывается в спецификации RFC 2543 и RFC 3261.
SIP – это протокол прикладного уровня модели OSI, описывающий способы и правила установления интернет-сессий для обмена мультимедийной информацией, такой как: звук, голос, видеоряд, графика и др. Для соединения обычно используется порт 5060 или 5061. В качестве транспортных протоколов SIP поддерживает: UDP, TCP, SCTP, TLS . Протокол SIP широко применяется в офисной IP-телефонии, видео и аудио-конференциях, он-лайн играх и др.

Содержание

Элементы

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

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

Так как группа MMUSIC разрабатывала протокол SIP с учётом недостатков предшествующего ему H.323, то SIP обзавелся следующими достоинствами:
  • Простота
Так как SIP унаследовал текстовый формат сообщений от HTTP, то в случае если одному терминалу при установлении соединения неизвестна какая-либо возможность, известная другому, то данный факт попросту игнорируется. Если же такая ситуация возникнет с протоколом H.323, то это приведет к сбою соединения, т.к H.323 имеет бинарный формат сообщений и все возможности протокола описаны в соответствующей документации.
  • Масштабируемость
В случае расширения сети, при использовании протокола SIP , существует возможность добавления дополнительного числа пользователей.
  • Мобильность
Благодаря гибкой архитектуре протокола SIP, пропадает необходимость заново регистрировать пользователей, в случае смены ими своего местоположения.
  • Расширяемость
При появлении новый услуг существует возможность дополнят протокол SIP новыми функциями.
  • Взаимодействие с другими протоколами сигнализации
Имеется возможность использования протокола SIP с протоколами сигнализации сетей ТфОП, такими как DSS-1 и ОКС7.
Типы запросов
Для организации простейшего вызова в протоколе SIP, предусмотрено 6 типов информационных запросов:
  • INVITE — Инициирует вызов от одного терминала к другому. Содержит описание поддерживаемых сервисов (которые могут быть использованы инициатором сеанса), а также виды сервисов, которые желает передавать инициатор;
  • ACK —Подтверждение установления соединения адресатом. Содержит окончательные параметры сеанса связи, выбранные для установления сеанса связи;
  • CANCEL — Отмена ранее переданных неактуальных запросов;
  • BYE — Запрос на завершение соединения;
  • REGISTER — Идентификация местоположения пользователя;
  • OPTIONS — Запрос на информацию о функциональных возможностях терминала, обычно посылается до фактического начала обмена сообщениями INVITE, ACK;

SIP – ответы

Определено 6 типов ответов, которым прокси-сервер описывает состояние соединения, например: подтверждение установления соединения, передача запрошенной информации, сведения о неисправностях др.
  • 1хх — Информационные ответы;
Информационные ответы сообщают о ходе выполнения запроса и не являются его завершением. Остальные же классы ответов завершают выполнение запроса.
  • 2хх — Успешное окончание запроса;
  • 3хх — Информация об изменения местоположения вызываемого абонента;
  • 4хх — Информация об ошибке;
  • 5хх — Информация об ошибке на сервере;
  • 6хх — Информация о невозможности вызова абонента (пользователь с таким адресом не зарегистрирован, или пользователь занят).
В следующей статье мы рассмотрим основные сценарии установления соединения по протоколу SIP, а также его модификации и дополнительные функции.