SIP против XMPP (Jabber)
SIP и XMPP - это протоколы прикладного уровня, которые в основном используются для передачи голоса или мгновенных сообщений через Интернет. SIP определен в RFC 3621, а XMPP определен в RFC 3920. В основном XMPP развивается из IM и присутствия, тогда как SIP развивается из голоса и видео по IP. XMPP добавил расширение Jingle для согласования сеанса, а SIP добавило расширение SIMPLE для поддержки IM и Presence..
SIP (протокол инициации сеанса)
Протокол инициации сеанса (SIP) - это протокол прикладного уровня, используемый для установления, изменения и завершения мультимедийных сеансов, таких как VoIP-вызовы. SIP также может приглашать новые сеансы к существующим сеансам, таким как многоадресные конференции. В основном это называется протоколом сигнализации в среде VoIP, который может обрабатывать установление вызова, управление вызовом и завершение вызова и генерирование CDR (Call Detail Record) для целей выставления счетов.
XMPP (протокол присутствия расширяемого обмена сообщениями)
XMPP - это открытый протокол расширяемого языка разметки (XML) для обмена сообщениями в реальном времени, служб присутствия и ответа на запросы. Первоначально он был разработан сообществом Jabber с открытым исходным кодом в 1999 году. В 2002 году рабочая группа XMPP разработала адаптацию Jabber Protocol, которая подходит для IM (Instant Messaging)..
Разница между SIP и XMPP
Мы просто не можем сравнивать SIP и XMPP, потому что оба служат разным целям, таким как установление сеанса и обмен структурированными данными соответственно. Но введение SIMPLE и Jingle вводит некоторые аналогичные функции.
(1) SIP обеспечивает установление, изменение и завершение сеанса, но XMPP предоставляет потоковый канал для обмена структурированными данными между группой клиентов..
(2) SIP - это текстовый протокол ответа на запрос, а XMPP - это архитектура клиент-сервер на основе XML..
(3) Сигнальные сообщения SIP проходят через заголовки и тело SIP, тогда как в сообщениях XMPP проходят через потоковый канал. XMPP отправляет запрос, ответ, индикацию или ошибку с использованием XML через потоковый канал.
(4) SIP работает через UDP, TCP и TLS, тогда как XMPP использует только TCP и TLS..
(5) В SIP пользовательский агент может быть сервером или клиентом, следовательно, пользовательский агент может отправлять или получать сообщения, тогда как в XMPP клиент только инициирует запросы к серверу, поэтому он будет работать с NAT и Firewall..
(6) SIP и XMPP просты в реализации.
Технически сравнивать SIP и XMPP - это все равно, что сравнивать яблоки и апельсины, потому что основные протоколы служат разным целям: рандеву / установление сеанса против структурированного обмена данными.