專利名稱:基于會話發(fā)起協(xié)議的訂閱方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù),特別涉及基于會話發(fā)起協(xié)議的訂閱方法。
背景技術(shù):
會話發(fā)起協(xié)議(Session Initation Protocol,簡稱“SIP”)是因特網(wǎng)工程任務(wù)組(IETF)于1999年3月發(fā)布的“一種在網(wǎng)上傳送話音(VoIP)的標(biāo)準(zhǔn)”。
SIP是一信令協(xié)議,用于初始化、管理和終止分組網(wǎng)絡(luò)中的語音和視頻會話,具體地說就是用來生成、修改和終結(jié)一個或多個參與者之間的會話。SIP是IETF多媒體數(shù)據(jù)和控制體系結(jié)構(gòu)的一個組成部分,因此它與IETF的許多其他協(xié)議都有聯(lián)系,例如實時傳輸協(xié)議(RealTime Transfer Protocol,簡稱“RTP”)、會話描述協(xié)議(Session Description Protocol,簡稱“SDP”)等。
SIP主要提供了與會話建立和終結(jié)相關(guān)的五個方面功能,它們是(1)用戶定位用于通信的終端系統(tǒng)的決定;(2)用戶可用性被呼叫方參與通信的意愿的決定;(3)用戶能力使用的媒體和媒體參數(shù)的決定;(4)會話建立“振鈴”,呼叫和被呼叫方會話參數(shù)的建立;(5)會話管理包括轉(zhuǎn)移和終結(jié)會話,修改會話參數(shù),以及調(diào)用業(yè)務(wù)等。
SIP有兩種類型的消息,它們是(1)請求從客戶機(jī)發(fā)到服務(wù)器的消息。(2)響應(yīng)從服務(wù)器發(fā)到客戶機(jī)的消息。
每條SIP消息由以下三部分組成(1)起始行(Start Line)每個SIP消息由起始行開始。起始行傳達(dá)消息類型(在請求中是方法類型,在響應(yīng)中是響應(yīng)代碼)與協(xié)議版本。起始行可以是一請求行(請求)或狀態(tài)行(響應(yīng))。
(2)SIP頭用來傳遞消息屬性和修改消息意義。它們在語法和語義上與HTTP頭域相同(實際上有些頭就是借自HTTP),并且總是保持格式<名字><值>。
(3)消息體用于描述被初始的會話(例如,在多媒體會話中包括音頻和視頻編碼類型,采樣率等)。消息體能夠顯示在請求與響應(yīng)中。SIP清晰區(qū)別了在SIP起始行和頭中傳遞的信令信息與在SIP范圍之外的會話描述信息??赡艿南Ⅲw類型就包括本文將要描述的SDP會話描述協(xié)議。
自1999年至今,SIP基礎(chǔ)協(xié)議已從最初的RFC 2543發(fā)展到了現(xiàn)在的RFC3261,協(xié)議內(nèi)容得到了很大的擴(kuò)充,其描述的信令框架也更加完善。人們已不再滿足于使用SIP完成基本的呼叫控制,更多的是關(guān)注如何利用SIP靈活實現(xiàn)增值業(yè)務(wù)。
值得一提的是,在SIP協(xié)議中給出了一種SUBSCRIBE/NOTIFY(訂閱/通知)的方法。其中,SUBSCRIBE方法用于訂閱,而NOTIFY方法用于傳遞一個事件的任何變化的通知。所謂事件通知就是,一個用戶或資源向其他資源發(fā)起訂閱,由于后者有前者感興趣的事件,之后前者會接收到有關(guān)該事件的狀態(tài)和任何變化的通知。圖1示出該過程的信令流程。如圖1所示,首先,步驟101訂閱者(Subscriber)向通知者(Notifier)發(fā)送一個訂閱(SUBSCRIBE)消息,請求訂閱感興趣的資源狀態(tài)。此處資源狀態(tài)是指用戶或設(shè)備終端的一系列的狀態(tài)信息,如用戶當(dāng)前的位置,用戶正在進(jìn)行的活動,終端的電量等。
接著,在步驟102如果通知者(Notifier)需要對訂閱者(Subscriber)的訂閱請求進(jìn)行策略控制,則向訂閱者(Subscriber)發(fā)送“202OK”響應(yīng),否則向訂閱者(Subscriber)發(fā)送一個“200OK”響應(yīng)。策略控制的具體操作有許多種,一種典型的策略控制如下用戶設(shè)備A作為訂閱者向通知者訂閱用戶設(shè)備B的狀態(tài),通知者如果根據(jù)本地的信息無法知道用戶設(shè)備B所支持的狀態(tài),則要與用戶設(shè)備B或其歸屬設(shè)備查詢其可支持的狀態(tài)。這個查詢的過程就是一種策略控制。這一過程可能是跨網(wǎng)絡(luò)的,可能會比較慢。為了使訂閱者可以及時得到反饋,需要在策略控制前向訂閱者回復(fù)一個“202OK”響應(yīng)。
此后,在步驟103,通知者(Notifier)向訂閱者(Subscriber)發(fā)送一個NOTIFY(通知)消息,在NOTIFY消息的消息體中攜帶訂閱者(Subscriber)所訂閱的資源狀態(tài)的內(nèi)容信息;步驟104訂閱者(Subscriber)收到NOTIFY消息后,向通知者(Notifier)發(fā)送一個“200OK”響應(yīng),表示成功接收了NOTIFY消息。
如上所述,SIP消息由起始行、SIP頭以及消息體組成,圖1所示流程中的NOTIFY消息的格式如圖2所示。
根據(jù)SIP的擴(kuò)展協(xié)議,允許通知者(Notifier)對訂閱者(Subscriber)所請求訂閱的資源狀態(tài)進(jìn)行策略控制,即根據(jù)用戶設(shè)置的條件,限制資源狀態(tài)是否允許被訂閱。在這種情況下,對于不同的訂閱者(Subscriber),Notifier允許其訂閱不同的資源狀態(tài),此時可能出現(xiàn)Subscriber訂閱的資源狀態(tài)中只有一部分才能得到許可,對于這種情況如何告訴Subscriber,目前協(xié)議中沒有給出一個解決方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種基于會話發(fā)起協(xié)議的訂閱方法,使得訂閱者可以獲知所訂閱的資源狀態(tài)被部分允許的情況。
為實現(xiàn)上述目的,本發(fā)明提供了一種基于會話發(fā)起協(xié)議的訂閱方法,至少包含以下步驟A通知者向訂閱者發(fā)送包含有第一信息的第一消息,B所述訂閱者收到所述第一消息后,從所述第一信息中直接獲取、或通過對所述第一信息的有限步運(yùn)算獲取所述通知者允許訂閱的全部資源狀態(tài)。
其中,所述第一消息是“NOTIFY”消息。
此外在所述方法中,在所述步驟A和B之后還包含以下步驟C所述訂閱者向所述通知者回應(yīng)“200OK”消息。
此外在所述方法中,首次訂閱時,在所述步驟A、B和C之前包含以下步驟所述訂閱者向所述通知者發(fā)送“SUBSCRIBE”消息,請求訂閱指定資源的狀態(tài);所述通知者向所述訂閱者回應(yīng)“2××OK”消息;所述通知者對所述通知者的訂閱請求進(jìn)行策略控制。
此外在所述方法中,重訂閱時,包含以下步驟所述訂閱者向所述通知者發(fā)送“SUBSCRIBE”消息,請求重訂閱指定資源的狀態(tài);所述通知者向所述訂閱者回應(yīng)“2××OK”消息;如果所述通知者判定所述訂閱者請求訂閱的內(nèi)容發(fā)生了改變,就對該通知者的訂閱請求進(jìn)行策略控制,此后執(zhí)所述步驟A、B和C。
此外在所述方法中,當(dāng)所述通知者的策略控制發(fā)生變化,且該變化影響了所述訂閱者所被允許訂閱的資源狀態(tài)時,執(zhí)行所述步驟A、B和C。
此外在所述方法中,所述第一信息中包含以下內(nèi)容之一或其任意組合
允許訂閱的資源狀態(tài)元素、禁止訂閱的資源狀態(tài)元素、以及不支持的資源狀態(tài)元素。
此外在所述方法中,令所述第一信息中允許訂閱的資源狀態(tài)元素構(gòu)成第一集合,全部禁止訂閱的資源狀態(tài)元素構(gòu)成第二集合,全部不支持的資源狀態(tài)元素構(gòu)成第三集合;如果所述第一信息中第一集合為空或以下所述通知者允許訂閱的全部資源狀態(tài)為空,則表示終止訂閱;如果所述第一信息中只有第一集合非空,則直接以第一集合作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中只有第一、第二集合非空,則以第一集合中不與第二集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中只有第一、第三集合非空,則以第一集合中不與第三集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中第一、第二、第三集合均非空,則以第一集合中不與第二或第三集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài)。
此外在所述方法中,所述第一信息是“NOTIFY”消息中的獨(dú)立消息體或已有消息體的一部分。
通過比較可以發(fā)現(xiàn),本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)的主要區(qū)別在于,在首次訂閱、重訂閱或通知者策略控制發(fā)生變化時,通知者通過NOTIFY消息通知訂閱者,該消息中增加RIL(資源信息列表,Resource Information List),從RIL可直接或通過運(yùn)算間接獲得允許該訂閱者訂閱的全部資源狀態(tài)。RIL可以作為一個獨(dú)立的消息體出現(xiàn)在NOTIFY消息中或作為NOTIFY消息已有消息體的一部份。
這種技術(shù)方案上的區(qū)別,帶來了較為明顯的有益效果,即使訂閱/通知機(jī)制更加完善,讓訂閱者知道能訂閱的資源狀態(tài)信息、不能訂閱的資源狀態(tài)信息、以及通知者不支持的資源狀態(tài)信息,從而使訂閱者能根據(jù)這些資源狀態(tài)信息作出訂閱的范圍的調(diào)整,自身資源狀態(tài)控制策略的調(diào)整。
圖1是現(xiàn)有技術(shù)中SIP的訂閱機(jī)制流程圖;圖2是現(xiàn)有技術(shù)中NOTIFY消息的結(jié)構(gòu)示意圖;圖3是通知者支持的資源狀態(tài)示意圖;圖4是本發(fā)明中通過NOTIFY消息攜帶RIL的示意圖;圖5是根據(jù)本發(fā)明第一實施方式的用戶訂閱請求部分滿足情況的實現(xiàn)流程圖;圖6是根據(jù)本發(fā)明第二實施方式的用戶訂閱請求部分滿足情況的實現(xiàn)流程圖;圖7是根據(jù)本發(fā)明第三實施方式的用戶訂閱請求部分滿足情況的實現(xiàn)流程圖;圖8是RIL中ASRE與FSRE的關(guān)系示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明的核心在于,通知者在通知訂閱者的NOTIFY消息中增加資源信息列表(Resource Information List,簡稱“RIL”),使得訂閱者可以直接或通過運(yùn)算間接獲得該訂閱者可訂閱的全部資源狀態(tài)元素。從而使訂閱者能根據(jù)這些資源狀態(tài)元素信息調(diào)整訂閱的范圍,以及自身資源狀態(tài)元素的控制策略。所有資源狀態(tài)、Subscriber訂閱的資源狀態(tài)、允許Subscriber訂閱的資源狀態(tài)、Notifer允許被訂閱的資源狀態(tài)、以及Notifer支持的資源狀態(tài)之間的相互關(guān)系如圖3所示。
其中,RIL是描述通知者允許訂閱者訂閱或不允許訂閱者訂閱的資源狀態(tài)元素和不支持的資源狀態(tài)元素的表現(xiàn)方式,可以作為一個獨(dú)立的消息體出現(xiàn)在NOTIFY消息中或作為NOTIFY消息已有消息體的一部份,如圖4所示。并且,RIL可以采用可擴(kuò)充標(biāo)記語言(extensible Markup Language,簡稱“XML”)進(jìn)行編碼。
由于在RIL中可以包含允許訂閱的資源狀態(tài)元素(Allow SubscribeResource Element,簡稱“ASRE”)、禁止訂閱的資源狀態(tài)元素(Forbid SubscribeResource Element,簡稱“FSRE”)以及不支持的資源狀態(tài)元素(UnsupportResource Information List,簡稱“USRIL”)三部分的任意組合或是其中之一。其中,ASRE是通知者通過執(zhí)行本地策略后,允許訂閱者訂閱的資源狀態(tài)元素,可以是單個元素或多個元素的集合,其中可以包括FSRE;FSRE是通知者通過執(zhí)行本地策略后,禁止訂閱者訂閱的資源狀態(tài)元素,可以是單個元素或多個元素的集合;USRIL是表示被訂閱者不支持的資源狀態(tài)元素部分,可以是單個元素或多個元素的集合。所以,通過ASRE以及FSRE可以導(dǎo)出最終允許訂閱的資源狀態(tài)元素(Final Allow Subscribe Resource Element,簡稱“FASRE”),從而可以獲知訂閱者可訂閱的全部資源狀態(tài)元素。
下面結(jié)合附圖,對本發(fā)明的第一實施方式進(jìn)行說明,本實施方式應(yīng)用于用戶首次訂閱時的情況。
如圖5所示,在步驟510中,訂閱者向通知者發(fā)送“SUBSCRIBE”消息,請求訂閱該訂閱者感興趣的資源狀態(tài)元素。比如說,訂閱者用戶A感興趣的資源狀態(tài)元素是用戶B的R1、R2和R3,那么,用戶A向用戶B發(fā)送“SUBSCRIBE”消息,請求訂閱用戶B的資源狀態(tài)元素R1、R2以及R3。
接著,在步驟502中,通知者向該訂閱者回應(yīng)“202OK”消息。由于訂閱者所訂閱的資源狀態(tài)元素的相關(guān)數(shù)據(jù)有可能不在本地,因此,通知者需要向該訂閱者回應(yīng)“202OK”消息,表示通知者在對訂閱者的訂閱請求進(jìn)行策略控制。針對上述案例,用戶B接受到用戶A所發(fā)送的“SUBSCRIBE”消息后,向用戶A回應(yīng)“202OK”消息,表示在對用戶A的訂閱請求進(jìn)行策略控制。
在經(jīng)過步驟503后,也就是通知者對訂閱者的訂閱請求進(jìn)行策略控制后,進(jìn)入步驟504,通知者向訂閱者發(fā)送包含有RIL信息的“NOTIFY”消息。RIL信息的編碼方式可以是XML,并且可以作為獨(dú)立消息體或已有消息體的一部分出現(xiàn)在“NOTIFY”消息中,如圖4所示。在RIL信息中可以包含ASRE、FSRE以及USRIL的任意組合或其中之一。針對上述案例,如果用戶B全部的資源狀態(tài)元素有R1、R2、R3、R4、R5,用戶B支持的資源狀態(tài)元素有R1、R2、R3、R4,其中R1、R2是單個資源狀態(tài)元素,R3、R4是資源狀態(tài)元素集合,比如說R3包括R31、R32、R33三個子資源狀態(tài)元素,R4包括R41、R42兩個子資源狀態(tài)元素。用戶B在接受到用戶A發(fā)送的訂閱請求并執(zhí)行策略控制后(用戶B的策略控制為允許用戶A訂閱資源狀態(tài)元素R2、R3、R4),用戶B向用戶A發(fā)送的第一個“NOTIFY”消息的消息體中包含的RIL信息可以如下<RIL>
<ASRE>
<R2/>
<R3/>
</ASRE>
<FSRE>
<R1/>
</FSRE>
<USRIL>
<R5/>
</USRIL>
</RIL>
表示允許用戶A訂閱的資源狀態(tài)元素為R2和R3;禁止用戶A訂閱的資源狀態(tài)元素為R1;用戶B不支持的資源狀態(tài)元素為R5。
接著,進(jìn)入步驟505,訂閱者接受到“NOTIFY”消息后,從“該NOTIFY”消息的RIL信息中直接獲取、或通過對該RIL信息的有限步運(yùn)算獲取通知者允許該訂閱者訂閱的全部資源狀態(tài),也就是FASRE,并向通知者回應(yīng)“200OK”,確認(rèn)接收“NOTIFY”消息成功。如果RIL信息中的ASRE構(gòu)成第一集合,F(xiàn)SRE構(gòu)成第二集合,USRIL構(gòu)成第三集合,則通過RIL獲取信息的方法如下如果第一集合為空或以下所述通知者允許該訂閱者訂閱的全部資源狀態(tài)為空,則表示終止訂閱;如果只有第一集合非空,則直接以第一集合作為通知者允許該訂閱者訂閱的全部資源狀態(tài);如果只有第一、第二集合非空,則以第一集合中不與第二集合相交的部分作為通知者允許該訂閱者訂閱的全部資源狀態(tài);如果只有第一、第三集合非空,則以第一集合中不與第三集合相交的部分作為通知者允許該訂閱者訂閱的全部資源狀態(tài);如果所述第一信息中第一、第二、第三集合均非空,則以第一集合中不與第二或第三集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài)。
針對上述案例,用戶A接受到用戶B發(fā)送的“NOTIFY”消息后,可以從該“NOTIFY”消息的RIL信息中的ASRE以及FSRE獲知FASRE。如圖8所示,當(dāng)ASRE與FSRE不相交時,F(xiàn)ASRE等于ASRE;當(dāng)ASRE與FSRE相交時,F(xiàn)ASRE等于ASRE與FSRE不相交部分;當(dāng)ASRE包含F(xiàn)SRE時,F(xiàn)ASRE等于ASRE除去FSRE部分;當(dāng)FSRE包含ASRE時,F(xiàn)ASRE等于空。因此,用戶A可以獲知被用戶B所允許訂閱的資源狀態(tài)元素為R2和R3。
在本實施中,訂閱者可以知道能訂閱的資源狀態(tài)信息、不能訂閱的資源狀態(tài)信息、以及通知者不支持的資源狀態(tài)信息,從而使訂閱者能根據(jù)這些資源狀態(tài)信息作出訂閱的范圍的調(diào)整,自身資源狀態(tài)控制策略的調(diào)整。
下面結(jié)合附圖,對本發(fā)明的第二實施方式進(jìn)行說明,本實施方式應(yīng)用于訂閱者處于訂閱狀態(tài)時,通知者發(fā)生策略變化,并且該變化影響了訂閱者所被允許訂閱的資源狀態(tài)的情況。
如圖6所示,當(dāng)通知者的策略控制發(fā)生了改變,并且這個改變影響了訂閱者所被允許訂閱的資源狀態(tài)時,就進(jìn)入步驟601,通知者向受到影響的訂閱者發(fā)送一個“NOTIFY”消息,在該消息體中攜帶策略控制改變后的RIL信息,如果通知者的策略控制改變將導(dǎo)致禁止訂閱者訂閱通知者的所有資源,則終止訂閱。比如說,用戶A正處于訂閱狀態(tài),并且用戶A訂閱的是用戶B的資源狀態(tài)元素R2和R3,此時用戶B的策略控制發(fā)生了改變,只允許用戶A訂閱R2以及R3中的R31和R32,因此,用戶B的策略變化影響了用戶A所被允許訂閱的資源狀態(tài),所以,用戶B需要重新執(zhí)行策略控制,產(chǎn)生新的RIL信息,并通過“NOTIFY”消息的消息體發(fā)送給用戶A。其中,新的RIL信息可以如下<RIL>
<ASRE>
<R2/>
<R3/>
</ASRE>
<FSRE>
<R1/>
<R3\R33/>
</FSRE>
<USRIL>
<R5/>
</USRIL>
</RIL>
表示用戶B的策略控制更改后,允許用戶A訂閱的資源狀態(tài)元素為R2和R3;禁止用戶A訂閱的資源狀態(tài)元素為R1和R3中的R33;用戶B不支持的資源狀態(tài)元素為R5。
接著,進(jìn)入步驟602,訂閱者接受到“NOTIFY”消息后,從“該NOTIFY”消息的RIL信息中直接獲取、或通過對該RIL信息的有限步運(yùn)算獲取通知者允許該訂閱者訂閱的全部資源狀態(tài),也就是FASRE,并向通知者回應(yīng)“200OK”,確認(rèn)接收“NOTIFY”消息成功。本步驟與步驟505完全相同,在此不再贅述。
在本實施方式中,即使通知者的策略控制發(fā)生了改變,只要該改變影響到了處于訂閱狀態(tài)的用戶,該用戶也可以通過通知者發(fā)送的“NOTIFY”消息獲知能訂閱的資源狀態(tài)信息、不能訂閱的資源狀態(tài)信息、以及通知者不支持的資源狀態(tài)信息,從而使訂閱者能根據(jù)這些資源狀態(tài)信息作出訂閱的范圍的調(diào)整,自身資源狀態(tài)控制策略的調(diào)整。
下面結(jié)合附圖對本發(fā)明的第三實施方式進(jìn)行說明,本實施方式應(yīng)用于處于訂閱狀態(tài)的訂閱者向通知者發(fā)起重訂閱的情況。
如圖7所示,在步驟701中,訂閱者向通知者發(fā)送“SUBSCRIBE”消息,請求重訂閱指定資源的狀態(tài)。由于訂閱有時間限制,如果訂閱者想繼續(xù)該訂閱,就需要在該時間期限內(nèi)發(fā)起重訂閱,因此,該重訂閱中訂閱者請求訂閱的內(nèi)容沒有發(fā)生改變。如果是由于訂閱者感興趣的資源狀態(tài)元素發(fā)生了改變發(fā)起的重訂閱,則該重訂閱中訂閱者請求訂閱的內(nèi)容發(fā)生了改變。比如說,用戶A原本訂閱的是用戶B的資源狀態(tài)元素R2和R3,如果用戶A是由于時間限制而發(fā)起的重訂閱,則用戶A向用戶B發(fā)送的“SUBSCRIBE”消息中請求訂閱的內(nèi)容沒有改變;如果用戶A是由于希望訂閱用戶B的資源狀態(tài)元素R1和R3而發(fā)起的重訂閱,則用戶A向用戶B發(fā)送的“SUBSCRIBE”消息中請求訂閱的內(nèi)容發(fā)生了改變。
接著,進(jìn)入步驟702,通知者回應(yīng)“200OK”或“202OK”消息。如果在步驟701中,訂閱者請求訂閱的內(nèi)容沒有改變,則回應(yīng)“200OK”消息,并結(jié)束本流程;如果在步驟701中,訂閱者請求訂閱的內(nèi)容發(fā)生了改變,則回應(yīng)“202OK”消息,表示通知者需要對訂閱者訂閱的資源重新進(jìn)行策略控制,并執(zhí)行步驟703至705。
在步驟703,通知者對訂閱者的訂閱請求進(jìn)行策略控制。
接著,進(jìn)入步驟704,通知者向訂閱者發(fā)送包含有RIL信息的“NOTIFY”消息。本步驟與步驟504完全相同,在此不再贅述。
接著,進(jìn)入步驟705,訂閱者接受到“NOTIFY”消息后,從“該NOTIFY”消息的RIL信息中直接獲取、或通過對該RIL信息的有限步運(yùn)算獲取通知者允許該訂閱者訂閱的全部資源狀態(tài),也就是FASRE,并向通知者回應(yīng)“200OK”,確認(rèn)接收“NOTIFY”消息成功。本步驟與步驟505完全相同,在此不再贅述。
在本實施方式中,即使訂閱者發(fā)起重訂閱,也可以通過通知者發(fā)送的“NOTIFY”消息獲知能訂閱的資源狀態(tài)信息、不能訂閱的資源狀態(tài)信息、以及通知者不支持的資源狀態(tài)信息,從而使訂閱者能根據(jù)這些資源狀態(tài)信息作出訂閱的范圍的調(diào)整,自身資源狀態(tài)控制策略的調(diào)整。
雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經(jīng)對本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,至少包含以下步驟A通知者向訂閱者發(fā)送包含有第一信息的第一消息,B所述訂閱者收到所述第一消息后,從所述第一信息中直接獲取、或通過對所述第一信息的有限步運(yùn)算獲取所述通知者允許訂閱的全部資源狀態(tài)。
2.根據(jù)權(quán)利要求1所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,所述第一消息是“NOTIFY”消息。
3.根據(jù)權(quán)利要求2所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,在所述步驟A和B之后還包含以下步驟C所述訂閱者向所述通知者回應(yīng)“200OK”消息。
4.根據(jù)權(quán)利要求3所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,首次訂閱時,在所述步驟A、B和C之前包含以下步驟所述訂閱者向所述通知者發(fā)送“SUBSCRIBE”消息,請求訂閱指定資源的狀態(tài);所述通知者向所述訂閱者回應(yīng)“2××OK”消息;所述通知者對所述通知者的訂閱請求進(jìn)行策略控制。
5.根據(jù)權(quán)利要求3所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,重訂閱時,包含以下步驟所述訂閱者向所述通知者發(fā)送“SUBSCRIBE”消息,請求重訂閱指定資源的狀態(tài);所述通知者向所述訂閱者回應(yīng)“2××OK”消息;如果所述通知者判定所述訂閱者請求訂閱的內(nèi)容發(fā)生了改變,就對該通知者的訂閱請求進(jìn)行策略控制,此后執(zhí)所述步驟A、B和C。
6.根據(jù)權(quán)利要求3所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,當(dāng)所述通知者的策略控制發(fā)生變化,且該變化影響了所述訂閱者所被允許訂閱的資源狀態(tài)時,執(zhí)行所述步驟A、B和C。
7.根據(jù)權(quán)利要求1至6中任一項所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,所述第一信息中包含以下內(nèi)容之一或其任意組合允許訂閱的資源狀態(tài)元素、禁止訂閱的資源狀態(tài)元素、以及不支持的資源狀態(tài)元素。
8.根據(jù)權(quán)利要求7所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,令所述第一信息中允許訂閱的資源狀態(tài)元素構(gòu)成第一集合,全部禁止訂閱的資源狀態(tài)元素構(gòu)成第二集合,全部不支持的資源狀態(tài)元素構(gòu)成第三集合;如果所述第一信息中第一集合為空或以下所述通知者允許訂閱的全部資源狀態(tài)為空,則表示終止訂閱;如果所述第一信息中只有第一集合非空,則直接以第一集合作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中只有第一、第二集合非空,則以第一集合中不與第二集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中只有第一、第三集合非空,則以第一集合中不與第三集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài);如果所述第一信息中第一、第二、第三集合均非空,則以第一集合中不與第二或第三集合相交的部分作為所述通知者允許訂閱的全部資源狀態(tài)。
9.根據(jù)權(quán)利要求2至6中任一項所述的基于會話發(fā)起協(xié)議的訂閱方法,其特征在于,所述第一信息是“NOTIFY”消息中的獨(dú)立消息體或已有消息體的一部分。
全文摘要
本發(fā)明涉及通信技術(shù),公開了一種基于會話發(fā)起協(xié)議的訂閱方法,使得訂閱者可以獲知所訂閱的資源狀態(tài)被部分允許的情況。本發(fā)明中,在首次訂閱、重訂閱或通知者策略控制發(fā)生變化時,通知者通過NOTIFY消息通知訂閱者,該消息中增加RIL列表信息,從RIL可直接或通過運(yùn)算間接獲得允許該訂閱者訂閱的全部資源狀態(tài)。RIL可以作為一個獨(dú)立的消息體出現(xiàn)在NOTIFY消息中或作為NOTIFY消息已有消息體的一部份。
文檔編號H04L29/06GK1933476SQ200510029709
公開日2007年3月21日 申請日期2005年9月15日 優(yōu)先權(quán)日2005年9月15日
發(fā)明者王嘯 申請人:華為技術(shù)有限公司