DNS_SIP
1.SIP 中的DNS 過(guò)程1.1.SIP 消息涉及的DNS 過(guò)程SIP 消息涉及到的DNS 過(guò)程主要包括兩個(gè)方面:一方面是如何發(fā)送請(qǐng)求消息,發(fā)送方需要通過(guò)DNS 過(guò)程得到傳輸層協(xié)議類型,下一跳的IP
1.SIP 中的DNS 過(guò)程
1.1.SIP 消息涉及的DNS 過(guò)程
SIP 消息涉及到的DNS 過(guò)程主要包括兩個(gè)方面:一方面是如何發(fā)送請(qǐng)求消息,發(fā)送方需要通過(guò)DNS 過(guò)程得到傳輸層協(xié)議類型,下一跳的IP 地址和端口等信息;另一方面是如何返回響應(yīng)消息,需要決定上一跳的地址和端口,尤其是上一跳網(wǎng)元發(fā)生故障時(shí),如何返回響應(yīng)消息。
1.2. 如何發(fā)送SIP 請(qǐng)求消息
定義一個(gè)名為TARGET 的變量,如果URI 定義了maddr 參數(shù),TARGET 取值于該參數(shù),否則取值于URI 的hostport 部分。 第一步是決定使用哪種傳輸層協(xié)議發(fā)送請(qǐng)求消息,包括下列步驟: 1、?? 如果URI 定義了傳輸層協(xié)議,則使用該傳輸層協(xié)議,否則轉(zhuǎn)步驟2; 2、?? 如果TARGET 包含IP 地址,那么對(duì)于SIP URI使用UDP 協(xié)議,SIPS URI使用TCP 協(xié)議,否則轉(zhuǎn)步驟3;
3、?? 如果TARGET 包含了端口,那么對(duì)于SIP URI使用UDP 協(xié)議,SIPS URI使用TCP 協(xié)議,否則轉(zhuǎn)步驟4;
4、?? 使用TARGET 中的域名進(jìn)行NAPTR 查詢,如果NAPTR 返回的記錄為空轉(zhuǎn)步驟5,否則查看返回的記錄,記錄中的service 域一般取值為”XXX D2U”, X D2T”, XX D2S”, 其中XXX 表示服務(wù)名稱,可以是”SIP”或”SIPS”,D2U 表示使用UDP 協(xié)議,D2T 表示使用TCP 協(xié)議,D2S 表示使用SCTP 協(xié)議; 5、?? 根據(jù)RFC3261的傳輸準(zhǔn)則判斷是否需要使用某種強(qiáng)制協(xié)議,如果需要使用強(qiáng)制協(xié)議,則使用該強(qiáng)制協(xié)議,否則對(duì)于SIP URI使用UDP 協(xié)議,SIPS URI使用TCP 協(xié)議;
第二步是決定目標(biāo)的IP 地址和端口,包括下列步驟: 1、?? 如果TARGET 包含了IP 地址和端口,則使用該地址和端口,否則轉(zhuǎn)步驟2; 2、?? 如果TARGET 包含了IP 地址,則使用對(duì)應(yīng)傳輸協(xié)議的默認(rèn)端口,否則轉(zhuǎn)步驟3;
3、?? 如果TARGET 不包含IP 地址,但包含了端口,則使用A 或AAAA 查詢,獲得域名對(duì)應(yīng)的IP 地址,否則轉(zhuǎn)步驟4;
,4、?? 如果在第一大步的第四小步?jīng)]有進(jìn)行NAPTR 查詢,轉(zhuǎn)步驟5,則使用該查詢返回的記錄中的replacement 域中域名進(jìn)行SRV 查詢,然后轉(zhuǎn)步驟6;
5、?? 在TARGET 包含的域名加上_XXX._YYY.前綴(其中XXX 表示服務(wù)類型,可以取值sip 或sips ,YYY 表示傳輸類型,可以取值udp, tcp或sctp 等),然后使用加了前綴的域名進(jìn)行SRV 查詢,并轉(zhuǎn)步驟6;
6、?? 如果SRV 返回了記錄,記錄會(huì)包含端口和最新域名,然后對(duì)最新域名進(jìn)行A 或AAAA 查詢得到IP 地址,如果SRV 沒(méi)有返回記錄轉(zhuǎn)步驟7;
7、?? 直接對(duì)TARGET 中的域名使用A 或AAAA 查詢得到IP 地址,端口則根據(jù)傳輸協(xié)議使用默認(rèn)端口;
一個(gè)發(fā)送請(qǐng)求消息例子,下一跳消息的SIP URI為:sip:example.com,如下是向該網(wǎng)元發(fā)送SIP 請(qǐng)求消息的過(guò)程:
首先對(duì)域名example.com 進(jìn)行NAPTR 查詢,查詢的結(jié)果為:
order ??pref ??flags ??service???????? ??regexp ????????replacement
IN
NAPTR ??50 ??????50 ????"s" ????"SIPS D2T"?? ??"" ??????_sips._tcp.example.com. IN
NAPTR ??90 ??????50 ????"s" ????"SIP D2T"???? ??"" ??????_sip._tcp.example.com IN
NAPTR ??100 ????50 ????"s" ????"SIP D2U" ??????"" ??????_sip._udp.example.com. NAPTR 返回了多條記錄,根據(jù)order 和pref 的取值選擇了第一條記錄,flag 為s 表示下一步進(jìn)行SRV 查詢,service 為SIPS D2T表示使用TCP 作為傳輸層協(xié)議,同時(shí)使用sips 方式傳輸消息,replacement 表示使用_sips._tcp.example.com進(jìn)行獲取目標(biāo)網(wǎng)元的地址信息。
然后對(duì)域名_sips._tcp.example.com進(jìn)行SRV 查詢,查詢的結(jié)果為:
Priority ????Weight ??Port ????????Target
IN ??SRV ????0 ??????????????1 ????????5060 ??????server1.example.com IN ??SRV?? ??0 ??????????????2 ????????5060 ??????server2.example.com
,SRV 返回了兩條記錄,根據(jù)priority 和weight 選擇其中一條,假設(shè)選擇的是第一條,那么意味這目標(biāo)端口為5060,Target 包含了目標(biāo)網(wǎng)元的域名
server1.example.com 。
最后對(duì)域名server1.example.com 進(jìn)行A 或AAAA 查詢,得到目標(biāo)網(wǎng)元的IP 地址: IN AAAA 5F05:2000:80AD:5800:0058:0800:2023:1D71
1.3. 如何發(fā)送響應(yīng)消息 一般情況下,對(duì)于可靠的傳輸層協(xié)議,響應(yīng)消息在請(qǐng)求消息所在的連接上返回,對(duì)于非可靠的傳輸層協(xié)議,響應(yīng)消息通過(guò)發(fā)送請(qǐng)求消息的源IP 地址以及Via 中的端口返回。但是如果UAC 發(fā)送完請(qǐng)求消息后就發(fā)生了異常,UAS 應(yīng)當(dāng)如何返回響應(yīng)消息?具體包括如下過(guò)程:
1、?? 如果Top Via包含了IP 地址和端口,向該地址和端口返回響應(yīng)消息; 2、?? 如果Top Via包含了IP 地址,沒(méi)有包含端口,使用傳輸層協(xié)議的默認(rèn)端口返回響應(yīng)消息;
3、?? 如果Top Via包含了域名和端口,使用A 或AAAA 查詢,獲得IP 地址列表,然后試圖向列表中的每一個(gè)IP 地址發(fā)送響應(yīng)消息,只到有一個(gè)發(fā)送成功為止; 4、?? 如果Top Via包含了域名,沒(méi)有包含端口,使用SRV 查詢,獲得端口和新域名,對(duì)新域名的處理和步驟3類似;
2.IMS 中的DNS 過(guò)程 IMS 中的DNS 過(guò)程也可以分為兩類:一類是IMS 中的SIP 實(shí)體基于SIP URI的DNS 查詢,例如主叫側(cè)S-CSCF 需要獲得被叫網(wǎng)絡(luò)中的I-CSCF ,其過(guò)程采用SIP 定義的DNS 過(guò)程;另一類是基于TEL URI的DNS 查詢。
2.1. 基于SIP URI的DNS 查詢
基于SIP URI的查詢采用SIP 定義的DNS 過(guò)程(RFC3261, RFC3263),一般為NAPTR 查詢,SRV 查詢,最后是A 或AAAA 查詢。整個(gè)過(guò)程涉及多次DNS 查詢,可能造成會(huì)話建立時(shí)間過(guò)長(zhǎng),為此有兩種方法可以解決這個(gè)問(wèn)題。第一種方法,DNS 服務(wù)器猜測(cè)用戶可能會(huì)進(jìn)行的DNS 查詢,然后返回所有這些可能的查詢,例如用戶進(jìn)行了NAPTR 查詢后,DNS 服務(wù)器不僅返回NAPTR 查詢的結(jié)果,還會(huì)返回相關(guān)的SRV 以及AAAA 的記錄。第二種方法是用戶將查詢結(jié)果緩存一段時(shí)間,在這段時(shí)間以內(nèi),如果再次查詢?cè)撚蛎?,可以直接使用相關(guān)記錄。
,2.2. 基于TEL URI的DNS 查詢
IMS 中的tel 號(hào)碼有兩種情況:一種情況是tel 號(hào)碼對(duì)應(yīng)于IMS 網(wǎng)絡(luò)中的一個(gè)用戶;另外一種情況是tel 號(hào)碼對(duì)應(yīng)于非IMS 網(wǎng)絡(luò)中的用戶,如PSTN 用戶、GSM 用戶等。后一種情況比較簡(jiǎn)單,只需要將對(duì)應(yīng)的SIP 消息轉(zhuǎn)發(fā)給BGCF 來(lái)處理即可。而對(duì)于前一種情況則需要將TEL URI轉(zhuǎn)換成SIP URI,因?yàn)橹挥蠸IP URI才可以在IMS 網(wǎng)絡(luò)中路由。
RFC2916講述了將TEL URI轉(zhuǎn)換為SIP URI的方法,即通過(guò)NAPTR 查詢來(lái)獲得這種轉(zhuǎn)換,具體步驟為:
1、?? 將TEL 號(hào)碼按照E.164格式表達(dá)成全號(hào)碼(包括國(guó)家碼);
2、?? 去除首部” ”之外的所有其他非數(shù)字字符;
3、?? 去除首部的” ”;
4、?? 在數(shù)字字符之間加上”.”號(hào);
5、?? 將數(shù)字字符串順序反轉(zhuǎn);
6、?? 在字符串后面加上后綴”e164.arpa”;
7、?? 將字符串作為域名,進(jìn)行NAPTR 查詢;
8、?? 根據(jù)查詢返回的記錄得到對(duì)應(yīng)SIP URI;
下面以一個(gè)例子來(lái)講述整個(gè)過(guò)程,假設(shè)號(hào)碼為 46-8-9761234,具體轉(zhuǎn)換過(guò)程為: 首先去除所有非數(shù)字字符,得到”4689761234”;
其次加上”.”號(hào),得到”4.6.8.9.7.6.1.2.3.4”;
再次進(jìn)行反轉(zhuǎn),得到”4.3.2.1.6.7.9.8.6.4”;
再次加上后綴,得到” 4.3.2.1.6.7.9.8.6.4.e164.arpa”;
最后對(duì)域名” 4.3.2.1.6.7.9.8.6.4.e164.arpa”進(jìn)行NAPTR 查詢,得到如下記錄:
order ??pref ??flags ??service???????? ????????????regexp ?????????????
???????????replacement
,??IN
NAPTR ??100 ????10 ????"u" ??"sip E2U"?????? ??"!^.*$!sip:info@tele2.se!"???????? . ??IN
NAPTR ??102 ????10 ????"u" ??"mailto E2U" ??"!^.*$!mailto:info@tele2.se!" ????. NAPTR 返回了兩條記錄,order 和prefer 表達(dá)記錄的使用偏好,flags 為”u”,表示regexp 域給出了替代規(guī)則,根據(jù)該規(guī)則和原來(lái)的域名可以得出一個(gè)滿足
absoluteURI 的URI(RFC2396)。Service 給出記錄對(duì)應(yīng)的協(xié)議和服務(wù),”sip”表示轉(zhuǎn)換出的URI 用于SIP 協(xié)議,”mailto”表示轉(zhuǎn)換出的URI 用于mail 協(xié)議,”E2U”表示e.164 to URI服務(wù)。
本例是IMS 中的TEL 到SIP 轉(zhuǎn)換,所有使用第一條記錄,得到最終的SIP URI,即sip:info@tele2.se。
3.DNS 的基本概念
3.1.DNS 的授權(quán)
網(wǎng)絡(luò)信息中心NIC 負(fù)責(zé)分配頂極域和委派其他指定地區(qū)域的授權(quán)機(jī)構(gòu)。一個(gè)獨(dú)立管理的DNS 子樹稱為一個(gè)區(qū)域,許多二極域?qū)⑺麄兊淖佑騽澐譃楦〉膮^(qū)域。當(dāng)一個(gè)系統(tǒng)加入到一個(gè)區(qū)域中時(shí),該區(qū)域的DNS 管理者為該新系統(tǒng)申請(qǐng)一個(gè)域名和一個(gè)IP 地址,并將他們加入到名字服務(wù)器的數(shù)據(jù)庫(kù)中。一個(gè)名字服務(wù)器負(fù)責(zé)一個(gè)或多個(gè)區(qū)域,一個(gè)區(qū)域的管理者必須為該區(qū)域提供一個(gè)主名字服務(wù)器和至少一個(gè)輔助名字服務(wù)器。每個(gè)主名字服務(wù)器都必須知道根名字服務(wù)器的IP 地址,根服務(wù)器必須知道所有二極域中每個(gè)授權(quán)名字服務(wù)器的名字和IP 地址。常見的頂級(jí)域:com 用于商業(yè)組織,edu 用于教育機(jī)構(gòu),org 用于非贏利組織,net 用于計(jì)算機(jī)網(wǎng)絡(luò)組織,gov 用于美國(guó)政府組織。
下面以一個(gè)例子講述DNS 的查找過(guò)程,假設(shè)Web 瀏覽器訪問(wèn)
“msdn.microsoft.com ”站點(diǎn),它會(huì)通過(guò)以下步驟來(lái)解析該域名的 IP 地址: 1、?? 瀏覽器調(diào)用 DNS 客戶端(稱為解析器),并使用上次查詢緩存的信息在本地解析該查詢;
2、?? 如果在本地?zé)o法解析查詢,客戶端就會(huì)向已知的 DNS 服務(wù)器詢問(wèn),如果該 DNS 服務(wù)器曾經(jīng)在特定的時(shí)間段內(nèi)處理過(guò)相同的域名(“msdn.microsoft.com “)請(qǐng)求,它就會(huì)在緩存中檢索相應(yīng)的 IP 地址,并將它返回給客戶端; 3、?? 如果該 DNS 服務(wù)器找不到相應(yīng)的地址,客戶端就會(huì)向某個(gè)全局根 DNS 服務(wù)器詢問(wèn),后者返回頂級(jí)域權(quán)威 DNS 服務(wù)器的指針,在這種情況下,“com ”域權(quán)威服務(wù)器的 IP 地址將返回給客戶端;
,4、?? 客戶端向“com ”服務(wù)器詢問(wèn)“microsoft.com ”服務(wù)器的地址;
5、?? 客戶端將原始查詢傳到“microsoft.com ”服務(wù)器,因?yàn)椤癿icrosoft.com ”服務(wù)器在本地維護(hù)“msdn.microsoft.com ”域的權(quán)威記錄,所以它將最終結(jié)果返回給客戶端,并完成特定 IP 地址的查詢; 注意,可以將 DNS 資源記錄緩存到網(wǎng)絡(luò)上任意數(shù)量的 DNS 服務(wù)器中。第 2 步中提到的 DNS 服務(wù)器可能不包含“msdn.microsoft.com ”緩存記錄。但是,它可能有“microsoft.com ”的記錄,更可能有“com ”域的記錄。這可省去客戶端獲得最終結(jié)果所需的一次或幾次查詢,從而加快了整個(gè)搜索過(guò)程。
3.2.DNS 查詢報(bào)文中的問(wèn)題部分
查詢報(bào)文由多個(gè)問(wèn)題部分組成,每個(gè)問(wèn)題代表一個(gè)查詢,其包括查詢名、查詢類型和查詢類。查詢名是指要查找的名字,它是一個(gè)或多個(gè)標(biāo)識(shí)符的序列。每個(gè)標(biāo)識(shí)符以首字節(jié)的計(jì)數(shù)值來(lái)說(shuō)明隨后標(biāo)識(shí)符的字節(jié)長(zhǎng)度,每個(gè)名字以最后字節(jié)為0結(jié)束,長(zhǎng)度為0的標(biāo)識(shí)符是根標(biāo)識(shí)符。計(jì)數(shù)字節(jié)的值必須為0-63,因?yàn)闃?biāo)識(shí)符的最大長(zhǎng)度僅為63。該字段無(wú)需以整32為為邊界,即無(wú)需填充字節(jié),例如
gemini.tuc.noao.edu 的存儲(chǔ)格式為6gemini3tuc4noao3edu0。查詢類型描述查詢哪個(gè)方面的問(wèn)題,最常見的查詢類型是A 類型(值為1),表示期望獲得查詢名的IP 地址,PTR 查詢(值為12)則請(qǐng)求獲得一個(gè)IP 地址對(duì)應(yīng)的域名。查詢類一般是1,指互聯(lián)網(wǎng)地址。
3.3. 資源記錄RR
查詢結(jié)果通過(guò)資源記錄的方式返回,名字服務(wù)器返回的資源記錄可以是回答RR 、授權(quán)RR 和附加信息RR 。RR 記錄中的類型字段給出該記錄所包含的信息: 1、?? A ,一個(gè)A 記錄定義了一個(gè)IP 地址;
2、?? PTR ,指針記錄用于指針查詢,IP 地址被看作是noao.edu 域下的一個(gè)域名; 3、?? CNAME ,表示規(guī)范名字,用來(lái)表示一個(gè)域名,而有規(guī)范名字的域名通常叫做別名,某些FTP 服務(wù)器使用它向其他的系統(tǒng)提供一個(gè)易于記憶的別名; 4、?? HINFO ,表示主機(jī)信息,包括說(shuō)明主機(jī)CPU 和操作系統(tǒng)的兩個(gè)字符串; 5、?? MX ,郵件交換記錄,例如可以表達(dá)如果有郵件要發(fā)往use@foo.com,就將郵件發(fā)送到relay1.uu.net 這樣的信息。
6、?? NS ,名字服務(wù)器記錄,其說(shuō)明一個(gè)域的授權(quán)名字服務(wù)器,它由域名表示。
,3.4. 使用UDP 還是TCP
DNS 同時(shí)支持UDP 和TCP ,端口號(hào)都是53。當(dāng)查詢請(qǐng)求的響應(yīng)消息長(zhǎng)度超過(guò)512個(gè)字節(jié)時(shí),UDP 僅返回前512個(gè)字節(jié),這時(shí)名字解析器通常使用TCP 重發(fā)原來(lái)的查詢請(qǐng)求。既然DNS 主要使用UDP ,因此好的重傳和超時(shí)機(jī)制就比較重要了。
4.DNS NAPTR資源記錄
DNS NAPTR資源記錄的功能是能夠?qū)⒃瓉?lái)的域名映射成一個(gè)新的域名或者
URI(Uniform Resource Identifier),并通過(guò)flag 域來(lái)指定這些新域名或URI 在后繼操作中的使用方法。下面通過(guò)一個(gè)例子來(lái)講述NAPTR 記錄各字段的含義:
order ??pref ??flags ??service???????? ????????????regexp ???????
?????????????????replacement
??IN
NAPTR ??100 ????10 ????"u" ??"sip E2U"?????? ??"!^.*$!sip:info@tele2.se!"???????? . ●???????????????? order , 給出處理的順序,按照oder 從小到大的順序?qū)τ涗浰阉?,搜?/p>
到匹配的記錄后,就停止搜索order 值更大的記錄;
●???????????????? preference , 給出在同一個(gè)order 下各記錄的偏好(或權(quán)重),值越小偏
好越高,pref 和order 的不同之處在于,order 具有唯一性,用戶只可以處理某一個(gè)order 值,而pref 表達(dá)的是偏好,用戶可以對(duì)多個(gè)不同pref 進(jìn)行綜合考慮;
●???????????????? flags , 為[A-Z0-9]中的一個(gè)字符,表達(dá)映射關(guān)系及記錄本身的含義,目
前有”U”,”S”,”A”和”P”四個(gè)標(biāo)志,其中”U”,”S”和”A”是終結(jié)標(biāo)志,即下一步不需要再進(jìn)行NAPTR 查詢,”A”表示下一步進(jìn)行A ,AAAA 或者A6查詢,”U”表示下一步不需要DNS 查詢,本次輸出的是滿足RFC2396要求的
absoluteURI ,”S”表示下一步進(jìn)行SRV 查詢,”P”表示由用戶根據(jù)service 定義自己的規(guī)則,所以既可以是終結(jié)標(biāo)志,也可以是非終結(jié)標(biāo)志,如果flags 為空(即什么字符也沒(méi)有) ,表示用戶需要根據(jù)本次輸出,再進(jìn)行一次NAPTR 查詢;
●???????????????? service , 給出新目標(biāo)(即映射后的新域名或URI) 上的服務(wù),以及和該服
務(wù)交互所使用的協(xié)議,其形式為[protocol]*(“ ” service),如果flags 中的標(biāo)志為終結(jié)標(biāo)志時(shí),protocol 就必須填寫;
●???????????????? regexp , 給出根據(jù)原域名生成新域名或URI 的規(guī)則;
,●???????????????? replacement, 包含一個(gè)域名,根據(jù)flags 給出進(jìn)行下一次NAPTR 、
SRV 、A 或者AAAA 查詢所需要的域名,一般情況下,regexp 和replacement 兩者用其一;
5.DNS SRV 資源記錄
DNS SRV資源記錄用于給出在某域中實(shí)現(xiàn)某種服務(wù)和協(xié)議的服務(wù)器地址列表。假設(shè)我們需要得到example.com 域中支持TCP 協(xié)議的SIP 服務(wù)器,這時(shí)就可以對(duì)_sip._tcp.example.com域進(jìn)行DNS SRV查詢,假設(shè)DNS SRV返回如下記錄:
Priority ????Weight ??Port ????????Target
IN ??SRV ????0 ??????????????1 ????????5060 ??????icscf1.example.com IN ??SRV?? ??0 ??????????????2 ????????5060 ??????icscf2.example.com
這樣就可以得到example.com 域中支持TCP 方式的兩個(gè)SIP 服務(wù)器。下面對(duì)SRV 記錄中的幾個(gè)域解釋一下:
●???????????????? priority , 給出處理的順序,按照priority 從小到大的順序?qū)τ涗浰阉鳎?/p>
搜索到匹配的記錄后,就停止搜索priority 值更大的記錄,對(duì)于擁有相同priority 的記錄將通過(guò)weight 再次選擇;
●???????????????? weight , 對(duì)于擁有相同priority 的多條記錄,weight 給出了選擇某條記錄
的幾率,值越大,被選中的概率就越大,合理的取值范圍為0-65535; ●???????????????? port , 目標(biāo)機(jī)器提供對(duì)應(yīng)服務(wù)的端口;
●???????????????? target , 目標(biāo)機(jī)器的域名;
下面再用一個(gè)例子來(lái)介紹一下怎樣通過(guò)weight 來(lái)選擇擁有相同priority 的多條記錄,假設(shè)有四條記錄A ,B ,C ,D ,其weight 分別為120,70,95,0,其過(guò)程如下:
1. ???????????????? 將weight 為0的記錄排在最前面,其他記錄順序任意,那么現(xiàn)在的
順序可以是DABC ;
2. ???????????????? 每一個(gè)記錄取一個(gè)加權(quán)值,該值等于前面所有記錄(包括自己) 的
weight 總和,那么D 為0,A 為120,B 為190,C 為285;
3. ???????????????? 再計(jì)算出所有weight 的總和,120 70 95 0=285,并隨機(jī)出一個(gè)在
0到285之間(包括0和285) 的隨機(jī)數(shù);
,4. ???????????????? 將隨機(jī)值按照DABC 的順序和各加權(quán)值比較,當(dāng)出現(xiàn)隨機(jī)值小于
等于加權(quán)值時(shí)停止比較,該加權(quán)值所對(duì)應(yīng)的記錄就為本次選中的記錄; 通過(guò)上述方法可以選出一條可用的記錄,如果還需要再選出一條,可以將選出的記錄從列表中刪去,然后再按步驟2到步驟4進(jìn)行一次即可。
6. 相關(guān)RFC 文檔
RFC3263, Session Initial Protocol: Locating SIP Servers, 講述SIP 傳輸層的相關(guān)細(xì)節(jié);
RFC2916, E.164 number and DNS , 講述如何通過(guò)NAPTR 比較完整易懂的, 樓主可以參考一下本論壇的資料 【經(jīng)典書籍】IMS :移動(dòng)領(lǐng)域的IP 多媒體概念和服務(wù)(P45) ; 其英文版本 The.IMS.IP.Multimedia.Concepts.and.Services.in.the.Mobile.Domain ,一定會(huì)有自己的理解. 其他地方搜集的: " 第一次注冊(cè)的用戶, 往往還沒(méi)有一個(gè)S-CSCF 被分配給該用戶, 于是HSS 送回一組S-CSCF 能力......I-CSCF 必須有一個(gè)能工作于歸屬網(wǎng)絡(luò)的S-CSCF 配置表, 并執(zhí)行一個(gè)給予S-CSCF 能力的S-CSCF 選擇程序, 這些在Diameter(UAA)消息中的能力由HSS 回送給I-CSCF. 這些能力被分成:必選的能力(整數(shù)), 可選的能力(整數(shù)),S-CSCF 的名字(SIP URI).前兩者用一個(gè)整數(shù)代表, 只在一個(gè)特定歸屬網(wǎng)絡(luò)有其語(yǔ)義. 例如, 該運(yùn)營(yíng)商A 分配能力1給S-CSCF, 提供一個(gè)詳細(xì)的付費(fèi)信息, 而能力2則指明在S-CSCF 支持SIP 呼叫優(yōu)先. 于是該運(yùn)營(yíng)商可以在HSS 配置該用戶數(shù)據(jù), 指出:對(duì)于該特定用戶,S-CSCF 必須能夠支持能力2, 選用能力1." [ 本帖最后由 yakirsai 于 2007-2-5 01:53 編輯 ]