- 会话发起协议教程
- SIP - 首页
- SIP - 简介
- SIP - 网络元素
- SIP - 基本呼叫流程
- SIP - 消息
- SIP - 响应代码
- SIP - 报头
- SIP - 会话描述协议
- SIP - 提供/应答模型
- SIP - 移动性
- SIP - 分支
- SIP - 代理和路由
- SIP 到 PSTN
- SIP - 编解码器
- SIP - B2BUA
- SIP 有用资源
- SIP - 快速指南
- SIP - 有用资源
- SIP - 讨论
SIP - 请求报头字段
授权
授权报头字段用于在用户代理 (UA) 向服务器的请求中携带凭据。
它可以作为对包含挑战信息的401 未授权响应的回复发送。
事件
此报头字段用于SUBSCRIBE或NOTIFY方法,以指示该方法正在使用哪个事件包。
在 SUBSCRIBE 中,它列出了客户端想要订阅的事件包。
在 NOTIFY 中,它列出了通知包含状态信息的事件包。
加入
Join 报头字段用于在 INVITE 中请求将对话(会话)与现有对话(会话)加入。
Join 报头字段的参数以类似于 Replaces 报头字段的方式通过呼叫 ID、To 标签和 From 标签来标识对话。
如果 Join 报头字段引用两个用户代理之间的点对点对话,则 Join 报头字段实际上是将呼叫转换为会议呼叫的请求。
如果对话已经是会议的一部分,则 Join 报头字段是将其添加到会议中的请求。
代理授权
Proxy-Authorization 报头字段用于在用户代理 (UA) 向服务器的请求中携带凭据。
它可以作为对包含挑战信息的 407 代理身份验证必需响应的回复发送。
接收包含 Proxy-Authorization 报头字段的请求的代理会搜索其自身的领域,如果找到则处理该条目。
如果凭据正确,则在将其转发到下一个代理时,请求中会保留任何剩余的条目。
代理需求
Proxy-Require 报头字段用于列出用户代理 (UA) 需要代理支持才能处理请求的功能和扩展。
代理返回 420 错误扩展响应,在不支持的报头字段中列出任何不支持的功能。
如果需要但不需要支持此选项,则将其列在支持的报头字段中。
最大转发数
Max-Forwards 报头字段用于指示 SIP 请求可以采取的最大跳数。
转发请求的每个代理都会递减报头字段的值。
接收值为零的报头字段的代理会丢弃消息,并向发件人发送 483 过多跳数响应。
根据 RFC 3261,Max-Forwards 是请求中的必需报头字段。
建议值为 70 跳。
优先级
UAC 使用 Priority 报头字段来设置请求的紧急程度。值为非紧急、正常、紧急和紧急情况。
引用到
Refer-To 报头字段是 REFER 请求中的必需报头字段,其中包含正在引用的 URI 或 URL 资源。它可以包含从 sip 或 sips 到 telURI 的任何类型的 URI。
被引用者
Referred-By 报头字段是 REFER 请求和由 REFER 触发的请求中的可选报头字段。
它为触发请求的接收者提供信息,表明该请求是由于 REFER 和 REFER 的发起者而生成的。
未签名的 Referred-By 报头字段可能会被429 提供引用者身份响应代码拒绝。
替换
Replaces 用于用新呼叫替换现有呼叫。
在已建立的对话中,接收具有与现有对话匹配的 Replaces 报头字段的另一个 INVITE 的 UA 必须接受 INVITE,使用 BYE 终止现有对话,并将所有资源和状态从现有对话转移到新建立的对话。
如果 Replaces 报头字段与任何对话都不匹配,则必须使用 481 对话不存在响应来拒绝 INVITE。
请求处置
Request-Disposition 报头字段可用于请求服务器进行代理或重定向。
Example: Request-Disposition: redirect
需要
Require 报头字段用于列出 UAC 需要 UAS 支持才能处理请求的功能和扩展。
UAS 返回 420 错误扩展响应,在 Unsupported 报头字段中列出任何不支持的功能。
Example: Require: rel100
路由
Route 报头字段用于为请求提供路由信息。
RFC 3261 引入了两种类型的路由:严格路由和松散路由,它们与同名的 IP 路由模式具有相似的含义。
在严格路由中,代理必须使用 Route 报头字段中的第一个 URI 来重写 Request-URI,然后将其转发。
在松散路由中,代理不会重写 Request-URI,而是将请求转发到 Route 报头字段中的第一个 URI 或另一个松散路由元素。
在松散路由中,请求必须通过 Route 列表中的每个服务器才能根据 Request-URI 进行路由。
在严格路由中,请求必须仅通过 Route 报头字段中的一组服务器进行路由,并且在每个跳跃处都会重写 Request-URI。
代理或 UAC 可以通过 lr 参数的存在来判断路由集中下一个元素是否支持松散路由。
Example: Route: sip:[email protected];lr
RAck
RAck 报头字段用于对 PRACK 请求的响应中,可靠地确认包含 RSeq 报头字段的临时响应。
其值为 CSeq 和临时响应中的 RSeq 的组合。
对于可靠发送的每个响应,可靠序列号都会递增。
Example: RAck: 3452337 17 INVITE
会话到期
Session-Expires 报头字段用于指定会话的到期时间。
要扩展会话,任何 UA 都可以发送带有新的 Session-Expires 报头字段的 re-INVITE 或 UPDATE。
呼叫建立后,它将出现。
SIP-If-Match
SIP-If-Match 报头字段是 SIP 发布机制的一部分。它包含在旨在刷新、修改或删除先前发布状态的 PUBLISH 请求中。
报头字段包含状态信息,该状态信息在对先前 PUBLISH 的 2xx 响应中的 SIP-ETag 报头字段中返回。
如果实体标签不再有效,服务器将返回 412 条件请求失败响应。
Example: SIP-If-Match: 56jforRr1pd
订阅状态
Subscription-State 报头字段是 NOTIFY 请求中的必需报头字段。它指示订阅的当前状态。定义的值包括活动、待处理或终止。
Example: Subscription-State: terminated; reason = rejected