SIP协议消息代码解释详内容1XX=通知性应答100正在尝试180正在拨打181正被转接182通话进展2XX=成功答应200OK202被接受:用于转介3xx=转接应答300多项选择301被永久迁移302被暂时迁移304notmodified305使用代理服务器380替代服务4xx=呼叫失败400呼叫不当401未经授权:只供注册机构使用,代理服务器应使用代理服务器授权407402要求付费(预定为将来使用)403被禁止的404未发现:未发现用户405不允许的方法406不可接受407需要代理服务器授权408呼叫超时:在预定时间内无法找到用户410已消失:用户曾经存在,但已从此处消失413呼叫实体过大414呼叫URI过长415不支持的媒体类型416不支持的URI方案420不当扩展:使用了不当SIP协议扩展,服务器无法理解扩展421需要扩展423时间间隔过短480暂时不可使用481通话/事务不存在482检测到循环485模糊不清486此处太忙487呼叫被禁止488此处不可接受489badevent491呼叫待批493无法解读:无法解读S/MIME文本5xx=服务器失败500服务器内部错误501无法实施:SIP呼叫方法在此处无法实施502不当网关503服务器不使用504服务器超时505不支持该版本:服务器不支持SIP协议的这个版本513消息过长6xx=全局失败600各处均忙603拒绝604无处存在606不可使用代码详解:SIP协议应答码应答代码应答码是包含了,并且扩展了HTTP/1.1应答码。并不是所有的HTTP/1.1应答码都适当应用,只有在折里指出的是适当的。其他HTTP/1.1应答码不应当使用。并且,SIP也定义了新的应答码系列,6xx。1临时应答1xx临时应答,也就是消息性质的应答,标志了对方服务器正在处理请求,并且还没有决定最后的应答。如果服务器处理请求需要花200ms以上才能产生终结应答的时候,它应当发送一个1xx应答。注意1xx应答并不是可靠传输的。他们不会导致客户端传送一个ACK应答。临时性质的(1xx)应答可以包含消息体,包含会话描述。1.1100Trying这个应答表示下一个节点的服务器已经接收到了这个请求并且还没有执行这个请求的特定动作(比如,正在打开数据库的时候)。这个应答,就像其他临时应答一样,种植了UAC重新传送INVITE请求。100(Trying)应答和其他临时应答不同的是,在这里,它永远不会被有状态proxy转发到上行流中。1.2180RingingUA收到INVITE请求并且试图提示给用户。这个应答应当出世化一个本地回铃。1.3818CallisBeingForwarded(呼叫被转发)服务器可以用这个应答代码来表示呼叫正在转发到另一个目的地集合。1.4182Queued当呼叫的对方暂时不能接收呼叫的时候,并且服务器决定将呼叫排队等候,而不是拒绝呼叫的时候,那么就应当发出这个应答。当被叫方一旦恢复接收呼叫,他会返回合适的终结应答。对于这个呼叫状态,可以有一个表示原因的短语,比如:”5callsqueued;expectedwaitingtimeis15minutes”。服务器可以给出好几个182(Queued)应答告诉呼叫方排队的情况(比如排队靠前了等等)。1.5183会话进度183(SessionProgress)应答用于提示建立对话的进度信息。Reason-Phrase(表达原因的句子)、头域或者消息体可以用于提示呼叫进度的更消息的信息。2成功信息2xx这个应答表示请求是成功的。2.1200OK请求已经处理成功。这个信息取决于不同方法的请求的应答。3转发请求3XX3xx系列的应答是用于提示用户的新位置信息的,或者为了满足呼叫而转发的额外服务地点。3.1300MultipleChoices请求的地址有多个选择,每个选择都有自己的地址,用户或者(UA)可以选择合适的通讯终端,并且转发这个请求到这个地址。应答可以包含一个具有每一个地点的在Accept请求头域中允许的资源特性,这样用户或者UA可以选择一个最合适的地址来转发请求。没有未这个应答的消息体定义MIME类型。这些地址选择也应当在Contact头域中列出(20.10节)。不同于HTTP,SIP应答可以包含多个Contact头域或者一个Contact头域中具有一个地址列表。UA可以使用Contact头域来自动转发或者要求用户确认转发。不过,本规范没有定义自动转发的标准。如果被叫方可以在多个地址被找到,并且服务器不能或者不愿意转发请求的时候,可以使用这个应答来给呼叫方。3.2301MovedPermently当不能在Request-URI指定的地址找到用户的时候,请求的客户端应当使用Contact头域(20.10)所指出的新的地址重新尝试。请求者应当用这个新的值来更新本地的目录,地址本,和用户地址cache,并且在后续请求中,发送到这个/这些列出的地址。3.3302MovedTemporarily请求方应当把请求重新发到这个Contact头域所指出的新地址(20.10)。新请求的Request-URI应当用这个应答的Contact头域所指出的值。在应答中的Expires(20.19节)或者Contact头域的expires参数定义了这个ContactURI的生存周期。UA或者proxy在这个生存周期内cache这个URI。如果没有严格的有效时见,那么这个地址仅仅本次有效,并且不能在以后的事务中保存。如果cache的Contact头域的值失败了,那么被转发请求的Request-URI应当再次尝试一次。临时URI可以比超时时间更快的失效,并且可以有一个新的临时URI。3.4305UseProxy请求的资源必须通过Contact头域中指出的proxy来访问。Contact头域指定了一个proxy的URI。接收到这个应答的对象应当通过这个proxy重新发送这个单个请求。305(UseProxy)必须是UAS产生的。3.5380AlternativeService呼叫不成工,但是可以尝试另外的服务。另外的服务在应答的消息体中定义。消息体的格式在这里没有定义,可能在以后的规范中定义。4请求失败4xx4xx应答定义了特定服务器响应的请求失败的情况。客户端不应当在不更改请求的情况下重新尝试同一个请求。(例如,增加合适的认证信息)。不过,同一个请求交给不同服务器也许就会成功。4.1400BadRequest请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如”MissingCall-IDheaderfield”。4.2401Unauthorized请求需要用户认证。这个应答是由UAS和注册服务器产生的,当407(ProxyAuthenticationRequired)是proxy服务器产生的。4.3402PaymentRequired保留/以后使用4.4403Forbidden服务端支持这个请求,但是拒绝执行请求。增加验证信息是没有必要的,并且请求应当不被重试。4.5404NotFound服务器返回最终信息:用户在Request-URI指定的域上不存在。当Request-URI的domain和接收这个请求的domain不匹配的情况下,也会产生这个应答。4.6405MethodNotAllowed服务器支持Request-Line中的方法,但是对于这个Request-URI中的地址来说,是不允许应用这个方法的。应答必须包括一个Allow头域,这个头域包含了指定地址允许的方法列表。4.7NotAcceptable请求中的资源只会导致产生一个在请求中的Accept头域外的,内容无法接收的错误。4.8407ProxyAuthenticationRequired这个返回码和401(Unauthorized)很类四,但是标志了客户端应当首先在proxy上通过认证。SIP对认证的访问请参见26节和22.3节。这个返回码用于应用程序访问通讯网关(比如,电话网关),而很少用于被叫方要求认证。4.9408RequestTimeout在一段时间内,服务器不能产生一个终结应答,例如,如果它无法及时决定用户的位置。客户端可以在稍后不更改请求的内容然后重新尝试请求。4.10410Gone请求的资源在本服务器上已经不存在了,并且不知道应当把请求转发到哪里。这个问题将会使永久性的。如果服务器不知道,或者不容易检测,这个资源消失是临时性质的还是永久性质的,那么应当返回一个404(NotFound)。4.11413请求实体过大。服务器拒绝处理请求,因为这个请求的实体超过了服务器希望或者能够处理的大小。这个服务器应当关闭连接避免客户端重发这个请求。如果这个情况是暂时的,那么服务端应当包含一个Retry-After头域来表明这是一个暂时的故障,并且客户端可以过一段时间再次尝试。4.12414Request-URITooLong服务器拒绝这个请求,因为Request-URI超过了服务器能够处理的长度。4.13415UnsupportedMediaType服务器由于请求的消息体的格式本服务器不支持,所以拒绝处理这个请求。这个服务器必须根据内容的故障类型,返回一个Accept,Accpet-Encoding,或者Accept-Language头域列表。UAC根据8.1.3.5节定义的方法处理这个应答。4.14416UnsupportedURIScheme服务器由于不支持Request-URI中的URI方案而终止处理这个请求。客户端处理这个应答参照8.1.3.5。4.15BadExtension服务器不知道在请求中的Proxy-Require(20.29)或者Require(20.32)头域所指出的协议扩展。服务器必须在Unsupported头域中列出不支持的扩展。UAC处理这个应答请参见8.1.3.54.16421ExtensionRequiredUAS需要特定的扩展来处理这个请求,但是这个扩展并没有在请求的Supported头域中列出。具有这个应答码的应答必须包含一个Require头域列出所需要的扩展。UAS不应当使用这个应答除非它真的不能给客户端提供有效的服务。相反,如果在Support头域中没有列出需要的扩展,服务器应当根据基准的SIP兼容的方法和客户端支持的扩展来进行处理。4.17423IntervalTooBrief服务器因为在请求中设置的资源刷新时间(或者有效时间)过短而拒绝请求。这个应答可以用于注册服务器来拒绝那些Contact头域有效期过短的注册请求。这个应答的用法和相关的Min-Expires头域在10.2.8,10.3,20.23节中介绍和说明。4.18480TemporarilyUnavailable请求成功到达被叫方的终端系统,但是被叫方当前不可用(例如,没有登陆,或者登陆了但是状态是不能通讯,或者有”请勿打扰”的标记)。应答应当在Retry-After中标志一个合适的重发时间。这个用户也有可能在其他地方是有效的(在本服务器中不知道)。Reason-Phrase(原因短句)应当提示更详细的原因,为什么被叫方暂时不可用。这个值应当是可以被UA设置的。状态码486(BusyHere)可以用来更精确的表示本请求失败的特定原因。这个状态码也可以是转发服务或者proxy服务器返回的,因为他们发现Request-URI指定的用户存在,但是没有一个给这个用户的合适的当前转发的地址。4.19481Call/TransactionDoesNotExist这个状态表示了UAS接收到请求,但是没有和现存的对话或者事务匹配。4.20482LoopDetected服务器检测到了一个循环(16.3/4)4.21483TooManyHops服务器接收到了一个请求包含的Max-Forwards(20.22)头域是04.22484AddressInComplete服务器接收到了一个请求,它的Request-URI是不完整的。在原因短语中应当有附加的信息说明。这个状态码可以和拨号交叠。在和