SIP消息頭域的說明_第1頁
SIP消息頭域的說明_第2頁
SIP消息頭域的說明_第3頁
SIP消息頭域的說明_第4頁
SIP消息頭域的說明_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、SIP消息頭域的說明(轉(zhuǎn))1 general-header 類:為描述消息基本屆性的通用頭域,可用丁請求消息或響應消息;通用頭域的域名 只有在協(xié)議版本改變時才可有效地擴展。 不過,通信中的所有方均認為是“通用 頭域”的新的頭域也可認為是通用頭域。不被認可的頭域作為實體頭域。1.1 Call-IDCall-ID通用頭域唯一標識一個特定的請求或者一個特定客戶的所有登記。來自同一個客戶的所有的登記應該使用同樣的Call-ID頭值,至少是在同一個重新啟動的循環(huán)中。注意到單個的多媒體會議會產(chǎn)生不同Call-ID的幾個呼叫,例如,用戶多次邀請一個單個的私人加入同一個會議。對丁一個INVITE請求。主叫方用

2、戶代理服務器不應該警告用戶,如果用戶先前 已經(jīng)對INVITE請求中的Call-ID 作出了響應。如果用戶已經(jīng)是會議的一個成員, 同時包含在會話描述中的會議參數(shù)并未改變,那么主叫方用戶代理服務器可以接受此呼叫,而不管Call-ID。對丁一個已存在的Call-ID 或者會話的邀請可能改 變會議的參數(shù)。一個客戶應用可以決定向用戶簡單地指示會議參數(shù)已經(jīng)改變,可以自動接受邀請或者可能需要用戶的確認。使用幾個不同的Call-ID可以邀請一個用戶加入同一個會議或者呼叫。 如果需要 的話,可以使用在會話描述中的標識來檢測此副本。例如,SDP的“o”域中包含了會話標識和版本號。REGISTER日OPTION房式

3、使用Call-ID 值來精確匹配請求和響應。一個單個的 客戶發(fā)布的所有的REGISTER求應該使用同一個Call-ID ,至少在同一個有效 循環(huán)中。Call- ID = ( "Call-ID ” |“i ” ) ” : ” local -id ” hostLocal-id = 1*urici是Call-ID的縮寫形式。“host ”應該是一個真正的域名或者是一個全球性的IP地址。如host"中是唯此,” local -id ”應該是一個由URI字符組成的標識,此標識在”一的。建議使用經(jīng)過加密的隨機標識Call-ID的值禁止被重用丁另一個不同的呼叫。Call-ID 區(qū)分大小寫

4、。1.2 From請求和響應必須包含F(xiàn)rom通用頭域,指示請求的初始者。From域可以包含一個 "tag"參數(shù)。服務器將From頭域從請求復制到響應。可選的"display-name"意味 著由用戶接口提出(執(zhí)行)。如果客戶身份被隱藏,那么系統(tǒng)必須使用顯示名 "Anonymous”。此 SIP-URL禁止包含"transport-param", "maddr-param" , "ttl-param","headers"。接收到含有以上元素的SIP-URL的服務器在執(zhí)

5、行下一步處理之前, 應將這些元素刪除。即使"display-name"是空的,如果"addr-spec"包含了","、"?"、";”, "name-addr"形式也必須使用。From = ("From" | "f”) ": " (name-addr | addr-spec )* (" "addr-params )addr-params=tag-paramtag-param="tag="UUIDUU

6、ID=1* (hex | "-")"tag"可以出現(xiàn)在一個請求的From頭域中,當共享同一個SIP地址的用戶的兩個 實例使用同一個Call-ID發(fā)出邀請時,必須使用此"tag”。"tag"必須是全球唯一的,并且是一個經(jīng)過加密的至少32比特的隨機數(shù)。一個單個的用戶應該在一個 Call-ID 所標識的整個呼叫中保持同一個tag。Call-ID、To和From用丁標識一個 Call leg。呼叫和Call-leg 的區(qū)別在丁多個 響應對派生請求的呼叫。1.3 ToTo通用頭域說明了請求的接收者。To = ("To&quo

7、t; | "t") " : " (name-addr | addr-spec )* (" "addr-params )請求和響應必須包含To頭域,指示請求的預定接收者。可選的"display-name" 意味著由用戶接口提出(執(zhí)行)。UA眥者重定向服務器將To頭域的內(nèi)容復制 到它的響應中,同時如果請求包含了不止一個 Via頭域,則必須增加"tag"參數(shù)。 如果Via頭域不止一個,那么表明請求至少經(jīng)過一個代理服務器的處理。因為接 收者不知道此請求是哪一個代理服務器派生的請求,所以從安全方面考慮,可

