您好,欢迎访问三七文档
SIP协议共定义6类状态码,其中状态码的第1位数字用于指示响应类型,后两位数字表示具体响应。本协议规定状态码为“100—199”之间的响应用“1XX”进行标识,“200—299”之间的响应用“2XX”进行标识,依此类推。1)1XX:临时响应,表示请求消息正在被处理。2)2XX:成功响应,表示请求已被成功接收,完全理解并被接受。3)3XX:重定向响应,表示需采取进一步以完成该请求。4)4XX:客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求。5)5XX:服务器错误,表示服务器无法完成合法请求。6)6XX:全局故障,表示任何服务器无法完成该请求。响应代码SIP的响应代码在HTTP/1.1的基础上有所扩展。本规范只涉及到SIP响应代码,并补充了6xx响应代码。1临时响应1xx临时性响应即报告性的响应,用来指明所联系的服务器还没有确定性的响应。如果服务器需要200ms以上的时间才能发出最终响应,则它就需要首先发送一个1xx响应。1xx响应不能进行可靠传输。它也不能让客户端发送一个ACK请求。临时响应(1xx)可以包括一些消息体,其中包含会话描述SDP。1.1100(尝试)尝试响应(100)表明下一跳服务器已经收到该请求,但是对这次呼叫的并未进行具体的处理。和其他临时响应一样,该响应使UAC停止重发INVITE请求。与其他的临时性响应不同,该相应不能使用有状态服务器前转。1.2180(振铃)UA收到INVITE请求之后用该响应通知用户,该响应也可以在发起一个本地回铃。1.3181(呼叫正在转发)服务器可以使用该状态码表示该呼叫正被前转到另外一组终点。1.4182(排队)如果被叫方正忙,服务器可以将本次呼叫放于队列中等待而非拒绝它。当被叫空闲时,将返回适当的最终响应。该响应中可包含一个关于呼叫状态的原因短语。服务器可以向主叫发出多个182响应来更新呼叫等待的状态。1.5183(会话进行)该响应用来传递关于呼叫进程的信息。其中包括原因短语、头字段、消息体来描述呼叫进程更详细的信息。22xx(请求成功)该响应表明请求成功。2.1200(成功)该响应表示请求成功。与响应一起返回的信息取决于请求中使用的方法。33xx(重定向)该响应指定用户新位置信息,或者指定可以满足本次呼叫所需要的的其他服务。3.1300(多选择)请求中的地址可以解析为几个选项,每个选项都有自己特定的位置。用户或者UA可以确定一个首选的通信端点并且将该请求重定向到该位置。请求中的消息体可能包含一个资源特征和位置的列表,用户或者UA可以从中选择一个Accept头字段中所允许的最合适的资源特征和位置。该消息体不定义MIME类型。这些选项可作为Contact字段列出。SIP响应可包含几个Contact字段或者在一个Contact字段中有多个地址。UA可以使用Contact字段中的值自动重定向,也可以要求用户对选项进行确认。自动选择的标准定义不再本规范范围之内。如果被叫可以通过多个不同位置到达,且服务器不能代理该请求,则可以使用该状态码。3.2301(永久移除)用当户已经不在Request-URI头字段的地址中,请求发起用户就应该重发请求至Contact头字段中的新地址。请求方应该更新本地姓名地址簿和用户位置并将将来的请求重定向到新地址。3.3302(暂时移除)请求发起用户应向Contact头字段中的新地址重发请求。新请求中的Request-URI是响应中Contact头字段里的值。Contact头字段中URI的有效期可以由Expires头字段或者Contact头字段中的expires参数来定义。代理服务器和UA可以在有效期内使用URI。如果没有明确的定义有效期,则该地址仅可有效递归一次,而以后的事务就不可以再使用该URI。如果用户向Contact头字段中的URI发送请求失败,则应向重定向请求中的URI尝试发送请求。有效期过后之后该URI就不再使用,这时可以使会使用另一个新的暂时性的URI。3.4305(用户代理)用户必须通过Contact头字段中指定的代理服务器接入到请求的资源。Contact头字段指定代理服务器的URI。接收者将通过代理服务器中继该请求。该响应只可由UAS发出。3.5380(可选择服务)呼叫不成功但是有另外可供选择的服务。该响应中的消息体中描述了这种另外可以选择的服务。本规范不涉及消息体的格式定义。44xx(请求失败)该响应由服务器发出表明请求失败。客户机不应(例如增加合适的授权)将原请求不加修改并重新发送。但将原请求发向不同的服务器也可能成功。4.1400(错误请求)该响应表示请求由于语法错误该而不能被理解。响应的原因短语中应详细指出语法错误.4.2401(未鉴权)该响应表示请求消息需要用户鉴权。该响应由UAS和注册服务器发起。407(代理服务器要求鉴权)由代理服务器发起。4.3402(PaymentRequired)保留将来使用。4.4403(禁止)该响应表示服务器能理解但是拒绝执行请求消息。即使该请求已经鉴权也不能进行中继。4.5404(未找到)该响应表示服务器可以确定用户不在Request-URI头字段指定的域中。如果Request-URI头字段所指定的域与请求的接收方所能处理的域不一致时,也应该发送该响应。4.6405(方法不允许)该响应表示在Request-URI头字段指定的地址上,请求中的方法能够被理解但并不允许使用。该响应中必须包括一个Allow头字段来列举指定地址上所允许的方法。4.7406(不接受)该响应表示,根据请求的Accept头字段,该请求所指定的资源生成响应的消息体中包含的某些内容特性是不被接受的。。4.8407(代理服务器要求鉴权)该响应类似于401(未鉴权),不同的它指定客户机必须首先向代理服务器鉴权自己。该状态码可用于接入到通信信道中。4.9408(请求超时)该响应表示服务器不能在适当的时长内产生响应。例如当它不能及时确定用户的位置时。客户端收到该响应后,可以不加修改便重发原请求。4.10410(Gone)该响应表示服务器中被请求的资源不可用且服务器不知道转发地址,并且这种情况是永久性的。如果服务器不知道这种情况是否为永久性的,此时则应该使用404(未找到)状态码。4.11413(请求过大)该响应表示,如果请求的消息体超出服务器能够处理范围,服务器将拒绝处理该请求。服务器可以关闭此连接以防客户端不断发送同一个请求。如果这种情况是暂时的,服务器应在响应中加入一个Retry-After头字段用来指定多久以后客户机可以重发该请求。4.12414Request-URI(过长)该响应表示,如果Request-URI超出服务器能够处理的范围,服务器将拒绝处理该请求。4.13415(不支持媒体类型)该响应表示服务器不支持某请求方法的消息体格式而拒绝处理该请求。根据具体内容的不同,服务器必须用响应Accept、Accept-Encoding或Accept-Language头字段返回服务器可以接收的格式列表。关于UAC如何处理该响应参见本规范8.1.3.5。4.14416(不支持的URI方案)该响应表示,由于服务器不理解URI的方案而不能处理该请求。关于客户端如何处理该响应参见本规范8.1.3.5。4.15420(错误扩展)该响应表示,服务器不理解Proxy-Require或Require头字段中协议的扩展规定。服务器必须在响应中的Unsupported字段中包含一个它不支持的扩展的列表。关于UAC如何处理该请求参见本规范8.1.3.5。4.16421(扩展要求)该响应表示,UAS需要某个特定的扩展才能处理该请求,但是这种扩展没有列在请求中的Supported头字段中。该响应必须包含一个Require头字段列举所需要的扩展。除非UAS不能向客户提供任何其他所需的业务否则不应该使用该响应。如果Supported字段中没有所需的扩展,服务器只能用客户端所支持的扩展规定对该请求进行SIP的基本处理。4.17423(间隔太短)该响应表示,由于请求更新资源的间隔时间太短,服务器拒绝该请求。注册请求的Contact字段中定义的有效期太短,注册服务器可以使用该响应拒绝请求。关于响应的使用以及相关的Min-Expires字段定义参见本规范10.2.8,10.3,和20.23。4.18480(暂时不可用)该响应表示,与被叫方成功的联系上,但是被叫目前不可用者。在响应的Retry-After字段中可以指定一个合适的呼叫时间,在原因短语应该给出一个详细的原因指明为什么被叫方不可用。这个值可以由UA来设置。如果重定向服务器或者代理服务器知道Request-URI中指定的用户但是目前并没有其有效位置,就可以返回该状态码。4.19481(呼叫/事务不存在)该响应表示UAS收到的请求与现有的对话或者事务没有相对应的。4.20482(环路检测)该响应表示服务器检测到有环路。4.21483(跳数太多)该响应表示,服务器收到的请求中的Max-Forwards值为零。4.22484(地址不完整)该响应表示,服务器收到的Request-URI不完整并应在原因短语中提供附加信息。该状态码允许异步拨号(overlappeddialing)。当用户使用异步拨号的方式时并,客户端并不知道拨号字串的的长度。因此它发送的字符串比实际的长,并提示用户输入更多的数字。直到不再收到484状态码为止。4.23485(不明确)该响应表示请求中的Request-URI不明确。该响应中的Contact字段中可以包含另外一个明确的地址,由于显示替代的Request-URI可能会破坏用户或者组织的保密性。这种情况下,服务器必须可以做出404(未找到)响应,或者服务器能够禁止列举可能的URI选项。例子如下:sip:lee@example.com:SIP/2.0485AmbiguousContact:CarolLeesip:carol.lee@example.comContact:PingLeesip:p.lee@example.comContact:LeeM.Footesips:lee.foote@example.com有些电子信箱以及语音信箱系统可以提供这种功能。该状态码与3xx状态码语义不同:对于300响应,假设可以通过所提供的选项到达同一个人或者服务。自动化的选择或者连续的查找只对3xx有意义,而使用485(Ambiguous)响应时则需要用户干涉。4.24486(正忙)该响应表示,已经成功的和被叫终端连接,但是被叫目前不能在该终端系统执行呼叫,响应中的Retry-After字段可以指定一个合适的呼叫时间。该用户在其他地方可用。如果客户机知道没有别的终端系统可以接受本次呼叫那么应该使用600(忙)状态码。4.25487(请求终止)该响应表示,请求被BYE或者CANCEL请求终止。CANCEL请求不可以返回该响应。17.4.26488(此处不接受)该响应与606响应的含义相同,但是仅指Request-URI中指定的资源,如果在别处,该请求可能成功。该响应中可能存在包含媒体能力描述的消息体,该消息体格式根据INVITE请求中的Accept字段(如果不存在就是application/sdp)规定。21.4.27491请求挂起响应该响应表示,UAS收到请求但是在同一个对话中该UAS还有一个等待处理的请求。具体参见本规范14.2。4.27493(无法解密)该响应表示,UAS收到的请求包含一个加密的MIME消息体而接收方没有合适的解码密钥。该响应可以只包含一个消息体,该消息体包含一个公共密钥用来加密发送给UA的MIME消息体。关于该响应码参见本规范23.2。55xx(服务器错误)该响应表示服务器内部出错导致失败。5.1500(服务器内部错误)该响应表示,服务器遇到意外的情况使它不能执行该请求。客户端可以显示这种特定的出错情况,并且可以几秒钟重发该请求。如果情况是暂时的,服务器可以在Retry-After字段中指定多久之后客户机可以重发该请求。5.2501(不可实现)该响应表示服
本文标题:SIP协议状态码
链接地址:https://www.777doc.com/doc-2858643 .html