在 SIP 的情况下验证 UDP 有效负载的机制/方法是什么?SIP消息不包含header或body的大小,那么如何验证payload是否有效?相反,RTP 表示大小,因此给定 UDP 标头的长度值,可以检查 RTP 的有效性和完整性。可以为 SIP 做类似的事情吗?
标记。
在 SIP 的情况下验证 UDP 有效负载的机制/方法是什么?SIP消息不包含header或body的大小,那么如何验证payload是否有效?相反,RTP 表示大小,因此给定 UDP 标头的长度值,可以检查 RTP 的有效性和完整性。可以为 SIP 做类似的事情吗?
标记。
你的问题有两个部分:
如何验证 SIP 标头? 验证 SIP 标头的唯一方法是根据RFC 3261 的第 7.3.1 节的规则解析它们。有许多不同语言的 SIP 解析器。
如何验证 SIP 消息的正文? SIP 内置了一种机制:Content-Length
标头指定正文的大小。在一般情况下,正文可以包含任意 MIME 类型,并且不应用进一步的验证规则。
编辑:根据 Frank Shearar 在下面的评论,Content-Length
通过 UDP 传输的 SIP 消息不需要。但是,如果您的 UA 支持它,您可以利用它。