Forskellen mellem SIP og XMPP (Jabber)

SIP vs XMPP (Jabber)

SIP og XMPP er applikationslagsprotokoller, der oftest bruges til at sende tale eller IM over internettet. SIP er defineret af RFC 3621 og XMPP er defineret i RFC 3920. Grundlæggende er XMPP udviklet fra IM og tilstedeværelse, hvorimod SIP udviklet sig fra Voice and Video over IP. XMPP tilføjede en udvidelse kaldet Jingle til sessionforhandling og SIP tilføjede en udvidelse kaldet SIMPLE til at understøtte IM og Presence.

SIP (Session Initiation Protocol)

Session Initiation Protocol (SIP) er en applikationslagsprotokol, der bruges til at etablere, ændre og afslutte multimediesessioner såsom VoIP-opkald. SIP kan også invitere nye sessioner til eksisterende sessioner såsom multicast-konferencer. Grundlæggende kaldes det signalprotokol i VoIP-miljø, der kan håndtere opkaldsoprettelse, opkaldskontrol og opkaldsafslutning og generere CDR (Call Detail Record) til faktureringsformål.

XMPP (Extensible Messaging Presence Protocol)

XMPP er en åben XML-protokol (Extensible Markup Language) til realtidsmeddelelser, tilstedeværelse og anmodningssvarstjenester. Oprindeligt blev den udviklet af Jabber open source community i 1999. I 2002 udviklede XMPP-arbejdsgruppen tilpasning af Jabber-protokollen, der er egnet til IM (Instant Messaging).

Forskellen mellem SIP og XMPP

Vi kan bare ikke sammenligne SIP og XMPP, fordi begge tjener forskellige formål som henholdsvis sessionoprettelse og struktureret dataudveksling. Men introduktion SIMPLE og Jingle introducerer nogle lignende funktionaliteter.

(1) SIP leverer session etablering, ændring og afslutning, men XMPP leverer streaming pipe til struktureret dataudveksling mellem gruppe af klienter.

(2) SIP er tekstbaseret anmodningsresponsprotokol og XMPP er XML-baseret klientserverarkitektur.

(3) SIP-signalmeddelelser går via SIP-overskrifter og krop, hvorimod i XMPP-meddelelser passerer via streaming pipe. XMPP sender anmodning, svar, indikation eller fejl ved hjælp af XML via streaming-røret.

(4) SIP kører over UDP, TCP og TLS, hvorimod XMPP kun bruger TCP og TLS.

(5) I SIP kan brugeragent være server eller klient, hvorfor brugeragent kan sende eller modtage meddelelser, mens i XMPP-klient kun initierer anmodninger til serveren, så det fungerer med NAT og Firewall.

(6) Både SIP og XMPP er lette at implementere.

Teknisk sammenligning af SIP og XMPP er som at sammenligne æbler og appelsiner, fordi kerneprotokollerne tjener forskellige formål: session-møde / etablering vs struktureret dataudveksling