用于网络会议和文件共享的 SIP/XMPP 之间有什么区别?



我想为我的家人,朋友和我自己设置一个个人视频会议服务。我对当前选项的主要问题是,它们要么是闭源和集中的(GG hangouts, skype),要么是开源的,但不能在公司环境或酒店中工作(由于严格的防火墙规则和"skype正在通过,如果你想要VOIP使用它"的网络管理员反应)。

我有两个解决方案。我可以设置一个STUN/TURN中继服务器,并使用XMPP和SIP,但这需要我的朋友也设置。或者设置一个完整的VOIP服务器。我想到了两种解决方案:SIP和XMPP。尽管据我所知,它们最终都使用了RTP/RTCP协议。

这就是问题所在。除了它们使用的特定信令部分之外,我真的无法找出它们之间的区别,它们的典型用例

我认为你是对的,就建立视频会议系统而言,XMPP和SIP是等效的。它们都是只发送信号的协议,它们建立的媒体会话通常使用RTP(尽管它们都可以用来建立任何类型的会话,但RTP是标准)。

最大的问题也将是你提到的从公司防火墙中获取视频流的问题。Skype克服了这个障碍,通过SSL连接发送媒体,因此能够通过防火墙。从理论上讲,您可以使用RTP做同样的事情,过去我曾经使用openvpn连接与SIP客户端来测试一些音频呼叫。我的体验不是很好,因为音频非常不稳定,大概是由于需要将大量小音频包从一端传送到另一端所需的所有额外包装。那是近十年前的事了,所以也许现在有了更好的CPU和带宽资源,它会工作得更好。

我个人认为我会坚持使用Skype,因为它将是一个很大的麻烦,建立自己的系统。如果你要继续使用自己的第一个选择,我会尝试将Asterisk与openvpn相结合,以便如果客户端在防火墙后面或有NAT问题,他们可以连接到它。

最新更新