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