题
我为我的公司开发了SIP堆栈。它远非完美,并且缺少RFC的很多东西,但是它功能齐全,并且可以很好地与许多经过测试的软电话以及其他SIP硬件和软件一起使用。
我的问题是:多少SIP软件可以真正说出它们完全符合SIP的符合性(您可以在互联网上找到的软电话)?
解决方案
好问题。
从RFC3261第18节:首先要实施很多SIP堆栈,因此不合规,因此不合规:
所有SIP元素必须实现UDP和TCP。 SIP元素可以实施其他协议。
星号是一个很好的例子。它通常声称符合RFC3261的符合RFC3261,但最近才包括TCP支持,并且仍然有很多错误。我怀疑有更好的SEIP产品,例如SER衍生产品,它符合RFC3261,我从未审核过任何一个,但是SER作为领先的SIP服务器的声誉。
要记住的另一件事是,“ SIP标准”现在包括8个已更新或过时的RFC3261的RFC。另外还有一个 其他RFC 用于诸如NAT之类的扩展和修复。我认为可以肯定地说,不太可能有任何符合所有SIP RFC的SIP堆栈。
我也写了一块sip堆,遵循与你相同的道路。使其与您可以轻松测试的设备一起工作,然后随着时间的流逝或需要在需要时添加标准的更深奥的部分。我什至开始 记录哪些sip rfcs 我正在努力实施。
其他提示
我也承认写自己的sip堆栈。
这 SIP互操作性测试 事件会产生很多互动数据。例如,从去年的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.
两个SIP端点可以符合SIP的限制,并且仍然无法进行操作。因此,“完全符合SIP兼容”是,您不足以使您能够在不进行Interop测试的情况下说“ Will Will Will”。但是,这可能足以让您从初始选择中删除一些。
不隶属于 StackOverflow