一種實時通信方法、終端設備、實時通信服務器及系統的制作方法
【專利摘要】本發明適用于通信【技術領域】,提供了一種實時通信方法、終端設備、RTC服務器及系統,所述方法包括:第一終端接收RTC服務器轉發的其他終端發送給所述第一終端的呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端的WEB?RTC應用的唯一標識符;第一終端根據發送所述呼叫請求信息的終端的WEB?RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB?RTC應用請求信息,并在接收到所述RTC服務器返回的WEB?RTC應用信息后,通過所述WEB?RTC應用與所述發送呼叫請求信息的終端進行通信。通過本發明可解決在未開啟WEB?RTC應用時無法獲取信息的問題。
【專利說明】一種實時通信方法、終端設備、實時通信服務器及系統
【技術領域】
[0001]本發明屬于通信【技術領域】,尤其涉及一種實時通信方法、終端設備、實時通信服務器及系統。
【背景技術】
[0002]傳統的基于互聯網(WEB)的實時通信類業務,需要下載和安裝額外的插件,通過安裝的插件完成實時通信業務,例如QQ、MSN等。
[0003]而現有的基于WEB的實時通信(Real Time Communication,RTC),通過制定WEB應用和瀏覽器之間的API接口,使基于WEB的RTC應用能夠在瀏覽器中運行,實現端與端之間消息、音視頻等的傳輸。舉例來說,當第一用戶通過瀏覽器訪問一個提供WEB RTC服務的網站,該網站向所述第一用戶所在終端返回一個基于WEB RTC應用的頁面,即打開了基于WEB的RTC應用,例如WEB QQ0第二用戶也同時以相同的方式打開所述WEB RTC應用,則第一用戶和第二用戶之間可以建立聯系相互通信。當用戶關閉該網頁或該瀏覽器時,通信也將被終止,或接收通信連接請求也無法實現。
[0004]現有基于WEB的實時通信需要通信雙方同時在線并打開WEB RTC應用。例如,通過瀏覽器進行實時通信時,當通信一方沒有打開瀏覽器,或是打開了瀏覽器,但沒有登錄到提供WEB RTC服務的網站,即沒有打開WEB RTC應用時,將無法獲取另一方發送的信息。
【發明內容】
[0005]本發明實施例提供一種實時通信方法,以解決現有基于WEB的實時通信在通信雙方不同時在線或者未打開WEB RTC應用時,無法獲取信息的問題。
[0006]第一方面,一種實時通信方法,所述方法包括:
[0007]第一終端接收實時通信RTC服務器轉發的其他終端發送給所述第一終端的呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符;
[0008]第一終端根據發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0009]在第一方面的第一種可能的實現方式中,在所述第一終端接收RTC服務器轉發的其他終端發送給所述第一終端的呼叫請求信息之前,還包括:
[0010]第一終端向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有WEB RTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應
信息;
[0011]第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEB RTC應用。
[0012]結合第一方面或第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述開啟WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型,以使得所述RTC服務器在接收到所述開啟WEB RTC應用請求信息后,返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
[0013]在第一方面的第三種可能的實現方式中,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器引擎的標識信息;
[0014]所述第一終端接收所述RTC服務器發送的呼叫請求信息包括:
[0015]所述第一終端的監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0016]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式,在第四種可能的實現方式中,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0017]所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括:
[0018]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDPOffer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
[0019]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式,在第五種可能的實現方式中,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0020]所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括:
[0021]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,所述開啟WEB RTC應用請求信息中攜帶有SDP Answer信息,以使得所述RTC服務器在接收到所述開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,并將所述開啟WEB RTC應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道;
[0022]所述第一終端接收所述RTC服務器返回的WEB RTC應用信息,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0023]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式,在第六種可能的實現方式中,所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括:
[0024]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
[0025]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式或第一方面的第四種可能的實現方式或第一方面的第五種可能的實現方式或第一方面的第六種可能的實現方式,在第七種可能的實現方式中,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息時添加的;
[0026]所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
[0027]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式或第一方面的第四種可能的實現方式或第一方面的第五種可能的實現方式或第一方面的第六種可能的實現方式或第一方面的第七種可能的實現方式,在第八種可能的實現方式中,所述方法還包括:
[0028]所述第一終端在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息,以使得所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0029]結合第一方面或第一方面的第一種可能的實現方式或第一方面的第二種可能的實現方式或第一方面的第三種可能的實現方式或第一方面的第四種可能的實現方式或第一方面的第五種可能的實現方式或第一方面的第六種可能的實現方式或第一方面的第七種可能的實現方式或第一方面的第八種可能的實現方式,在第九種可能的實現方式中,所述第一終端向所述RTC服務器發送的開啟WEB RTC應用請求消息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
[0030]第二方面,一種實時通信方法,所述方法包括:
[0031]實時通信RTC服務器在接收到其他終端發送給第一終端的呼叫請求信息后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的唯一標識符;
[0032]RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服務器返回的WEBRTC應用信息后,通過所述WEB RTC應用與發送所述呼叫請求信息的終端進行通信。
[0033]在第二方面的第一種可能的實現方式中,在所述RTC服務器接收到其他終端發送給第一終端的呼叫請求信息的之前,還包括:
[0034]RTC服務器在接收到所述第一終端發送的注冊離線業務請求信息后,為該信息中WEB RTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉其WEBRTC應用。
[0035]結合第二方面的第一種可能的實現方式,在第二種可能的實現方式中,所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式具體包括:
[0036]所述RTC服務器在接收到所述注冊離線業務請求信息后,根據注冊離線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離線模式。
[0037]在第二方面的第二種可能的實現方式中,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型;
[0038]RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息包括:
[0039]RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
[0040]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式或第二方面的第三種可能的實現方式,在第四種可能的實現方式中,所述方法還包括:
[0041]所述RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息后,在所述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
[0042]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式或第二方面的第三種可能的實現方式或第二方面的第四種可能的實現方式,在第五種可能的實現方式中,所述方法還包括:
[0043]所述RTC服務器在接收到所述第一終端發送的拒絕所述呼叫請求信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0044]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式或第二方面的第三種可能的實現方式或第二方面的第四種可能的實現方式或第二方面的第五種可能的實現方式,在第六種可能的實現方式中,所述方法還包括:
[0045]所述RTC服務器在將所述呼叫請求信息發送給所述第一終端后,若在預設時間內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
[0046]結合第二方面或第二方面的第一種可能的實現方式或第二方面的第二種可能的實現方式或第二方面的第三種可能的實現方式或第二方面的第四種可能的實現方式或第二方面的第五種可能的實現方式或第二方面的第六種可能的實現方式,在第七種可能的實現方式中,所述RTC服務器返回的WEB RTC應用信息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEBRTC應用的類型相同或不同。
[0047]第三方面,一種終端設備,所述終端設備包括:
[0048]信息接收單元,用于接收實時通信RTC服務器轉發的其他終端發送給該終端設備的呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符;
[0049]處理單元,用于根據所述信息接收單元接收到的呼叫請求信息中攜帶的呼叫請求信息發送終端WEB RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0050]在第三方面的第一種可能實現方式中,所述終端設備還包括:
[0051]信息發送單元,用于向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有WEB RTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息;
[0052]關閉單元,用于在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEBRTC應用。
[0053]在第三方面的第二種可能實現方式中,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息后,返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
[0054]在第三方面的第三種可能實現方式中,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器引擎的標識信息;
[0055]所述信息接收單元具體用于,通過所述該終端設備的監聽客戶端接收所述RTC服務器發送的呼叫請求信息,解析所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0056]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式,在第四種可能的實現方式中,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0057]所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
[0058]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式,在第五種可能的實現方式中,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0059]所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,所述WEB RTC應用請求信息中攜帶有SDPAnswer信息,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息,向所述第一終端返回WEB RTC應用信息,并將所述WEB RTC應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道,在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0060]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式,在第六種可能的實現方式中,所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEB RTC應用將所 述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給所述信息發送終端的瀏覽器引擎以建立通信通道開始通信。
[0061]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式或第三方面的第四種可能的實現方式或第三方面的第五種可能的實現方式或第三方面的第六種可能的實現方式,在第七種可能的實現方式中,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息時添加的;
[0062]所述終端設備還包括:
[0063]提示單元,用于在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
[0064]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式或第三方面的第四種可能的實現方式或第三方面的第五種可能的實現方式或第三方面的第六種可能的實現方式或第三方面的第七種可能的實現方式,在第八種可能的實現方式中,所述終端設備還包括:
[0065]信息反饋單元,用于在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息,以使得所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0066]結合第三方面或第三方面的第一種可能的實現方式或第三方面的第二種可能的實現方式或第三方面的第三種可能的實現方式或第三方面的第四種可能的實現方式或第三方面的第五種可能的實現方式或第三方面的第六種可能的實現方式或第三方面的第七種可能的實現方式或第三方面的第八種可能的實現方式,在第九種可能的實現方式中,所述向所述RTC服務器發送的開啟WEB RTC應用請求消息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
[0067]第四方面,一種實時通信RTC服務器,所述RTC服務器包括:
[0068]第一發送單元,用于在接收到其他終端發送給所述第一終端的呼叫請求信息后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的唯一標識符;
[0069]第二發送單元,用于在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服務器返回的WEB RTC應用信息后,通 過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通?目。[0070]在第四方面的第一種可能實現方式中,所述RTC服務器還包括:
[0071]開啟單元,用于在接收到第一終端發送的注冊離線業務請求信息后,為該信息中 WEB RTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響 應信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉其WEB RTC應用。
[0072]結合第四方面的第一種可能實現方式,在第二種可能實現方式中,所述開啟單元 具體用于,在接收到所述注冊離線業務請求信息后,根據注冊離線業務請求信息中攜帶的 WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC應用是否具有注冊離線業務 請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離線模式。
[0073]在第四方面的第二種可能實現方式中,所述WEB RTC應用請求信息中還攜帶有用 戶所選定的WEB RTC應用類型;
[0074]所述第二發送單元具體用于在接收到所述第一終端發送的開啟WEB RTC應用請求 信息后,向所述第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
[0075]結合第四方面或第四方面的第一種可能的實現方式或第四方面的第二種可能的 實現方式或第四方面的第三種可能的實現方式,在第四種可能的實現方式中,所述RTC服 務器還包括:
[0076]信息添加單元,用于在接收到其他終端發送給所述第一終端的呼叫請求信息后, 在所述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求信息 后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
[0077]結合第四方面或第四方面的第一種可能的實現方式或第四方面的第二種可能的 實現方式或第四方面的第三種可能的實現方式或第四方面的第四種可能的實現方式,在第 五種可能的實現方式中,所述RTC服務器還包括:
[0078]第三發送單元,用于在接收到所述第一終端發送的拒絕所述呼叫請求信息后,向 發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0079]結合第四方面或第四方面的第一種可能的實現方式或第四方面的第二種可能的 實現方式或第四方面的第三種可能的實現方式或第四方面的第四種可能的實現方式或第 四方面的第五種可能的實現方式,在第六種可能的實現方式中,所述RTC服務器還包括:
[0080]處理單元,用于在將所述呼叫請求信息發送給所述第一終端后,若在預設時間內 未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼叫 請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
[0081]結合第四方面或第四方面的第一種可能的實現方式或第四方面的第二種可能的 實現方式或第四方面的第三種可能的實現方式或第四方面的第四種可能的實現方式或第 四方面的第五種可能的實現方式或第四方面的第六種可能的實現方式,在第七種可能的實 現方式中,所述返回給所述第一終端的WEB RTC應用信息所對應的WEB RTC應用的類型與 所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
[0082]第五方面,一種實時通信系統,所述系統包括所述終端設備和/或所述RTC服務 器。
[0083]從上述技術方案可以看出,通過本發明實施例,使得在終端的WEB RTC應用關閉的 情況下,仍然可以接收到RTC服務器轉發的其他終端發送給該終端的呼叫請求信息,并在接收到所述呼叫請求信息后,向所述RTC服務器發送開啟WEB RTC應用請求信息,在接收到 所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求 信息的終端進行通信。本發明實施例可有效解決現有基于WEB的實時通信在通信雙方不同 時在線或者或者未打開WEB RTC應用時,無法獲取信息的問題。另外,還可以根據呼叫請求 信息發送終端WEB RTC應用的唯一標識符選擇性的接受呼叫,提高用戶體驗,具有較強的實 用性。
【專利附圖】
【附圖說明】
[0084]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些 實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些 附圖獲得其他的附圖。
[0085]圖1是本發明一實施例提供的實時通信系統的網絡架構圖;
[0086]圖2是本發明另一實施例提供的實時通信方法的交互流程圖;
[0087]圖3是本發明另一實施例提供的實時通信方法的實現流程圖;
[0088]圖4是本發明另一實施例提供的實時通信方法的實現流程圖;
[0089]圖5是本發明另一實施例提供的實時通信方法的具體流程圖;
[0090]圖6是本發明另一實施例提供的終端設備的組成結構圖;
[0091]圖7是本發明另一實施例提供的RTC服務器的組成結構圖。
【具體實施方式】
[0092]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對 本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并 不用于限定本發明。
[0093]另外,本發明實施例中術語“系統”和“網絡”在本文中常被可互換使用。本發明 實施例中術語“和/或”,僅僅是一種描述關聯對象的關聯關系,表示可以存在三種關系,例 如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本發 明實施例中字符“/”,一般表示前后關聯對象是一種“或”的關系。
[0094]為了說明本發明所述的技術方案,下面通過具體實施例來進行說明。
[0095]圖1示出了本發明一實施例提供的實時通信方法所適用系統的網絡架構圖,為了 便于說明,僅示出了與本實施例相關的部分。
[0096]如圖1所示,該系統包括終端設備I以及RTC服務器2。
[0097]其中,所述終端設備I可以是任意具有網絡接入功能的終端設備,包括但不限于 手機、平板電腦、臺式機、筆記本電腦,電視機,機頂盒,家庭網關等。
[0098]所述RTC服務器2可以是一個單一的服務器,也可以為由幾個功能服務器共同組 成的服務器端。例如,為終端設備I提供服務的WEB服務器、為終端設備I所使用瀏覽器提 供服務的WEB服務器、或者為終端設備I所使用的基于WEB的RTC應用提供服務的WEB服 務器。不同的WEB RTC應用可以有不同的WEB服務器,因此RTC服務器2可以為多個不同 WEB服務器的組合,以實現不同瀏覽器、不同網絡、不同的WEB RTC應用之間的通信,完成協議轉化、消息轉換、路由尋址、建立連接、頁面優化、加速、信息添加等功能。
[0099]在本實施例中,RTC服務器2在接收到其他終端發送給終端設備I的呼叫請求信 息后,將所述呼叫請求信息發送給終端設備1,所述呼叫請求信息中攜帶有發送所述呼叫請 求信息的終端的WEB RTC應用的唯一標識符,例如:張三@msn.webrtc.com,表示張三通過 實時通信msn發送的信息。需要說明的是,所述WEB RTC應用的唯一標識符中還可以包括 發送終端的信息,例如終端的類型iphone或ipad等。
[0100]終端設備I在接收到所述呼叫請求信息后,根據發送所述呼叫請求信息的終端的 WEB RTC應用唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開 啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所 述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。其中,所述向所述RTC服務器 發送的開啟WEB RTC應用請求消息所對應的WEB RTC應用的類型與所述發送所述呼叫請求 信息的終端的WEB RTC應用的類型相同或不同。
[0101]需要說明的是,所述開啟WEB RTC應用包括將WEB RTC應用從離線模式轉為在線 模式,或者從關閉狀態到重新開啟。
[0102]優選的是,本實施例終端設備I在接收RTC服務器2轉發的其他終端發送給終端 設備I的呼叫請求信息前,還可以包括:
[0103]終端設備I向RTC服務器2發送注冊離線業務請求信息,該信息中攜帶有需要進 行離線業務的WEB RTC應用的唯一標識符(例如QQ號、MSN號等),所述RTC服務器2在接 收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式, 并向所述終端設備I反饋成功響應信息。終端設備I在接收到所述RTC服務器反饋的成功 響應信息后,關閉所述WEBRTC應用(關閉瀏覽器和/或關閉當前運行的WEB RTC應用)。其 中,關閉當前運行的WEB RTC應用包括退出當前運行的WEB RTC應用或者將當前運行的WEB RTC應用從在線模式轉為離線模式。
[0104]所述開啟WEB RTC應用請求信息中還可以攜帶有用戶所選定的WEB RTC應用類 型,以使得所述RTC服務器在接收到所述開啟WEB RTC應用請求信息后,返回與用戶所選定 的WEB RTC應用類型相同的WEB RTC應用。該WEB RTC應用的類型與所述呼叫請求信息中 WEB RTC應用的類型可以相同,也可以不同。
[0105]需要說明的是,當用戶未選擇WEB RTC應用類型時,終端設備I或者RTC服務器2 可以選擇默認(預先設定)的WEB RTC應用類型。
[0106]優選的是,所述RTC服務器在接收到所述注冊離線業務請求信息后,根據注冊離 線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC 應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離 線模式。
[0107]優選的是,所述終端設備I還可以包括監聽客戶端11,所述RTC服務器2在接收 到其他終端發送給終端設備I的呼叫請求信息后,先將所述呼叫請求信息發送給監聽客戶 端11,以使得所述監聽客戶端11將所述呼叫請求信息發送給所述終端設備I。進一步,RTC 服務器2在接收到其他終端發送給終端設備I所屬用戶的呼叫請求信息后,可以選擇將該 呼叫請求信息發送給終端設備I所屬用戶的監聽客戶端11。所述監聽客戶端(例如可以 為推送Push客戶端)接收由網絡側主動發送的業務消息,該業務消息可以是“攜帶了呼叫請求信息的Push消息”,所述Push消息可以攜帶在以下任一種消息格式中以發送給終端 設備I,所述消息格式包括:SMS (short message service,短消息業務)、MMS (multimedia messaging service,多媒體消息業務),、網絡套接字Websocket、JSON( JavaScript Object Notation, JavaScript對象表示法)、可擴展消息與存在協議XMPP (Extensible Messaging and Presence Protocol)異步 JavaScript 和 XML 的 AJAX(Asynchronous JavaScript and XML)、SIP (Session Initiation Protocol,會話初始協議),基于XML的超額文本傳輸協議 請求XMLHTTPRequest等。可選的,所述呼叫請求信息中還可以攜帶有發送所述呼叫請求信 息的終端的瀏覽器引擎的標識信息,例如browser.Ua等;
[0108]所述終端設備I接收所述RTC服務器發送的呼叫請求信息包括:
[0109]監聽客戶端11接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求 信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽 器引擎的信息,將所述呼叫請求信息發送給所述終端設備I的瀏覽器引擎進行處理。該瀏 覽器引擎的標識信息,可以在發送終端發送的呼叫請求信息中攜帶,也可由所述RTC服務 器2在接受到該呼叫請求信息后,添加瀏覽器引擎的標識信息。所述瀏覽器引擎用來解析 呼叫請求中攜帶的信息,以便進一步運行所述WEB RTC應用,瀏覽器引擎可以是操作系統內 的功能模塊,例如webkit ;可以是瀏覽器客戶端內的功能模塊。WEB RTC應用可以在瀏覽器 中運行,也可以脫離瀏覽器而基于操作系統內的瀏覽器引擎以WEB應用形式獨立運行。
[0110]優選的是,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer (Session Description Protocol Offer,會話描述協議提供)信息;
[0111]所述終端設備I向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到 所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求 信息的終端進行通信具體包括:
[0112]所述終端設備I通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成 SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引 擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC 服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立 通信通道開始通信。
[0113]或者,
[0114]終端設備I通過瀏覽器引擎向所述RTC服務器2發送開啟基于WEB的RTC應用請 求信息,該請求信息中攜帶瀏覽器引擎根據呼叫請求中攜帶的SDP Offer信息生成的SDP Answer信息,以使得所述RTC服務器2將所述SDP Answer信息發送給所述信息發送終端 的瀏覽器引擎以建立通信通道開始通信。RTC服務器2在接收到終端設備發送的開啟基于 WEB的RTC應用請求信息后,將返回基于WEB的RTC應用給終端設備I呈現。
[0115]優選的是,會話協商的會話描述協議提供SDP Offer信息可以由RTC服務器為終 端設備I臨時緩存,而不攜帶在所述呼叫請求信息中發送給終端設備I。
[0116]終端設備I通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息, 并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEBRTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給 所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給所述信息發送終端 的瀏覽器引擎以建立通信通道開始通信。
[0117]需要說明的是,RTC服務器2在接收到終端設備I發送的開啟WEB RTC應用請求 信息后,可以向所述終端設備I返回WEB RTC應用信息,也可以返回WEB RTC應用信息以及 緩存的SDP Offer信息。
[0118]優選的是,所述RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信 息后,在所述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求 信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括但不限于震動、響鈴或 彈出提示框。
[0119]優選的是,所述終端設備I在接收到所述呼叫請求信息后,根據發送所述呼叫請 求信息的終端的唯一標識符判斷是否需要接受所述呼叫請求,若否,向所述RTC服務器2反 饋拒絕信息,以使得RTC服務器2在接收到所述拒絕信息后,向發送所述呼叫請求信息的終 端反饋所述終端設備I當前忙碌或者離線等信息。
[0120]可選的,所述RTC服務器在將所述呼叫請求信息發送給所述終端設備I后,若在預 設時間內未接收到所述終端設備I反饋的信息或者接收到的反饋信息為暫時不接收時,緩 存所述呼叫請求信息,在預定時間后或者所述終端設備I開啟WEB RTC應用后再發送該呼 叫請求信息。所述RTC服務器2還可生成提示信息,并為該用戶存儲該信息,供終端設備I 查詢或主動發送給終端設備I。該提示信息可以為文本信息、音視頻等多媒體類型的信息。 可以提示用戶發送呼叫的的發送方,呼叫時間,所使用的基于WEB的RTC應用的類型,瀏覽 器類型等信息。當用戶下次登錄該基于WEB的RTC應用或打開瀏覽器時,可以收到未接來 電或留言的通知消息。
[0121]本實施例提供的系統場景只用于解釋本發明,并不限定本發明的保護范圍。
[0122]圖2示出了本發明另一實施例提供的實時通信方法的交互流程,該方法過程詳述 如下:
[0123]1、第一終端(終端設備I)向實時通信RTC服務器發送注冊離線業務請求信息,該 信息中攜帶有WEB RTC應用的唯一標識符。
[0124]在本實施例中,所述注冊離線業務請求信息中攜帶有WEB RTC應用的唯一標識符, 所述唯一標識符包括WEB RTC應用的類型以及對應的標識符,例如QQ+張三(或者對應的QQ 號碼)。其中,所述基于WEB的RTC應用包括但不限于具備WEB應用功能的客戶端程序、具 備WEB技術的打包格式的widget應用、基于瀏覽器引擎的WEB應用等,例如WEB QQ等。
[0125]在本實施例中,第一終端向實時通信RTC服務器發送注冊離線業務請求信息的目 的是通知服務器其將關閉基于WEB的RTC應用(包括關閉基于WEB的RTC應用或者關閉瀏 覽器),但希望關閉基于WEB的RTC應用后仍可以接收到其他終端發送給所述第一終端的呼 叫請求彳目息或者其他通知彳目息等。
[0126]2、RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的 WEB RTC應用開啟離線模式。
[0127]優選的是,為了增強安全性,防止惡意注冊,RTC服務器在接收到所述注冊離線業務請求信息后,根據注冊離線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯 一標識符對應的WEB RTC應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對 應的WEB RTC應用開啟離線模式,RTC服務器將為所述第一終端保持在線狀態、提供通知以 及為所述第一終端保存通話信息等。
[0128]3、RTC服務器向所述第一終端反饋成功響應信息;
[0129]4、第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉基于WEB的RTC 應用。例如,用戶關閉瀏覽器應用程序,用戶可以是待機狀態,可以運行其它應用,或運行其 它瀏覽器等情況。
[0130]5、RTC服務器接收其他終端(第二終端)發送給所述第一終端的呼叫請求信息。
[0131]在本實施例中,第二終端可以是任意具有網絡接入功能的終端設備,包括但不限 于手機平板電腦、臺式機、電視機,機頂盒,家庭網關、筆記本電腦等。
[0132]需要說明的是,當第二終端為不具備WEB能力的傳統終端時,需要通過其他網關 (例如RTC服務器代理網關、會話發起協議(Session Initiation Protocol, SIP)代理網關、 媒體網關等)完成協議和消息的轉換后,將所述叫請求信息發送給所述RTC服務器。
[0133]6、RTC服務器將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜 帶有發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符以及WEB RTC應用的類 型。
[0134]具體的是,RTC服務器判斷所述第一終端是否開啟基于WEB的RTC應用,若否,判 斷所述第一終端是否開啟離線模式,若是,將所述呼叫請求信息發送給所述監聽客戶端,以 使得所述監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求信 息,根據所述呼叫請求信息中瀏覽器引擎的標識信息確定所述呼叫請求信息為發送給瀏覽 器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0135]7、第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息;具體包括第一終 端在接收到所述呼叫請求信息后,根據發送所述呼叫請求信息的終端的唯一標識符判斷是 否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB RTC應用請求信息;所述 WEB RTC應用請求信息中還可以攜帶有用戶所選定的WEB RTC應用類型,以使得所述RTC服 務器在接收到所述WEB RTC應用請求信息后,返回與用戶所選定的WEB RTC應用類型相同 的WEB RTC應用。該WEB RTC應用的類型與所述呼叫請求信息中WEB RTC應用的類型可以 相同,也可以不同。例如,第一終端通過WEB QQ應用注冊了離線業務,第二終端通過MSN應 用呼叫第一終端用戶,第一終端可以通過向RTC服務器請求開啟WEB QQ應用與第二終端用 戶進行通信。
[0136]8、RTC服務器在接收到所述開啟WEB RTC應用應用請求信息,向所述第一終端返 回的WEB RTC應用信息;
[0137]所述返回給所述第一終端的WEB RTC應用信息所對應的WEB RTC應用的類型與所 述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
[0138]9、第一終端通過所述WEB RTC應用與所述發送呼叫請求信息的終端(第二終端)進 行通信。
[0139]優選的是,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器 引擎的標識信息;[0140]所述第一終端接收所述RTC服務器發送的呼叫請求信息包括:
[0141]所述第一終端的監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析 所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息 為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎;
[0142]所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所 述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信 息的終端進行通信具體包括:
[0143]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成 SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引 擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC 服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立 通信通道開始通信;
[0144]或者,
[0145]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,所述WEB RTC應用請求信息中攜帶有SDP Answer信息,以使得所述RTC服務器在接收 到所述WEB RTC應用請求信息,向所述第一終端返回WEB RTC應用信息,并將所述WEB RTC 應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以 建立通信通道;
[0146]所述第一終端接收所述RTC服務器返回的WEB RTC應用信息,通過所述WEB RTC 應用與所述發送呼叫請求信息的終端進行通信。
[0147]優選的,所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接 收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫 請求信息的終端進行通信具體包括:
[0148]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述 WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所 述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息 發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給所述信息發 送終端的瀏覽器引擎以建立通信通道開始通信。
[0149]優選的是,為了增強用戶體驗,提高實用性,所述RTC服務器在接收到其他終端發 送給所述第一終端的呼叫請求信息后,在所述呼叫請求信息中添加提示信息,以使得所述 第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的 提示,包括但不限于震動、響鈴或彈出提示框。提示信息可以通過腳本語言實現,例如通過 Java Script,輕量級數據交換格式語言JSON (JavaScript Object Notation)等方式實 現。例如當所述提示信息為震動時,瀏覽器引擎解析所述提示信息,調用震動應用程序接口 API,完成震動提示,如navigator, vibrate ([1000, 500, 2000]),表示振動 I 秒,停頓 0.5秒, 一共振動2秒。又例如當所述提示信息為彈出提示框時,則調用交互的API接口,如通過使用 Alert 方式,彈出提示框,Alert (“第二終端”,www.WEBqq.com, “opera mini”, “是否應 答呼叫”)。
[0150]優選的是,為進一步增強用戶體驗,本實施例還包括:
[0151]所述第一終端在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息;
[0152]所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋 所述第一終端當前忙碌或者離線等信息。
[0153]需要說明的是,本實施例中的通信可以為多方通信,通信的信息包括音視頻、文本 以及數據等。當多方通信時,將攜帶多方唯一標識符的信息發送給第一終端的瀏覽器引擎 解析,第一終端根據解析后獲得的唯一標識符,選擇相應的終端設備進行通信。
[0154]優選的是,所述RTC服務器在將所述呼叫請求信息發送給所述第一終端后,若在 預設時間內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩 存所述呼叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫 請求信息。所述RTC服務器還可生成提示信息,并為該用戶存儲該信息,供終端設備查詢或 主動發送給終端設備。該提示信息可以為文本信息、音視頻等多媒體類型的信息。可以提 示用戶發送呼叫的的發送方,呼叫時間,所使用的基于WEB的RTC應用的類型,瀏覽器類型 等信息。當用戶下次登錄該基于WEB的RTC應用或打開瀏覽器時,可以收到未接來電或留 言的通知消息。
[0155]需要說明的是,本實施例中第一終端激活的瀏覽器可以與第二終端的瀏覽器相同 或者不同。本實施例中第一終端所使用的網絡也可以與第二終端的網絡相同或者不同,比 如對方使用固定電話呼叫WEB QQ,只需要RTC服務器做一些相應的路由、協議轉換即可。
[0156]圖3示出了本發明實施例一提供的實時通信方法的實現流程,該實施例的執行主 體為圖1中的終端設備I,該方法過程詳述如下:
[0157]在步驟S301中,第一終端接收RTC服務器轉發的其他終端發送給所述第一終端的 呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的 唯一標識符;
[0158]在步驟S302中,第一終端根據發送所述呼叫請求信息的終端WEB RTC應用的唯一 標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB RTC應用請 求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與 所述發送呼叫請求信息的終端進行通信。
[0159]優選的是,在所述第一終端接收RTC服務器轉發的其他終端發送給所述第一終端 的呼叫請求信息的步驟之前,還包括:
[0160]第一終端向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有 WEB RTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業務請求信息 后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應
信息;
[0161]第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEB RTC應用。
[0162]優選的是,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類 型,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息后,返回與所述WEB RTC應用類型相同的WEB RTC應用。
[0163]優選的是,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器 引擎的標識信息;
[0164]所述第一終端接收所述RTC服務器發送的呼叫請求信息包括:
[0165]所述第一終端的監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析 所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息 為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0166]優選的是,所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在 接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼 叫請求信息的終端進行通信具體包括:
[0167]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDPOffer信息后,通過所述 WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所 述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息 發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給所述信息發 送終端的瀏覽器引擎以建立通信通道開始通信;
[0168]或者,
[0169]所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0170]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成 SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引 擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC 服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立 通信通道開始通信;
[0171]或者,
[0172]所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息;
[0173]所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信 息,所述WEB RTC應用請求信息中攜帶有SDP Answer信息,以使得所述RTC服務器在接收 到所述WEB RTC應用請求信息,向所述第一終端返回WEB RTC應用信息,并將所述WEB RTC 應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以 建立通信通道;
[0174]所述第一終端接收所述RTC服務器返回的WEB RTC應用信息,通過所述WEB RTC 應用與所述發送呼叫請求信息的終端進行通信。
[0175]優選的是,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在 接收到其他終端發送給所述第一終端的呼叫請求信息時添加的;
[0176]所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信 息生成相應的提示,包括但不限于震動、響鈴或彈出提示框。
[0177]優選的是,本實施例還包括:[0178]所述第一終端在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息,以使得 所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所述第一 終端當前忙碌或者離線信息。
[0179]本實施例的具體實施過程可參見圖2對應實施例相關步驟的描述,在此不再贅 述。
[0180]圖4示出了本發明實施例一提供的實時通信方法的實現流程,該實施例的執行主 體為圖1中的RTC服務器2,該方法過程詳述如下:
[0181]在步驟S401中,RTC服務器在接收到其他終端發送給第一終端的呼叫請求信息 后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫 請求信息的終端WEB RTC應用的唯一標識符。
[0182]在本實施例中,所述RTC服務器將所述呼叫請求信息發送給所述第一終端包括:
[0183]所述RTC服務器將所述呼叫請求信息發送給監聽客戶端,以使得所述監聽客戶端 在接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求信息,根據所述呼叫 請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所 述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0184]在步驟S402中,RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求 信息后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服 務器返回的WEB RTC應用信息后,通過所述WEBRTC應用與所述發送呼叫請求信息的終端進 行通信。
[0185]優選的是,在所述RTC服務器接收到其他終端發送給第一終端的呼叫請求信息的 步驟之前,還包括:
[0186]RTC服務器在接收到第一終端發送的注冊離線業務請求信息后,為該信息中WEB RTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應 信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉其WEB RTC應用。
[0187]具體包括所述RTC服務器在接收到所述注冊離線業務請求信息后,根據注冊離線 業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC應 用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離線 模式。
[0188]優選的是,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEBRTC應用類 型;
[0189]RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述 第一終端返回WEB RTC應用信息包括:
[0190]RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述 第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用。
[0191]優選的是,本實施例還包括:
[0192]所述RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息后,在所 述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求信息后,根 據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。[0193]優選的是,本實施例還包括:
[0194]所述RTC服務器在接收到所述第一終端發送的拒絕所述呼叫請求信息后,向發送 所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0195]優選的是,本實施例還包括:
[0196]所述RTC服務器在將所述呼叫請求信息發送給所述第一終端后,若在預設時間內 未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼叫 請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
[0197]本實施例的具體實施過程可參見圖2對應實施例相關步驟的描述,在此不再贅 述。
[0198]圖5示出了本發明另一實施例提供的實時通信方法的具體流程,該方法過程詳述 如下:
[0199]1、第一終端向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有 WEB RTC應用的唯一標識符。
[0200]具體的是,第一終端通過WEB RTC應用向所述RTC服務器發送注冊離線業務請求 信息。其中,所述WEB RTC應用包括但不限于具備WEB應用功能的客戶端程序,例如WEB QQ
坐 寸o
[0201]在本實施例中,第一終端向實時通信RTC服務器發送注冊離線業務請求信息的目 的是通知服務器其將關閉WEB RTC應用(包括關閉WEB RTC應用或者關閉瀏覽器),但希望 關閉WEB RTC應用后仍可以接收到其他終端發送給所述第一終端的呼叫請求信息或者其他 通知信息等。
[0202]2、RTC服務器在接收到所述注冊離線業務請求信息后,為所述第一終端開啟離線 模式。
[0203]優選的是,為了增強安全性,防止惡意注冊,RTC服務器在接收到所述注冊離線業 務請求信息后,根據注冊離線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯 一標識符對應的WEB RTC應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對 應的WEB RTC應用開啟離線模式,RTC服務器將為所述第一終端保持在線狀態、提供通知以 及為所述第一終端保存通話信息等。
[0204]3、RTC服務器為所述第一終端開啟離線模式后,向所述第一終端反饋成功響應信
肩、O
[0205]4、第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉WEB RTC應用 和/或瀏覽器。
[0206]5、RTC服務器接收其他終端(第二終端)發送給所述第一終端的呼叫請求信息。
[0207]在本實施例中,第二終端可以是任意具有網絡接入功能的終端設備,包括但不限 于手機、IPAD、筆記本電腦等。
[0208]需要說明的是,但第二終端為手機等終端設備時,需要通過另外一個網關完成協 議和消息的轉換后,將所述叫請求信息發送給所述RTC服務器。
[0209]6、RTC服務器將所述呼叫請求信息發送給監聽客戶端,所述呼叫請求信息中攜帶 有發送所述呼叫請求信息的終端WEB RTC應用的的唯一標識符、提示信息、WEB RTC應用 類型、瀏覽器信息、RTC服務器地址信息和/或會話描述協議提供(Session DescriptionProtocol Offer, SDP Offer)信息等。
[0210]具體的是,RTC服務器判斷所述第一終端是否開啟基于WEB的RTC應用,若否,判 斷所述第一終端是否開啟離線模式,若是,將所述呼叫請求信息發送給所述監聽客戶端。
[0211]需要說明的是,本實施例中的呼叫請求信息可通過套接字(WEBsocket)發送,還可 通過短消息、彩信、http消息、會話初始協議(Session Initiation Protocol, SIP)等中的 至少一種發送。
[0212]另外,本實施例的監聽客戶端可以為一個單獨的終端設備,也可以為集成在所述 第一終端中的軟件和/或硬件單元。
[0213]7、監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求 信息,根據所述呼叫請求信息中瀏覽器引擎的標識信息確定所述呼叫請求信息為發送給瀏 覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0214]8、監聽客戶端將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0215]需要說明的是,當所述瀏覽器為關閉狀態時,監聽客戶端需要先激活所述瀏覽器 引擎,再將所述呼叫請求信息發送給所述瀏覽器引擎解析處理。監聽客戶端根據呼叫請 求信息中攜帶的瀏覽器引擎的標識信息,判斷所述呼叫請求信息為發送給瀏覽器引擎的信 息,并激活瀏覽器引擎。
[0216]9、瀏覽器引擎接收并解析所述呼叫請求信息,調用所述呼叫請求信息中的提示信 息生成相應的提示,包括但不限于震動、響鈴或彈出提示框。
[0217]例如當所述提示信息為震動時,瀏覽器引擎解析所述提示信息,調用震動應用程 序接口 API,完成震動提示,如navigator, vibrate ([1000, 500, 2000]),表示振動I秒,停頓
0.5秒,一共振動2秒。又例如當所述提示信息為彈出提示框時,則調用交互的API接口, 如通過使用Alert方式,彈出提示框,Alert (“第二終端”, www.WEBqq.com, “opera mini”, “是否應答呼叫”)。
[0218]10、在接收到用戶根據所述提示信息選擇的接收所述呼叫請求信息時,第一終端 通過所述瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息。
[0219]11、RTC服務器在接收到所述呼叫請求信息后,返回相應的WEB RTC應用。
[0220]12、瀏覽器引擎將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用。
[0221]13、WEB RTC應用根據所述SDP Offer信息生成SDP Answer信息,并將所述SDP Answer信息發送給所述瀏覽器引擎。
[0222]14、瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器。
[0223]15,RTC服務器將所述SDP Answer信息發送給所述信息發送終端(第二終端)的瀏 覽器引擎。
[0224]16、第二終端的瀏覽器引擎將所述SDP Answer信息發送給第二終端的WEB RTC應用。
[0225]17、第一終端和第二終端建立通信。
[0226]優選的是,本實施例中的步驟6可以不攜帶SDP Offer信息,而在第11步返回相 應的WEB RTC應用時攜帶所述SDP Offer信息,則WEB RTC應用根據所述SDP Offer信息 直接生成SDP Answer信息。[0227]優選的是,為進一步增強用戶體驗,本實施例還包括:
[0228]所述第一終端在接收到用戶選擇的拒絕所述呼叫請求時,向所述RTC服務器反饋 拒絕信息;
[0229]所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋 所述第一終端當前忙碌或者離線等信息。
[0230]優選的是,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類 型,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息后,返回與用戶所選定的 WEB RTC應用類型相同的WEB RTC應用。該WEB RTC應用的類型與所述呼叫請求信息中WEB RTC應用的類型可以相同,也可以不同。
[0231]優選的是,所述RTC服務器在將所述呼叫請求信息發送給所述第一終端后,若在 預設時間內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩 存所述呼叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫 請求信息。所述RTC服務器2還可生成提示信息,并為該用戶存儲該信息,供終端設備I查 詢或主動發送給終端設備I。該提示信息可以為文本信息、音視頻等多媒體類型的信息。可 以提示用戶發送呼叫的的發送方,呼叫時間,所使用的基于WEB的RTC應用的類型,瀏覽器 類型等信息。當用戶下次登錄該基于WEB的RTC應用或打開瀏覽器時,可以收到未接來電 或留言的通知消息。
[0232]圖6示出了本發明另一實施例提供的終端設備的組成結構,為了便于說明,僅示 出了與本發明實施例相關的部分。
[0233]該終端設備I包括信息接收單元11以及處理單元12。其中,各單元的具體功能如 下:
[0234]信息接收單元11,用于接收所述RTC服務器轉發的其他終端發送給該終端設備的 呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的 唯一標識符;
[0235]處理單元12,用于根據所述信息接收單元11接收到的呼叫請求信息中攜帶的呼 叫請求信息發送終端WEB RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向 所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0236]進一步的是,所述終端設備I還包括:
[0237]信息發送單元13,用于向實時通信RTC服務器發送注冊離線業務請求信息,該信 息中攜帶有WEB RTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業 務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反 饋成功響應信息;
[0238]關閉單元14,用于在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEB RTC應用。
[0239]優選的,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型, 以使得所述RTC服務器在接收到所述WEB RTC應用請求信息后,返回與所述WEB RTC應用 類型相同的WEB RTC應用。
[0240]進一步的,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器引擎的標識信息;
[0241]所述信息接收單元11具體用于,通過所述該終端設備的監聽客戶端接收所述RTC 服務器發送的呼叫請求信息,解析所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引 擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送 給所述第一終端的瀏覽器引擎。
[0242]優選的,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer
信息;
[0243]所述處理單元12具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送 開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所 述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將 所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer 信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC 服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終 端的瀏覽器引擎以建立通信通道開始通信。
[0244]或者,所述處理單元12具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務 器發送開啟WEB RTC應用請求信息,所述WEB RTC應用請求信息中攜帶有SDP Answer信息, 以使得所述RTC服務器在接收到所述WEB RTC應用請求信息,向所述第一終端返回WEB RTC 應用信息,并將所述WEB RTC應用請求信息中的SDP Answer信息發送給發送所述呼叫請求 信息的終端的瀏覽器引擎以建立通信通道,在接收到所述RTC服務器返回的WEB RTC應用 信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0245]或者,
[0246]所述處理單元12具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送 開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過 所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將 所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer 信息發送給所述信息發送終端的瀏覽器引擎以建立通信通道開始通信。
[0247]優選的,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在接 收到其他終端發送給所述第一終端的呼叫請求信息時添加的;
[0248]所述終端設備I還包括:
[0249]提示單元15,用于在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提 示信息生成相應的提示,包括但不限于震動、響鈴或彈出提示框。
[0250]進一步的,所述終端設備I還包括:
[0251]信息反饋單元16,用于在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息, 以使得所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所 述第一終端當前忙碌或者離線信息。
[0252]本實施例提供的終端設備I可以使用在前述對應的實時通信方法,詳情參見上述 實時通信方法圖2、圖3、圖5對應實施例的相關描述,在此不再贅述。
[0253]圖7示出了本發明另一實施例提供的RTC服務器的組成結構,為了便于說明,僅示出了與本發明實施例相關的部分。
[0254]該RTC服務器2包括第一發送單元21以及第二發送單元22。其中,各單元的具體 功能如下:
[0255]第一發送單元21,用于在接收到其他終端發送給所述第一終端的呼叫請求信息 后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫 請求信息的終端WEB RTC應用的唯一標識符;
[0256]第二發送單元22,用于在接收到所述第一終端發送的開啟WEB RTC應用請求信息 后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服務器 返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
[0257]進一步的,所述RTC服務器2還包括:
[0258]開啟單元23,用于在接收到第一終端發送的注冊離線業務請求信息后,為該信息 中WEB RTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成 功響應信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉 其WEB RTC應用。
[0259]所述開啟單元23具體用于,在接收到所述注冊離線業務請求信息后,根據注冊離 線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC 應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離 線模式。
[0260]優選的,所述WEB RTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型;
[0261]所述第二發送單元22,具體用于在接收到所述第一終端發送的開啟WEB RTC應用 請求信息后,向所述第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用。
[0262]進一步的,所述RTC服務器2還包括:
[0263]信息添加單元24,用于在接收到其他終端發送給所述第一終端的呼叫請求信息 后,在所述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求信 息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示 框。
[0264]進一步的,所述第二發送單元23用于,將所述呼叫請求信息發送給監聽客戶端, 以使得所述監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求 信息,根據所述呼叫請求信息中的瀏覽器標識信息確定所述呼叫請求信息為發送給瀏覽器 引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
[0265]進一步的,所述RTC服務器2還包括:
[0266]第三發送單元25,用于在接收到所述第一終端發送的拒絕所述呼叫請求信息后, 向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
[0267]進一步的,所述RTC服務器2還包括:
[0268]處理單元26,用于在將所述呼叫請求信息發送給所述第一終端后,若在預設時間 內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼 叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
[0269]本實施例提供的RTC服務器2可以使用在前述對應的實時通信方法,詳情參見上述實時通信方法圖2、圖4、圖5對應實施例的相關描述,在此不再贅述。
[0270]本領域普通技術人員可以理解為所述終端設備I實施例及RTC服務器2實施例所 包括的各個單元只是按照功能邏輯進行劃分的,但并不局限于上述的劃分,只要能夠實現 相應的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區分,并不用于限制本 發明實施例的保護范圍。
[0271 ] 另外,在本發明實施例各個實施例中的各功能單元可以集成在一個處理單元中, 也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集 成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0272]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用 時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明實施例的技術方案 本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品 的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺 計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本 發明實施例各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬 盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)> 磁碟或者光盤等各種可以存儲程序代碼的介質。
[0273]綜上所述,本發明實施例通過向RTC服務器發送注冊離線業務請求信息來開啟離 線模式,使得在終端的WEB RTC應用關閉的情況下,仍然可以接收到RTC服務器轉發的其他 終端發送給該終端的呼叫請求信息,并在接收到所述呼叫請求信息后,向所述RTC服務器 發送開啟WEB RTC應用請求信息,在接收到所述RTC服務器返回的WEB RTC應用后,通過所 述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。通過本發明實施例,可有效解 決現有基于WEB的實時通信在通信雙方不同時在線或者未打開WEB RTC應用時,無法獲取 信息的問題。而且通過關閉瀏覽器和/或WEB RTC應用,也可以節省電池電量,節省與網絡 保持單獨連接、發送心跳消息等網絡資源。并通過監聽消息,在不建立會話情況下,也能實 現信令協商的技術效果,提高信令協商效率。另外,還可以根據呼叫請求信息發送終端WEB RTC應用的唯一標識符選擇性的接受呼叫,提高用戶體驗,具有較強的實用性。
[0274]以上所述實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述實 施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各 實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改 或者替換,并不使相應技術方案的本質脫離本發明實施例各實施例技術方案的精神和范 圍。
【權利要求】
1.一種實時通信方法,其特征在于,所述方法包括: 第一終端接收實時通信RTC服務器轉發的其他終端發送給所述第一終端的呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符; 第一終端根據發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEBRTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
2.如權利要求1所述的方法,其特征在于,在所述第一終端接收RTC服務器轉發的其他終端發送給所述第一終端的呼叫請求信息的步驟之前,還包括: 第一終端向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有WEBRTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息; 第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEBRTC應用。
3.如權利要求1或2所述的方法,其特征在于,所述開啟WEBRTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型,以使得所述RTC服務器在接收到所述開啟WEB RTC應用請求信息后,返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
4.如權利要求1所述的方法,其特征在于,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器引擎的標識信息; 所述第一終端接收所述RTC服務器發送的呼叫請求信息包括:` 所述第一終端的監聽客戶端接收到所述RTC服務器發送的呼叫請求信息后,解析所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
5.如權利要求1至4任一項所述的方法,其特征在于,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息; 所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括: 所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成SDPAnswer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
6.如權利要求1至4任一項所述的方法,其特征在于,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息; 所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括: 所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,所述開啟WEB RTC應用請求信息中攜帶有SDP Answer信息,以使得所述RTC服務器在接收到所述開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,并將所述開啟WEB RTC應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道; 所述第一終端接收所述RTC服務器返回的WEB RTC應用信息,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
7.如權利要求1至4任一項所述的方法,其特征在于,所述第一終端向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信具體包括: 所述第一終端通過瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEBRTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDPAnswer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
8.如權利要求1至7任一項所述的方法,其特征在于,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息時添加的;· 所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
9.如權利要求1至8任一項所述的方法,其特征在于,所述方法還包括: 所述第一終端在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息,以使得所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
10.如權利要求1至9任一項所述的方法,其特征在于,所述第一終端向所述RTC服務器發送的開啟WEB RTC應用請求消息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
11.一種實時通信方法,其特征在于,所述方法包括: 實時通信RTC服務器在接收到其他終端發送給第一終端的呼叫請求信息后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的唯一標識符; RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與發送所述呼叫請求信息的終端進行通信。
12.如權利要求11所述的方法,其特征在于,在所述RTC服務器接收到其他終端發送給第一終端的呼叫請求信息的步驟之前,還包括:RTC服務器在接收到所述第一終端發送的注冊離線業務請求信息后,為該信息中WEBRTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉其WEBRTC應用。
13.如權利要求12所述的方法,其特征在于,所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式具體包括: 所述RTC服務器在接收到所述注冊離線業務請求信息后,根據注冊離線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離線模式。
14.如權利要求11所述的方法,其特征在于,所述WEBRTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型; RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息包括: RTC服務器在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
15.如權利要求11至14任一項所述的方法,其特征在于,所述方法還包括: 所述RTC服務器在接收到 其 他終端發送給所述第一終端的呼叫請求信息后,在所述呼叫請求信息中添加提示信息,以 使得所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
16.如權利要求11至 15任一項所述的方法,其特征在于,所述方法還包括: 所述RTC服務器在接收到所述第一終端發送的拒絕所述呼叫請求信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
17.如權利要求11至16任一項所述的方法,其特征在于,所述方法還包括: 所述RTC服務器在將所述呼叫請求信息發送給所述第一終端后,若在預設時間內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
18.如權利要求11至17任一項所述的方法,其特征在于,所述RTC服務器返回的WEBRTC應用信息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEBRTC應用的類型相同或不同。
19.一種終端設備,其特征在于,所述終端設備包括: 信息接收單元,用于接收實時通信RTC服務器轉發的其他終端發送給該終端設備的呼叫請求信息,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端的WEB RTC應用的唯一標識符; 處理單元,用于根據所述信息接收單元接收到的呼叫請求信息中攜帶的呼叫請求信息發送終端WEB RTC應用的唯一標識符判斷是否需要接受所述呼叫請求,若是,向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
20.如權利要求19所述的終端設備,其特征在于,所述終端設備還包括: 信息發送單元,用于向實時通信RTC服務器發送注冊離線業務請求信息,該信息中攜帶有WEB RTC應用的唯一標識符,以使得所述RTC服務器在接收到所述注冊離線業務請求信息后,為所述唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息; 關閉單元,用于在接收到所述RTC服務器反饋的成功響應信息后,關閉所述WEB RTC應用。
21.如權利要求19所述的終端設備,其特征在于,所述WEBRTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息后,返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
22.如權利要求19所述的終端設備,其特征在于,所述呼叫請求信息中還攜帶有發送所述呼叫請求信息的終端的瀏覽器引擎的標識信息; 所述信息接收單元具體用于,通過所述該終端設備的監聽客戶端接收所述RTC服務器發送的呼叫請求信息,解析所述呼叫請求信息,根據所述呼叫請求信息中瀏覽器引擎標識信息確定所述呼叫請求信息為發送給瀏覽器引擎的信息,將所述呼叫請求信息發送給所述第一終端的瀏覽器引擎。
23.如權利要求19至22任一項所述的終端設備,其特征在于,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息; 所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEBRTC應用信息后,將所述呼叫請求信息中的SDP Offer信息發送給所述WEB RTC應用,通過所述WEB RTC應用將所述SDP Offer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道開始通信。
24.如權利要求19至22任一項所述的終端設備,其特征在于,所述呼叫請求信息中還攜帶有會話協商的會話描述協議提供SDP Offer信息; 所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,所述WEB RTC應用請求信息中攜帶有SDP Answer信息,以使得所述RTC服務器在接收到所述WEB RTC應用請求信息,向所述第一終端返回WEB RTC應用信息,并將所述WEB RTC應用請求信息中的SDP Answer信息發送給發送所述呼叫請求信息的終端的瀏覽器引擎以建立通信通道,在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
25.如權利要求19至22任一項所述的終端設備,所述處理單元具體用于,通過該終端設備的瀏覽器引擎向所述RTC服務器發送開啟WEB RTC應用請求信息,并在接收到所述RTC服務器返回的WEB RTC應用信息以及SDP Offer信息后,通過所述WEB RTC應用將所述SDPOffer信息生成SDP Answer信息,并通過所述WEB RTC應用將所述SDP Answer信息發送給所述瀏覽器引擎,通過所述瀏覽器引擎將所述SDP Answer信息發送給所述RTC服務器,以使得所述RTC服務器將所述SDP Answer信息發送給所述信息發送終端的瀏覽器引擎以建立通信通道開始通信。
26.如權利要求19至25任一項所述的終端設備,其特征在于,所述呼叫請求信息中攜帶有提示信息,所述提示信息為RTC服務器在接收到其他終端發送給所述第一終端的呼叫請求信息時添加的; 所述終端設備還包括: 提示單元,用于在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
27.如權利要求19至26任一項所述的終端設備,其特征在于,所述終端設備還包括: 信息反饋單元,用于在拒絕所述呼叫請求時,向所述RTC服務器反饋拒絕信息,以使得所述RTC服務器在接收到所述拒絕信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
28.如權利要求19至27任一項所述的終端設備,其特征在于,所述向所述RTC服務器發送的開啟WEB RTC應用請求消息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
29.一種實時通信RTC服務器,其特征在于,所述RTC服務器包括: 第一發送單元,用于在接收到其他終端發送給所述第一終端的呼叫請求信息后,將所述呼叫請求信息發送給所述第一終端,所述呼叫請求信息中攜帶有發送所述呼叫請求信息的終端WEB RTC應用的唯一標識符; 第二發送單元,用于在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回WEB RTC應用信息,以使得所述第一終端在接收到所述RTC服務器返回的WEB RTC應用信息后,通過所述WEB RTC應用與所述發送呼叫請求信息的終端進行通信。
30.如權利要求29所述的RTC服務器,其特征在于,所述RTC服務器還包括: 開啟單元,用于在接收到第一終端發送的注冊離線業務請求信息后,為該信息中WEBRTC應用唯一標識符對應的WEB RTC應用開啟離線模式,并向所述第一終端反饋成功響應信息,以使得所述第一終端在接收到所述RTC服務器反饋的成功響應信息后,關閉其WEBRTC應用。
31.如權利要求30所述的RTC服務器,其特征在于,所述開啟單元具體用于,在接收到所述注冊離線業務請求信息后,根據注冊離線業務請求信息中攜帶的WEB RTC應用唯一標識符,判斷所述唯一標識符對應的WEB RTC應用是否具有注冊離線業務請求權限,若是,為所述唯一標識符對應的WEB RTC應用開啟離線模式。
32.如權利要求29所述的RTC服務器,其特征在于,所述WEBRTC應用請求信息中還攜帶有用戶所選定的WEB RTC應用類型; 所述第二發送單元具體用于在接收到所述第一終端發送的開啟WEB RTC應用請求信息后,向所述第一終端返回與所述WEB RTC應用類型相同的WEB RTC應用信息。
33.如權利要求29至32任一項所述的RTC服務器,其特征在于,所述RTC服務器還包括: 信息添加單元,用于在接收到其他終端發送給所述第一終端的呼叫請求信息后,在所述呼叫請求信息中添加提示信息,以使得所述第一終端在接收到所述呼叫請求信息后,根據所述呼叫請求信息中的提示信息生成相應的提示,包括震動、響鈴或彈出提示框。
34.如權利要求29至33任一項所述的RTC服務器,其特征在于,所述RTC服務器還包括:第三發送單元,用于在接收到所述第一終端發送的拒絕所述呼叫請求信息后,向發送所述呼叫請求信息的終端反饋所述第一終端當前忙碌或者離線信息。
35.如權利要求29至34任一項所述的RTC服務器,其特征在于,所述RTC服務器還包括: 處理單元,用于在將所述呼叫請求信息發送給所述第一終端后,若在預設時間內未接收到所述第一終端反饋的信息或者接收到的反饋信息為暫時不接收時,緩存所述呼叫請求信息,在預定時間后或者所述第一終端開啟WEB RTC應用后再發送該呼叫請求信息。
36.如權利要求29至35任一項所述的RTC服務器,其特征在于,所述返回給所述第一終端的WEB RTC應用信息所對應的WEB RTC應用的類型與所述發送所述呼叫請求信息的終端的WEB RTC應用的類型相同或不同。
37.一種實時通信系統,其特征在于,所述系統包括如權利要求19至28任一項所述的終端設備,和/或如權利要求29至36任一項所述的RTC服務器。
【文檔編號】H04L29/08GK103580986SQ201210266735
【公開日】2014年2月12日 申請日期:2012年7月30日 優先權日:2012年7月30日
【發明者】范姝男, 郜文美, 呂小強, 王雅輝 申請人:華為終端有限公司