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都很容易實現。