При упоминании о передаче голоса по IP-сетям большинству на
ум приходит протокол H.323. И если H.323 можно сравнить с
ванилью, то протокол Session Initialization Protocol (SIP)
вполне уместно в таком случае считать клубникой. Он не лучше
и не хуже, чем H.323; он просто другой.
Действительно, SIP — часть предложений IETF, призванных
заменить H.323. В то время как H.323 является набором
протоколов, SIP — лишь один из нескольких протоколов,
взаимодействующих друг с другом с целью организации сеансов
передачи голоса по IP-сетям.
SIP — это протокол прикладного уровня, предназначенный для
установления, изменения и окончания сеансов с одним или
несколькими участниками. Эти сеансы могут включать в себя
мультимедиа-конференции, дистанционное обучение, телефонные
звонки по Internet и распространение мультимедийного
информационного наполнения. Для участия в сеансе SIP
способен «пригласить» людей или «роботов», таких, например,
как службы хранения мультимедиа-информации.
Данный протокол может применяться для инициации сеансов,
для приглашения к участию в сеансах, «объявленных» с помощью
иных средств, для организации голосовых конференций с
использованием устройств, поддерживающих звонки с участием
многих абонентов. SIP поддерживает службы отображения имен и
перенаправления, позволяя реализовать такие услуги для
абонентов интеллектуальной сети, как обеспечение мобильной
связи.
Этот протокол не предоставляет возможностей управления
конференциями и не указывает, каким именно образом должно
осуществляться это управление. SIP не резервирует адреса для
многоадресной рассылки и не захватывает ресурсы, но может
передавать «приглашенной» системе необходимую для этого
информацию.
Абоненты, как инициирующие звонок, так и принимающие его,
идентифицируются с помощью адресов SIP. Звонящий сначала
определяет местонахождение соответствующего сервера, затем
передает запрос SIP. В идеальном случае запрос передается
адресату, который возвращает код ответа SIP, равный 200. Как
и в случае с другими кодами ответа TCP/IP, двойка в начале
свидетельствует об отсутствии ошибки.
Затем инициатор звонка посылает подтверждение получателю,
что несколько необычно, потому что станция, которая
инициировала звонок, также посылает подтверждение.
SIP позволяет взаимодействовать в рамках многоадресной
рассылки, в сети одноадресных связей или посредством
сочетания много- и одноадресных связей.
Объекты, к которым обращаются посредством SIP, являются
пользователями на хостах, которые идентифицируются с помощью
URL-адресов SIP. Пользовательская часть — это имя
пользователя или номер телефона. Хостовая часть — это имя
домена или IP-адрес.
SIP использует разнообразные серверы, каждый из которых
служит для определенной цели. Среди них имеются серверы с
пользовательскими агентами, proxy-серверы, серверы
перенаправления и регистраторы. Существует также сервер,
занимающийся определением местонахождения абонента, причем
этот сервер может быть объединен с сервером SIP.
Транзакция SIP состоит из запроса и соответствующего
ответа. В парных запросах и ответах имеются несколько полей,
содержащих идентичные значения. К таким полям относятся поле
с идентификатором звонка, номер командной
последовательности, поле получателя, поле отправителя и тег
(если присутствует). Поля отправителя и получателя идентичны
в обоих направлениях. Это необычно, но отнюдь не ново в
отличие от метода, применяемого в High-Level Data Link
Control. Это помогает решить возникающие проблемы при
использовании анализатора протокола для поиска и устранения
аномалий в сети.
Запрос на приглашение представляет собой обращение к
абоненту с просьбой присоединиться к конференции или принять
участие в двустороннем звонке. Такое приглашение включает в
себя описание сеанса, где перечисляются типы носителей и
форматы. Если вызываемый абонент дает свое согласие,
звонящий посылает подтверждение и возвращает описание с
указанием носителя, который он хочет использовать.
Если говорить очень упрощенно, IETF создала SIP и связанные
с ним протоколы потому, что убеждена в недостаточной
масштабируемости H.323. Пока же совершенно очевидно, что
H.323 опережает SIP в этой гонке. Но каков будет финиш?
|