SIP versus XMPP (Jabber)
SIP en XMPP zijn applicatielaagprotocollen die meestal worden gebruikt om spraak of IM via internet te verzenden. SIP wordt gedefinieerd door RFC 3621 en XMPP is gedefinieerd in RFC 3920. In wezen is XMPP geëvolueerd van IM en Presence, terwijl SIP is geëvolueerd van spraak en video via IP. XMPP heeft een extensie toegevoegd met de naam Jingle voor sessieonderhandeling en SIP heeft een extensie toegevoegd met de naam SIMPLE om IM en Presence te ondersteunen.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) is een toepassingslaagprotocol dat wordt gebruikt voor het opzetten, wijzigen en beëindigen van multimediasessies zoals VoIP-gesprekken. SIP kan ook nieuwe sessies uitnodigen voor bestaande sessies, zoals multicast-conferenties. In principe wordt dit aangeduid als signaleringsprotocol in de VoIP-omgeving dat het tot stand brengen van gesprekken, gespreksbeheer en gespreksafgifte en het genereren van CDR (Call Detail Record) voor factureringsdoeleinden mogelijk maakt.
XMPP (Extensible Messaging Presence Protocol)
XMPP is een open XML-protocol (Extensible Markup Language) voor real-time berichten-, aanwezigheids- en verzoekresponsdiensten. Oorspronkelijk werd het ontwikkeld door Jabber open source community in 1999. In 2002 ontwikkelde de XMPP werkgroep de aanpassing van Jabber Protocol dat geschikt is voor IM (Instant Messaging).
Verschil tussen SIP en XMPP
We kunnen SIP en XMPP gewoon niet met elkaar vergelijken omdat ze beide verschillende doelen dienen, zoals het opzetten van een sessie en gestructureerde gegevensuitwisseling. Maar de introductie SIMPLE en Jingle introduceren een aantal vergelijkbare functionaliteiten.
(1) SIP biedt het opzetten, wijzigen en beëindigen van sessies, maar XMPP biedt streamingpipe voor gestructureerde gegevensuitwisseling tussen een groep klanten.
(2) SIP is een op tekst gebaseerd request-responsprotocol en XMPP is een op XML gebaseerde clientserverarchitectuur.
(3) SIP-signaleringsberichten gaan via SIP-headers en -body terwijl in XMPP-berichten via streamingpijpen worden doorgegeven. XMPP verzendt een verzoek, reactie, indicatie of fout met XML via de streamingpijp.
(4) SIP loopt over UDP, TCP en TLS terwijl XMPP alleen TCP en TLS gebruikt.
(5) In SIP kan een user-agent een server of een client zijn en daarom kan de user-agent berichten verzenden of ontvangen, terwijl de XMPP-client alleen aanvragen naar de server initieert, zodat deze met NAT en Firewall werkt.
(6) Zowel SIP als XMPP zijn eenvoudig te implementeren.
Het technisch vergelijken van SIP en XMPP is als het vergelijken van appels en sinaasappels omdat de kernprotocollen verschillende doelen dienen: sessie rendez-vous / instelling versus gestructureerde gegevensuitwisseling