SIP vs XMPP (Jabber)
SIP i XMPP to protokoły warstwy aplikacji używane głównie do przesyłania głosu lub wiadomości błyskawicznych przez Internet. SIP jest zdefiniowany w RFC 3621, a XMPP jest zdefiniowany w RFC 3920. Zasadniczo XMPP wyewoluował z komunikatorów i obecności, podczas gdy SIP wyewoluował z głosu i wideo przez IP. XMPP dodał rozszerzenie o nazwie Jingle do negocjacji sesji, a SIP dodał rozszerzenie o nazwie SIMPLE do obsługi wiadomości błyskawicznych i obecności.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) to protokół warstwy aplikacji używany do ustanawiania, modyfikowania i kończenia sesji multimedialnych, takich jak połączenia VoIP. SIP może również zapraszać nowe sesje do istniejących sesji, takich jak konferencje multiemisji. Zasadniczo jest to protokół sygnalizacyjny w środowisku VoIP, który może obsługiwać nawiązywanie połączeń, sterowanie połączeniami i kończenie połączeń oraz generowanie CDR (Call Detail Record) do celów rozliczeniowych.
XMPP (Extensible Messaging Presence Protocol)
XMPP jest otwartym protokołem Extensible Markup Language (XML) do obsługi wiadomości, obecności i odpowiedzi na żądania w czasie rzeczywistym. Pierwotnie został opracowany przez społeczność Jabber open source w 1999 roku. W 2002 roku grupa robocza XMPP opracowała adaptację protokołu Jabber, która jest odpowiednia dla komunikatorów internetowych (Instant Messaging).
Różnica między SIP i XMPP
Po prostu nie możemy porównać SIP i XMPP, ponieważ oba służą różnym celom, takim jak odpowiednio ustanawianie sesji i wymiana danych strukturalnych. Ale wprowadzenie SIMPLE i Jingle wprowadza kilka podobnych funkcji.
(1) SIP zapewnia ustanawianie, modyfikowanie i kończenie sesji, ale XMPP zapewnia potok strumieniowy do ustrukturyzowanej wymiany danych między grupą klientów.
(2) SIP to tekstowy protokół odpowiedzi na żądanie, a XMPP to architektura serwera klienta oparta na języku XML.
(3) Komunikaty sygnalizacyjne SIP przechodzą przez nagłówki i treść SIP, podczas gdy w przypadku komunikatów XMPP są przesyłane przez potok strumieniowy. XMPP wysyła żądanie, odpowiedź, wskazanie lub błąd za pomocą XML przez potok strumieniowy.
(4) SIP działa przez UDP, TCP i TLS, podczas gdy XMPP używa tylko TCP i TLS.
(5) W SIP agent użytkownika może być serwerem lub klientem, stąd agent użytkownika może wysyłać lub odbierać wiadomości, podczas gdy w XMPP klient tylko inicjuje żądania do serwera, więc będzie działał z NAT i Firewall.
(6) Zarówno SIP, jak i XMPP są łatwe do wdrożenia.
Techniczne porównywanie SIP i XMPP przypomina porównywanie jabłek i pomarańczy, ponieważ podstawowe protokoły służą różnym celom: spotkanie / ustanowienie sesji vs ustrukturyzowana wymiana danych