Стоимость "обучения" |
Протокол инициирования сеансов связи (SIP)
5.5. Пример SIP-сети
Сети SIP обычно строятся из элементов трех основных типов: терминалов, прокси-серверов и серверов переадресации. На рис. 5.3 приведен пример возможного построения сети SIP.
Терминалы могут быть двух типов:
- Персональный компьютер со звуковой платой и программным обеспечением SIP-клиента.
- SIP-телефон, подключающийся непосредственно к ЛВС Ethernet.
Путем программирования сервер можно настроить на разные алгоритмы работы: он может обслуживать часть пользователей по одним правилам, а другую часть - по иным.
В протоколе SIP определены два вида сигнальных сообщений - запрос и ответ. Они имеют текстовый формат и базируются на протоколе HTTP. В запросе указываются процедуры, вызываемые для выполнения требуемых операций, а в ответе - результаты их выполнения. Определены шесть процедур:
- INVITE - приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
- BYE - завершает соединение между двумя пользователями;
- OPTIONS - используется для передачи информации о поддерживаемых характеристиках (эта передача может осуществляться напрямую между двумя агентами пользователей или через сервер SIP);
- АСК - используется для подтверждения получения сообщения или для положительного ответа на команду INVITE ;
- CANCEL - прекращает поиск пользователя;
- REGISTER - передает информацию о местоположении пользователя на сервер SIP, который может транслировать ее на сервер адресов (Location Server).
Переадресация соединения по SIP
Терминалы в протоколе SIP - это оконечные устройства, обеспечивающие двухстороннюю связь в реальном времени с другим устройством, но, в отличие от терминалов, описанных в рекомендациях Н.323, терминалы SIP выполняют функции шлюза.
Прокси-сервер принимает запрос от терминалов и обрабатывает его, после чего отправляет дальше: или на другой прокси-сервер, или оконечному терминалу. Кроме того, прокси-сервер обрабатывает все запросы и ответы от имени того терминала (или другого прокси), запрос от которого обрабатывается в данный момент. Таким образом, прокси-сервер выступает посредником между двумя терминалами.
Сервер переадресации получает запросы от терминала (прокси-серверов), обрабатывает их и возвращает этому терминалу обработанную информацию, необходимую для дальнейшей маршрутизации вызова. Затем терминал (прокси) непосредственно устанавливает соединение, согласно адресу, указанному сервером перенаправления. Существует также и бессерверный вариант соединения, когда один терминал может посылать запросы непосредственно другому терминалу.
Кроме того, в сетях SIP используются серверы местоположения (location server). Принципы его работы не входят в рекомендации SIP. Сервер SIP после принятия запроса обращается к серверу местоположения для того, чтобы узнать адрес, по которому можно найти пользователя; сервер местоположения в ответ либо сообщает список возможных адресов местоположения пользователя, либо информирует о невозможности найти их.
В сети с прокси-сервером ( рис. 5.5) для успешного установления двустороннего соединения между инициирующей и принимающей сторонами требуется выполнить следующие последовательные шаги:
- Прокси-сервер принимает запрос INVITE от инициирующей стороны.
- Прокси-сервер определяет местонахождение клиента, используя предоставленные услуги адресации и определения местоположения.
- По найденному адресу выдается запрос INVITE от сервера к принимающей стороне.
- Вызываемая сторона уведомляет вызывающую сторону и возвращает указание об успехе обратно прокси-серверу.
- От прокси-сервера к вызывающей стороне отправляется ответное сообщение "Все в порядке" (код 200 ).
- Вызывающая сторона подтверждает прием ответного сообщения выдачей запроса ACK, который прокси-сервер отправляет непосредственно к вызываемой стороне.
На рис. 5.6 представлена архитектура сети SIP с сервером переадресации.
В сети SIP с сервером переадресации ( рис. 5.6) для успешного установления двустороннего соединения требуется выполнить следующие последовательные шаги:
- Сервер переадресации принимает запрос INVITE от вызывающей стороны ( Бориса ) и определяет местонахождение ( Егора ) по предоставленной информации.
- После этого сервер переадресации возвращает адрес вызывающей стороне. В отличие от прокси-сервера, сервер переадресации не выдает INVITE.
- Вызывающая сторона отправляет ACK к серверу переадресации, подтверждая завершенную транзакцию.
- Вызывающая сторона ( Борис ) отправляет запрос INVITE непосредственно Егору.
- Вызываемая сторона предоставляет указание о благоприятном установлении соединения (реакция "Все в порядке" с кодом статуса 200 ), вызывающая сторона возвращает ACK.
Подход, основанный на использовании протокола SIP, ориентирован на интеграцию услуги передачи речевого трафика по IP-сетям с остальными услугами Интернета. Этот подход является намного более простым для реализации в сравнении с H.323, но меньше подходит для организации взаимодействия с обычными телефонными сетями. В основном это связано с тем, что сигнальный протокол SIP, базирующийся на основе протокола HTTP, плохо согласуется с системами сигнализации, используемыми в ТфОП. Кроме того, сервер SIP в общем случае не сохраняет сведений о текущих соединениях ( Stateless ), в то время как узлы ТфОП, напротив, сохраняют информацию обо всех установленных соединениях ( Statefull ). Второй вариант больше подходит для поставщиков услуг Интернета для предоставления еще одной услуги - интернет-телефонии. Эта услуга будет являться всего лишь небольшой частью пакета услуг и будет предоставляться, например, по фиксированным тарифам, при этом будет использоваться максимально упрощенная схема управления услугами.