SIP与XMPP(贾伯)
SIP和XMPP是应用层协议,主要用于在Internet上发送语音或IM。SIP由RFC3621定义,XMPP在RFC3920中定义。基本上XMPP是从IM和Presence演变而来的,而SIP是从IP上的语音和视频演变而来的。XMPP为会话协商添加了一个名为Jingle的扩展,SIP添加了一个名为SIMPLE的扩展来支持IM和Presence。
会话初始化协议
会话初始化协议(SIP)是一种应用层协议,用于建立、修改和终止诸如VoIP呼叫之类的多媒体会话。SIP还可以邀请新会话加入现有会话,如多播会议。它基本上是指VoIP环境中的信令协议,它可以处理呼叫建立、呼叫控制和呼叫终止,并生成CDR(call Detail Record)以进行计费。
XMPP(可扩展消息传递存在协议)
XMPP是一种开放的可扩展标记语言(XML)协议,用于实时消息传递、呈现和请求-响应服务。最初它是由Jabber开源社区在1999年开发的。2002年,XMPP工作组开发了适用于IM(即时消息)的Jabber协议。
SIP和XMPP的区别
我们不能比较SIP和XMPP,因为它们分别用于会话建立和结构化数据交换等不同的目的。但是“简介”和“叮当”引入了一些类似的功能。
(1) SIP提供会话的建立、修改和终止,而XMPP提供流式管道,用于客户端组之间的结构化数据交换。
(2) SIP是基于文本的请求-响应协议,XMPP是基于XML的客户机-服务器体系结构。
(3) SIP信令消息通过SIP报头和正文,而在XMPP中,消息通过流式管道传递。XMPP通过流媒体管道使用XML发送请求、响应、指示或错误。
(4) SIP通过UDP、TCP和TLS运行,而XMPP只使用TCP和TLS。
(5) 在SIP中,用户代理可以是服务器或客户机,因此用户代理可以发送或接收消息,而在XMPP中,客户机只向服务器发出请求,因此它将与NAT和防火墙一起工作。
(6) SIP和XMPP都很容易实现。