"
4xx應(yīng)答碼定義了特定服務(wù)器響應(yīng)的請求失敗的情況??蛻舳瞬粦?yīng)當(dāng)在不更改請求的情況下重新嘗試同一個(gè)請求。(例如,增加合適的認(rèn)證信息)。不過,同一個(gè)請求交給不同服務(wù)器也許就會成功。
4.1 400 Bad Request
請求中的語法錯(cuò)誤。Reason-Phrase應(yīng)當(dāng)標(biāo)志這個(gè)詳細(xì)的語法錯(cuò)誤,比如”Missing Call-ID header field”。
4.2 401 Unauthorized
請求需要用戶認(rèn)證。這個(gè)應(yīng)答是由UAS和注冊服務(wù)器產(chǎn)生的,當(dāng)407(Proxy Authentication Required)是proxy服務(wù)器產(chǎn)生的。
4.3 402 Payment Required
保留/以后使用
4.4 403 Forbidden
服務(wù)端支持這個(gè)請求,但是拒絕執(zhí)行請求。增加驗(yàn)證信息是沒有必要的,并且請求應(yīng)當(dāng)不被重試。
4.5 404 Not Found
服務(wù)器返回最終信息:用戶在Request-URI指定的域上不存在。當(dāng)Request-URI的domain和接收這個(gè)請求的domain不匹配的情況下, 也會產(chǎn)生這個(gè)應(yīng)答。
4.6 405 Method Not Allowed
服務(wù)器支持Request-Line中的方法,但是對于這個(gè)Request-URI中的地址來說,是不允許應(yīng)用這個(gè)方法的。
應(yīng)答必須包括一個(gè)Allow頭域,這個(gè)頭域包含了指定地址允許的方法列表。
4.7 Not Acceptable
請求中的資源只會導(dǎo)致產(chǎn)生一個(gè)在請求中的Accept頭域外的,內(nèi)容無法接收的錯(cuò)誤。
4.8 407 Proxy Authentication Required
這個(gè)返回碼和401(Unauthorized)很類四,但是標(biāo)志了客戶端應(yīng)當(dāng)首先在proxy上通過認(rèn)證。SIP對認(rèn)證的訪問請參見26節(jié)和22.3節(jié)。
這個(gè)返回碼用于應(yīng)用程序訪問通訊網(wǎng)關(guān)(比如,電話網(wǎng)關(guān)),而很少用于被叫方要求認(rèn)證。
4.9 408 Request Timeout
在一段時(shí)間內(nèi),服務(wù)器不能產(chǎn)生一個(gè)終結(jié)應(yīng)答,例如,如果它無法及時(shí)決定用戶的位置??蛻舳丝梢栽谏院蟛桓恼埱蟮膬?nèi)容然后重新嘗試請求。
4.10 410 Gone
請求的資源在本服務(wù)器上已經(jīng)不存在了,并且不知道應(yīng)當(dāng)把請求轉(zhuǎn)發(fā)到哪里。這個(gè)問題將會使永久性的。如果服務(wù)器不知道,或者不容易檢測,這個(gè)資源消失是臨時(shí)性質(zhì)的還是永久性質(zhì)的,那么應(yīng)當(dāng)返回一個(gè)404(Not Found)。
4.11 413請求實(shí)體過大。
服務(wù)器拒絕處理請求,因?yàn)檫@個(gè)請求的實(shí)體超過了服務(wù)器希望或者能夠處理的大小。這個(gè)服務(wù)器應(yīng)當(dāng)關(guān)閉連接避免客戶端重發(fā)這個(gè)請求。
如果這個(gè)情況是暫時(shí)的,那么服務(wù)端應(yīng)當(dāng)包含一個(gè)Retry-After頭域來表明這是一個(gè)暫時(shí)的故障,并且客戶端可以過一段時(shí)間再次嘗試。
4.12 414 Request-URI Too Long
服務(wù)器拒絕這個(gè)請求,因?yàn)镽equest-URI超過了服務(wù)器能夠處理的長度。
4.13 415 Unsupported Media Type
服務(wù)器由于請求的消息體的格式本服務(wù)器不支持,所以拒絕處理這個(gè)請求。這個(gè)服務(wù)器必須根據(jù)內(nèi)容的故障類型,返回一個(gè)Accept,Accpet-Encoding,或者Accept-Language頭域列表。UAC根據(jù)8.1.3.5節(jié)定義的方法處理這個(gè)應(yīng)答。
4.14 416 Unsupported URI Scheme
服務(wù)器由于不支持Request-URI中的URI方案而終止處理這個(gè)請求。客戶端處理這個(gè)應(yīng)答參照8.1.3.5。
4.15 Bad Extension
服務(wù)器不知道在請求中的Proxy-Require(20.29)或者Require(20.32)頭域所指出的協(xié)議擴(kuò)展。服務(wù)器必須在Unsupported頭域中列出不支持的擴(kuò)展。
4.16 421Extension Required
UAS需要特定的擴(kuò)展來處理這個(gè)請求,但是這個(gè)擴(kuò)展并沒有在請求的Supported頭域中列出。具有這個(gè)應(yīng)答碼的應(yīng)答必須包含一個(gè)Require頭域列出所需要的擴(kuò)展。
UAS不應(yīng)當(dāng)使用這個(gè)應(yīng)答除非它真的不能給客戶端提供有效的服務(wù)。相反,如果在Support頭域中沒有列出需要的擴(kuò)展,服務(wù)器應(yīng)當(dāng)根據(jù)基準(zhǔn)的SIP兼容的方法和客戶端支持的擴(kuò)展來進(jìn)行處理。
4.17 423 Interval Too Brief
服務(wù)器因?yàn)樵谡埱笾性O(shè)置的資源刷新時(shí)間(或者有效時(shí)間)過短而拒絕請求。這個(gè)應(yīng)答可以用于注冊服務(wù)器來拒絕那些Contact頭域有效期過短的注冊請求。
4.18 480 Temporarily Unavailable
請求成功到達(dá)被叫方的終端系統(tǒng),但是被叫方當(dāng)前不可用(例如,沒有登陸,或者登陸了但是狀態(tài)是不能通訊,或者有”請勿打擾”的標(biāo)記)。應(yīng)答應(yīng)當(dāng)在 Retry-After中標(biāo)志一個(gè)合適的重發(fā)時(shí)間。這個(gè)用戶也有可能在其他地方是有效的(在本服務(wù)器中不知道)。Reason-Phrase(原因短句) 應(yīng)當(dāng)提示更詳細(xì)的原因,為什么被叫方暫時(shí)不可用。這個(gè)值應(yīng)當(dāng)是可以被UA設(shè)置的。狀態(tài)碼486(Busy Here)可以用來更精確的表示本請求失敗的特定原因。
這個(gè)狀態(tài)碼也可以是轉(zhuǎn)發(fā)服務(wù)或者proxy服務(wù)器返回的,因?yàn)樗麄儼l(fā)現(xiàn)Request-URI指定的用戶存在,但是沒有一個(gè)給這個(gè)用戶的合適的當(dāng)前轉(zhuǎn)發(fā)的地址。
4.19 481 Call/Transaction Does Not Exist
這個(gè)狀態(tài)表示了UAS接收到請求,但是沒有和現(xiàn)存的對話或者事務(wù)匹配。
4.20 482 Loop Detected
服務(wù)器檢測到了一個(gè)循環(huán)(16.3/4)
4.21 483 Too Many Hops
服務(wù)器接收到了一個(gè)請求包含的Max-Forwards(20.22)頭域是0
4.22 484 Address InComplete
服務(wù)器接收到了一個(gè)請求,它的Request-URI是不完整的。在原因短語中應(yīng)當(dāng)有附加的信息說明。這個(gè)狀態(tài)碼可以和撥號交疊。在和撥號交疊中,客戶端 不知道撥號串的長度。它發(fā)送增加長度的字串,并且提示用戶輸入更多的字串,直到不在出現(xiàn)484(Address Incomplete)應(yīng)答為止。
4.23 485 Ambiguous
Request-URI是不明確的。
應(yīng)答可以在Contact頭域中包含一個(gè)可能的明確的地址列表。這個(gè)提示列表肯囊個(gè)在安全性和隱私性對用戶或者組織造 成破壞。必須能夠由配置決定是否以404(NotFound)代替這個(gè)應(yīng)答,又或者禁止對不明確的地址使用可能的選擇列表。
4.24 486 Busy Here
當(dāng)成功聯(lián)系到被叫方的終端系統(tǒng),但是被叫方當(dāng)前在這個(gè)終端系統(tǒng)上不能接聽這個(gè)電話,那么應(yīng)答應(yīng)當(dāng)回給呼叫方一個(gè)更合適的時(shí)間在Retry-After頭域 重試。這個(gè)用戶也許在其他地方有效,比如電話郵箱系統(tǒng)等等。如果我們知道沒有其他終端系統(tǒng)能夠接聽這個(gè)呼叫,那么應(yīng)當(dāng)返回一個(gè)狀態(tài)碼600(Busy Everywhere)。
4.25 487 Request Terminated
請求被BYE或者CANCEL所終止。這個(gè)應(yīng)答永遠(yuǎn)不會給CANCEL請求本身回復(fù)。
4.26 488 Not Acceptable Here
這個(gè)應(yīng)答和606(Not Acceptable)有相同的含義,但是只是應(yīng)用于Request-URI所指出的特定資源不能接受,在其他地方請求可能可以接受。
包含了媒體兼容性描述的消息體可以出現(xiàn)在應(yīng)答中,并且根據(jù)INVITE請求中的Accept頭域進(jìn)行規(guī)格化(如果沒有Accept頭域,那么就是application/sdp)。這個(gè)應(yīng)答就像給OPTIONS請求的200(OK)應(yīng)答的消息體一樣。
4.27 491 Request Pending
在同一個(gè)對話中,UAS接收到的請求有一個(gè)依賴的請求正在處理。14.2描述了這種情況應(yīng)當(dāng)怎樣解決。
4.28 493 Undecipherable
UAS接收到了一個(gè)請求,包含了一個(gè)加密的MIME,并且不知道或者沒有提供合適的解密密鑰。這個(gè)應(yīng)答可以包含單個(gè)包體,這個(gè)包體包含了合適的公鑰,這個(gè)公鑰用于給這個(gè)UAS通訊中加密包體使用的。
"