SIP - 4xx: 客户端失败响应


客户端错误响应表明请求无法完成,因为 UAC 端发现了一些错误。 响应码一般由UAS发送。 收到错误消息后,客户端应根据响应修改请求来重新发送请求。 下面讨论的是一些重要的客户端错误响应。

400 Bad Request(错误请求

  • 这表明服务器无法理解该请求。

  • 请求可能缺少必需的标头字段,例如"收件人"、"发件人"、"呼叫 ID"或"CSeq"。

401 Unauthorized(未经授权)

  • 表示该请求需要进行认证。

  • 401 Unauthorized 通常由注册服务器发送 REGISTER 请求。

  • 响应包含 WWW-Authenticate 标头字段,该字段请求调用用户代理提供正确的凭据。

401 未经授权
  • 随后的 REGISTER 将通过正确的凭据从用户代理触发。

402 Payment Required

  • 表示需要进一步处理请求。

403 Forbidden(禁止)

  • 403 Forbidden 在服务器理解请求、发现请求格式正确但不会为请求提供服务时发送。

  • 需要授权时不使用此响应。

404 Not Found(未找到)

  • 这表明服务器尚未找到用户指定的 SIP URI。

405 Method Not Allowed(方法不允许)

  • 表明该请求包含不允许的方法列表。

  • 示例:注册请求可能会发送到用户代理。

  • 它包含一个Allow字段,通知UAC哪些方法是可接受的。

406 Not Acceptable(不可接受)

  • 此响应表明由于请求消息中的要求,无法处理该请求。

  • 请求中的Accept头域不包含UAS支持的任何选项。

407 Proxy Authentication Required(需要代理身份验证)

  • 此请求由代理发送,表明 UAC 首先必须通过代理验证自身身份,然后才能处理该请求。

  • 响应应包含 Proxy-Authenticate 标头,告知代理所需的凭据类型。

  • 可以使用 Proxy-Authorization 标头字段中的正确凭据重新发送请求。

408 Request Timeout(请求超时)

  • 当 INVITE 请求的 Expires 头字段中指定的时间段过去后,才会出现此响应。

  • 它可以由分叉代理或用户代理发送。

  • UAC 可以随时重试该请求。

422 Session Timer Interval Too Small(会话计时器间隔太小)

  • 响应用于拒绝包含 Session-Expires 标头字段的请求。

  • 最小允许间隔在所需的 Min-SE 标头字段中指示。

  • 调用方可以在没有 Session-Expires 标头字段或使用小于或等于指定最小值的值的情况下重试请求。

423 Interval Too Brief(间隔太短)

  • 注册商返回响应,该注册商拒绝注册请求,因为一个或多个联系人请求的到期时间太短。

  • 响应必须包含 Min-Expires 标头字段,列出注册商可接受的最小过期间隔。

480 Temporarily Unavailable(暂时不可用)

  • 此响应表明请求已到达正确的目的地,但被叫方由于某种原因无法接通。

  • 响应应包含 Retry-After 标头,指示何时可以满足请求。

481 Dialog/Transaction Does Not Exist(对话/事务不存在)

  • 此响应表示已收到引用现有调用或事务的响应,但服务器没有记录或状态信息。

483 Too Many Hops(跳数过多)

  • 此响应表明请求已转发了请求中 Max-Forwards 标头设置的最大次数,即 70。

  • 这通过在请求中收到 Max-Forward: 0 标头来指示。

486 Busy Here(正忙)

  • 这表明用户代理正忙,无法接听呼叫。

487 Request Terminated(请求终止)

  • 此响应可由已收到待处理 INVITE 请求的 CANCEL 请求的 UA 发送。

  • 发送 200 OK 来确认 CANCEL,发送 487 来取消 INVITE 事务

session_initiation_protocol_response_codes.html