什么是 SIP 响应码?

SIP 响应码是会话初始协议(Session Initiation Protocol)用于通信的代码。以下是所有已知的 SIP 响应码列表。

1xx = 信息类响应

  • 100 尝试 - 正在执行扩展搜索,分叉代理必须发送100尝试响应。
  • 180 振铃 - 目标用户代理已收到INVITE消息并正在提醒用户有来电。
  • 181 呼叫被转发 - 可选,由服务器发送以指示呼叫正在被转发。
  • 182 排队 - 目标暂时不可用,服务器已将呼叫排队直到目标可用。
  • 183 会话进行中 - 此响应可用于发送正在建立的呼叫的额外信息。
  • 199 早期会话终止 - 由用户代理服务器发送以指示早期会话已终止。

2xx = 成功响应

  • 200 成功 - 表示请求成功。
  • 202 已接受 - 表示请求已被接受处理,主要用于转介。
  • 204 无通知 - 表示请求成功但不会收到响应。

3xx = 重定向响应

  • 300 多重选择 - 地址解析为用户或客户端可选择的多个选项。
  • 301 永久移动 - 原始请求URI不再有效,新地址在Contact标头中给出。
  • 302 临时移动 - 客户端应尝试Contact字段中的地址。
  • 305 使用代理 - Contact字段详细说明了必须用于访问请求目标的代理。
  • 380 替代服务 - 呼叫失败,但在消息正文中详细说明了替代方案。

4xx = 请求失败

  • 400 错误请求 - 由于语法错误,无法理解请求。
  • 401 未授权 - 请求需要用户认证。此响应由UAS和注册服务器发出。
  • 402 需要付款 - (预留供将来使用)。
  • 403 禁止 - 服务器理解请求,但拒绝执行。
  • 404 未找到 - 服务器有明确信息表明用户不存在(未找到用户)。
  • 405 方法不允许 - 理解请求行中指定的方法,但不允许使用。
  • 406 不可接受 - 资源只能生成不可接受内容的响应。
  • 407 需要代理认证 - 请求需要用户认证。
  • 408 请求超时 - 未能及时找到用户。
  • 409 冲突 - 用户已注册(已弃用)。
  • 410 已离开 - 用户曾经存在但现在不再可用。
  • 411 需要长度 - 服务器不接受没有有效内容长度的请求(已弃用)。
  • 412 条件请求失败 - 未满足给定的前提条件。
  • 413 请求实体太大 - 请求主体过大。
  • 414 请求URI过长 - 服务器拒绝服务请求,请求URI超过服务器可解释的长度。
  • 415 不支持的媒体类型 - 请求主体格式不受支持。
  • 416 不支持的URI方案 - 服务器不知道请求URI。
  • 417 未知资源优先级 - 存在资源优先级选项标签,但没有Resource-Priority标头。
  • 420 错误扩展 - 使用了服务器不理解的错误SIP协议扩展。
  • 421 需要扩展 - 服务器需要Supported标头中未列出的特定扩展。
  • 422 会话间隔过小 - 请求包含的Session-Expires标头字段的持续时间低于最小值。
  • 423 间隔过短 - 资源的过期时间太短。
  • 424 位置信息错误 - 请求的位置内容格式错误或不满意。
  • 428 使用身份标头 - 服务器策略要求Identity标头,但未提供。
  • 429 提供引用者身份 - 服务器未收到有效的Referred-By令牌。
  • 430 流失败 - 到用户代理的特定流失败,尽管其他流可能成功。
  • 433 不允许匿名 - 请求因为是匿名的而被拒绝。
  • 436 身份信息错误 - 请求有Identity-Info标头,但其中包含的URI方案无法解引用。
  • 437 不支持的证书 - 服务器无法验证签署请求的域的证书。
  • 438 无效的身份标头 - 服务器获得了用于签署请求的有效证书,但无法验证签名。
  • 439 第一跳缺乏出站支持 - 第一个出站代理不支持"出站"功能。
  • 440 超出最大广度 - 如果SIP代理确定响应上下文的传入最大广度不足以执行所需的并行分叉,且代理不愿意/无法通过串行分叉或发送重定向来补偿,该代理必须返回440响应。收到440响应的客户端可以推断其请求未达到所有可能的目标。
  • 469 错误信息包 - 如果SIP UA收到与其未表示愿意接收的信息包相关的INFO请求,UA必须发送469响应,其中包含带有UA愿意接收INFO请求的信息包的Recv-Info标头字段。
  • 470 需要同意 - 请求的来源没有收件人的许可来发出此类请求。
  • 480 暂时不可用 - 被叫方当前不可用。
  • 481 呼叫/事务不存在 - 服务器收到的请求与任何对话或事务都不匹配。
  • 482 检测到循环 - 服务器检测到循环。
  • 483 跳数过多 - Max-Forwards标头已达到值'0'。
  • 484 地址不完整 - 请求URI不完整。
  • 485 含糊 - 请求URI含糊不清。
  • 486 此处忙 - 被叫方忙。
  • 487 请求终止 - 请求已通过bye或cancel终止。
  • 488 此处不可接受 - 请求URI的会话描述的某些方面不可接受。
  • 489 错误事件 - 服务器不理解Event标头字段中指定的事件包。
  • 491 请求待处理 - 服务器有来自同一对话的某些待处理请求。
  • 493 无法解密 - 不可解密的请求包含一个加密的MIME主体,接收方无法解密。
  • 494 需要安全协议 - 服务器收到的请求需要协商的安全机制。

5xx = 服务器错误

  • 500 服务器内部错误 - 服务器由于某些意外情况无法完成请求。
  • 501 未实现 - 此处未实现SIP请求方法。
  • 502 错误网关 - 服务器在试图完成请求时从下游服务器收到无效响应。
  • 503 服务不可用 - 服务器正在维护或暂时过载,无法处理请求。
  • 504 服务器超时 - 服务器在试图处理请求时尝试访问另一个服务器,但未及时响应。
  • 505 版本不支持 - 服务器不支持请求中的SIP协议版本。
  • 513 消息过大 - 请求消息长度超过服务器可处理的范围。
  • 555 不支持推送通知服务 - 服务器不支持pn-provider SIP URI参数中指定的推送通知服务。
  • 580 前提条件失败 - 服务器无法或不愿满足要约中指定的某些约束。

6xx = 全局失败

  • 600 全部忙 - 所有可能的目标都忙。
  • 603 拒绝 - 目标无法/不愿参与呼叫,没有替代目标。
  • 604 任何地方都不存在 - 服务器有权威信息表明请求的用户在任何地方都不存在。
  • 606 不可接受 - 用户代理已成功联系但会话描述的某些方面不可接受。
  • 607 不想要 - 被叫方不想接听来自主叫方的电话。主叫方未来的尝试很可能会被同样拒绝。

延伸阅读