8、認為它們都派生了請求。此 SIP-URL禁止包含"transport-param" , "maddr-param" , "ttl-param", "headers"。接收到含有以上元素的SIP-URL的服務器在執(zhí)行下一步處理之前, 應將這些元素刪除。"tag"參數(shù)作為一種通用機制,用丁區(qū)分由一個SIP-URL標識的用戶的多個實例。 因為代理可以派生請求,所以同一個請求可以到達用戶的多個實例(例如:移動和住宅電話);乂由丁每一個都可以響應,所以必須有一種方法來區(qū)分來自被叫 方每一個實例的響應。這種

9、情況也可由丁多點傳送(組播)請求而產(chǎn)生。"tag”參數(shù)用丁區(qū)分UAC的響應。當請求有可能被一中問件代理派生時,每一個實例都必須在它的響應中包含"tag"參數(shù)。"tag”參數(shù)必須可以被UAS登記器和重定向 服務器增加,但禁止被加入到上傳的響應中。"tag"參數(shù)可以增加到所有方式的 所有已經(jīng)定義的響應中,也可以加入到來自UASS;者重定向服務器的報告性(1xx)響應。兩個實體問隨后所有的事務都必須包含"tag"參數(shù)。當響應與請求相匹配時,如果請求的To域中未包含"tag"參數(shù),那么響應To域中的&q

10、uot;tag"參數(shù)將忽略。"tag”允許代理派生同一個呼叫的未來的請求,而只對幾個可能的響應UAS中的一個定位(尋址)。它也允許被叫方的多個實例發(fā)送可以 區(qū)分的請求。當SIP服務器接收到一個請求,此請求的 To域中含有它不能識別的URI時,它 應該返回一個400 (Bad Request)響應。即使"display-name"是空的,如果"addr-spec"包含了","、" ?"、";”, "name-addr"形式也必須使用。Call-ID、To和From用丁

11、標識一個 Call leg。呼叫和Call-leg 的區(qū)別在丁多個 響應對派生請求的呼叫。"tag”允許代理派生同一個呼叫的未來的請求,而只對 幾個可能的響應UAS中的一個定位(尋址)。它也允許被叫方的多個實例發(fā)送可 以區(qū)分的請求。1.4 ViaVia頭域指示請求迄今為止所走的路徑。它防止了請求的循環(huán),同時確保了響應 (回答)沿同樣的路徑返回,這一點可以通過防火墻遍歷和其他的異常路徑情況 提供幫助。1.5 ContactContact通用頭域可出現(xiàn)在INVITE、AC捋日REGISTE譴求中,1xx、2xx、3xx 和485響應中。通常,它提供了一個 URL用戶可以通過此URL來進行

12、進一步的 通信。INVITE和ACK肯求:Contact域表明請求從哪個位置發(fā)起; 這允許主叫方直接向被叫方發(fā)送未來的請求,如BYE而不是通過一系列的代理。由丁所想要的地址可能是代理的地址,所以只Via頭域并不夠。INVITE 2xx響應:一個用戶代理服務器在發(fā)送一個限定的、肯定的響應(2xx)時,可以加入一個Contact響應頭域,表明對丁未來的請求它可以直接到達的 SIP地址,如ACKS求。Contact頭域包含了服務器自己或者代理的地址,例如 主機在一個防火墻之后。如果響應未包含 Record-Route頭域,此Contact的值 將復制到此呼叫的后來的請求的 Request-URI中;

