网络上的SIP VoIP软件有多兼容?

时间:2010-03-12 12:32:14

标签: sip voip

我为我的公司开发了一个SIP堆栈。它远非完美,而且它缺少来自RFC的很多东西,但它的功能很好,适用于许多经过测试的软电话和其他SIP硬件和软件。

我的问题是:有多少SIP软件可以真正说出它们完全符合SIP标准(你可以在互联网上找到的软电话)?

3 个答案:

答案 0 :(得分:2)

好问题。

从许多SIP堆栈开始,无法实现TCP,因此不符合RFC3261第18节:

  

所有SIP元素必须实现UDP和TCP。 SIP元素可以实现其他协议。

Asterisk就是一个很好的例子。它通常声称符合RFC3261,但最近才包含TCP支持,并且仍然有很多错误。有更好的SIP产品,例如SER派生的产品,我怀疑它们符合RFC3261,我从来没有审核过任何产品,但SER有一个声誉,因为它是领先的SIP服务器。

要记住的另一件事是“SIP标准”现在包括8个已更新或废弃原始RFC3261的RFC。此外,还有一个multitude of other RFCs用于NAT等扩展和修复。我认为可以肯定地说,不可能有任何符合所有SIP RFC的SIP协议栈。

我也写了一个SIP堆栈并跟着你走的路径;让它与您可以轻松测试的设备一起使用,然后随着时间的推移或在需要时添加更多深奥的标准部分。我甚至开始documenting which SIP RFCs我正在努力实施。

答案 1 :(得分:1)

我也承认自己编写SIP堆栈。

SIP Interoperability Test事件会产生大量的互操作数据。例如,去年从SIPit 25我们发现:

Implementations using each transport for SIP messages:
   UDP   98% 
   TCP   83%
   TLS   38% server-auth, 24% mutual-auth
   SCTP   7%
   DTLS   2%

36% of the implementations supported IPv6.

答案 2 :(得分:0)

两个SIP端点可以符合SIP标准,但仍然无法互操作。因此,“完全符合SIP标准”是不足以让您能够在不进行互操作测试的情况下说“能够工作”。但是,这可能足以让你从初始选择中删除一些。

相关问题