SIP (Session Initiation Protocol)

XMPP (Extensible Messaging Presence Protocol)


(1)SIP和XMPP都是应用层的协议,主要用来在互联网上发送语音和即时通信IM。RFC 3521定义了SIP,RFC3920定义了XMPP。XMPP来自即时通信系统,而SIP类似语音和视频通信。XMPP增加了Jingle扩展协议来支持面向连接的业务,如语音和视频;而SIP增加了SIMPLE协议来支持即时通信业务。


(2)SIP是应用层的协议,用来建立、改变和终结多媒体连接,如语音呼叫。SIP也可以在已经存在的呼叫上增加新的呼叫,实现多方会议。本质上来讲,SIP被称之为VoIP的信令协议,他可以处理呼叫的建立,呼叫的控制和呼叫的终结,并且产生CDR用来计费。


(3)XMPP是开放的XML协议,用来实现实时消息传递、呈现和请求/响应业务。起初,他由Jabber开源社区1999年开发。2002年XMPP工作组基于Jabber协议开发成支持即时通信业务。


(4)SIP信令由SIP报文格式的头部和内容两部分组成,也就是说,SIP报文格式的头部已经包含了部分内容,类似于HTTP。

   SIP的连接建立通道与数据传送通道是各自独立的,连接建立在SIP client与Server之间,而数据传送通道是在Client<-->Client之间直接进行的。这个对视频、语音和文件传送业务很合适,但是不适合其他形式的应用。


(5)XMPP的控制和数据通道是一体的,Clent只与Server建立连接,而Client与client之间是没有之间连接的。Client之间传送的通道是:Client1---〉Server1---〉server2---〉client2。

    这种方式server压力很大,但是能够实现很好的业务功能,比如留言、广播、群聊、状态更新、Blog、微博、数据共享等等。


(6)SIP 可以基于UDP, TCP和TLS传输并且提供安全。XMPP只能基于TCP和TLS。


spacer.gif

wKioL1g7_Ujg0R2nAABOlVYMxSI373.gif