2. 文獻探討
2.1. 會議起始協定(SIP)
2.1.2. 會議起始協定的訊息符號
2.1.2.3. 回應(Response)訊息
回應訊息是UAS根據目前的處理進度、使用者的狀況、甚至是錯誤 的執行所產生的,屬於Callee所發送的訊息。訊息回應碼基本上可以分為 以下的六大項:
1、1xx:Informational – 該項回應碼表示Callee已接收到請求,並且 正在處理該請求中。
2、2xx:Success – 該項回應碼表示Callee已經接受先前所收到的請 求。
3、3xx:Redirection – 該項回應碼通常是由轉向伺服器所發送,用 來表示Caller必須再做進一步的處理(如:再次進行INVITE的發 送)才能完成先前所發送的請求
4、4xx:Client Error – 客戶端所送出的請求因為錯誤的符號,以致 於伺服器無法處理。
5、5xx:Server Error – 伺服端的錯誤,表示伺服器無法處理先前接 收到的合法請求。
6、6xx:Global Failure –先前所發送的請求是在任何伺服器上都不能 被執行。
表2-1是根據前面所作的六個分類,列出目前SIP的回應碼及其說明。
表 2-1 SIP 回應碼說明表
編號名稱 說明
1xx Informational
100 Trying 表示該呼叫正在進行中
180 Ringing 表示對方已接收,並且響
鈴正在發生作用中 181 Call Is Being Forwarded 表示該呼叫已被轉移至
不同的目的地
182 Call Queued 表示該呼叫已被接收並 放置到佇列中等待處理 2xx Success
200 OK 表示請求己經成功
3xx Redirection
300 Multiple Choices 指出位置伺服器回應的 訊息包含多個連絡位址 301 Moved Permanently
回應訊息中的 Contact 欄 位為 Callee 端最新並且會 永久使用的 URI
302 Moved Temporarily
回應訊息中的 URI 為目
380 Alternative Service
表示該呼叫並未成功,但 可以使用替代服務,比如 voicemail Server
4xx Client Error
400 Bad Request 指出該呼叫不能被伺服 端所瞭解
401 Unauthorized 發送的請求需進行認證 402 Payment Required 保留至未來使用
403 Forbidden 伺服端瞭解該請求,但是
拒絕執行
404 Not Found Request-URI 的使用者位 址並不存在
405 Method Not Allowed
表示請求已被接收且瞭 解,但對方不處理該請 求。如將 REGISGER 傳 送至 UA
406 Not Acceptable
因為請求訊息中的必要 條件不滿足,導致該請求 不能被處理
407 Proxy Authentication Required
由 Proxy 發送的回應,表 示 UA 必須先進行認證,
才能透過 Proxy 發送訊息 408 Request Timeout
並非伺服端所產生的回 應,通常因為 Expires 欄 位的值已為零
409 Conflict
RFC 3261 已將該回應碼 移除。該回應表示登錄伺 服器接收到 REGISTER 和存在的登錄資料衝突
410 Gone 欲發送的對象的位址未
來可能會失效
411 Length Required 伺服端拒絕接受未定義 Content-Length 的請求 413 Request Entity Too Large 表示訊息長度已超過伺
服端的處理能力
414 Request-URI Too Long 表示 Request-URI 長度已 超過伺服端的處理能力 415 Unsupported Media Type 表示請求中 SDP 所提出 的多媒體格式皆不支援 420 Bad Extension 伺服端並不支援 Require
欄位的延伸項目
480 Temporarily Unavailable 請求已到達正確位址,但 被呼叫端處於無效狀況
481 Call Leg/Transaction Does Not Exist
指出先前的請求並無對 應到已存在的呼叫。如伺 服端接收 BYE,卻無對應 的 INVITE
482 Loop Detected
表示伺服端接收的請求 其 Via 欄位有包含本身的 資訊
483 Too Many Hops
伺服端接收到的請求,其 Via 欄位的數量大於 Max-Forward 欄位 484 Address Incomplete Request-Uri 位址未完成 485 Ambiguous
在請求訊息中,Callee 端 的位址是混淆的。比如含
5xx Server Error
500 Server Internal Error 伺服端遭遇不可預期的 狀況,以致於無法處理 501 Not Implemented 因為伺服端的功能不支
援,導致該請求無法執行 502 Bad Gateway 在其它網路中有問題發
生,導致請求不能被處理 503 Service Unavailable 伺服器因為暫時性的超
載或維護,而無法處理 504 Gateway Time-out 與其它網路的閘道器連
線逾時,導致請求失敗 505 Version Not Supported
在請求訊息中的 SIP 版本 不被伺服端支援或是拒 絕支援
6xx Global Failure 600 Busy Everywhere
Callee 端的 UA 已成功接 收請求,但 Callee 端處於 忙線狀態以致請求失敗 603 Decline
Callee 端的 UA 已成功接 收請求,但對方不希望或 是不肯加入會議
604 Does Not Exist Anywhere 伺服端驗証請求訊息,發 現 To 欄位並不存在 606 Not Acceptable
已成功和對方的 UA 接 觸,但因為會議敍述的不 符合,致使請求不被接受