SIP - 仅请求标头字段


Authorization

Authorization 头字段用于在向服务器发出的请求中携带 UA 的凭据。

它可以作为对包含质询信息的 401 Unauthorized 响应的回复而发送。

Event

此标头字段在 SUBSCRIBENOTIFY 方法中使用,以指示该方法正在使用哪个事件包。

  • 在订阅中,它列出了客户端想要订阅的事件包。

  • 在 NOTIFY 中,它列出了通知包含其状态信息的事件包。

Join

Join 标头字段在 INVITE 中使用,请求将对话(会话)与现有对话(会话)加入。

  • Join 标头字段的参数通过 Call-ID、To 标记和 From 标记来标识对话框,其方式与 Replaces 标头字段类似。

  • 如果 Join 标头字段引用两个用户代理之间的点对点对话,则 Join 标头字段实际上是将呼叫转变为电话会议的请求。

  • 如果对话已经是会议的一部分,则加入标头字段是要添加到会议中的请求。

Proxy-Authorization

Proxy-Authorization 头字段用于在向服务器发出请求时携带 UA 的凭据。

  • 它可以作为对包含质询信息的 407 Proxy Authentication required 响应的回复而发送。

  • 接收包含代理授权标头字段的请求的代理会搜索自己的领域,如果找到,则处理该条目。

  • 如果凭据正确,则在将请求转发到下一个代理时,所有剩余条目都会保留在请求中。

Proxy-Require

Proxy-Require 头字段用于列出 UA 需要代理支持才能处理请求的功能和扩展。

  • 代理返回 420 Bad Extension 响应,在 Unsupported header 字段中列出任何不支持的功能。

  • 如果需要但不要求支持此选项,则会将其列在 Supported 标头字段中。

Max-Forwards

Max-Forwards 头字段用于指示 SIP 请求可能经过的最大跳数。

  • 标头字段的值会根据转发请求的每个代理递减。

  • 接收到零值标头字段的代理会丢弃该消息,并向发起者发送回 483 Too Many Hops 响应。

  • 根据 RFC 3261,Max-Forwards 是请求中的强制标头字段。

  • 建议值为 70 跳。

Priority

UAC 使用 Priority 标头字段来设置请求的紧急程度。 值包括非紧急、正常、紧急和紧急。

Refer-To

Refer-To 头字段是 REFER 请求中的强制头字段,其中包含所引用的 URI 或 URL 资源。 它可以包含从 sip 或 sips 到 telURI 的任何类型的 URI。

Referred-By

Referred-By头域是REFER请求和由REFER触发的请求中的可选头域。

  • 它向触发请求的接收者提供该请求是由于 REFER 的结果而生成的信息以及 REFER 的发起者。

  • 未签名的 Referred-By 标头字段可能会被 429 Provide Referror Identity 响应代码拒绝。

Replaces

Replaces 用于用新的调用替换现有的调用。

  • 已建立的对话中的 UA 接收另一个带有与现有对话匹配的 Replaces 标头字段的 INVITE 时,必须接受该 INVITE,使用 BYE 终止现有对话,并将所有资源和状态从现有对话转移到新建立的对话。

  • 如果 Replaces 标头字段未匹配任何对话,则必须使用 481 对话不存在响应来拒绝 INVITE。

Request-Disposition

Request-Disposition 标头字段可用于向服务器请求代理或重定向。

示例:
Request-Disposition: redirect

Require

Require 标头字段用于列出 UAC 需要 UAS 支持才能处理请求的功能和扩展。

UAS 返回 420 Bad Extension 响应,在 Unsupported 标头字段中列出所有不支持的功能。

示例:
Require: rel100

Route

Route头字段用于为请求提供路由信息。

  • RFC 3261 引入了两种类型的路由:严格路由松散路由,与同名的IP路由模式含义相似。

  • 在严格路由中,代理必须使用 Route 标头字段中的第一个 URI 来重写 Request-URI,然后转发该请求。

  • 在松散路由中,代理不会重写 Request-URI,而是将请求转发到 Route 标头字段中的第一个 URI 或另一个松散路由元素。

  • 在松散路由中,请求必须先经过路由列表中的每个服务器,然后才能根据请求 URI 进行路由。

  • 在严格路由中,请求必须仅通过 Route 标头字段中的服务器集进行路由,并在每一跳重写 Request-URI。

  • 代理或 UAC 可以通过 lr 参数的存在来判断路由集中的下一个元素是否支持松散路由。

示例:
Route: sip:proxy@example.com;lr

RAck

RAck 标头字段在对 PRACK 请求的响应中使用,以可靠地确认包含 RSeq 标头字段的临时响应。

  • 其值是 CSeq 和临时响应中的 RSeq 的组合。

  • 对于每个可靠发送的响应,可靠序列号都会递增。

示例:
RAck: 3452337 17 INVITE

Session-Expires

Session-Expires头字段用于指定会话的过期时间。

  • 要延长会话,UA 可以发送带有新 Session-Expires 标头字段的 re-INVITE 或 UPDATE。

  • 一旦通话建立,它将出现在画面中。

SIP-If-Match

SIP-If-Match 标头字段是 SIP 发布机制的一部分。 它包含在 PUBLISH 请求中,旨在刷新、修改或删除先前发布的状态。

  • 标头字段包含状态信息的实体标记,该状态信息在对早期 PUBLISH 的 2xx 响应中的 SIP-ETag 标头字段中返回。

  • 如果实体标签不再有效,服务器将返回 412 Conditional Request Failed 响应。

示例:
SIP-If-Match: 56jforRr1pd

Subscription-State

Subscription-State 头字段是 NOTIFY 请求中必需的头字段。 它指示订阅的当前状态。 定义的值包括活动、待定或终止。

示例:
Subscription-State: terminated; reason = rejected

session_initiation_protocol_headers.html