13、如果響應包含了 Record-Route 頭域,Contact域的值將作為最后一項增加到 Record-Route域中。Contact的值 不應該通過呼叫被緩沖,因為它可能不能表示一個特殊目的地地址的最想要的位 置。INVITE 1xx響應:一個UA歐送一個臨時的響應(1XX 可以插入一個 Contact 響應域。語義同2XX INVITE響應。注意到CANCEL!求禁止被發(fā)送到那個地址(Contact所指示的),但仍跟隨初始請求的路徑。REGISTER request: REGISTE譴求中的 Contact 域表明用戶的位置。REGISTER 請求定義了一個通配的Contact域。“*”,

14、只能用?。?0刪除一個用戶所有的 登記。一個可選的“ expires ”參數(shù)指示登記所想要的期限。如果 Contact未使 用此參數(shù),貝U Contact域的值將使用默認值。如果這些機制都未采用,SIP URL的期限為一個小時。其他的URL沒有期限時間。REGISTER 2xR向應:一個REGISTER應可以返回可以達到的用戶的所有地址。 3xx和485響應:Contact頭域指示一個或多個可選的地址。可以出現(xiàn)在對丁INVITE、BY府日OPTION奇式的響應中。Contact頭域包含的URI給出了新的位 置和用戶名,或者簡單地說明其他的傳輸參數(shù)。300 (Multiple Choise )、

15、301(Moved Permanently)、302(Movec Temporarily) 或者 485(Ambiguous)響應 應該包含一個含有可嘗試的新地址的URL的Contact域。301和302響應可以給出正在嘗試的同樣的位置和用戶名,但指定了其他的傳輸參數(shù),如一個不同的服務器或者多點地址,或者一個從 TCP到UDP UD牌U TCP的SIP事務的改變???戶將 Contact URL 中的 “user”、“password”、“host”、“port”、“user-param”復制到重定位請求的 Request-URL中,同時使用tranport 參數(shù) 中的傳輸協(xié)議,將此請求傳到“

16、 maddf和“port”參數(shù)所說明的地址處。如果“maddf 是一個多點地址,“ttl ”值表明time-to-live 值Contact頭域可能 指示一個不同丁原始呼叫實體的實體。例如,與 GST炳關(guān)相連的SIP呼叫可能 需要發(fā)送一個特殊的消息通知。Contact頭域可以包含任何合適的URL*指示被 叫方的位置,而不只限丁 SIP URL。Contact=( “Contact ” |“m ) ” :”(“*” | (1#(name-addr | addr- spec)*( “;” contact -params)comment) name-addr=display-name ” <”

17、 addr-spec” >” addr-spec=SIP-URL | URIdisplay-name=*token | quoted-string contact- param= "q”"=” qvalue| action = proxy | expires = delta -seconds |<” >SIP-date<” >| extension-attributeextension-attribute = extension- name "=” extension -valueq:表明所給的位置的相對重要性,“ qvalue ”從

18、0到1,值高參考性大。 action :只用丁使用REGISTERS記時。表明是否客戶希望服務器代理或者 重定向用戶想要的未來的請求。expires :表明URI的活動時間。注意與 Expire頭域的聯(lián)系:如果Contact中 存在expires參數(shù),則使用其表示的時間;若不存在,貝U使用 Expire頭域所表 示的時間。1.6 Cseq對丁每一個請求,客戶必須使用 Cseq (Command sequence通用頭域。此頭域 包含了請求方式和一個提出請求的客戶所選定的十進制序歹0數(shù),在同一個Call-ID中此Cseq值唯一。此序列數(shù)必須為一個32位的無符號整數(shù),它的初始 值是任意的,但必須小

19、丁等丁 2*31。連續(xù)的請求在請求方式、頭域和消息上是 不同的,但有同樣的Call-ID,它們的Cseq也必須是嚴格單調(diào)增加的相鄰的序 歹0數(shù);序歹0數(shù)不能形成環(huán)。重傳請求有相同的Cseq,但消息體或者頭域不同的INVITE請求需要一個新的更高的Cseq。服務器必須在它的響應中回送請求中的 Cseq。如果在所接收的Cseq頭域中沒有method,服務器應該正確的填充。ACK® CANCEL求必須包含與它們相聯(lián)系的INVITE請求同樣的Cseq。而當BYE 請求釋放一個請求時必須含有以更高數(shù)值的Csec如果BYE請求中的Cseq值不高,那么將產(chǎn)生一個 400 (Bad Request)

20、響應。用戶代理服務器必須記住同一個 Call-ID的INVITE請求的最高序列數(shù)。對丁包 含較低序列數(shù)的任何INVITE請求,服務器必須作出響應,然后放棄。所有在并行搜尋中產(chǎn)生的請求擁有和觸發(fā)此并行搜尋的請求一樣的Cseq值。Cseq ="Cseq" " : " 1*DIGIT Method對丁任何可以被BY攻CANCEW求取消的SIP請求,或者對丁客戶發(fā)送了連續(xù) 的幾個同一個Call-ID的請求的情況,都需要使用Cseq頭域。如果沒有序列值, 對丁 INVITE請求的響應將會和對丁取消(BYE CANCEL的響應相混淆。同樣, 如果網(wǎng)絡復制了消息包,或

21、者一個 ACK請求耽擱了直到服務器發(fā)送了另一個響 應,客戶應該將此舊的響應作為對丁一個之后很快重傳的邀請的響應。使用Cseq頭域,也可以幫助服務器區(qū)分邀請的不同版本,而不用比較消息體。"Method"方式方法。值使得客戶將對丁 INVITE請求的響應和對丁一個 CANCEL 請求的響應(一般是200響應)區(qū)分開來。代理可以產(chǎn)生 CANCEL!求;如果代 理增大序列數(shù),那么有可能與同一呼叫中用戶代理以后發(fā)送的請求發(fā)生沖突。派生的請求必須有同樣的Cseq值,否則在這些派生的請求和客戶用戶代理以后 所發(fā)送的BYE請求之間將含糊不活。1.7 Encryption 加密Encrypt

22、ion= "Encryption ”“:” ” pgp” pgp -eparamspgp-eparams=1#(pgp-version | pgp-encoding) pgp-encoding= encoding = ascii | tokenencoding :描述 PG所使用的 encoding 或者 “armor”,“ascii ” 表示標準的 PGP ASCII包裹,沒有包含 “ BEGIN PGP MESSAGE “END PGP MESSAGE勺行,沒有版本標識。此加密部分默認為二進制。1.8 ExpiresExpires頭域給出了消息內(nèi)容活動的日期和時間。此頭域只用丁I

23、NVITE、REGISTER。對丁 REGISTER式,它可以用丁請求和響應頭域。在REGISTER求中,它指小 登記的有效期限。在響應中,服務器指示所有登記最早的期限時間。 服務器可以 選擇一個比客戶請求的時間短的時間間隔,但不能比客戶請求的時間長。對丁 INVITE方式,他可以用丁請求和響應頭域。 在INVITE請求中,主叫方可以 限制邀請的有效性,例如,客戶希望限制搜尋的期限或者會議邀請的期限。用戶界面可以將此作為離開屏幕上的邀請窗口的一種暗示,即使用戶目前不在工作站上。這同樣限制了搜尋的期限。如果搜尋在此期限內(nèi)未完成,代理將返回一個 408 (Request Timeout)響應。在3

24、02響應中,服務器可以建議客戶最大的重定 向期限。此域的值可以是一個SIP-date ,或者是一個以秒為單位的數(shù)字形式。Expires =“Expires ”“:” (SIP -date | delta-seconds)1.9 Record-RouteRecord-Route請求和響應頭域可以被任何服務器加到請求中,這些服務器堅持 以后的同一個Call leg 的請求使用同樣的路徑。它包含了一個唯一可達的 Request-URI來指示代理服務器。每一個代理服務器將它的Request-URI加到序 列的開始。服務器將Record-Route頭域不做改變地復制到響應中。(Record-Route只

25、和2xx 響應有關(guān))主叫方UAC務Record-Route頭復制到隨后的同一個呼叫分支(Call leg )的請求的Route頭域中,只是顛倒了請求的順序,以使第一個入口離UAC最近。如果響應包含了一個 Contect頭域,主叫方的用戶代理將它(Contact) 的內(nèi)容作為最后一個Route域的內(nèi)容。除非這將引起環(huán)路,否則任何用戶必須 將任何隨后的同一個呼叫分支(Call leg )請求發(fā)送到Route頭域的第一個 Request-URI中,同時刪除此入口。呼叫方用戶代理禁止在包含有 Route頭域的請求中使用Record-Route頭域。 一些代理,例如那些控制防火墻或者在一個自動呼叫分配(

26、ACD系統(tǒng)中,需要保持呼叫狀態(tài),這樣就需要接收任何一個此呼叫的BYE和ACK包。Record- Route = “Record-Route”“:” 1#name-addr代理服務器應該使用“ maddf URL參數(shù)來包含它們的地址,以便保證隨后的請 求能夠準確到達同一個服務器。1.10 TimestampTimestamp通用頭域指示客戶何時向服務器發(fā)送請求。此頭域的值只對客戶有 用。服務器必須回送完全一樣的數(shù)值,同時如果它有確切的消息,可以增加一 個小數(shù)值指示從它接收到請求開始所過去的時間。客戶使用 timestamp頭域來 計算到達服務器的round-trip時間,以便調(diào)整重傳的timeo

27、ut時間。Timestamp = "Timestamp" ":" *(DIGIT) "." *(DIGIT) delayDelay = (DIGIT) "." *(DIGIT)1.11 DateDate是一個通用頭域,語法形式如下:Date = "Date" ":" HTTP-date此處,HTTP-date 只能是 rfc1123-date。rfc1123-date = wkday ”," SP date1 SP time SP "GMT" d

28、ate1 = 2DIGIT SP month SP 4DIGIT;day month year (e.g., 02 Jun 1982)wkday = "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun” month = "Jan" | "Feb" | "Mar" | "Apr" | "May" | "Ju

29、n" | "Jul" | "Aug" | "Sep" | "Oct" | "Nov" | "Dec"(GMT): Greenwich Mean Time例如:Date : Tue, 15 Nov 1994 08:12:31 GMT當請求或者響應被第一次發(fā)送時,Date頭域指示發(fā)送日期和時間,所以,重傳 將使用與相應的初始同樣的Date頭域。1.12 AcceptAccept域用丁 INVITE、OPTIONS: REGISTER!求方式中,指示在響應中能夠接 收的媒

30、體的類型(缺省值為application/sdp )。1.13 Accept-EncodingAccept-Encoding請求頭域與Accept頭域相似,但它限制在響應中可接受的 content-codings 。1.14 Accept-Language客戶用Accept-Language請求頭域向服務器指示它接收原因短語、 通話描述符或 者消息體中所承載的狀態(tài)響應時所使用的語言。Proxy可以用此域來幫助選擇呼 叫的目的地。2 entity-header 類:用丁描述消息體內(nèi)容的長度、格式和編碼類型等屆性,可用丁請求消息或響應消 息。實體頭域定義了消息體信息之后的內(nèi)容(如: Content

31、-Length、Content-Type、 Content-Encoding ),或者如果沒有消息體,則定義請求所指示的資源。2.1 Content-EncodingContent- Encoding=( "Content - Encoding ” |“e”)” :” 1#content -codingContent-Encoding實體頭域作為“ media-type”的一個修飾語。它的值指示適 用丁實體消息體的其他的內(nèi)容編碼,指示為了獲得Content-Type頭域所給出的media-type,必須使用的編碼方案。Content-Encoding主要用丁壓縮消息體, 而不丟失它底

32、層的媒體類型的標識。如果多個編碼適用丁一個實體,那么內(nèi)容便必須按照他們被應用的順序列出。所有的Content-Encoding值都區(qū)分大小寫??蛻艨梢詫?nèi)容編碼應用丁請求消息體中。如果服務器不能對消息體解碼,或者不能識別任何的 Content-Encoding 值,它必須發(fā)送一個 415 "Unsupported Media Type” 口向應,在 Accept-Encoding 頭域中歹U出可以接受的編碼。服務器可以將內(nèi)容編碼應用丁請求消息體中,但它只能使用請求的 Accept-Encoding頭域中所歹U出的編碼。2.2 Content-LengthContent-Length實

33、體頭域指示消息體的長度。形式上以八個比特為一個字節(jié)。Content- Length = ( "Content - Length" |"l" )" :" 1*DIGIT應用程序應該使用此域來指示所傳送的消息體的大小,而不管實體所用的媒體類Content-Length的值應為非負數(shù),0表示沒有消息體。服務器如果收到一個不包含Content-Length域的UDP®求,那么它便認為此請 求壓縮了包的剩余部分。服務器如果收到一個包含有Content-Length域的UDP®求。但它的值比消息體 的實際長度大,客戶則應產(chǎn)生一

34、個 400類的響應。在UD屯中,如果接收完消息體的最后一個比特后,還有其他的數(shù)據(jù),服務器必須將此數(shù)據(jù)視為另一個消息。也就是說,允許在一個UD屯中包含有多個消息。如果一個響應中未包含Content-Length,客戶便認為此響應壓縮了 UD咆或者 數(shù)據(jù)的剩余部分,直到關(guān)閉TCP連接。2.3 Content-TypeContent-Type實體頭域指示發(fā)送給接收者的消息體的媒體類型。Content-Type= ( “Content-Type” | “c”)": ” media-type3 request-header 類:為請求頭域,只可用丁請求消息,它用來傳遞有關(guān)請求或客戶機本身的一些

35、附加 信息,對請求進行補充說明。客戶將關(guān)丁請求和關(guān)丁客戶自己的其他信息傳送給 服務器。這些域類似丁請求的變量,語義上相當丁可編程語言方式調(diào)用的參數(shù)。 請求頭域的擴展與通用頭域相同。3.1 SubjectSubject請求頭域提供了一個摘要,或者指示了呼叫的實際情況,使得不必分析 通話描述便可過濾呼叫。(當然,通話描述不必使用與邀請同樣的標題)Subject =("subject" | "s") " :"*TEXT-UTF83.2 User-AgentUser-Agent通用頭域包含了關(guān)丁發(fā)送初始請求的客戶用戶代理的消息。此頭域用丁統(tǒng)計

36、目的,跟蹤違反協(xié)議的情況、用戶代理的自動認可的情況,以便 在編制響應時避免特定用戶代理的限制。用戶代理應在請求中包含此頭域。User-Agent = "User-Agent" ":" 1*( product | comment )例如:User-Agent: CERN-LineMode/2.15 libwww/2.17b33.3 OrganizationOrganization通用頭域表明了發(fā)送請求或者響應的實體所屆的組織。它可以由 位丁某組織邊界的代理來加入??蛻糗浖梢允褂么祟^域來過濾呼叫。Organization 'Organization

37、" ":"*TEXT-UTF83.4 ContactContact通用頭域可出現(xiàn)在INVITE、ACKJ日REGISTE暗求中,1XX 2XX、3XX 和485響應中。通常,它提供了一個 URL用戶可以通過此URL>進行進一步的 通信。INVITE和ACK肯求:Contact域表明請求從哪個位置發(fā)起;這允許主叫方直接向被叫方發(fā)送未來的請求,如BYE而不是通過一系列的代理。由丁所想要的地址可能是代理的地址,所以只Via頭域并不夠。3.5 authorization客戶通過一個Authorization頭來重新測試請求。Author ization =“ Aut

38、hotization ”“: ” “ pgp”* ( ; pgp-response )pgp-response = realm | pgp-version | pgp-signature | signed-by | nonce pgp-signature ="signature ” “=” quoted -stringsigned- by = "signed-by” "=” <” >URI <” >用戶必須在重新提交此請求之前增加 CSeq頭。此表示必須與請求的From頭相聯(lián) 系,除非提供了 signed-by參數(shù)。pgp-signatur

39、e :由 ASCII 碼包裹的 PGFW識,出現(xiàn)在 “ BEGINPGPMESSAGEffi “END PGP MESSAGE問,沒有版本標識。如果重新侵入并不擔心的話,服務器可以不產(chǎn)生nonce。不產(chǎn)生nonce避免了增加其他形式的請求,401響應和可 能的ACK消息,也減少了 round-trip 時間的耽擱。使用ASCII碼包裹的版本,與包含二進制的信號相比,減少了 25%勺空間利用率, 但對丁接收者將它們組合到一起來說卻很容易。一般信號為200比特長。PGP言號機制允許客戶簡單地將請求傳給一個外部的PG咐序。此依賴丁代理服務器不允許改變頭域的順序或者頭域內(nèi)容的這么一種需要。realm

40、:復制丁相關(guān)的WWW-Authenticate頭域的參數(shù)。signed-by :當且僅當請求未被From域的實體所標記時,signed-by指示所標 記的實體的名稱,表現(xiàn)為一個 URI。標記了的SIP消息地接收者應該丟棄任何在 Authorization 域之上的 end-to-end域,因為他們可能是被路由器或者代理故意增加的。3.6 Proxy-AuthorizationProxy-Authorization請求頭域允許客戶向要求驗證的代理來鑒別自己。Proxy-Authorization 頭域的值由信任組成,此信任包含了用戶代理向代理提供 的驗證信息和/或被申請的資源領(lǐng)域(realm o

41、f the resource requested )。Proxy-Authorization = "Proxy-Authorization" ":" credentials與 Authorization 不同,Proxy-Authorization頭域只應用丁使用Proxy-Authenticate域要求驗證的下一個輸出的代理。當有多個代理時,Proxy-Authorization頭域被接受信任的第一個輸出代理所使用。一個代理可以將信任從客戶請求通過中繼傳到下一個代理,這種方式可以作為一種代理之間合作驗證一個給定請求的機制。3.7 Proxy-Requi

42、reProxy-Require頭域用來指示代理必須支持的一種特征,即是否需要代理。如果 不支持,對丁客戶,任何 Proxy-Require頭域特征必須被代理所否定。代理服 務器將此域與Require域等同看待。3.8 Response-KeyReponse-Key = ” Response Key/' ” :” ” pgp” pgp-eparamspgp-eparams = 1#(pgp-version | pgp-encoding | pgp-key)pgp-key = "key” ” = quoted -string如果ASCII編碼通過編碼參數(shù)來請求,key參數(shù)則包含了

43、用戶的公共密鑰(從pgp key ring 用 “pgp - kxa user ” 解得的)。3.9 Require客戶使用Require請求頭域,通知UA%戶希望服務器所支持的選項,以便合適地處理請求。如果服務器不能識別此選項,它必須返回420 (Bad Extension )響應,在Unsupported頭中歹U出它不能識別的選項。Require =“Require ”“:” 1#option -tag代理和重定向服務器必須忽略不可識別的特征。如果一個特定的擴展名需要中介設(shè)備支持,那么此擴展名必須在 Proxy-Require域中標記。3.10 PriorityPriority請求頭域指示

44、了客戶所認為的請求的緊急程度。Priority -"Priority" ": " priority-valuepriority-valur="emergencyT'urgentT'normal”|"non-urgent"推薦:值"emergency"僅用丁生命,肢體,財產(chǎn)處丁即將來臨的危險之中時使用 (此頭域通常與Subject頭域聯(lián)合使用)3.11 Hide客戶使用Hide請求頭域來指示:它希望對隨后的代理和用戶代理隱藏Via頭域指示的路徑。此頭域的使用有兩種形式: Hide:route

45、 和Hide:hop。Hide頭域通 常由客戶用戶代理來增加,但也可以由發(fā)送路徑上的任何代理增加。如果一個請求包含了 "Hide:route"頭域,所有緊跟的代理應該隱藏它們先前的 hop。如果請求包含了 "Hide:單腳跳”頭域,只有下一個代理應該隱藏它先前的 hop,然后刪除此Hide選項,除非它也想要保持匿名。服務器通過使用它所選擇的算法,對最頂端的Via頭域的"host"和"port"部分加 密,來隱藏先前的hop。服務器應該在加密之前向"host"和"port”信息中添加附 加信息&q

46、uot;salt" , ( /原譯有誤:服務器應該將另外的"salt"增加到已經(jīng)經(jīng)過加密的"host"和"port”中),以防止下傳路徑中可能有惡意的代理基丁相同的已加 密的Via頭域來猜測路徑的前面部分。 被隱藏的Via域用"hidden"Via選項來標 記。能夠隱藏Via域的服務器必須試圖(也能夠)將所有標記了 "hidden"的Via域解 密,以便執(zhí)行回路檢測。不能隱藏Via域的服務器可以在它們的回路檢測算法中 忽略被隱藏的Via域。需要注意的是:如果被隱藏的頭域未被標識,代理需要將所有的

47、頭域都解密,來 檢測回路,以防止其中被加密的頭域,例如Hide:Hop,可能在發(fā)送的路徑上被刪除了。主機禁止增加諸如"Hide:hop"的頭域,除非它能確保將一個到此目的地的請求發(fā) 送到相同的下一個hop。原因是請求可能會從一個下傳的代理通過相同的hop回傳回來。如果下一個hop的選擇已固定(調(diào)整),此回路應經(jīng)過下一個 hop的檢 測,但(回路)也可以循環(huán)任意多次。對丁請求"Hide:route"的客戶來說,如果它將此請求發(fā)送到一個可信任的代理 處,那么它只需要將請求路徑保密(私有)。如果數(shù)據(jù)包中的請求結(jié)果直接在主 叫/被叫二者的用戶代理之間交換,那么隱

48、藏請求路徑也是有限的。除非確實需要將路徑保密,否則最好不要使用 Hide頭域;Hide域的使用給代理 增加了額外的處理開銷和限制,同時可能產(chǎn)生 482(Loop Detected)響應,這種 情況在未使用Hide頭域時可以避免。Hider頭域有如下語法定義:Hide = "Hide" ":" ("route" | "hop")3.12 RouteRoute請求頭域決定了請求的路由。每一個主機將刪除第一個入口,然后將此請 求代理到那個入口所列的主機處,將它作為 Request-URI。Route = ” Route

49、”“:” 1#name-addr3.13 Max-ForwardsMax-Forwards請求頭域適用丁任何請求方式,用來限制前轉(zhuǎn)請求的代理或者網(wǎng) 關(guān)的數(shù)目。當客戶跟蹤一個出現(xiàn)了錯誤或者循環(huán)的請求鏈時,也可以使用此頭域。Max-Forwards="Max-Forwards"" : " 1*DIGITMax-Forwards值表明了此請求消息允許被前轉(zhuǎn)的剩余次數(shù)。對丁接收到包含有Max-Forwards頭域的請求的代理或者網(wǎng)關(guān)來說,它必須檢測 并且修改此頭域先前的值,以便前轉(zhuǎn)此請求。如果域值是0,那么接收者禁止前轉(zhuǎn)此請求。相反,對丁 OPTION剖REGI

50、STERS式的請求來說,它(接收者)必 須將自己作為最終的接收者來作出響應。對丁其他的方式,服務器應返回483(Too many hops) 響應。如果接收到的Max-Forwards域值大丁 0,那么前轉(zhuǎn)的請求中的 Max-Forwards域 的值必須應減14 response-header 類:為響應頭域,只可用丁響應消息,它用來傳遞有關(guān)響應的附加信息,對響應進行補充說明,如有關(guān)服務器的信息和需要作出的下一步動作的提示等;允許服務器發(fā)送關(guān)丁響應的無法放在 Status-Line中的其他信息。這些頭域給出了關(guān)丁服 務器和關(guān)丁進一步訪問由Request-URL指示的資源的信息。響應頭域的擴展與

51、通 用頭域相同。4.1 Proxy-AuthenticateProxy-Authorization請求頭域允許客戶向要求驗證的代理來鑒別自己。Proxy-Authorization 頭域的值由信任組成,此信任包含了用戶代理向代理提供 的驗證信息和/或被申請的資源領(lǐng)域(realm of the resource requested )。Proxy-Authorization = "Proxy-Authorization" ":" credentials與 Authorization 不同,Proxy-Authorization頭域只應用丁使用Proxy-A

52、uthenticate域要求驗證的下一個輸出的代理。當有多個代理時,Proxy-Authorization頭域被接受信任的第一個輸出代理所使用。一個代理可以將信任從客戶請求通過中繼傳到下一個代理,這種方式可以作為一種代理之間合作驗證一個給定請求的機制。4.2 WWW-AuthenticateWWWuthenticate= ” WW-Authenticate ” ” :” pgp” pgp-challenge pgp-challenge=*( “;” pgp-params) pgp-params=realm | pap-version | pgp-algotithm | nonce realm=

53、 ” realm” ” =” realm -valuerealm-value=quoted-stringpgp- version= ” version ” ” =” < ” >digit*(“. ” digit)*letter< ” >pgp-algorithm= ” algorithm ” ” =” ( “md5 | ” sha1” | token ) nonce= nonce = nonce -value nonce-value=quoted-stringrealm :顯示給用戶的一個字符申,以使用戶知道使用哪一個身份。此字符申應 該至少包含執(zhí)行驗證的主機名,也可以

54、另外表示可能接入的用戶的收集。一個例子是 “ Users with call - out privileges ”pgp-algotithm :此參數(shù)的值表明了用丁產(chǎn)生標識(信號)的PGP?肖息完整性檢驗方法(MIC)。默認為“md5。"md5表示MD5僉驗碼,“sha1 ”表示SHA.1 算法。pgp-version : PGP勺版本,客戶必須使用。通常的值時“ 2.6.2 ”和“5.0”, 默認為5.0。nonce: 一個經(jīng)過說明的服務器數(shù)據(jù)申,每當產(chǎn)生一個 401響應時,此數(shù)據(jù)申便 被唯一產(chǎn)生。建議使用base64或者十六進制的數(shù)據(jù)申。此nonce的內(nèi)容是獨立 實現(xiàn)的。其實現(xiàn)的

55、質(zhì)量依賴丁一個好的機會。因為nonce只用丁阻止重新的侵入, 所以對丁服務器就方便來說,單元中的一個時間標記就已足夠。由丁在呼叫建立 周期中的重新侵入只有有限的作用,所以幾秒鐘的時間標記通常應該是足夠的, 在此情況下,服務器并不保留此 nonce的記錄。4.3 Retry-AfterRetry-After 頭域用在503 (Service Unavailable )響應中,向提出申請的客戶 指示,此服務預計多長時間無效。用在 404 (Not Found ) ,600(Busy)和603(Decline )響應中,指示被叫方多長時間內(nèi)再次有效。此域的值可以是SIP-date 和以秒為單位的整數(shù)值。REGISTER求用 “Contact:*; expires:0”刪除登記時可以使用 Retry-After頭域。此時,Retry-After域值指示用戶多長時間內(nèi)可以再次可達。注冊服務器 器對未來的呼叫作出響應時可以包含此消息。可以使用一個commend項來指示關(guān)丁重新呼叫的其他消息?!?duration ”選項參數(shù)指示從有效的初始時間開始,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論