一種發(fā)送即時(shí)消息的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了一種發(fā)送即時(shí)消息的方法和系統(tǒng),以解決在主被叫終端不支持會話刷新功能的情況下,即時(shí)消息發(fā)送失敗的問題。其中方法包括:在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。本發(fā)明實(shí)施例中可以保證即時(shí)消息的成功發(fā)送。
【專利說明】一種發(fā)送即時(shí)消息的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種發(fā)送即時(shí)消息的方法和系統(tǒng)。【背景技術(shù)】
[0002]即時(shí)消息(Instant Messaging, IM),是指發(fā)送者發(fā)送后被立即傳遞給接收者的消息,是一種接近于實(shí)時(shí)傳送的消息類業(yè)務(wù)。即時(shí)消息業(yè)務(wù)可以分為三種模式:一種是Page-mode模式,消息直接以SIP (Session Initiation Protocol,會話發(fā)起協(xié)議)的消息(Message)方法發(fā)送;一種是Large Message-mode模式,在該模式下,消息大小超過1300字節(jié),通過MSRP (Message Session Relay Protocol,消息會話中繼協(xié)議)進(jìn)行消息的傳送;另外一種是Session-mode模式(會話模式),該模式下也是通過MSRP進(jìn)行消息的傳送。
[0003]其中,通過MSRP進(jìn)行傳送的即時(shí)消息模式,在傳送消息之前首先要建立一個(gè)會話,并建立TCP (Transmission Control Protocol,傳輸控制協(xié)議)鏈接,然后在該TCP鏈接上發(fā)送即時(shí)消息。目前,通過MSRP傳送即時(shí)消息的方法主要包括以下兩種:
[0004]1、主被叫終端支持會話刷新功能
[0005]該種情況下,在檢測到會話建立后,建立TCP鏈接,通過MSRP在該TCP鏈接上發(fā)送即時(shí)消息,并依據(jù)主被叫雙方協(xié)商的會話刷新結(jié)果自動執(zhí)行會話刷新過程,最終完成即時(shí)消息的發(fā)送。
[0006]2、主被叫終端不支持會話刷新功能
[0007]該種情況下,在檢測到會話建立后,建立TCP鏈接,通過MSRP在該TCP鏈接上發(fā)送即時(shí)消息。由于主被叫雙方不支持會話刷新功能,因此在會話建立后可以啟動設(shè)置的會話刷新定時(shí)器,在會話刷新定時(shí)器超時(shí)后網(wǎng)絡(luò)側(cè)設(shè)備主動釋放所述會話占用的會話資源。
[0008]但是,在主被叫終端不支持會話刷新功能的情況下,當(dāng)會話刷新定時(shí)器的定時(shí)周期較短時(shí),如果會話刷新定時(shí)器超時(shí)后,即時(shí)消息仍未發(fā)送完成,而此時(shí)網(wǎng)絡(luò)側(cè)設(shè)備已經(jīng)釋放會話占用的會話資源,則將導(dǎo)致該即時(shí)消息發(fā)送失敗,因此即時(shí)消息發(fā)送的成功率較低。
【發(fā)明內(nèi)容】
[0009]本發(fā)明實(shí)施例提供一種發(fā)送即時(shí)消息的方法和系統(tǒng),以解決在主被叫終端不支持會話刷新功能的情況下,即時(shí)消息發(fā)送失敗的問題。
[0010]為了解決上述問題,本發(fā)明公開了一種發(fā)送即時(shí)消息的方法,其特征在于,包括:
[0011]在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;
[0012]在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;
[0013]若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;
[0014]依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0015]可選地,所述會話刷新請求消息為更新UPDATE消息或邀請INVITE消息。
[0016]可選地,所述依據(jù)所述會話刷新請求消息判定會話刷新成功的步驟包括:
[0017]如果分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息,則判定會話刷新成功。
[0018]可選地,所述方法還包括:
[0019]依據(jù)所述會話刷新請求消息判定會話刷新失敗,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0020]可選地,所述依據(jù)所述會話刷新請求消息判定會話刷新失敗的步驟包括:
[0021]若接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,和/或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息,則判定會話刷新失敗。
[0022]可選地,在依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,還包括:
[0023]重新啟動所述會話刷新定時(shí)器。
[0024]可選地,所述方法還包括:
[0025]若所述即時(shí)消息發(fā)送已完成,則根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0026]根據(jù)本發(fā)明的另一方面,提供了一種發(fā)送即時(shí)消息的系統(tǒng),其特征在于,包括:
[0027]建立啟動模塊,用于在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;
[0028]判定完成模塊,用于在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;
[0029]消息發(fā)送模塊,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送未完成時(shí),分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;
[0030]判定成功模塊,用于依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0031]可選地,所述會話刷新請求消息為更新UPDATE消息或邀請INVITE消息。
[0032]可選地,所述判定成功模塊,具體用于在分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息時(shí),判定會話刷新成功。
[0033]可選地,所述系統(tǒng)還包括:
[0034]判定失敗模塊,用于依據(jù)所述會話刷新請求消息判定會話刷新失敗,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0035]可選地,所述判定失敗模塊,具體用于在接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,和/或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息,則判定會話刷新失敗。
[0036]可選地,所述系統(tǒng)還包括:
[0037]定時(shí)重啟模塊,用于在所述判定成功模塊依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,重新啟動所述會話刷新定時(shí)器。[0038]可選地,所述系統(tǒng)還包括:
[0039]資源釋放模塊,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送已完成時(shí),根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0040]與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
[0041]本發(fā)明實(shí)施例中,首先在檢測到會話建立后,建立TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;然后在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;最后依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。本發(fā)明實(shí)施例中由于在會話刷新定時(shí)器超時(shí)后,并不會直接釋放會話資源,而是判斷即時(shí)消息是否發(fā)送完成,如果即時(shí)消息發(fā)送未完成,則發(fā)送會話刷新請求執(zhí)行會話刷新過程,在會話刷新成功后將繼續(xù)發(fā)送所述即時(shí)消息,因此可以保證即時(shí)消息的成功發(fā)送。
【專利附圖】
【附圖說明】
[0042]圖1是現(xiàn)有技術(shù)中主被叫終端支持會話刷新功能時(shí)發(fā)送即時(shí)消息的流程示意圖;
[0043]圖2是現(xiàn)有技術(shù)中主被叫終端不支持會話刷新功能時(shí)發(fā)送即時(shí)消息的流程示意圖;
[0044]圖3是本發(fā)明實(shí)施例一的一種發(fā)送即時(shí)消息的方法的流程圖;
[0045]圖4是本發(fā)明實(shí)施例二的一種發(fā)送即時(shí)消息的方法的流程圖;
[0046]圖5是本發(fā)明實(shí)施例二的會話刷新成功時(shí)的流程示意圖;
[0047]圖6是本發(fā)明實(shí)施例二的會話刷新成功時(shí)的流程示意圖;
[0048]圖7是本發(fā)明實(shí)施例三的一種發(fā)送即時(shí)消息的系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0049]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0050]IMS (IP Multimedia Subsystem, IP多媒體子系統(tǒng))是一種全新的多媒體業(yè)務(wù)形式,它能夠滿足現(xiàn)在的終端客戶更新穎、更多樣化多媒體業(yè)務(wù)的需求。即時(shí)消息是IMS中的一種消息形式,是指發(fā)送者發(fā)送后被立即傳遞給接收者的消息,是一種接近于實(shí)時(shí)傳送的消息類業(yè)務(wù)。即時(shí)消息業(yè)務(wù)可以分為三種模式:Page_mode模式、Large Message-mode模式和Session-mode模式,其中,Large Message-mode模式和Session-mode模式的即時(shí)消息在發(fā)送時(shí)是通過MSRP進(jìn)行消息的傳送。
[0051]通過MSRP進(jìn)行傳送的即時(shí)消息模式,在傳送消息之前首先要建立一個(gè)會話,并建立TCP鏈接,然后在該TCP鏈接上發(fā)送即時(shí)消息。目前,通過MSRP傳送即時(shí)消息的方法主要包括以下兩種:
[0052]一、主被叫終端支持會話刷新功能
[0053]該種情況下,在檢測到會話建立后,建立TCP鏈接,通過MSRP在該TCP鏈接上發(fā)送即時(shí)消息,并依據(jù)主被叫雙方協(xié)商的會話刷新結(jié)果自動執(zhí)行會話刷新過程,最終完成即時(shí)消息的發(fā)送。[0054]如圖1所示,為主被叫終端支持會話刷新功能時(shí)發(fā)送即時(shí)消息的流程示意圖。該流程中涉及到的設(shè)備包括主叫終端UE-A (User Equipment,用戶設(shè)備)、主叫側(cè)的中間網(wǎng)元MS-CORE-A和主叫側(cè)的AS-A (Application Server,應(yīng)用服務(wù)器),以及被叫側(cè)的中間網(wǎng)元MS-C0RE-B、被叫側(cè)的AS-B和被叫終端UE-B。該流程具體描述如下:
[0055]UUE-A發(fā)送INVITE消息到MS_C0RE_A,INVITE消息攜帶MSRP協(xié)商參數(shù)(MSRP協(xié)商參數(shù)包括UE-A的IP地址和端口號等)、攜帶UE-A支持會話刷新頭域;
[0056]2、根據(jù)用戶業(yè)務(wù)(B卩即時(shí)消息業(yè)務(wù))觸發(fā),IMS-CORE-A將INVITE請求消息發(fā)送至UE-A對應(yīng)的AS-A ;
[0057]3、AS_A完成用戶業(yè)務(wù)處理,將INVITE消息(攜帶了包括AS-A的IP地址和端口號等的MSRP協(xié)商參數(shù))重新發(fā)送至MS-CORE-A ;
[0058]4、IMS-CORE-A 將 INVITE 消息發(fā)送至 UE-B 對應(yīng)的 MS-CORE-B ;
[0059]5、根據(jù)用戶業(yè)務(wù)卿即時(shí)消息業(yè)務(wù))觸發(fā),IMS-CORE-B將INVITE消息發(fā)送至UE-B對應(yīng)的AS-B ;
[0060]6、AS_B完成用戶業(yè)務(wù)處理,將INVITE消息(攜帶了包括AS-B的IP地址和端口號等的MSRP協(xié)商參數(shù))重新發(fā)送至MS-CORE-B ;
[0061 ] 7、IMS-CORE-B 將 INVITE 消息發(fā)送至 UE-B ;
[0062]8、UE-B接收INVITE消息(SP時(shí)消息協(xié)商請求),發(fā)送2000K響應(yīng)消息至IMS-CORE-B, 2000K響應(yīng)消息攜帶協(xié)商完成的MSRP協(xié)商參數(shù)(MSRP協(xié)商參數(shù)包括UE-B的IP地址和端口號等),攜帶UE-B支持會話刷新頭域;
[0063]9、IMS-CORE-B將2000K響應(yīng)消息發(fā)送至UE-B對應(yīng)的AS-B ;
[0064]10、此時(shí),AS-B檢測到會話已建立,根據(jù)2000K響應(yīng)消息中攜帶的MSRP協(xié)商參數(shù),建立AS-B與UE-B之間的TCP鏈接;
[0065]11、AS-B 向 MS-CORE-B 發(fā)送 ACK 確認(rèn)消息;
[0066]12、IMS-CORE-B 將 ACK 確認(rèn)消息發(fā)送至 UE-B ;
[0067]13,AS-B完成用戶業(yè)務(wù)處理,將2000K響應(yīng)消息(攜帶了包括AS-B的IP地址和端口號等的MSRP協(xié)商參數(shù))重新發(fā)送至MS-CORE-B ;
[0068]14、IMS-CORE-B 將 2000K 響應(yīng)消息發(fā)送至 UE-A 對應(yīng)的 MS-CORE-A ;
[0069]15、IMS-CORE-A將2000K響應(yīng)消息發(fā)送至UE-A對應(yīng)的AS-A ;
[0070]16、通過2000K響應(yīng)消息中攜帶的MSRP協(xié)商參數(shù),建立AS-A與AS-B之間的TCP鏈接;
[0071 ] 17、AS-A 發(fā)送 ACK 確認(rèn)消息到 MS-CORE-A ;
[0072]18、IMS-CORE-A 將 ACK 確認(rèn)消息發(fā)送至 MS-CORE-B ;
[0073]19、IMS-CORE-B 將 ACK 確認(rèn)消息發(fā)送至 AS-B ;
[0074]20、AS-A將被叫的2000K響應(yīng)消息(攜帶了包括AS-A的IP地址和端口號等的MSRP協(xié)商參數(shù))發(fā)送至MS-CORE-A ;
[0075]21、IMS-CORE-A 將 2000K 響應(yīng)消息發(fā)送至 UE-A;
[0076]22、根據(jù)2000K響應(yīng)消息中攜帶的MSRP協(xié)商參數(shù),建立UE-A與AS-A之間的TCP鏈接;
[0077]23、UE-A 發(fā)送 ACK 確認(rèn)消息到 MS-CORE-A ;[0078]24、IMS-CORE-A 將 ACK 確認(rèn)消息發(fā)送至 AS-A ;
[0079]25、UE-A在UE-A與AS-A之間的TCP鏈接上通過MSRP發(fā)送即時(shí)消息至AS-A ;
[0080]26、AS-A在AS-A與AS-B之間的TCP鏈接上通過MSRP發(fā)送即時(shí)消息至AS-B ;[0081 ] 27、AS-B在AS-B與UE-B之間的TCP鏈接上通過MSRP發(fā)送即時(shí)消息至UE-B ;
[0082]28、UE-B回復(fù)針對MSRP的2000K響應(yīng)消息到A S-B ;
[0083]29、AS-B將2000K響應(yīng)消息透傳至AS-A ;
[0084]30、AS-A將2000K響應(yīng)消息發(fā)送至UE-A ;
[0085]在通話過程中,主被叫終端根據(jù)會話刷新協(xié)商結(jié)果,自動對會話進(jìn)行刷新。
[0086]31、當(dāng)即時(shí)消息發(fā)送完成后,UE-A發(fā)送BYE消息至MS_C0RE_A ;
[0087]32-37、BYE消息經(jīng)過原SIP會話建立路徑發(fā)送至UE-B ;
[0088]38-44、UE-B經(jīng)過原SIP會話建立路徑返回針對BYE消息的2000K響應(yīng)消息至UE-A,會話結(jié)束。
[0089]二、主被叫終端不支持會話刷新功能
[0090]該種情況下,在檢測到會話建立后,建立TCP鏈接,通過MSRP在該TCP鏈接上發(fā)送即時(shí)消息。由于主被叫雙方不支持會話刷新功能,因此在會話建立后可以啟動設(shè)置的會話刷新定時(shí)器,在會話刷新定時(shí)器超時(shí)后網(wǎng)絡(luò)側(cè)設(shè)備主動釋放所述會話占用的會話資源。
[0091]如圖2所示,為主被叫終端不支持會話刷新功能時(shí)發(fā)送即時(shí)消息的流程示意圖。該流程中涉及到的設(shè)備與上述圖1所示的流程中的設(shè)備相同。該流程具體描述如下:
[0092]1-30,UE-A與UE-B完成媒體協(xié)商,建立會話,并建立TCP鏈接,在該TCP鏈接上通過MSRP發(fā)送即時(shí)消息的過程。并且在會話建立后會啟動會話刷新定時(shí)器,例如在過程9時(shí)檢測到會話建立,可以在執(zhí)行過程10的時(shí)候啟動會話刷新定時(shí)器。對于具體的過程參照上述針對圖1中的描述即可,在此不再詳細(xì)論述。
[0093]本流程中主被叫雙方均不支持會話刷新功能,可以預(yù)先設(shè)置釋放策略,例如會話刷新定時(shí)器超時(shí)后,由中間網(wǎng)元AS-A (其他中間網(wǎng)元也可以釋放)釋放會話資源。
[0094]31-32,AS-A在會話刷新定時(shí)器超時(shí)后,向MS-CORE-A發(fā)送BYE消息,MS-CORE-A將BYE消息發(fā)送至UE-A,釋放主叫側(cè)會話資源;
[0095]33-34、UE-A 針對所述 BYE 消息的 2000K 響應(yīng)消息至 MS_C0RE_A,IMS-CORE-A 將2000K響應(yīng)消息發(fā)送至AS-A ;
[0096]35-39,AS-A 經(jīng)過 MS-CORE-A、IMS-C0RE-B.AS-B 向 UE-B 發(fā)送 BYE 消息,釋放被叫側(cè)會話資源;
[0097]40-44、UE-B 經(jīng)過 AS-B、IMS-CORE-B, IMS-CORE-A 向 AS-A 返回 2000K 響應(yīng)消息。
[0098]但是,在主被叫終端不支持會話刷新功能的情況下,當(dāng)會話刷新定時(shí)器的定時(shí)周期較短時(shí),如果會話刷新定時(shí)器超時(shí)后,即時(shí)消息仍未發(fā)送完成,而此時(shí)網(wǎng)絡(luò)側(cè)設(shè)備已經(jīng)釋放會話占用的會話資源,則將導(dǎo)致該即時(shí)消息發(fā)送失敗。
[0099]本發(fā)明即針對上述問題,提出了一種在主被叫終端不支持會話刷新功能的情況下,發(fā)送即時(shí)消息的方法和系統(tǒng),通過中間網(wǎng)元監(jiān)測即時(shí)消息的發(fā)送情況,并向主被叫兩側(cè)發(fā)起會話刷新,從而保證即時(shí)消息的成功發(fā)送。
[0100]下面,通過以下各個(gè)實(shí)施例進(jìn)行詳細(xì)描述,本發(fā)明適用于Large Message-mode模式和Session-mode模式的即時(shí)消息的發(fā)送。即時(shí)消息功能可以包括文字消息聊天、文件傳輸、語音通信、視頻通信等。需要說明的是,以下各實(shí)施例以AS監(jiān)測即時(shí)消息的發(fā)送情況,并向主被叫兩側(cè)發(fā)起會話刷新為例進(jìn)行說明,但是本發(fā)明實(shí)施例并不限定于AS這一種中間網(wǎng)元,其他可以支持會話和媒體的中間網(wǎng)元均是可行的。
[0101]實(shí)施例一:
[0102]參照圖3,示出了本發(fā)明實(shí)施例一的一種發(fā)送即時(shí)消息的方法的流程圖,該方法具體可以包括以下步驟:
[0103]步驟301,在檢測到會話建立后,建立TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器。
[0104]Large Message-mode模式和Session-mode模式的即時(shí)消息通過MSRP在TCP鏈接上進(jìn)行消息的發(fā)送。通過MSRP進(jìn)行消息的傳輸是基于SIP會話協(xié)商建立成功后的基礎(chǔ)上的,通過在SIP會話協(xié)商請求和響應(yīng)中攜帶用于建立TCP鏈接的SDP( Session DescriptionProtocol,會話描述協(xié)議)參數(shù),在檢測到會話建立后,建立TCP鏈接,中間網(wǎng)元AS將參與TCP的建鏈以及MSRP的傳輸。TCP鏈接建立后,主叫終端即可通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息。對于建立TCP鏈接的具體過程,參照前述針對圖1中的1-30的描述即可,本發(fā)明實(shí)施例在此不再詳細(xì)論述。
[0105]由于本發(fā)明實(shí)施例是針對主被叫終端均不支持會話刷新功能的情況執(zhí)行的,因此還可以預(yù)先設(shè)置會話刷新定時(shí)器,以確定是否需要判斷即時(shí)消息的發(fā)送情況。在檢測到會話建立后AS可以啟動預(yù)先設(shè)置的會話刷新定時(shí)器開始定時(shí),例如,可以在前述圖1所示的流程中執(zhí)行10過程時(shí)啟動會話刷新定時(shí)器。
[0106]步驟302,在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成。
[0107]本發(fā)明實(shí)施例中當(dāng)AS檢測到會話刷新定時(shí)器超時(shí)后,并不會直接釋放主被叫兩側(cè)的會話資源,而是判定主叫終端通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成。AS可以支持會話層面和媒體層面的消息,此處可以通過判斷會話層面是否仍然掛有媒體層面的消息判斷所述即時(shí)消息是否發(fā)送完成,若是,則發(fā)送未完成;若否,則發(fā)送已完成。
[0108]步驟303,若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息。
[0109]如果所述即時(shí)消息發(fā)送未完成,則AS可以分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息,以執(zhí)行會話刷新過程;如果所述即時(shí)消息發(fā)送已完成,則可以根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0110]步驟304,依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0111]AS可以依據(jù)所述會話刷新請求消息判斷會話刷新是否成功。如果AS依據(jù)所述會話刷新請求消息判定會話刷新成功,則說明會話可以繼續(xù)進(jìn)行,因此可以允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息;如果依據(jù)所述會話刷新請求消息判定會話刷新失敗,則說明會話中的某些設(shè)備出現(xiàn)了故障,會話不能繼續(xù)進(jìn)行,因此AS可以根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0112]本發(fā)明實(shí)施例中由于在會話刷新定時(shí)器超時(shí)后,并不會直接釋放會話資源,而是判斷即時(shí)消息是否發(fā)送完成,如果即時(shí)消息發(fā)送未完成,則發(fā)送會話刷新請求執(zhí)行會話刷新過程,在會話刷新成功后將繼續(xù)發(fā)送所述即時(shí)消息,因此可以保證即時(shí)消息的成功發(fā)送。
[0113]實(shí)施例二:
[0114]參照圖4,示出了本發(fā)明實(shí)施例二的一種發(fā)送即時(shí)消息的方法的流程圖,該方法具體可以包括以下步驟:
[0115]步驟401,在檢測到會話建立后,建立TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器。
[0116]參照前述圖1,在過程9時(shí)檢測到會話建立,此時(shí)即可執(zhí)行過程10建立TCP鏈接,并可以在執(zhí)行10過程時(shí)啟動預(yù)先設(shè)置的會話刷新定時(shí)器,TCP鏈接建立后,主叫終端即可通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息。對于建立TCP鏈接的具體過程,參照前述針對圖1中的1-30的描述即可,本發(fā)明實(shí)施例在此不再詳細(xì)論述。
[0117]在發(fā)送即時(shí)消息時(shí),如果會話雙方終端不支持會話刷新,為保證即時(shí)消息的成功發(fā)送,中間網(wǎng)元(例如AS)可以設(shè)定會話刷新定時(shí)器,該會話刷新定時(shí)器的作用是保護(hù)中間網(wǎng)元不會因缺少會話刷新,而直接將會話資源釋放,從而導(dǎo)致大消息發(fā)送失敗。
[0118]根據(jù)RFC4028中規(guī)定,中間網(wǎng)元的會話刷新的最小時(shí)長為90s,因此在本發(fā)明實(shí)施例的一種具體實(shí)現(xiàn)中,可以將該會話刷新定時(shí)器的周期設(shè)置為90s。但是,本發(fā)明實(shí)施例對會話刷新定時(shí)器的具體周期并不加以限制,例如還可以根據(jù)網(wǎng)絡(luò)中各中間網(wǎng)元的會話刷新時(shí)長的最小值進(jìn)行設(shè)定。
[0119]步驟402,在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成。
[0120]若發(fā)送已完成,則執(zhí)行步驟402 ;若發(fā)送未完成,則執(zhí)行步驟403。
[0121]本發(fā)明實(shí)施例中,AS可以通過判斷會話層面是否仍然掛有媒體層面的消息來判斷所述即時(shí)消息是否發(fā)送完成。若是,則發(fā)送未完成;若否,則發(fā)送已完成。對于具體的判斷過程,本發(fā)明實(shí)施例在此不再詳細(xì)論述。
[0122]步驟403,分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息。
[0123]如果判斷出所述即時(shí)消息發(fā)送未完成,則說明還需要繼續(xù)發(fā)送所述即時(shí)消息,因此可以通過會話刷新保證會話繼續(xù)進(jìn)行,從而繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0124]要執(zhí)行會話刷新過程,首先可以分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息。在本發(fā)明的一種優(yōu)選實(shí)施例中,可以根據(jù)RFC3261協(xié)議中的消息類型設(shè)置會話刷新請求消息,所述會話刷新請求消息可以為UPDATE (更新)消息或INVITE (邀請)消
肩、O
[0125]步驟404,依據(jù)所述會話刷新請求消息判定會話刷新是否成功。
[0126]如果判定所述會話刷新成功,則執(zhí)行步驟405 ;如果判定所述會話刷新失敗,則執(zhí)行步驟407。
[0127]在本發(fā)明的一種優(yōu)選實(shí)施例中,依據(jù)所述會話刷新請求消息判定會話刷新成功的步驟可以包括:如果分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息(例如2000K響應(yīng)消息),則判定會話刷新成功。
[0128]依據(jù)所述會話刷新請求消息判定會話刷新失敗的步驟包括:若接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息(例如481錯(cuò)誤響應(yīng)消息),則定會話刷新失?。换蛘呓邮盏剿鲋鹘薪K端或主叫側(cè)中間網(wǎng)元,和,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息(例如481錯(cuò)誤響應(yīng)消息),則定會話刷新失敗。
[0129]其中,在終端和中間網(wǎng)元發(fā)生故障時(shí),均會針對所述會話刷新請求消息返回錯(cuò)誤響應(yīng)消息。主叫側(cè)中間網(wǎng)元可以為主叫終端對應(yīng)的P_CSCF(Proxy-Call Session ControlFunction,代理呼叫會話控制功能實(shí)體)、1-CSCF (Interrogating-Call Session ControlFunction,查詢呼叫會話控制功能實(shí)體)和 S-CSCF (Serving-Call Session ControlFunction,服務(wù)呼叫會話控制功能實(shí)體)等等;被叫側(cè)中間網(wǎng)元可以為被叫終端對應(yīng)的P-CSCF, 1-CSCF 和 S-CSCF 等等。
[0130]步驟405,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0131]在依據(jù)所述會話刷新請求消息判定會話刷新成功后,說明會話可以繼續(xù)進(jìn)行,此時(shí)即可允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息,對于發(fā)送過程在此不再詳細(xì)論述。
[0132]步驟406,重新啟動所述會話刷新定時(shí)器。
[0133]在依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,說明開始了一個(gè)新的會話,此時(shí)即可重新啟動所述會話刷新定時(shí)器開始定時(shí),在所述定時(shí)器超時(shí)后,即可重復(fù)執(zhí)行上述步驟402-步驟406。
[0134]步驟407,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0135]如果在步驟402中判斷出所述即時(shí)消息發(fā)送已完成,則說明此時(shí)可以結(jié)束會話;同樣的,如果在步驟404中依所述會話刷新請求消息判定會話刷新失敗,則說明此時(shí)會話不能繼續(xù)執(zhí)行,可以結(jié)束會話。因此,在上述兩種情況下,均可以根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0136]例如,如果所述釋放策略為僅釋放自身占用的資源,則在上述兩種情況下釋放自身占用的資源;如果所述釋放策略為僅釋放所述會話占用的會話資源,則在上述兩種情況下釋放會話占用的會話資源(此處所述的會話占用的會話資源可以指主叫側(cè)會話或被叫側(cè)會話占用的會話資源,也可以指主叫側(cè)會話和被叫側(cè)會話占用的會話資源);如果所述既釋放策略為釋放自身占用的資源,也釋放所述會話占用的會話資源,則在上述兩種情況下釋放自身占用的資源和所述會話占用的會話資源。
[0137]當(dāng)然本發(fā)明實(shí)施例中也可以針對上述兩種不同的情況設(shè)置不同的釋放策略,例如當(dāng)判斷出所述即時(shí)消息發(fā)送已完成時(shí),所述釋放策略可以為僅釋放自身占用的資源;當(dāng)依所述會話刷新請求消息判定會話刷新失敗時(shí),所述釋放策略可以為僅釋放所述會話占用的會話資源,等等。本發(fā)明實(shí)施例對此并不加以限制。
[0138]下面,通過以下兩個(gè)具體的實(shí)例對本發(fā)明實(shí)施例的發(fā)送即時(shí)消息的方法進(jìn)行介紹。
[0139]以下兩個(gè)實(shí)例中涉及到的設(shè)備包括主叫終端UE-A、主叫側(cè)的中間網(wǎng)元IMS-CORE-A (可以包括主叫側(cè)對應(yīng)的P-CSCF、1-CSCF和S-CSCF等等)和主叫側(cè)的AS-A,以及被叫側(cè)的中間網(wǎng)元MS-CORE-B (可以包括被叫側(cè)對應(yīng)的P-CSCF、1-CSCF和S-CSCF等等)、被叫側(cè)的AS-B和被叫終端UE-B。并且,以AS-B執(zhí)行即時(shí)消息發(fā)送是否完成的判斷、會話刷新請求消息的發(fā)送等過程,會話刷新請求消息以UPDATE消息為例。
[0140]參照圖5,示出了本發(fā)明實(shí)施例二的會話刷新成功時(shí)的流程示意圖,該流程具體描述如下:
[0141]1-30,UE-A與UE-B完成媒體協(xié)商,建立會話,并建立TCP鏈接,在該TCP鏈接上通過MSRP發(fā)送即時(shí)消息的過程。并且在會話建立后會啟動會話刷新定時(shí)器,例如AS-B在過程9時(shí)檢測到會話建立,可以在執(zhí)行過程10的時(shí)候啟動會話刷新定時(shí)器。對于具體的過程參照上述針對圖1中的描述即可,在此不再詳細(xì)論述。
[0142]本流程中主被叫雙方均不支持會話刷新功能,當(dāng)AS-B的會話刷新定時(shí)器超時(shí)后,可以判斷所述即時(shí)消息(即圖5中的MSRP消息)是否發(fā)送完成,假設(shè)在此實(shí)施例中判斷出即時(shí)消息(MSRP消息)仍在發(fā)送。
[0143]31-35、AS-B 經(jīng)過 MS-CORE-B、AS-A, IMS-CORE-A 向 UE-A 發(fā)送會話刷新請求消息(UPEATE消息),該消息中可以攜帶在媒體協(xié)商過程中協(xié)商好的SDP信息,例如會話名稱、媒體類型、AS-B的IP地址和端口號等;
[0144]36-40、UE-A 經(jīng)過 MS-C0RE_A、AS-A、IMS-CORE-B 向 AS-B 回復(fù)針對 UPDATE 消息的確認(rèn)響應(yīng)消息(2000K響應(yīng)消息);
[0145]41-42、AS-B經(jīng)過MS-CORE-B向UE-B發(fā)送會話刷新請求消息(UPEATE消息),該消息中可以攜帶在媒體協(xié)商過程中協(xié)商好的SDP信息,例如會話名稱、媒體類型、AS-B的IP地址和端口號等;
[0146]43-44、UE-B經(jīng)過MS-CORE-B向AS-B回復(fù)針對UPDATE消息的確認(rèn)響應(yīng)消息(2000K響應(yīng)消息)。
[0147]此時(shí)會話刷新過程成功完成,因此可以允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息,直至所述即時(shí)消息發(fā)送成功完成。
[0148]參照圖6,示出了本發(fā)明實(shí)施例二的會話刷新成功時(shí)的流程示意圖,該流程具體描述如下:
[0149]1-30,UE-A與UE-B完成媒體協(xié)商,建立會話,并建立TCP鏈接,在該TCP鏈接上通過MSRP發(fā)送即時(shí)消息的過程。并且在會話建立后會啟動會話刷新定時(shí)器,例如AS-B在過程9時(shí)檢測到會話建立,可以在執(zhí)行過程10的時(shí)候啟動會話刷新定時(shí)器。對于具體的過程參照上述針對圖1中的描述即可,在此不再詳細(xì)論述。
[0150]本流程中主被叫雙方均不支持會話刷新功能,當(dāng)AS-B的會話刷新定時(shí)器超時(shí)后,可以判斷所述即時(shí)消息(即圖5中的MSRP)是否發(fā)送完成,假設(shè)在此實(shí)施例中判斷出即時(shí)消息仍在發(fā)送。
[0151]31、AS-B要向UE-A發(fā)送會話刷新請求消息,首先向MS-CORE-B發(fā)送會話刷新請求消息(UPEATE消息),該消息中可以攜帶在媒體協(xié)商過程中協(xié)商好的SDP信息,例如會話名稱、媒體類型、AS-B的IP地址和端口號等;
[0152]32、此時(shí)MS-CORE-B發(fā)生故障,不能將UPEATE消息轉(zhuǎn)發(fā)給MS-C0RE-A,并且回復(fù)針對UPEATE消息的錯(cuò)誤響應(yīng)消息(例如481錯(cuò)誤響應(yīng)消息)至AS-B。
[0153]AS-B接收到MS-CORE-B回復(fù)的錯(cuò)誤響應(yīng)消息,即可根據(jù)預(yù)先設(shè)置的釋放策略釋放自身的占用的資源或所述會話占用的會話資源,或者,釋放自身的占用的資源和所述會話占用的會話資源。
[0154]當(dāng)然,如果MS-CORE-B沒有發(fā)生故障,而是其他的中間網(wǎng)元或終端(例如IMS-CORE-A, AS-A, UE-A, UE-B等)發(fā)生故障,AS-B接收到這些發(fā)生故障的設(shè)備回復(fù)的錯(cuò)誤響應(yīng)消息,也可以根據(jù)預(yù)先設(shè)置的釋放策略釋放自身的占用的資源或所述會話占用的會話資源,或者,釋放自身的占用的資源和所述會話占用的會話資源。本發(fā)明實(shí)施例在此不再詳細(xì)論述。
[0155]本發(fā)明實(shí)施例中可以利用中間網(wǎng)元(該網(wǎng)元參與TCP鏈接的建立以及即時(shí)消息的傳輸)監(jiān)測即時(shí)消息的發(fā)送情況,來完成在即時(shí)消息發(fā)送過程中,當(dāng)主被叫終端不支持會話刷新功能的情形下,由中間網(wǎng)元完成會話刷新功能,從而保證即時(shí)消息正常傳輸?shù)倪^程。
[0156]對于前述的各方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
[0157]實(shí)施例三:
[0158]參照圖7,示出了本發(fā)明實(shí)施例三的一種發(fā)送即時(shí)消息的系統(tǒng)的結(jié)構(gòu)框圖,該裝置具體可以包括以下模塊:
[0159]建立啟動模塊701,用于在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;
[0160]判定完成模塊702,用于在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;
[0161]消息發(fā)送模塊703,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送未完成時(shí),分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;
[0162]在本發(fā)明的一種優(yōu)選實(shí)施例中,所述會話刷新請求消息可以為更新UPDATE消息或邀請INVITE消息。
[0163]判定成功模塊704,用于依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
[0164]在本發(fā)明的一種優(yōu)選實(shí)施例中,所述判定成功模塊,具體可以用于在分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息時(shí),判定會話刷新成功。
[0165]本發(fā)明實(shí)施例中發(fā)送即時(shí)消息的系統(tǒng)還可以包括以下模塊:
[0166]判定失敗模塊,用于依據(jù)所述會話刷新請求消息判定會話刷新失敗,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源;
[0167]所述判定失敗模塊,具體可以用于在接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,和/或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息,則判定會話刷新失敗。
[0168]定時(shí)重啟模塊,用于在所述判定成功模塊依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,重新啟動所述會話刷新定時(shí)器;[0169]資源釋放模塊,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送已完成時(shí),根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
[0170]本發(fā)明實(shí)施例中,首先在檢測到會話建立后,建立TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器;然后在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成;若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息;最后依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。本發(fā)明實(shí)施例中由于在會話刷新定時(shí)器超時(shí)后,并不會直接釋放會話資源,而是判斷即時(shí)消息是否發(fā)送完成,如果即時(shí)消息發(fā)送未完成,則發(fā)送會話刷新請求執(zhí)行會話刷新過程,在會話刷新成功后將繼續(xù)發(fā)送所述即時(shí)消息,因此可以保證即時(shí)消息的成功發(fā)送。
[0171]對于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
[0172]本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0173]本發(fā)明實(shí)施例可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
[0174]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有`明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。
[0175]以上對本發(fā)明所提供的一種發(fā)送即時(shí)消息的方法和系統(tǒng),進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種發(fā)送即時(shí)消息的方法,其特征在于,包括: 在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器; 在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成; 若所述即時(shí)消息發(fā)送未完成,則分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息; 依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述會話刷新請求消息為更新UPDATE消息或邀請INVITE消息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述會話刷新請求消息判定會話刷新成功的步驟包括: 如果分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息,則判定會話刷新成功。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 依據(jù)所述會話刷新請求消息判定會話刷新失敗,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述依據(jù)所述會話刷新請求消息判定會話刷新失敗的步驟包括: 若接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,和/或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息,則判定會話刷新失敗。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,在依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,還包括: 重新啟動所述會話刷新定時(shí)器。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 若所述即時(shí)消息發(fā)送已完成,則根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
8.—種發(fā)送即時(shí)消息的系統(tǒng),其特征在于,包括: 建立啟動模塊,用于在檢測到會話建立后,建立傳輸控制協(xié)議TCP鏈接,并啟動預(yù)先設(shè)置的會話刷新定時(shí)器; 判定完成模塊,用于在所述會話刷新定時(shí)器超時(shí)后,判定主叫終端通過消息會話中繼協(xié)議MSRP在所述TCP鏈接上向被叫終端發(fā)送的即時(shí)消息是否發(fā)送完成; 消息發(fā)送模塊,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送未完成時(shí),分別向所述主叫終端和所述被叫終端發(fā)送會話刷新請求消息; 判定成功模塊,用于依據(jù)所述會話刷 新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上發(fā)送所述即時(shí)消息。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述會話刷新請求消息為更新UPDATE消息或邀請INVITE消息。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述判定成功模塊,具體用于在分別接收到所述主叫終端和所述被叫終端返回的、針對所述會話刷新請求消息的確認(rèn)響應(yīng)消息時(shí),判定會話刷新成功。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 判定失敗模塊,用于依據(jù)所述會話刷新請求消息判定會話刷新失敗,根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述判定失敗模塊,具體用于在接收到所述主叫終端或主叫側(cè)中間網(wǎng)元,和/或,所述被叫終端或被叫側(cè)中間網(wǎng)元返回的、針對所述會話刷新請求消息的錯(cuò)誤響應(yīng)消息,則判定會話刷新失敗。
13.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 定時(shí)重啟模塊,用于在所述判定成功模塊依據(jù)所述會話刷新請求消息判定會話刷新成功,允許繼續(xù)通過MSRP在所述TCP鏈接上向被叫終端發(fā)送所述即時(shí)消息之后,重新啟動所述會話刷新定時(shí)器。
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,還包括: 資源釋放模塊,用于在所述判定完成模塊判定所述即時(shí)消息發(fā)送已完成時(shí),根據(jù)預(yù)設(shè)的釋放策略釋放自身占用的資源和/或所述會話占用的會話資源。
【文檔編號】H04L12/58GK103812762SQ201310616829
【公開日】2014年5月21日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】陳棟 申請人:大唐移動通信設(shè)備有限公司