SIP vs XMPP (Jabber)
SIP e XMPP são protocolos da camada de aplicativo usados principalmente para enviar voz ou IM pela Internet. O SIP é definido pelo RFC 3621 e o XMPP é definido no RFC 3920. Basicamente, o XMPP é desenvolvido a partir de IM e Presença, enquanto o SIP foi desenvolvido a partir de Voz e Vídeo sobre IP. O XMPP adicionou uma extensão chamada Jingle para negociação de sessão e o SIP adicionou uma extensão chamada SIMPLE para oferecer suporte a IM e presença.
SIP (Protocolo de Iniciação de Sessão)
O Protocolo de Iniciação de Sessão (SIP) é um protocolo de camada de aplicativo usado para estabelecer, modificar e encerrar sessões de multimídia, como Chamadas VoIP. O SIP também pode convidar novas sessões para sessões existentes, como conferências multicast. Basicamente, é referido como protocolo de sinalização no ambiente VoIP que pode lidar com estabelecimento de chamadas, controle de chamadas e terminação de chamadas e gerar CDR (Call Detail Record) para fins de cobrança.
XMPP (Protocolo de presença de mensagens extensíveis)
O XMPP é um protocolo XML (Extensible Markup Language) aberto para serviços de mensagens em tempo real, presença e resposta a solicitações. Originalmente, ele foi desenvolvido pela comunidade de código aberto Jabber em 1999. Em 2002, o grupo de trabalho XMPP desenvolveu uma adaptação do protocolo Jabber adequado para IM (Instant Messaging).
Diferença entre SIP e XMPP
Simplesmente não podemos comparar o SIP e o XMPP porque ambos servem a propósitos diferentes, como estabelecimento de sessões e troca de dados estruturados, respectivamente. Mas a introdução SIMPLE e Jingle introduz algumas funcionalidades semelhantes.
(1) O SIP fornece estabelecimento, modificação e encerramento de sessões, mas o XMPP fornece canal de streaming para troca de dados estruturada entre o grupo de clientes.
(2) SIP é um protocolo de resposta de solicitação baseado em texto e XMPP é uma arquitetura de servidor cliente baseada em XML.
(3) As mensagens de sinalização SIP passam pelos cabeçalhos e pelo corpo SIP, enquanto nas mensagens XMPP passam pelo canal de streaming. XMPP envia solicitação, resposta, indicação ou erro usando XML através do canal de streaming.
(4) O SIP é executado em UDP, TCP e TLS, enquanto o XMPP usa apenas TCP e TLS.
(5) No SIP, o agente do usuário pode ser servidor ou cliente, portanto, o agente do usuário pode enviar ou receber mensagens, enquanto no cliente XMPP apenas inicia solicitações ao servidor, para que ele funcione com o NAT e o Firewall..
(6) O SIP e o XMPP são fáceis de implementar.
Comparar tecnicamente o SIP e o XMPP é como comparar maçãs e laranjas porque os protocolos principais servem a propósitos diferentes: encontro / estabelecimento de sessões versus troca de dados estruturada