SIP響應是由一個用戶代理服務器(UAS)或SIP服務器生成回復由客戶端生成的請求的消息。它可能是一個正式的確認,以防止請求由UAC重發(fā)。
響應可能包含需要一個UAC信息一些額外的頭字段
SIP有六個響應
1xx - 5xx已經(jīng)借由HTTP,而6xx系列在SIP介紹。
1XX被認為是一個臨時響應,其余的最終響應。
類別 | 描述 | 動作 |
---|---|---|
1xx | 信息 | 這表明調用之前完成也被稱為臨時響應的狀態(tài)。 |
2xx | 成功 | 請求已成功。如果這是一個邀請,確認應發(fā)送;否則,停止請求的重發(fā)。 |
3xx | 重定向 | 服務器返回的可能位置??蛻舳藨撝卦嚵硪粋€服務器的請求。 |
4xx | 客戶端錯誤 | 請求已經(jīng)由客戶端失敗,原因是一個錯誤。客戶端可以重試請求,如果它是根據(jù)響應擬訂。 |
5xx | 服務器故障 | 請求已經(jīng)由該服務器失敗,原因是一個錯誤。請求可以在另一臺服務器退出。 |
6xx | 全局失敗 | 請求已失敗。該請求不應該在這個或其他服務器再次嘗試。 |
信息響應用于指示呼叫進程。通常情況下,響應是端對端(除100嘗試)。信息的響應的主要目的是阻止INVITE請求的重發(fā)。
信息響應包括以下對策:
這種特殊的情況下的響應僅僅是一個逐跳請求。
它永遠不會轉發(fā),不得包含郵件正文。
它被用于避免INVITE請求的重傳。
此響應被用來指示一個INVITE已經(jīng)接收由用戶代理和警報正在發(fā)生。
此響應用于指示該呼叫已被轉發(fā)到另一端點。
它發(fā)送的信息有可能會使用到呼叫者。
它給該呼叫者的狀態(tài),作為一個轉發(fā)操作可以導致在呼叫同時較長時間來回答。
此響應被用來指示該INVITE已經(jīng)接收并且將在一個隊列進行處理。
它表明,有關會話的進度的信息可以存在于消息主體或媒體流。
不像100嘗試響應,183端到端的響應,并建立一個對話。
一個典型的使用這種反應是為了讓UAC通過網(wǎng)關進入PSTN聽到手機鈴聲,忙音,或在通話錄音通知。
此類反應是指用于指示一個請求已被接受。它包括以下對策:
202接受表示該UAS已經(jīng)接收并理解的請求,但該請求可能沒有被授權或由服務器處理。
它是常用響應訂閱,請參閱方法。
通常,這些類響應由重定向服務器響應INVITE發(fā)送。它們也被稱為類重定向響應。它包括以下對策:
它包含多個聯(lián)系人報頭字段以指示該位置的服務已經(jīng)在Request-URI返回SIP URI多個可能的位置。
這種重定向響應包含與被叫方的新的永久URI一個Contact頭字段。
地址可以保存并在今后的INVITE請求中使用。
這個重定向響應包含一URI,它是當前有效的,但不是永久的。
即,位置是有效的指定的時間的持續(xù)時間。
這個響應包含指向具有關于呼叫方的權威信息代理服務器的URI。
這種反應可以由UAS發(fā)出的來電篩選代理發(fā)送。
這個響應返回的URI,指示服務的被叫方希望的類型。
例如,一個通話可以被重新定向到一個語音信箱服務器。
客戶端錯誤的回應表明,由于一些錯誤是從側面UAC確認的要求不能得到滿足。響應代碼由UAS通常發(fā)送。在接收到出錯消息時,客戶端應該通過修改其基于所述響應重新發(fā)送請求。下面討論的是一些重要的客戶端錯誤響應。
這表明該請求不被服務器理解。
請求可能是缺少必要的頭字段,例如收件人,發(fā)件人,呼叫ID,或Cseq。
它表明該請求要求用戶進行認證。
401未授權通常由一個注冊服務器的注冊請求發(fā)送。
響應包含從主叫用戶代理正確的憑據(jù)請求WWW身份驗證頭字段。
隨后REGISTER將觸發(fā)從用戶代理與正確的憑據(jù)。
403禁止當服務器已經(jīng)理解請求,發(fā)現(xiàn)是正確配制的要求,但將不提供服務的請求被發(fā)送。
這種反應,不使用時需要授權。
404未找到表明在請求URI標識的SIP URI用戶不能位于由服務器或用戶當前未簽署的用戶代理。
這表明服務器或用戶代理已收到并理解的請求,但就是不愿意履行請求。
例如:注冊請求可能會被發(fā)送到用戶代理。
一個允許域是必需通知UAC什么方法是可以接受的。
該響應指示該請求不能由于在請求消息中的規(guī)定處理。
在請求中的Accept頭域沒有包含在UAS支持的任何選項。
由代理發(fā)送該請求表明了UAC必須首先與代理驗證自身的請求可以被處理之前。
響應應包含有關在代理進行身份驗證頭字段的代理所需憑據(jù)類型的信息。
該請求可以被重新提交與代理-Authorization頭域正確的憑據(jù)。
當一個Expires頭域存在的INVITE請求和指定的時間段已經(jīng)過去了這個響應發(fā)送。
它可以由一分叉代理或用戶代理發(fā)送。
該請求可以在任何時候由UAC重審。
響應被用來拒絕含有Session-Expires頭字段的請求。
允許的最小間隔被表示在所要求的Min-SE頭字段。
所述主叫方可以重新嘗試沒有會話Expires頭字段或具有一個值小于或等于規(guī)定的最小請求。
響應由被拒絕登記請求,因為請求到期時間在一個或多個聯(lián)系人實在太簡單了注冊商返回。
響應必須包含敏Expires頭域列表的最小有效期,該注冊商會接受。
該響應指示請求已到達正確的目的地,但被叫方不可用的某些原因。
響應應包含一個Retry-After頭指示何時請求可以是能夠得到滿足。
此響應指示一個響應引用現(xiàn)有呼叫或事務已接收到的服務器不具有記錄或狀態(tài)信息。
此響應指示請求已被轉發(fā)的次數(shù)上限由請求的Max-Forwards頭的設置。
請求Max-Forward:0頭:這是由收到最大轉發(fā)的指示。
這種反應可以通過已收到掛起的INVITE請求的CANCEL請求UA發(fā)送。
200 OK發(fā)送到確認CANCEL和487被發(fā)送到取消INVITE事務。
此類響應用于表示該請求不能因為與服務器中的錯誤處理。服務器無法完成顯然有效的請求。所述響應可包含一個Retry-After頭字段。該請求可以在其它位置受審,因為沒有在請求中指示的誤差。一些重要的服務器故障響應的討論如下。
500表示服務器經(jīng)歷了某種錯誤的是防止它處理請求。
它是一種服務器故障,指示客戶端在該服務器幾秒鐘之后,再次重試請求。
它表明服務器無法執(zhí)行,因為它不支持處理請求。
該響應可以被用來拒絕含有未知方法的請求。
這種反應是由被作為網(wǎng)關到另一個網(wǎng)絡的代理發(fā)送。
這表明,在其他的一些網(wǎng)絡問題使被處理的請求。
此響應指示所請求的服務是當時暫時不可用。
該請求可以重試在幾秒鐘后,或在Retry-After頭字段期滿之后。
這個響應時,如果本請求失敗由于超時發(fā)生在到該網(wǎng)關連接的其他網(wǎng)絡。
它是一個服務器錯誤類響應,因為呼叫由于在訪問SIP網(wǎng)絡以外的資源未能在服務器的故障。
服務器拒絕請求時,它帶有一個不同的SIP的版本號。拒絕表示此消息。
目前SIP2.0版實現(xiàn)的唯一版本。
此響應被用于由UAS以指示該請求太大由它來處理。
此響應被用來拒絕一個SDP供給中需要的前提條件不能得到滿足。
此響應類表示服務器知道該請求將失敗的地方是嘗試。其結果是,該請求不應該被發(fā)送到其他地點。
只有在其每一個可能的情況下由Request-URI的用戶明確知識應該服務器發(fā)送一個全局的錯誤類響應。否則,客戶端錯誤類響應應該發(fā)送。
Retry-After頭字段可以被用來指示何時請求可能是成功的。一些重要的響應的討論如下:
響應指示呼叫的指定的請求URI可以在其他位置來回答。
這個響應可能表明被叫方占線,或者干脆不希望接受呼叫。
這種反應是類似的404未找到響應,但表示在Request-URI中的用戶不能在任何地方找到。
這個反應應該僅由具有訪問所有有關用戶的信息的服務器發(fā)送。
此響應指示所希望的會話的某些方面是不能接受的UAS,其結果,會話不能建立。
響應可能包含描述什么是不能接受的數(shù)字代碼警告頭字段。
請求可以重新嘗試不同的媒體會話信息。