Функции, поддерживаемые протоколом SIP
Сеть на базе протокола SIP
Второй подход к построению сетей IP-телефонии, предложенный комитетом IETF в документе RFC 2543, основан на использовании протокола SIP – Session Initiation Protocol. SIP представляет собой текст–ориентированный протокол, который является частью глобальной архитектуры мультимедиа. Эта архитектура также включает в себя протокол резервирования ресурсов (Resource Reservation Protocol, RSVP, RFC 2205), транспортный протокол реального времени (Real-Time Transport Protocol, RTP, RFC 1889), протокол передачи потоков в реальном времени (Real-Time Streaming Protocol, RTSP, RFC 2326), протокол описания параметров связи (Session Description Protocol, SDP, RFC 2327), протокол уведомления о связи (Session Announcement Protocol, SAP). Однако функции протокола SIP не зависят от любого из этих протоколов.
Подход SIP к построению сетей IP-телефонии намного проще в реализации, чем Н.323, но меньше подходит для организации взаимодействия с телефонными сетями. В основном это связано с тем, что протокол сигнализации SIP, базирующийся на протоколе HTTP, плохо согласуется с системами сигнализации, используемыми в ТфОП. Поэтому протокол SIP более подходит поставщикам услуг Интернет для предоставления услуги IP-телефонии, причем эта услуга будет являться всего лишь частью пакета услуг.
|
|
Для обеспечения мультимедийных сеансов, протокол SIP предоставляет следующие возможности.
· Положение пользователя (user location). Протокол SIP позволяет обнаружить положение конечного пользователя, чтобы установить сеанс связи или передать запрос SIP. Мобильность пользователя (user mobility) изначально поддерживается протоколом SIP.
· Возможности пользователя (user capabilities). Протокол SIP позволяет выяснять возможности передающей среды и устройств, которые участвуют в сеансе.
· Доступность пользователя (user availability). Протокол SIP позволяет выяснить готовность конечного пользователя установить связь.
· Установка сеансов (session setup). Протокол SIP позволяет установить параметры сеанса для сторон, участвующих в нем.
· Обработка сеанса (session handling). Протокол SIP позволяет модифицировать, передавать и завершать активный сеанс.
Сеть SIP содержит основные элементы трех видов: агенты пользователя, прокси-серверы и серверы переадресации..
· Агент пользователя (User Agent — UA). Логическая функция в сети SIP, инициализирующая или отвечающая на транзакции SIP. Агент UA способен выступать в роли клиента или сервера транзакций SIP. Агент UA может непосредственно взаимодействовать с пользователем (человеком), а может и нет. Агент UA обладает фиксацией состояния (stateful), т.е. он способен хранить состояние сеанса или диалога.
· Клиентский агент пользователя (User Agent Client — UAC). Логическая функция, инициализирующая запросы SIP и принимающая ответы SIP. Примерами работы агента UAC является инициализация телефонного запроса SIP от имени пользователя или перенаправление SIP запроса прокси-сервера от имени UAC.
|
|
· Серверный агент пользователя (User Agent Server — UAS). Логическая функция, которая принимает запросы SIP и отправляет обратно ответы SIP. Телефон SIP, например, принимает такие запросы, как INVITE.
· Прокси-сервер (Proxy). Прокси-сервер – это промежуточный объект в сети SIP, который отвечает за перенаправление запросов SIP целевому агенту UAS или другому прокси-серверу от имени агента UAC. Но в первую очередь прокси-сервер осуществляет маршрутизацию в сети SIP. Прокси-сервер может также отвечать за поддержку политик в сети, например аутентификацию пользователя перед предоставлением ему услуг. Прокси-сервер может работать без фиксации состояния, с фиксацией состояния транзакций или с фиксацией состояния вызовов. Как правило, прокси-серверы работают с фиксацией состояния транзакций, т.е. они поддерживают состояние на протяжении продолжительности транзакции (приблизительно 32 секунды).
· Сервер переадресации (redirect server). Сервер переадресации – это агент UAS, который создает ответы SIP класса 300 на полученные запросы, переадресуя агент UAC по альтернативному набору универсальных идентификаторов ресурса (Uniform Resource Identifier – URI).
· Сервер регистрации (registrar server). Агент UAS, который принимает запросы SIP REGISTER и переносит информацию из запроса в базу данных расположений.
· Взаимный агент пользователя (Back-To-Back User Agent – B2BUA). Промежуточный объект, обрабатывающий входящие запросы SIP как агент UAS. Чтобы отвечать на входящие запросы SIP, агент B2BUA действует как агент UAC, восстанавливая запрос SIP и посылая его по сети. Агент B2BUA должен поддерживать состояние диалога и участвовать во всех транзакциях диалога.
Перейдем непосредственно к архитектуре сетей, базирующихся на протоколе SIP (рис. 1.9).
Рис. 1.9 Пример сети на базе протокола SIP
Протокол SIP предусматривает 6 запросов и ответов на них. Сообщения SIP могут переноситься как протоколом TCP, так и протоколом UDP. Сигнализация SIP дает возможность пользовательским агентам и сетевым серверам определять местоположение, выдавать запросы и управлять соединениями.
INVITE - запрос привлекает пользователя или услугу к участию в сеансе связи и содержит описание параметров этой связи. С помощью этого запроса пользователь может определить функциональные возможности терминала своего партнера по связи и начать сеанс связи, используя ограниченное число сообщений и подтверждений их приема.
АСК - запрос подтверждает прием от вызываемой стороны ответа на команду INVITE и завершает транзакцию.
OPTIONS - запрос позволяет получить информацию о функциональных возможностях пользовательских агентов и сетевых серверов. Однако этот запрос не используется для организации сеансов связи.
BYE - запрос используется вызывающей и вызываемой сторонами для разрушения соединения. Перед тем как разрушить соединение, пользовательские агенты отправляют этот запрос к серверу, сообщая о намерении прекратить сеанс связи.
CANCEL- запрос позволяет пользовательским агентам и сетевым серверам отменить любой ранее переданный запрос, если ответ на нее еще не был получен.
REGISTER - запрос применяется клиентами для регистрации информации о местоположении с использованием серверов SIP.