SIP响应是由用户代理服务器(UAS)生成或由客户端生成来回应服务器请求的消息。它是一个正式的回复确认,以防止UAC重发请求。
响应可能需要包含一些额外的头字段
SIP有六类响应
1xx - 5xx是借由HTTP协议,而6xx是在SIP中介绍。
1XX被认为是一个临时响应,其余的最终响应。
类 别 | 描述 | 动作 |
---|---|---|
1xx | 信息 | 用来只是呼叫完成前的状态,也被称为临时响应。 |
2xx | 成功 | 请求处理成功。如果是INVITE消息的,应回应ACK消息;否则表示停止重发请求。 |
3xx | 重定向 | 服务器返回可用的位置。客户端应该重试请求到另一个服务器上。 |
4xx | 客户端错误 | 请求失败,由于客户端的错误。客户端可以根据响应修改请求并重试。 |
5xx | 服务器故障 | 请求失败,由于服务器的错误。请求可以向另一台服务器重试。 |
6xx | 全局失败 | 请求失败。是全局性错误,该请求不应该向其他服务器再次尝试。 |
信息(1xx)
信息(1xx)响应用于指示呼叫过程。通常情况下,响应是端对端(除100尝试)。信息(1xx)的响应的主要目的是阻止INVITE请求的重发。
信息响应包括以下响应:
100 Trying (尝试)
这种特殊的情况下的响应仅仅是一个逐跳请求。
它永远不会转发,不得包含消息体。
它被用于避免INVITE请求的重传。
180 Ringing (响铃)
- 此响应被用来指示用户代理已经接收到INVITE消息,并且正在电话振铃。
181 Call is Being Forwarded (呼叫被转发)
此响应用于指示该呼叫已被转发到另一端。
当主叫需要此响应消息时才被发送。
此响应告诉主叫,由于转发操作会导致应答时间变长。
182 Call Queued (呼叫队列)
- 此响应被用来指示该INVITE消息已经接收到,并且将在队列进行处理。
183 Session Progress (会话进度)
它指示本次会话的进度信息可以存在于消息主体或媒体流中。
不像100 Trying的尝试响应,183是端对端的响应,并且会实际性的建立起一个对话。
一个典型的应用环境是让UAC通过落地网关进入PSTN网络,并让主叫听到手机铃声,或忙音,或通