SIP vs XMPP (Jabber)
SIP a XMPP jsou protokoly aplikační vrstvy, které se většinou používají k odesílání hlasu nebo rychlých zpráv přes internet. SIP je definován v RFC 3621 a XMPP je definován v RFC 3920. XMPP se v zásadě vyvinul z IM a Presence, zatímco SIP se vyvinul z Voice and Video over IP. XMPP přidal rozšíření nazvané Jingle pro vyjednávání relací a SIP přidal rozšíření nazvané SIMPLE pro podporu IM a Presence.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) je protokol aplikační vrstvy používaný k vytvoření, úpravě a ukončení multimediálních relací, jako jsou volání VoIP. SIP také může zvát nové relace do stávajících relací, jako jsou multicast konference. V zásadě je to v prostředí VoIP označováno jako signalizační protokol, který dokáže sestavit hovor, ovládat hovor a ukončovat hovor a generovat CDR (Call Detail Record) pro účely účtování.
XMPP (Extensible Messaging Presence Protocol)
XMPP je otevřený protokol XML (Extensible Markup Language) pro zasílání zpráv v reálném čase, služby přítomnosti a odpovědi na požadavky. Původně byl vyvinut komunitou Jabber open source v roce 1999. V roce 2002 pracovní skupina XMPP vyvinula adaptaci protokolu Jabber, která je vhodná pro IM (Instant Messaging).
Rozdíl mezi SIP a XMPP
Nemůžeme srovnávat SIP a XMPP, protože oba slouží k různým účelům, jako je vytvoření relace a výměna strukturovaných dat. Ale úvod SIMPLE a Jingle představují některé podobné funkce.
(1) SIP zajišťuje vytvoření, úpravu a ukončení relace, ale XMPP poskytuje streaming pro výměnu strukturovaných dat mezi skupinou klientů.
(2) SIP je textový protokol odezvy na žádost a XMPP je architektura klientského serveru založená na XML.
(3) Signalizační zprávy SIP procházejí hlavičkami a tělem SIP, zatímco zprávy XMPP procházejí proudovou trubkou. XMPP odesílá požadavek, odpověď, indikaci nebo chybu pomocí XML prostřednictvím streamovacího kanálu.
(4) SIP běží přes UDP, TCP a TLS, zatímco XMPP používá pouze TCP a TLS.
(5) V SIP může být uživatelským agentem server nebo klient, takže uživatelský agent může odesílat nebo přijímat zprávy, zatímco v XMPP klient pouze iniciuje požadavky na server, takže bude fungovat s NAT a Firewallem.
(6) SIP i XMPP se snadno implementují.
Technické porovnávání SIP a XMPP je jako srovnávání jablek a pomerančů, protože základní protokoly slouží různým účelům: setkání relace/ustavení vs výměna strukturovaných dat