SIP contro XMPP (Jabber)
SIP e XMPP sono protocolli a livello di applicazione utilizzati principalmente per inviare voce o IM su Internet. SIP è definito da RFC 3621 e XMPP è definito in RFC 3920. Fondamentalmente XMPP si è evoluto da IM e Presence, mentre SIP si è evoluto da Voice e Video over IP. XMPP ha aggiunto un'estensione chiamata Jingle per la negoziazione della sessione e SIP ha aggiunto un'estensione chiamata SIMPLE per supportare IM e Presence.
SIP (Session Initiation Protocol)
Session Initiation Protocol (SIP) è un protocollo a livello di applicazione utilizzato per stabilire, modificare e terminare sessioni multimediali come le chiamate VoIP. SIP può anche invitare nuove sessioni a sessioni esistenti come le conferenze multicast. Fondamentalmente è indicato come protocollo di segnalazione in ambiente VoIP in grado di gestire l'instaurazione delle chiamate, il controllo delle chiamate e la terminazione delle chiamate e la generazione di CDR (Call Detail Record) per scopi di fatturazione.
XMPP (Extensible Messaging Presence Protocol)
XMPP è un protocollo XML (Extensible Markup Language) aperto per servizi di messaggistica, presenza e risposta alle richieste in tempo reale. Originariamente è stato sviluppato dalla comunità open source Jabber nel 1999. Nel 2002 il gruppo di lavoro XMPP ha sviluppato l'adattamento del protocollo Jabber adatto per IM (Instant Messaging).
Differenza tra SIP e XMPP
Non possiamo confrontare SIP e XMPP perché entrambi servono a scopi diversi come l'istituzione di sessioni e lo scambio di dati strutturati rispettivamente. Ma l'introduzione SIMPLE e Jingle introduce alcune funzionalità simili.
(1) SIP fornisce l'istituzione, la modifica e la chiusura della sessione, ma XMPP fornisce il tubo di streaming per lo scambio di dati strutturato tra gruppi di client.
(2) SIP è un protocollo di risposta alle richieste basato su testo e XMPP è un'architettura client server basata su XML.
(3) I messaggi di segnalazione SIP passano tramite le intestazioni e il corpo SIP mentre nei messaggi XMPP passano tramite il tubo di streaming. XMPP invia richiesta, risposta, indicazione o errore utilizzando XML tramite il tubo di streaming.
(4) SIP funziona su UDP, TCP e TLS mentre XMPP utilizza solo TCP e TLS.
(5) In SIP, l'agente utente potrebbe essere server o client, quindi l'agente utente può inviare o ricevere messaggi mentre nel client XMPP avvia solo richieste al server, quindi funzionerà con NAT e Firewall.
(6) Sia SIP che XMPP sono facili da implementare.
Tecnicamente confrontare SIP e XMPP è come confrontare mele e arance perché i protocolli di base servono a scopi diversi: incontro di sessione / stabilimento vs scambio di dati strutturato