SIP versus XMPP (Jabber)
SIP en XMPP zijn toepassingslaagprotocollen die meestal worden gebruikt om spraak of IM via internet te verzenden. SIP wordt gedefinieerd door RFC 3621 en XMPP wordt gedefinieerd in RFC 3920. In wezen is XMPP geëvolueerd van IM en aanwezigheid, terwijl SIP is geëvolueerd van spraak en video via IP. XMPP heeft een extensie toegevoegd genaamd Jingle voor sessieonderhandeling en SIP heeft een extensie toegevoegd genaamd SIMPLE om IM en Presence te ondersteunen.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) is een toepassingslaagprotocol dat wordt gebruikt om multimediasessies zoals VoIP-oproepen tot stand te brengen, te wijzigen en te beëindigen. SIP kan ook nieuwe sessies uitnodigen voor bestaande sessies, zoals multicast-conferenties. In feite wordt het in een VoIP-omgeving een signaleringsprotocol genoemd dat het tot stand brengen van oproepen, oproepbeheer en gespreksafgifte kan verwerken en CDR (Call Detail Record) kan genereren voor factureringsdoeleinden.
XMPP (Extensible Messaging Presence Protocol)
XMPP is een open XML-protocol (Extensible Markup Language) voor realtime berichten-, aanwezigheids- en verzoekresponsdiensten. Oorspronkelijk werd het ontwikkeld door de open source gemeenschap van Jabber in 1999. In 2002 ontwikkelde de XMPP-werkgroep een aanpassing van het Jabber-protocol dat geschikt is voor IM (Instant Messaging).
Verschil tussen SIP en XMPP
We kunnen SIP en XMPP gewoon niet vergelijken omdat beide verschillende doeleinden dienen, zoals respectievelijk het opzetten van een sessie en gestructureerde gegevensuitwisseling. Maar introductie SIMPLE en Jingle introduceren enkele vergelijkbare functionaliteiten.
(1) SIP zorgt voor het opzetten, wijzigen en beëindigen van sessies, maar XMPP biedt streamingpijpen voor gestructureerde gegevensuitwisseling tussen groepen clients.
(2) SIP is een op tekst gebaseerd verzoek-antwoordprotocol en XMPP is een op XML gebaseerde client-serverarchitectuur.
(3) SIP-signaleringsberichten gaan via SIP-headers en body, terwijl in XMPP-berichten via streamingpijp gaan. XMPP verzendt een verzoek, antwoord, indicatie of fout met behulp van XML via de streamingpijp.
(4) SIP werkt via UDP, TCP en TLS, terwijl XMPP alleen TCP en TLS gebruikt.
(5) In SIP kan de user-agent server of client zijn, vandaar dat de user-agent berichten kan verzenden of ontvangen, terwijl in XMPP-client alleen verzoeken naar de server initieert, zodat deze werkt met NAT en Firewall.
(6) Zowel SIP als XMPP zijn eenvoudig te implementeren.
Het technisch vergelijken van SIP en XMPP is als het vergelijken van appels en peren, omdat de kernprotocollen verschillende doelen dienen: sessie-afspraak / vestiging versus gestructureerde gegevensuitwisseling