專(zhuān)利名稱(chēng):一種呼叫ip多媒體子系統(tǒng)的用戶(hù)終端的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通信技術(shù),尤其涉及一種呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法。
背景技術(shù):
在IMS(IP多媒體子系統(tǒng))網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE(用戶(hù)終端)做被叫時(shí),被叫網(wǎng)絡(luò)的I-CSCF(查詢(xún)CSCF(呼叫會(huì)話控制功能模塊))將通過(guò)Cx-Location-Query命令向HSS(歸屬用戶(hù)服務(wù)器)查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED(未注冊(cè))狀態(tài)或者相關(guān)的ID(身份標(biāo)識(shí))(如與該IMS用戶(hù)共用同一號(hào)碼的用戶(hù)終端)已注冊(cè)或者相關(guān)的ID(如與該IMS用戶(hù)共用同一號(hào)碼的用戶(hù)終端)處于UNREGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF,I-CSCF將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED(非注冊(cè))狀態(tài)并且相關(guān)的ID(如與該IMS用戶(hù)共用同一號(hào)碼的用戶(hù)終端)也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回該IMS用戶(hù)要求的S-CSCF能力集,I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
在現(xiàn)有技術(shù)中,由于I-CSCF可以作為沒(méi)有狀態(tài)的代理,即I-CSCF發(fā)出SIP消息時(shí),不會(huì)等待該消息的響應(yīng),因此會(huì)導(dǎo)致如下缺點(diǎn)當(dāng)S-CSCF轉(zhuǎn)發(fā)SIP請(qǐng)求或處理IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)時(shí),如果該S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有響應(yīng),將會(huì)導(dǎo)致會(huì)話超時(shí),使主叫側(cè)的SIP請(qǐng)求將因超時(shí)而失敗(可能造成呼損)。
當(dāng)被叫IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID已注冊(cè)或者相關(guān)的ID處于UNREGISTERED狀態(tài)時(shí),被叫IMS用戶(hù)的未注冊(cè)業(yè)務(wù)也將無(wú)法執(zhí)行,從而導(dǎo)致IMS網(wǎng)絡(luò)可能很長(zhǎng)時(shí)間都不能為該IMS用戶(hù)提供正確的業(yè)務(wù)(直到該S-CSCF恢復(fù)服務(wù)或被叫IMS用戶(hù)開(kāi)機(jī)以后成功注冊(cè)到其它正常的S-CSCF,IMS網(wǎng)絡(luò)才能為該IMS用戶(hù)提供正確的業(yè)務(wù),該過(guò)程可能持續(xù)很長(zhǎng)時(shí)間如幾小時(shí)、幾天甚至更長(zhǎng)時(shí)間)。
當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOTREGISTERED狀態(tài)時(shí),被叫IMS用戶(hù)的未注冊(cè)業(yè)務(wù)也將無(wú)法執(zhí)行。
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是提供一種呼叫IMS的用戶(hù)終端的方法。當(dāng)所選擇的S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有響應(yīng)時(shí),可選擇其它S-CSCF,從而提高了會(huì)話成功率,或類(lèi)似“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
本發(fā)明公開(kāi)了一種呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,包括查詢(xún)-呼叫會(huì)話控制功能模塊(I-CSCF)收到一個(gè)對(duì)于被叫用戶(hù)的初始請(qǐng)求,向歸屬用戶(hù)服務(wù)器(HSS)查詢(xún)被叫用戶(hù)的注冊(cè)位置;當(dāng)HSS的響應(yīng)包含部分身份標(biāo)識(shí)處于未注冊(cè)狀態(tài)并且所有身份標(biāo)識(shí)都不處于注冊(cè)狀態(tài)(DIAMETER_SOME_ID_UNREGISTERED),或等待處理未注冊(cè)業(yè)務(wù)(DIAMETER_UNREGISTERED_SERVICE)的指示時(shí),I-CSCF必須表現(xiàn)為有狀態(tài)的代理,I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求;并在S-CSCF沒(méi)有響應(yīng)時(shí)重新選擇另一個(gè)S-CSCF,然后向選擇的S-CSCF發(fā)送SIP請(qǐng)求。
所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中包含S-CSCF的URI時(shí),I-CSCF將SIP請(qǐng)求發(fā)送給該S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
重新選擇S-CSCF的步驟包括I-CSCF獲得該用戶(hù)終端所要求的S-CSCF能力集,并根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF。
所述的I-CSCF獲得該用戶(hù)終端所要求的S-CSCF能力集包括通過(guò)修改命令Cx-Location-Query或Cx-Select-Pull獲得該用戶(hù)終端所要求的S-CSCF能力集;所述的修改Cx-Location-Query命令是指在該命令中增加用戶(hù)位置查詢(xún)類(lèi)型AVP(User-Location-Type AVP)參數(shù);所述的修改Cx-Select-Pull是指將該命令的IMPI修改為有條件的。
所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中包含該用戶(hù)終端所要求的S-CSCF能力集時(shí),I-CSCF根據(jù)該用戶(hù)終端所要求的S-CSCF能力集選擇一個(gè)S-CSCF,然后將SIP請(qǐng)求發(fā)給選擇的S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求還包括I-CSCF保存HSS返回的該用戶(hù)終端的S-CSCF能力集。
重新選擇S-CSCF的步驟包括I-CSCF根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF。
所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中即不包含S-CSCF的URI,也不包含用戶(hù)終端所要求的S-CSCF能力集時(shí),I-CSCF任選一個(gè)S-CSCF以便將SIP請(qǐng)求發(fā)給該S-CSCF。
重新選擇S-CSCF的步驟包括I-CSCF任選一個(gè)S-CSCF以便將SIP請(qǐng)求發(fā)給該S-CSCF。
所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括在HSS向I-CSCF返回的響應(yīng)中還包含用戶(hù)終端所要求的S-CSCF能力集。
重新選擇S-CSCF的步驟包括I-CSCF根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF,然后將SIP請(qǐng)求發(fā)給選擇的S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
當(dāng)I-CSCF不能根據(jù)IMS用戶(hù)要求的能力集選擇一個(gè)S-CSCF時(shí),I-CSCF向用戶(hù)終端返回600,此后,若I-CSCF收到S-CSCF返回的SIP響應(yīng),不再轉(zhuǎn)發(fā)該SIP響應(yīng)。
因此,根據(jù)本發(fā)明,如果HSS返回的處理IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因,沒(méi)有返回響應(yīng),I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集重選其它的S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),重選的S-CSCF如果成功處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),可以避免主叫側(cè)的SIP請(qǐng)求將因超時(shí)而失敗,被叫IMS用戶(hù)的未注冊(cè)業(yè)務(wù)也將正確執(zhí)行,避免可能發(fā)生的長(zhǎng)時(shí)間不能為該IMS用戶(hù)提供正確業(yè)務(wù)的嚴(yán)重缺陷。
圖1示出了本發(fā)明的呼叫IMS用戶(hù)的流程圖;圖2示出了本發(fā)明實(shí)施例1的呼叫IMS用戶(hù)的信令圖;圖3示出了本發(fā)明替代方案3實(shí)施例的呼叫IMS用戶(hù)的信令圖;圖4示出了本發(fā)明替代方案6的呼叫IMS用戶(hù)的信令圖。
具體實(shí)施例方式
為了便于本領(lǐng)域一般技術(shù)人員理解和實(shí)現(xiàn)本發(fā)明,現(xiàn)結(jié)合附圖描繪本發(fā)明的實(shí)施例。
本發(fā)明的基本思想是,如圖1所示,在步驟11中,I-CSCF向HSS查詢(xún)被叫用戶(hù)的注冊(cè)位置;在步驟12中,I-CSCF保存HSS的響應(yīng),并根據(jù)HSS的響應(yīng)選擇S-CSCF,在步驟13中,I-CSCF向選擇的S-CSCF發(fā)送SIP請(qǐng)求;在步驟14中,I-CSCF判斷S-CSCF是否響應(yīng)超時(shí),若是,在步驟15中,I-CSCF重新選擇S-CSCF,在步驟17中,I-CSCF并向S-CSCF發(fā)送SIP請(qǐng)求,然后返回步驟14;否則,執(zhí)行步驟16I-CSCF等待S-CSCF的響應(yīng)。
實(shí)施例1在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,該I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài),或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)如Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)如Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
綜上所述,HSS可通過(guò)Diameter響應(yīng)消息返回響應(yīng)包括已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)的S-CSCF、被叫用戶(hù)要求的S-CSCF能力集或者為空。
當(dāng)I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理
I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,S-CSCF返回100臨時(shí)響應(yīng)(對(duì)于非會(huì)話SIP請(qǐng)求可選),由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)不包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF任選一個(gè)S-CSCF。
c)I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,S-CSCF返回100臨時(shí)響應(yīng)(對(duì)于非會(huì)話SIP請(qǐng)求可選),由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因在規(guī)定的時(shí)間沒(méi)有返回響應(yīng),這時(shí)因I-CSCF作為有狀態(tài)的代理,則進(jìn)行故障處理。下面描述故障處理過(guò)程,即I-CSCF首先檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1、如果保存過(guò),I-CSCF根據(jù)保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)S-CSCF。
2、如果沒(méi)有保存過(guò),I-CSCF檢查是否保存了DIAMETER_UNREGISTERED_SERVICE的的指示(1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
(2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Location-Query查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Location-Query命令不包含User-Location-Type AVP,I-CSCF無(wú)法指示HSS返回能力集,因此要求在Cx-Location-Query命令中增加User-Location-Type AVP,當(dāng)User-Location-Type為查詢(xún)能力集時(shí)HSS設(shè)置重選標(biāo)志和定時(shí)器,返回IMS用戶(hù)要求的S-CSCF能力集),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
當(dāng)I-CSCF選擇了S-CSCF后,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的注冊(cè)業(yè)務(wù)和/或未注冊(cè)業(yè)務(wù),或提供類(lèi)似“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF用用戶(hù)終端返回600響應(yīng)。此后,如果I-CSCF收到S-CSCF返回的SIP響應(yīng),I-CSCF忽略該SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),當(dāng)發(fā)現(xiàn)用戶(hù)沒(méi)有注冊(cè)時(shí),則S-CSCF通過(guò)Cx-Put命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF的URI,通過(guò)Cx-Pull命令獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,清除重選標(biāo)志,檢查S-CSCF URI,如果與已有的S-CSCFURI不同,HSS通過(guò)Cx-Deregister命令通知發(fā)送Cx-Put命令的S-CSCF注銷(xiāo)IMS用戶(hù)。發(fā)送Cx-Put命令的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不再轉(zhuǎn)發(fā)BYE請(qǐng)求。
下面結(jié)合附圖描述本發(fā)明的呼叫流程。如圖2所示。
步驟1、I-CSCF收到初始請(qǐng)求(邀請(qǐng))。
步驟2、I-CSCF通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置。
步驟3、HSS將查詢(xún)結(jié)果(如S-CSCF)返回給I-CSCF。
步驟4、I-CSCF將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF#1。
步驟5、I-CSCF沒(méi)有收到S-CSCF#1的響應(yīng)。
步驟6、S-CSCF#1通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟7、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟8、S-CSCF#1通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟9、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟10、I-CSCF通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)要求的S-CSCF能力集。
步驟11、HSS將Cx-Location-Query執(zhí)行結(jié)果返回給I-CSCF。
步驟12、I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇另一個(gè)滿(mǎn)足要求的S-CSCF,將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF#2。
步驟13、S-CSCF#2向I-CSCF返回100Trying響應(yīng)。
步驟14、S-CSCF#1返回響應(yīng),I-CSCF不得轉(zhuǎn)發(fā)該響應(yīng)。
步驟15、S-CSCF#2通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟16、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟17、S-CSCF#2通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟18、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟19、HSS通過(guò)Cx-Deregister命令通知S-CSCF#1注銷(xiāo)該IMS用戶(hù)。
步驟20、S-CSCF#1將Cx-Deregister命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟21、S-CSCF#2向I-CSCF返回183 Session Progress響應(yīng)。
步驟22、I-CSCF轉(zhuǎn)發(fā)183 Session Progress響應(yīng)。
步驟23、S-CSCF#1發(fā)起B(yǎng)YE請(qǐng)求,I-CSCF不得轉(zhuǎn)發(fā)該請(qǐng)求。
替代方案1在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF任選一個(gè)S-CSCF。
c)I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF檢查是否保存DIAMETER_UNREGISTERED_SERVICE的指示1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Location-Query查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Location-Query命令不包含User-Location-Type AVP,I-CSCF無(wú)法指示HSS返回能力集,因此要求在Cx-Location-Query命令中增加User-Location-TypeAVP,當(dāng)User-Location-Type為查詢(xún)能力集時(shí)HSS設(shè)置重選標(biāo)志和定時(shí)器,返回IMS用戶(hù)要求的S-CSCF能力集),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,清除重選標(biāo)志,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
替代方案2在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
III-如果響應(yīng)既不包含S-CSCF的URI,又不包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,任選一個(gè)S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF檢查是否保存DIAMETER_UNREGISTERED_SERVICE的指示1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Location-Query查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Location-Query命令不包含User-Location-Type AVP,I-CSCF無(wú)法指示HSS返回能力集,因此要求在Cx-Location-Query命令中增加User-Location-Type AVP,當(dāng)User-Location-Type為查詢(xún)能力集時(shí)HSS設(shè)置重選標(biāo)志和定時(shí)器,返回IMS用戶(hù)要求的S-CSCF能力集),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,清除重選標(biāo)志,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
替代方案3在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)不包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF任選一個(gè)S-CSCF。
c)I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF檢查是否保存了DIAMETER_UNREGISTERED_SERVICE的指示1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Select-Pull查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Select-Pull命令必選包含IMPI,而I-CSCF無(wú)法獲得IMPI,因此要求將Cx-Select-Pull命令中IMPI改為有條件的,當(dāng)User Authorization Type為查詢(xún)能力集時(shí)可以沒(méi)有IMPI),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
下面結(jié)合附圖描述本發(fā)明的呼叫流程。如圖3所示。
步驟301、I-CSCF收到初始請(qǐng)求(邀請(qǐng))。
步驟302、I-CSCF通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置。
步驟303、HSS將查詢(xún)結(jié)果(如S-CSCF)返回給I-CSCF。
步驟304、I-CSCF將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF#1。
步驟305、I-CSCF沒(méi)有收到S-CSCF#1的響應(yīng)。
步驟306、S-CSCF#1通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟307、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟308、S-CSCF#1通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟309、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟310、I-CSCF通過(guò)Cx-Select-Pull命令向HSS查詢(xún)?cè)揑MS用戶(hù)要求的S-CSCF能力集。
步驟311、HSS將Cx-Select-Pull執(zhí)行結(jié)果返回給I-CSCF。
步驟312、I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇另一個(gè)滿(mǎn)足要求的S-CSCF,將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF#2。
步驟313、S-CSCF#2向I-CSCF返回100Trying響應(yīng)。
步驟314、S-CSCF#1返回響應(yīng),I-CSCF不得轉(zhuǎn)發(fā)該響應(yīng)。
步驟315、S-CSCF#2通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟316、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟317、S-CSCF#2通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟318、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟319、HSS通過(guò)Cx-Deregister命令通知S-CSCF#1注銷(xiāo)該IMS用戶(hù)。
步驟320、S-CSCF#1將Cx-Deregister命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟321、S-CSCF#2向I-CSCF返回183 Session Progress響應(yīng)。
步驟322、I-CSCF轉(zhuǎn)發(fā)183Session Progress響應(yīng)。
步驟323、S-CSCF#1發(fā)起B(yǎng)YE請(qǐng)求,I-CSCF不得轉(zhuǎn)發(fā)該請(qǐng)求。
替代方案4在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含DIAMETER UNREGISTERED SERVICE的指示,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF任選一個(gè)S-CSCF。
c)I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF檢查是否保存DIAMETER_UNREGISTERED_SERVICE的指示
1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Select-Pull查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Select-Pull命令必選包含IMPI,而I-CSCF無(wú)法獲得IMPI,因此要求將Cx-Select-Pull命令中IMPI改為有條件的,當(dāng)User Authorization Type為查詢(xún)能力集時(shí)可以沒(méi)有IMPI),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
替代方案5在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
III-如果響應(yīng)既不包含S-CSCF的URI,又不包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF應(yīng)該保存DIAMETER_UNREGISTERED_SERVICE的指示,任選一個(gè)S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF檢查是否保存DIAMETER_UNREGISTERED_SERVICE的指示1)如果保存過(guò),I-CSCF任選一個(gè)S-CSCF。
2)如果沒(méi)有保存,I-CSCF通過(guò)Cx-Select-Pull查詢(xún)IMS用戶(hù)要求的S-CSCF能力集(但是因?yàn)镃x-Select-Pull命令必選包含IMPI,而I-CSCF無(wú)法獲得IMPI,因此要求將Cx-Select-Pull命令中IMPI改為有條件的,當(dāng)UserAuthorization Type為查詢(xún)能力集時(shí)可以沒(méi)有IMPI),根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
替代方案6在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF,同時(shí)返回IMS用戶(hù)要求的S-CSCF能力集。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集,如果存在,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)不包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集
a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF任選一個(gè)S-CSCF。
c)CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF任選一個(gè)S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
下面結(jié)合附圖描述本發(fā)明的呼叫流程。如圖4所示。
步驟401、I-CSCF收到初始請(qǐng)求(邀請(qǐng))。
步驟402、I-CSCF通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置。
步驟403、HSS將查詢(xún)結(jié)果(如S-CSCF)返回給I-CSCF。
步驟404、I-CSCF將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF#1。
步驟405、I-CSCF沒(méi)有收到S-CSCF#1的響應(yīng)。
步驟406、S-CSCF#1通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟407、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟408、S-CSCF#1通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟409、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟410、I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇另一個(gè)滿(mǎn)足要求的S-CSCF,將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF#2。
步驟411、S-CSCF#2向I-CSCF返回100Trying響應(yīng)。
步驟412、S-CSCF#1返回響應(yīng),I-CSCF不得轉(zhuǎn)發(fā)該響應(yīng)。
步驟413、S-CSCF#2通過(guò)Cx-Put命令將S-CSCF URI告知HSS。
步驟414、HSS將Cx-Put命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟415、S-CSCF#2通過(guò)Cx-Pull命令向HSS取用戶(hù)數(shù)據(jù)。
步驟416、HSS將Cx-Pull命令執(zhí)行結(jié)果返回給S-CSCF#2。
步驟417、HSS通過(guò)Cx-Deregister命令通知S-CSCF#1注銷(xiāo)該IMS用戶(hù)。
步驟418、S-CSCF#1將Cx-Deregister命令執(zhí)行結(jié)果返回給S-CSCF#1。
步驟419、S-CSCF#2向I-CSCF返回183 Session Progress響應(yīng)。
步驟420、I-CSCF轉(zhuǎn)發(fā)183 Session Progress響應(yīng)。
步驟421、S-CSCF#1發(fā)起B(yǎng)YE請(qǐng)求,I-CSCF不得轉(zhuǎn)發(fā)該請(qǐng)求。
替代方案7在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF,同時(shí)返回IMS用戶(hù)要求的S-CSCF能力集。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集,如果存在,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集a)如果包含,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
b)如果不包含,I-CSCF任選一個(gè)S-CSCF。
c)CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF任選一個(gè)S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
替代方案8在IMS網(wǎng)絡(luò)中,當(dāng)一個(gè)IMS用戶(hù)的UE做被叫,被叫網(wǎng)絡(luò)的I-CSCF收到初始請(qǐng)求后,I-CSCF將通過(guò)Cx-Location-Query命令向HSS查詢(xún)?cè)揑MS用戶(hù)的注冊(cè)位置(如果有多個(gè)HSS,I-CSCF將查詢(xún)SLF得到該IMS用戶(hù)所在的HSS)。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于UNREGISTERED狀態(tài)或者相關(guān)的ID處于UNREGISTERED狀態(tài)并且都不處于REGISTERED狀態(tài)時(shí),HSS通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_SOME_ID_UNREGISTERED的指示和處理該IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF,同時(shí)返回IMS用戶(hù)要求的S-CSCF能力集。
如果該IMS用戶(hù)簽約了未注冊(cè)業(yè)務(wù)(如轉(zhuǎn)語(yǔ)音郵箱等),當(dāng)該IMS用戶(hù)處于NOT REGISTERED狀態(tài)并且相關(guān)的ID也處于NOT REGISTERED狀態(tài)時(shí),HSS將通過(guò)Cx-Location-QueryResp命令向I-CSCF返回DIAMETER_UNREGISTERED_SERVICE的指示和該IMS用戶(hù)要求的S-CSCF能力集。
I-CSCF收到HSS返回的響應(yīng)后,檢查HSS的響應(yīng),如果響應(yīng)包含DIAMETER_SOME_ID_UNREGISTERED或DIAMETER_UNREGISTERED_SERVICE的指示,I-CSCF必須表現(xiàn)為有狀態(tài)的代理I-如果響應(yīng)包含S-CSCF的URI,I-CSCF應(yīng)該檢查響應(yīng)是否包含IMS用戶(hù)要求的S-CSCF能力集,如果存在,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給HSS返回的S-CSCF,由S-CSCF處理該IMS用戶(hù)的已注冊(cè)業(yè)務(wù)或未注冊(cè)業(yè)務(wù)。
II-如果響應(yīng)包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF應(yīng)該保存IMS用戶(hù)要求的S-CSCF能力集,根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
III-如果響應(yīng)既不包含S-CSCF的URI,又不包含IMS用戶(hù)要求的S-CSCF能力集,I-CSCF任選一個(gè)S-CSCF。I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù)。
如果S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因沒(méi)有返回響應(yīng),I-CSCF應(yīng)該檢查是否保存過(guò)IMS用戶(hù)要求的S-CSCF能力集1.如果保存過(guò),I-CSCF應(yīng)該根據(jù)前面保存的IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF。
2.如果沒(méi)有保存,I-CSCF任選一個(gè)S-CSCF。
I-CSCF執(zhí)行3GPP規(guī)范要求的處理后將SIP請(qǐng)求發(fā)送給這個(gè)選擇的S-CSCF,由該S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),提供類(lèi)似現(xiàn)網(wǎng)已有的“您呼叫的用戶(hù)暫時(shí)無(wú)法接通,請(qǐng)稍后再撥”的網(wǎng)絡(luò)提示。
如果I-CSCF不能根據(jù)IMS用戶(hù)要求的S-CSCF能力集選擇一個(gè)滿(mǎn)足要求的S-CSCF,I-CSCF應(yīng)該返回600響應(yīng)。
如果此后I-CSCF收到原來(lái)的S-CSCF返回的SIP響應(yīng),I-CSCF不能轉(zhuǎn)發(fā)SIP響應(yīng)。
S-CSCF收到I-CSCF發(fā)送的SIP請(qǐng)求后,檢查IMS用戶(hù)的注冊(cè)狀態(tài),發(fā)現(xiàn)沒(méi)有用戶(hù)數(shù)據(jù),通過(guò)Cx-Put、Cx-Pull命令向HSS告知IMS用戶(hù)的注冊(cè)狀態(tài)和S-CSCF URI,獲取用戶(hù)簽約數(shù)據(jù)。HSS收到S-CSCF發(fā)送的Cx-Put、Cx-Pull命令后,檢查S-CSCF URI,如果與已有的S-CSCF URI不同,HSS通過(guò)Cx-Deregister命令通知原來(lái)的S-CSCF注銷(xiāo)IMS用戶(hù),刪除用戶(hù)簽約數(shù)據(jù)。原來(lái)的S-CSCF收到HSS發(fā)送的Cx-Deregister命令,將注銷(xiāo)IMS用戶(hù),釋放該IMS用戶(hù)的所有會(huì)話,如果該S-CSCF此前收到了I-CSCF發(fā)送的SIP請(qǐng)求,此時(shí)將向I-CSCF發(fā)送BYE請(qǐng)求,I-CSCF收到BYE請(qǐng)求后,不能轉(zhuǎn)發(fā)BYE請(qǐng)求。
因此,根據(jù)本發(fā)明,如果HSS返回的處理IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因,沒(méi)有返回響應(yīng),I-CSCF根據(jù)IMS用戶(hù)要求的S-CSCF能力集重選其它的S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),重選的S-CSCF如果成功處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),可以避免主叫側(cè)的SIP請(qǐng)求將因超時(shí)而失敗,被叫IMS用戶(hù)的未注冊(cè)業(yè)務(wù)也將正確執(zhí)行,避免可能發(fā)生的長(zhǎng)時(shí)間不能為該IMS用戶(hù)提供正確業(yè)務(wù)的嚴(yán)重缺陷。
雖然通過(guò)實(shí)施例描繪了本發(fā)明,但本領(lǐng)域普通技術(shù)人員知道,在不脫離本發(fā)明的精神和實(shí)質(zhì)的情況下,就可使本發(fā)明有許多變形和變化,本發(fā)明的范圍由所附的權(quán)利要求來(lái)限定。
權(quán)利要求
1.一種呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,包括查詢(xún)-呼叫會(huì)話控制功能模塊(I-CSCF)收到一個(gè)對(duì)于被叫用戶(hù)的初始請(qǐng)求,向歸屬用戶(hù)服務(wù)器(HSS)查詢(xún)被叫用戶(hù)的注冊(cè)位置;當(dāng)HSS的響應(yīng)包含部分身份標(biāo)識(shí)處于未注冊(cè)狀態(tài)并且所有身份標(biāo)識(shí)都不處于注冊(cè)狀態(tài)(DIAMETER_SOME_ID_UNREGISTERED),或等待處理未注冊(cè)業(yè)務(wù)(DIAMETER_UNREGISTERED_SERVICE)的指示時(shí),I-CSCF表現(xiàn)為有狀態(tài)的代理,I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求;并在S-CSCF沒(méi)有響應(yīng)時(shí)重新選擇另一個(gè)S-CSCF,然后向選擇的S-CSCF發(fā)送SIP請(qǐng)求。
2.根據(jù)權(quán)利要求1所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中包含S-CSCF的URI時(shí),I-CSCF將SIP請(qǐng)求發(fā)送給該S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
3.根據(jù)權(quán)利要求2所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,重新選擇S-CSCF的步驟包括I-CSCF獲得該用戶(hù)終端所要求的S-CSCF能力集,并根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF。
4.根據(jù)權(quán)利要求3所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的I-CSCF獲得該用戶(hù)終端所要求的S-CSCF能力集包括通過(guò)修改命令Cx-Location-Query或Cx-Select-Pull獲得該用戶(hù)終端所要求的S-CSCF能力集;所述的修改Cx-Location-Query命令是指在該命令中增加用戶(hù)位置查詢(xún)類(lèi)型AVP(User-Location-Type AVP)參數(shù);所述的修改Cx-Select-Pull是指將該命令的IMPI修改為有條件的。
5.根據(jù)權(quán)利要求1所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中包含該用戶(hù)終端所要求的S-CSCF能力集時(shí),I-CSCF根據(jù)該用戶(hù)終端所要求的S-CSCF能力集選擇一個(gè)S-CSCF,然后將SIP請(qǐng)求發(fā)給選擇的S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
6.根據(jù)權(quán)利要求5所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求還包括I-CSCF保存HSS返回的該用戶(hù)終端的S-CSCF能力集。
7.根據(jù)權(quán)利要求5或6所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,重新選擇S-CSCF的步驟包括I-CSCF根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF。
8.根據(jù)權(quán)利要求1所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括當(dāng)HSS的響應(yīng)中即不包含S-CSCF的URI,也不包含用戶(hù)終端所要求的S-CSCF能力集時(shí),I-CSCF任選一個(gè)S-CSCF以便將SIP請(qǐng)求發(fā)給該S-CSCF。
9.根據(jù)權(quán)利要求8所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,重新選擇S-CSCF的步驟包括I-CSCF任選一個(gè)S-CSCF以便將SIP請(qǐng)求發(fā)給該S-CSCF。
10.根據(jù)權(quán)利要求2所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,所述的步驟I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求進(jìn)一步包括在HSS向I-CSCF返回的響應(yīng)中還包含用戶(hù)終端所要求的S-CSCF能力集。
11.根據(jù)權(quán)利要求10所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,重新選擇S-CSCF的步驟包括I-CSCF根據(jù)S-CSCF能力集選擇一個(gè)S-CSCF,然后將SIP請(qǐng)求發(fā)給選擇的S-CSCF,以便由該S-CSCF處理SIP請(qǐng)求。
12.根據(jù)權(quán)利要求1所述的呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,其特征在于,當(dāng)I-CSCF不能根據(jù)IMS用戶(hù)要求的能力集選擇一個(gè)S-CSCF時(shí),I-CSCF向用戶(hù)終端返回600,此后,若I-CSCF收到S-CSCF返回的SIP響應(yīng),不再轉(zhuǎn)發(fā)該SIP響應(yīng)。
全文摘要
本發(fā)明公開(kāi)了一種呼叫IP多媒體子系統(tǒng)的用戶(hù)終端的方法,包括查詢(xún)-呼叫會(huì)話控制功能模塊(I-CSCF)向歸屬用戶(hù)服務(wù)器(HSS)查詢(xún)被叫用戶(hù)的注冊(cè)位置;I-CSCF根據(jù)HSS的響應(yīng)向服務(wù)-呼叫會(huì)話控制功能模塊(S-CSCF)發(fā)送會(huì)話發(fā)起協(xié)議(SIP)請(qǐng)求;當(dāng)S-CSCF對(duì)I-CSCF發(fā)送的SIP請(qǐng)求的響應(yīng)超時(shí)時(shí),I-CSCF重新選擇S-CSCF,并向S-CSCF發(fā)送SIP請(qǐng)求。根據(jù)本發(fā)明,如果HSS返回的處理IMS用戶(hù)未注冊(cè)業(yè)務(wù)的S-CSCF因?yàn)樵O(shè)備故障或通信中斷等原因,沒(méi)有返回響應(yīng),I-CSCF可重選其它的S-CSCF處理該IMS用戶(hù)的未注冊(cè)業(yè)務(wù),從而可提高服務(wù)質(zhì)量,增加用戶(hù)的滿(mǎn)意度。
文檔編號(hào)H04L29/06GK1881975SQ20051011825
公開(kāi)日2006年12月20日 申請(qǐng)日期2005年10月21日 優(yōu)先權(quán)日2005年9月5日
發(fā)明者李昌林, 趙建國(guó), 朱奮勤 申請(qǐng)人:華為技術(shù)有限公司