在很多情况下,sip并非直达目标主机的,而是要经过很多中间节点服务器。在request消息中,via头域表示当前已走过的节点(每经过一个节点,添加一个via头);在response消息中,via头域表示消息接下来还要经过的节点(相对于request消息原路返回,每经过一个节点删除一个via头)。
via的基本格式是:via头域标识(就是"via"):头域值
当前节点加入的via头域值应包含当前节点一句的sip版本和网络传输协议;当前节点的域名或ip地址;端口号;以及若干可选的属性项。属性项与之前项目及属性项之间以“;”隔开。下面是一个典型via头域的例子:
via:SIP/2.0/UDP 192.0.2.1:506
via的可选属性项一般有这么几个:"maddr", "ttl", "received", and "branc" 下面分别介绍它们的含义和用法。
The Via header maddr, ttl, and sent-by components will be set when
the request is processed by the transport layer (Section 18).