8.1.1.7 Via
Via头域指示传输事务的transport,并标记发送响应的目的地址。只有在选定请求消息通向下一跳的transport后,才将该值添加到Via头域中。
当UAC创建一个请求时,必须添加一个Via头域。其中协议名称和协议版本必须分别设置为SIP和2.0。Via头域必须包含一个branch参数,用于标记该请求创建的会话(transaction)。客户端和服务器均使用该branch参数值。
除non-2xx响应触发的CANCEL、ACK外,branch参数值必须在UA发出的所有请求中,保持唯一性。CANCEL请求应该与其要取消的请求拥有相同的branch值。如17.1.1.3所讨论,non-2xx消息的ACK也应该与对应的INVITE消息有相同的branch值。
一个合法的branch ID必须以"z9hG4bK"开头。这7个字符作为幻数,当服务器收到请求时可以根据这个值确认branch ID是按照规范来创建的。除此之外,更详细的branch格式由实现定义。
Via头域的maddr、ttl、send-by在传输层处理时赋值。
代理服务器对Via的处理在16.6节的第八个主题和16.7节的第三个主题描述。
8.1.1.8 Contact

本文档详细阐述了SIP协议中的关键头域,包括 Via 头域的用途,如何标记传输事务和响应目标;Contact 头域如何指示UA实例的位置;Supported和Require头域如何声明支持的协议扩展;以及Additional Message Components中可能包含的其他请求组件。此外,还介绍了如何确定请求的目的地址和处理SIPS URI。
最低0.47元/天 解锁文章
7994

被折叠的 条评论
为什么被折叠?



