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 Presence, hvorimod SIP udviklede sig fra Voice og Video over IP. XMPP tilføjede en udvidelse kaldet Jingle til sessionsforhandling, og SIP tilføjede en udvidelse kaldet SIMPLE for 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 omtales det som signaleringsprotokol i VoIP-miljø, der kan håndtere opkaldsetablering, opkaldskontrol og opkaldsterminering og generere CDR (Call Detail Record) til faktureringsformål.
XMPP (Extensible Messaging Presence Protocol)
XMPP er en åben XML-protokol (Extensible Markup Language) til re altidsmeddelelser, tilstedeværelse og responstjenester. Oprindeligt blev det udviklet af Jabber open source-fællesskab i 1999. I 2002 udviklede XMPP-arbejdsgruppen en 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 sessionsetablering og struktureret dataudveksling. Men introduktion SIMPLE og Jingle introducerer nogle lignende funktioner.
(1) SIP leverer sessionsetablering, ændring og afslutning, men XMPP leverer streamingpipe til struktureret dataudveksling mellem gruppe af klienter.
(2) SIP er tekstbaseret protokol for anmodningssvar, og XMPP er XML-baseret klientserverarkitektur.
(3) SIP-signaleringsmeddelelser går via SIP-headere og -tekst, mens meddelelser i XMPP sendes via streaming-rør. XMPP sender anmodning, svar, indikation eller fejl ved hjælp af XML via streaming-pipen.
(4) SIP kører over UDP, TCP og TLS, hvorimod XMPP kun bruger TCP og TLS.
(5) I SIP kan brugeragenten være server eller klient, og brugeragenten kan derfor sende eller modtage beskeder, mens XMPP-klienten kun initierer anmodninger til serveren, så den vil fungere med NAT og Firewall.
(6) Både SIP og XMPP er nemme at implementere.
Teknisk sammenligning af SIP og XMPP er som at sammenligne æbler og appelsiner, fordi kerneprotokollerne tjener forskellige formål: sessionsmøde/etablering versus struktureret dataudveksling