news 2026/6/15 14:05:45

找到一篇讲 SIP Via的好文章

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
找到一篇讲 SIP Via的好文章

必选的Via头字段用于记录请求所经过的SIP路由,并用于将响应路由回请求发起方。用户代理(UA)在生成请求时,会将自身地址记录在Via头字段中。虽然大多数SIP头字段的顺序无关紧要,但Via头字段的顺序至关重要——因其将被用于响应的路由。

转发请求的代理会在Via头字段列表的首部添加一个包含自身地址的Via头字段。添加Via头字段的代理必须在该字段中包含一个分支标记(branch tag),该标记的值是对To、From、Call-ID头字段以及请求URI(Request-URI)进行加密哈希运算后得到的结果。

代理或用户代理(UA)在生成请求的响应时,会按顺序将请求中的所有Via头字段复制到响应中,然后将响应发送至首个Via头字段指定的地址。接收到响应的代理会检查首个Via头字段,确认其是否与自身地址匹配。若不匹配,则说明响应被错误路由,应直接丢弃。随后,该代理会移除首个Via头字段,并将响应转发至下一个Via头字段指定的地址。

Via头字段包含协议名称、版本号和传输层协议(例如SIP/2.0/UDP、SIP/2.0/TCP等),还可包含端口号以及若干参数,如received、rport、branch、maddr和ttl。
当用户代理(UA)或代理从非首个Via头字段指定的地址接收到请求时,会在该Via头字段中添加一个received标记。
如果请求的Via头字段中包含rport标记,代理会填入接收该请求时使用的端口,并使用此端口进行响应路由——这表明消息传输路径中存在NAT或防火墙代理。若存在received和/或rport标记,它们将被用于响应路由。(RFC 3261中已弃用的hidden参数,曾用于标识Via头字段已被加密)。

用户代理(UA)和代理都会为Via头字段添加branch参数,该参数的值是对请求URI(Request-URI)、To、From、Call-ID以及CSeq序号进行哈希运算后得到的结果。如 图3.4 所示,当请求被分叉转发时,需要在branch参数中添加第二部分内容。
maddr和ttl参数用于多播传输,其含义与SIP URI中对应的参数含义一致。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 13:30:39

网络安全行业接单赚外快秘籍:计算机人靠技能变现的技巧

很多计算机人(学生 / 转行从业者)觉得 “网络安全兼职门槛高,必须是大神才能接”,其实不用会复杂渗透,只要掌握基础工具(如 Nmap、Burp)或简单编程,就能接 “50-5000 元” 的兼职单。…

作者头像 李华
网站建设 2026/5/12 3:38:29

Windows系统性能终极优化指南:免费工具一键加速电脑运行

Windows系统性能终极优化指南:免费工具一键加速电脑运行 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为电脑运行缓慢、系统卡顿而烦恼吗&#…

作者头像 李华
网站建设 2026/6/15 13:30:47

生命科学图像分析利器:Fiji完整使用指南

生命科学图像分析利器:Fiji完整使用指南 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji作为ImageJ的增强版本,是一款专为生命科学研究打造的…

作者头像 李华
网站建设 2026/6/15 13:35:39

3步解决DBeaver驱动下载失败问题:完整指南与实战方案

3步解决DBeaver驱动下载失败问题:完整指南与实战方案 【免费下载链接】dbeaver DBeaver 是一个通用的数据库管理工具,支持跨平台使用。* 支持多种数据库类型,如 MySQL、PostgreSQL、MongoDB 等;提供 SQL 编辑、查询、调试等功能&a…

作者头像 李华