SIP响应是由一个用户代理服务器(UAS)或SIP服务器生成回复由客户端生成的请求的消息。它可能是一个正式的确认,以防止请求由UAC重发。
响应可能包含需要一个UAC信息一些额外的头字段
SIP有六个响应
1xx - 5xx已经借由HTTP,而6xx系列在SIP介绍。
1XX被认为是一个临时响应,其余的最终响应。
类别 | 描述 | 动作 |
---|---|---|
1xx | 信息 | 这表明调用之前完成也被称为临时响应的状态。 |
2xx | 成功 | 请求已成功。如果这是一个邀请,确认应发送;否则,停止请求的重发。 |
3xx | 重定向 | 服务器返回的可能位置。客户端应该重试另一个服务器的请求。 |
4xx | 客户端错误 | 请求已经由客户端失败,原因是一个错误。客户端可以重试请求,如果它是根据响应拟订。 |
5xx | 服务器故障 | 请求已经由该服务器失败,原因是一个错误。请求可以在另一台服务器退出。 |
6xx | 全局失败 | 请求已失败。该请求不应该在这个或其他服务器再次尝试。 |
信息响应用于指示呼叫进程。通常情况下,响应是端对端(除100尝试)。信息的响应的主要目的是阻止INVITE请求的重发。
信息响应包括以下对策:
这种特殊的情况下的响应仅仅是一个逐跳请求。
它永远不会转发,不得包含邮件正文。
它被用于避免INVITE请求的重传。
此响应被用来指示一个INVITE已经接收由用户代理和警报正在发生。
此响应用于指示该呼叫已被转发到另一端点。
它发送的信息有可能会使用到呼叫者。
它给该呼叫者的状态,作为一个转发操作可以导致在呼叫同时较长时间来回答。
此响应被用来指示该INVITE已经接收并且将在一个队列进行处理。
它表明,有关会话的进度的信息可以存在于消息主体或媒体流。
不像100尝试响应,183端到端的响应,并建立一个对话。
一个典型的使用这种反应是为了让UAC通过网关进入PSTN听到手机铃声,忙音,或在通话录音通知。
此类反应是指用于指示一个请求已被接受。它包括以下对策:
202接受表示该UAS已经接收并理解的请求,但该请求可能没有被授权或由服务器处理。
它是常用响应订阅,请参阅方法。
通常,这些类响应由重定向服务器响应INVITE发送。它们也被称为类重定向响应。它包括以下对策:
它包含多个联系人报头字段以指示该位置的服务已经在Request-URI返回SIP URI多个可能的位置。
这种重定向响应包含与被叫方的新的永久URI一个Contact头字段。
地址可以保存并在今后的INVITE请求中使用。
这个重定向响应包含一URI,它是当前有效的,但不是永久的。
即,位置是有效的指定的时间的持续时间。
这个响应包含指向具有关于呼叫方的权威信息代理服务器的URI。
这种反应可以由UAS发出的来电筛选代理发送。
这个响应返回的URI,指示服务的被叫方希望的类型。
例如,一个通话可以被重新定向到一个语音信箱服务器。
客户端错误的回应表明,由于一些错误是从侧面UAC确认的要求不能得到满足。响应代码由UAS通常发送。在接收到出错消息时,客户端应该通过修改其基于所述响应重新发送请求。下面讨论的是一些重要的客户端错误响应。
这表明该请求不被服务器理解。
请求可能是缺少必要的头字段,例如收件人,发件人,呼叫ID,或Cseq。
它表明该请求要求用户进行认证。
401未授权通常由一个注册服务器的注册请求发送。
响应包含从主叫用户代理正确的凭据请求WWW身份验证头字段。
随后REGISTER将触发从用户代理与正确的凭据。
403禁止当服务器已经理解请求,发现是正确配制的要求,但将不提供服务的请求被发送。
这种反应,不使用时需要授权。
404未找到表明在请求URI标识的SIP URI用户不能位于由服务器或用户当前未签署的用户代理。
这表明服务器或用户代理已收到并理解的请求,但就是不愿意履行请求。
例如:注册请求可能会被发送到用户代理。
一个允许域是必需通知UAC什么方法是可以接受的。
该响应指示该请求不能由于在请求消息中的规定处理。
在请求中的Accept头域没有包含在UAS支持的任何选项。
由代理发送该请求表明了UAC必须首先与代理验证自身的请求可以被处理之前。
响应应包含有关在代理进行身份验证头字段的代理所需凭据类型的信息。
该请求可以被重新提交与代理-Authorization头域正确的凭据。
当一个Expires头域存在的INVITE请求和指定的时间段已经过去了这个响应发送。
它可以由一分叉代理或用户代理发送。
该请求可以在任何时候由UAC重审。
响应被用来拒绝含有Session-Expires头字段的请求。
允许的最小间隔被表示在所要求的Min-SE头字段。
所述主叫方可以重新尝试没有会话Expires头字段或具有一个值小于或等于规定的最小请求。
响应由被拒绝登记请求,因为请求到期时间在一个或多个联系人实在太简单了注册商返回。
响应必须包含敏Expires头域列表的最小有效期,该注册商会接受。
该响应指示请求已到达正确的目的地,但被叫方不可用的某些原因。
响应应包含一个Retry-After头指示何时请求可以是能够得到满足。
此响应指示一个响应引用现有呼叫或事务已接收到的服务器不具有记录或状态信息。
此响应指示请求已被转发的次数上限由请求的Max-Forwards头的设置。
请求Max-Forward:0头:这是由收到最大转发的指示。
这种反应可以通过已收到挂起的INVITE请求的CANCEL请求UA发送。
200 OK发送到确认CANCEL和487被发送到取消INVITE事务。
此类响应用于表示该请求不能因为与服务器中的错误处理。服务器无法完成显然有效的请求。所述响应可包含一个Retry-After头字段。该请求可以在其它位置受审,因为没有在请求中指示的误差。一些重要的服务器故障响应的讨论如下。
500表示服务器经历了某种错误的是防止它处理请求。
它是一种服务器故障,指示客户端在该服务器几秒钟之后,再次重试请求。
它表明服务器无法执行,因为它不支持处理请求。
该响应可以被用来拒绝含有未知方法的请求。
这种反应是由被作为网关到另一个网络的代理发送。
这表明,在其他的一些网络问题使被处理的请求。
此响应指示所请求的服务是当时暂时不可用。
该请求可以重试在几秒钟后,或在Retry-After头字段期满之后。
这个响应时,如果本请求失败由于超时发生在到该网关连接的其他网络。
它是一个服务器错误类响应,因为呼叫由于在访问SIP网络以外的资源未能在服务器的故障。
服务器拒绝请求时,它带有一个不同的SIP的版本号。拒绝表示此消息。
目前SIP2.0版实现的唯一版本。
此响应被用于由UAS以指示该请求太大由它来处理。
此响应被用来拒绝一个SDP供给中需要的前提条件不能得到满足。
此响应类表示服务器知道该请求将失败的地方是尝试。其结果是,该请求不应该被发送到其他地点。
只有在其每一个可能的情况下由Request-URI的用户明确知识应该服务器发送一个全局的错误类响应。否则,客户端错误类响应应该发送。
Retry-After头字段可以被用来指示何时请求可能是成功的。一些重要的响应的讨论如下:
响应指示呼叫的指定的请求URI可以在其他位置来回答。
这个响应可能表明被叫方占线,或者干脆不希望接受呼叫。
这种反应是类似的404未找到响应,但表示在Request-URI中的用户不能在任何地方找到。
这个反应应该仅由具有访问所有有关用户的信息的服务器发送。
此响应指示所希望的会话的某些方面是不能接受的UAS,其结果,会话不能建立。
响应可能包含描述什么是不能接受的数字代码警告头字段。
请求可以重新尝试不同的媒体会话信息。