SIP
Материал из Википедии — свободной энциклопедии
SIP (англ. Session Initiation Protocol — протокол установления сессии) — протокол прикладного уровня, разработанный IETF MMUSIC Working Group, и предлагаемый стандарт на способ установки, изменения и завершения пользовательского сеанса, включающего мультимедийные элементы, такие как видео или голос, мгновенные сообщения (instant messaging), он-лайн игры и виртуальную реальность.
Протокол начал разрабатываться в 1996 году Хенингом Шулзри (Henning Schulzrinne, Колумбийский университет) и Марком Хэндли (UCL). В ноябре 2000 года SIP был утверждён как сигнальный протокол проекта 3GPP и основной протокол архитектуры IMS (модификация 3GPP TS.24.229)[1]. Наряду с довольно сильно в настоящее время устаревшим H.323, SIP — один из протоколов, лежащих в основе Voice over IP.
Протокол обладает следующими характеристиками:
- Простота: включает в себя только шесть методов (функций).
- Независимость от транспортного уровня, может использовать UDP, TCP, ATM и т. д.
- Экономичность: все запросы формируются на основе текста.
Содержание |
[править] Проект протокола
Клиенты SIP традиционно используют порт 5060 TCP и UDP для соединения серверов и других элементов SIP. В основном SIP используется для установления и разъединения голосовых и видеозвонков. При этом он может использоваться и в любых других приложениях, где требуется установка соединения, таких как Event Subscription and Notification, Terminal mobility и так далее. Существует большое количество RFC, относящихся к SIP и определяющих поведение таких приложений. Для передачи самих голосовых и видеоданных используют другие транспортные протоколы, чаще всего Real-time Transport Protocol (RTP).
Главной задачей разработки SIP было создание сигнального протокола и протокола установления соединений для IP коммуникаций, который может поддерживать расширенный набор функций обработки вызова и услуг, представленных в существующей ТфОП. Сам протокол SIP не определяет этих функций, а сосредоточен только на процедурах установления звонка и сигнализации. При этом он был спроектирован обеспечивать создание таких функций элементов сети, как Прокси-сервер (Proxy Servers) и Пользовательские Агенты (User Agents). При помощи этих элементов можно поддерживать базовые телефонные операции: набор номера, звонок телефонного аппарата, возможность после набора услышать длинные или короткие гудки. В мире SIP реализация этих функций и используемая терминология другие, нежели в традиционной телефонии, но для конечного пользователя поведение остаётся тем же.
Телефонные сети на основе SIP могут поддерживать и более современные услуги, обычно предоставляемые Signalling System 7 (SS7), несмотря на значительное различие этих двух протоколов. SS7 характеризуется сложной, централизованной интеллектуальной сетью и простыми, неинтеллектуальными, терминалами (традиционные телефонные аппараты). SIP является протоколом типа точка-точка. Как протоколы такого класса он требует только очень простую (и, соответственно, хорошо масштабируемую) сеть с интеллектом, встроенным в оконечные элементы на периферии (терминалы, построенные как физические устройства или программы). Другими словами, функции SIP реализованы в терминальных устройствах (то есть на границе сети), в отличие от традиционных возможностей SS7, которые поддерживаются самой сетью.
Хотя существует много других сигнальных протоколов VoIP, SIP характеризуется его сторонниками как относящийся к сообществу IP, а не к телекоммуникационной индустрии. SIP стандартизирован и контролируется главным образом IETF, в то время как протокол H.323 семейства VoIP был традиционно теснее связан с ITU. Однако эти две организации так или иначе одобрили оба протокола.
SIP используется вместе с несколькими другими протоколами и участвует только в сигнальной части сессии связи. SIP выполняет роль носителя для SDP, который описывает media данные в рамках сессии, например какие порты IP должны быть использованы, какой использовать кодек. В типичном применении «сессии» SIP — это просто потоки пакетов RTP. RTP является непосредственным носителем голосовых и видеоданных.
Первая предложенная версия стандарта (SIP 2.0) была определена в RFC 2543. Протокол был дополнительно уточнён в RFC 3261, хотя многие реализации по-прежнему основаны на промежуточных версиях стандарта. Обратите внимание, что номер версии остался 2.0.
SIP похож на HTTP и разделяет с ним общие принципы проектирования: он пригоден для чтения человеком и структурирован в отношении запросов и откликов. Сторонники SIP также заявляют о нём как о более простом, по сравнению с H.323. Однако некоторые склонны считать, что, в то время как первоначально целью SIP была простота, в своём сегодняшнем виде он стал так же сложен, как и H.323. Другие считают, что SIP — протокол без состояний, который тем самым даёт легко реализовать восстановление при отказе и другие возможности, которые затруднены в протоколах с состояниями, таких как H.323. Этот аргумент приобрёл религиозный характер, но, судя по всему, SIP выиграл сражение, если не войну протоколов. SIP разделяет с HTTP много кодов состояний, таких как известный '404 not found'. SIP и H.323 не ограничены голосовой связью, они могут обслуживать любой сеанс связи, от голосового до видеосеанса или приложений будущего.
[править] Примечания
[править] Литература
- Гольдштейн, Б.С. Протокол SIP. Справочник. — СПб.: BHV-Санкт-Петербург, 2005. — С. 456. — ISBN 5-8206-0123-8.
[править] См. также
[править] Ссылки
- Курс изучения SIP от авторов очень популярного прокси SIP с открытым исходным кодом
- Страница форума SIP
- Обзор Протокола SIP
- Asterisk и SIP wiki