国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      虛擬web實(shí)時(shí)通信網(wǎng)關(guān)以及相關(guān)的方法、系統(tǒng)的制作方法

      文檔序號(hào):7811487閱讀:222來(lái)源:國(guó)知局
      虛擬web實(shí)時(shí)通信網(wǎng)關(guān)以及相關(guān)的方法、系統(tǒng)的制作方法
      【專利摘要】本發(fā)明涉及虛擬WEB實(shí)時(shí)通信網(wǎng)關(guān)以及相關(guān)的方法、系統(tǒng)。虛擬Web實(shí)時(shí)通信(WEBRTC)網(wǎng)關(guān),以及相關(guān)的方法、系統(tǒng)和計(jì)算機(jī)可讀媒體在此公開(kāi)了虛擬Web實(shí)時(shí)通信(WebRTC)網(wǎng)關(guān),相關(guān)的方法、系統(tǒng)和計(jì)算機(jī)可讀媒體也被公開(kāi)。在一個(gè)實(shí)施方式中,用于提供虛擬WebRTC網(wǎng)關(guān)的方法包括實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理,以及實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理。該方法進(jìn)一步包括在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流,以及在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流。該方法還包括經(jīng)由虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。以這種方式,虛擬WebRTC網(wǎng)關(guān)可以在原本不兼容的WebRTC客戶端和非WebRTC客戶端之間提供互操作性。
      【專利說(shuō)明】虛擬WEB實(shí)時(shí)通信網(wǎng)關(guān)以及相關(guān)的方法、系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001]本公開(kāi)的技術(shù)一般地涉及Web實(shí)時(shí)通信(WebRTC)交互會(huì)話。

      【背景技術(shù)】
      [0002]Web實(shí)時(shí)通信(webTRC)代表一種當(dāng)前的努力,以開(kāi)發(fā)用于將實(shí)時(shí)通信能力集成到Web客戶端,例如Web瀏覽器,中以實(shí)現(xiàn)與其他Web客戶端的直接交互的工業(yè)標(biāo)準(zhǔn)。這一實(shí)時(shí)通信功能可由Web開(kāi)發(fā)人員通過(guò)標(biāo)準(zhǔn)標(biāo)記標(biāo)簽和客戶端側(cè)腳本應(yīng)用編程接口(API)訪問(wèn),例如由超文本標(biāo)記語(yǔ)言版本5(HTML5)所提供的標(biāo)準(zhǔn)標(biāo)記標(biāo)簽,以及例如JavaScript API。有關(guān) WebRTC 的更多信息可以在由 Alan B.Johnson 以及 Daniel C.Burnett (2012 DigitalCodex LLC)所作的 “WebRTC:HTML5 實(shí)時(shí) web 的 API 和 RTCffEB 協(xié)議” (WebTRC:APIs andRTCWEB Protocols of the HTML5 Real-time Web)中找到,其全部?jī)?nèi)容通過(guò)引用結(jié)合于此。
      [0003]WebRTC提供用于在點(diǎn)對(duì)點(diǎn)交互會(huì)話和多方交互會(huì)話中建立實(shí)時(shí)視頻、音頻和/或數(shù)據(jù)流的內(nèi)置能力。WebRTC標(biāo)準(zhǔn)當(dāng)前在World Wide Web Consortium (W3C)和InternetEngineering Task Force (IETF)的聯(lián)合開(kāi)發(fā)之中。WebRTC標(biāo)準(zhǔn)的當(dāng)前狀態(tài)的信息可以在例如 http://www.w3c.0rg 和 http://www.1etf.0rg 找至lj。
      [0004]現(xiàn)有的用于提供交互流的協(xié)議,例如會(huì)話發(fā)起協(xié)議(SIP)、H.323以及Jingle,由于WebRTC提供的新特征和媒體擴(kuò)展而不兼容WebRTC。因此,采用這些現(xiàn)有協(xié)議以添加WebRTC能力的新型網(wǎng)關(guān)應(yīng)用要包括非凡的開(kāi)發(fā)努力。此外,當(dāng)前由不同WebRTC客戶端提供的不同水平的WebRTC支持可以為網(wǎng)關(guān)應(yīng)用提供進(jìn)一步的兼容性并且支持問(wèn)題。


      【發(fā)明內(nèi)容】

      [0005]在此詳細(xì)說(shuō)明書(shū)中公開(kāi)的實(shí)施方式提供了虛擬Web實(shí)時(shí)通信(WebRTC)網(wǎng)關(guān)。相關(guān)的方法、系統(tǒng)和計(jì)算機(jī)可讀媒體也被公開(kāi)。在一些實(shí)施方式中,WebRTC客戶端和非WebRTC客戶端通過(guò)交互流服務(wù)器尋求建立交互會(huì)話,該交互流服務(wù)器實(shí)例化虛擬WebRTC代理和虛擬非WebRTC代理。交互流服務(wù)器可以使得WebRTC客戶端與虛擬WebRTC代理建立WebRTC交互流,并且可以使得非WebRTC客戶端與虛擬非WebRTC代理建立非WebRTC交互流。交互流服務(wù)器隨后通過(guò)引導(dǎo)來(lái)自虛擬WebRTC代理的輸出作為進(jìn)入虛擬非WebRTC代理的輸入而“背靠背(back-to-back) ”連接虛擬WebRTC代理和虛擬非WebRTC代理,反之亦然。通過(guò)這種方式,交互流服務(wù)器可以在WebRTC客戶端和非WebRTC客戶端之間提供虛擬WebRTC網(wǎng)關(guān),同時(shí)還提供附加的媒體處理和處置功能。作為非限制性例子,媒體處理和處置功能可以包括對(duì)WebRTC和/或非WebRTC交互流的記錄和/或監(jiān)控,和/或從WebRTC和/或非WebRTC交互流提取內(nèi)容或者向其中注入內(nèi)容。
      [0006]在這點(diǎn)上,在一個(gè)實(shí)施方式中,提供了一種用于提供虛擬WebRTC網(wǎng)關(guān)的方法。該方法包括由執(zhí)行于計(jì)算設(shè)備上的虛擬WebRTC網(wǎng)關(guān)實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理。該方法進(jìn)一步包括實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理。該方法還包括在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流。該方法附加地包括在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流。該方法進(jìn)一步包括經(jīng)由虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。
      [0007]在另一個(gè)實(shí)施方式中,提供了一種用于提供虛擬WebRTC網(wǎng)關(guān)的系統(tǒng)。該系統(tǒng)包括至少一個(gè)通信接口,以及與該至少一個(gè)通信接口相關(guān)聯(lián)的交互流服務(wù)器。該交互流服務(wù)器包括被配置為實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理以及實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理的虛擬WebRTC網(wǎng)關(guān)。虛擬WebRTC網(wǎng)關(guān)進(jìn)一步被配置為在虛擬WebRTC代理與WebRTC客戶端之間建立WebRTC交互流。虛擬WebRTC網(wǎng)關(guān)還被配置為在虛擬非WebRTC代理與非WebRTC客戶端之間建立非WebRTC交互流。虛擬WebRTC網(wǎng)關(guān)附加地被配置為經(jīng)由虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。
      [0008]在另一個(gè)實(shí)施方式中,提供了非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)。該非暫時(shí)性計(jì)算可讀介質(zhì)上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令以使得處理器實(shí)現(xiàn)一種方法,該方法包括實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理。由計(jì)算機(jī)可執(zhí)行指令實(shí)施的該方法進(jìn)一步包括實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理。由計(jì)算機(jī)可執(zhí)行指令實(shí)施的該方法還包括在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流。由計(jì)算機(jī)可執(zhí)行指令實(shí)施的該方法附加地包括在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流。由計(jì)算機(jī)可執(zhí)行指令實(shí)施的該方法進(jìn)一步包括經(jīng)由虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容弓I導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容弓I導(dǎo)到WebRTC交互流。

      【專利附圖】

      【附圖說(shuō)明】
      [0009]被結(jié)合于此并形成本說(shuō)明書(shū)的一部分的隨附的附圖示出本公開(kāi)的多個(gè)方面,與說(shuō)明書(shū)一起用于解釋本公開(kāi)的原理。
      [0010]圖1是示出在Web實(shí)時(shí)通信(WebRTC)客戶端與非WebRTC客戶端之間經(jīng)由包括虛擬WebRTC網(wǎng)關(guān)的交互流服務(wù)器的交互會(huì)話的概念圖;
      [0011]圖2是示出圖1中用于在WebRTC客戶端和非WebRTC客戶端之間實(shí)現(xiàn)交互操作性的虛擬WebRTC網(wǎng)關(guān)的示范性操作的流程圖;
      [0012]圖3是示出在包括圖1的虛擬WebRTC網(wǎng)關(guān)的示范性系統(tǒng)中從WebRTC客戶端向非WebRTC客服端的外向(outbound)交互請(qǐng)求的示范性通信流的圖;
      [0013]圖4是示出在包括圖1的虛擬WebRTC網(wǎng)關(guān)的示范性系統(tǒng)中從非WebRTC客戶端向WebRTC客戶端的內(nèi)向(inbound)交互請(qǐng)求的示范性通信流的圖;
      [0014]圖5A和5B是示出用于提供能夠?qū)崿F(xiàn)從WebRTC客戶端向非WebRTC客戶端的外向和/或內(nèi)向交互請(qǐng)求、以及附加的媒體處理和處置能力的虛擬WebRTC網(wǎng)關(guān)的更詳細(xì)示范性操作的流程圖;
      [0015]圖6是可以包括圖1的虛擬WebRTC網(wǎng)關(guān)的示范性基于處理器的系統(tǒng)的方塊圖。

      【具體實(shí)施方式】
      [0016]現(xiàn)在參考附圖,描述了本公開(kāi)的幾個(gè)示范性實(shí)施方式。措辭“示范性”用在此處的意思是“作為示例、例子或說(shuō)明”。在此被描述為“示范性”的實(shí)施方式并不一定被解釋為相比其他實(shí)施方式是優(yōu)選的或有利的。
      [0017]在此詳細(xì)說(shuō)明書(shū)中公開(kāi)的實(shí)施方式提供了虛擬Web實(shí)時(shí)通信(WebRTC)網(wǎng)關(guān)。相關(guān)的方法、系統(tǒng)和計(jì)算機(jī)可讀媒體也被公開(kāi)。在一些實(shí)施方式中,WebRTC客戶端和非WebRTC客戶端通過(guò)交互流服務(wù)器尋求建立交互會(huì)話,該交互流服務(wù)器實(shí)例化虛擬WebRTC代理和虛擬非WebRTC代理。交互流服務(wù)器可以使得WebRTC客戶端與虛擬WebRTC代理建立WebRTC交互流,并且可以使得非WebRTC客戶端與虛擬非WebRTC代理建立非WebRTC交互流。交互流服務(wù)器隨后通過(guò)引導(dǎo)來(lái)自虛擬WebRTC代理的輸出作為進(jìn)入虛擬非WebRTC代理的輸入而“背對(duì)背(back-to-back) ”連接虛擬WebRTC代理和虛擬非WebRTC代理,反之亦然。通過(guò)這種方式,交互流服務(wù)器可以在WebRTC客戶端和非WebRTC客戶端之間提供虛擬WebRTC網(wǎng)關(guān),同時(shí)還提供附加的媒體處理和處置功能。作為非限制性例子,媒體處理和處置功能可以包括對(duì)WebRTC和/或非WebRTC交互流的記錄和/或監(jiān)控,和/或從WebRTC和/或非WebRTC交互流提取內(nèi)容或者向其中注入內(nèi)容。
      [0018]在這點(diǎn)上,在一個(gè)實(shí)施方式中,提供了一種用于提供虛擬WebRTC網(wǎng)關(guān)的方法。該方法包括由執(zhí)行于計(jì)算設(shè)備上的虛擬WebRTC網(wǎng)關(guān)實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理。該方法進(jìn)一步包括實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理。該方法還包括在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流。該方法附加地包括在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流。該方法進(jìn)一步包括經(jīng)由虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。
      [0019]圖1示出提供在此公開(kāi)的虛擬WebRTC網(wǎng)關(guān)的示范性交互通信系統(tǒng)10。特別地,該示范性交互通信系統(tǒng)10提供執(zhí)行在計(jì)算設(shè)備14上的交互流服務(wù)器12,其包括虛擬WebRTC網(wǎng)關(guān)16。虛擬WebRTC網(wǎng)關(guān)16處理虛擬WebRTC代理和虛擬非WebRTC代理的實(shí)例化,并且協(xié)調(diào)交互流內(nèi)容的建立和引導(dǎo)以在WebRTC端點(diǎn)和非WebRTC端點(diǎn)之間提供互操作性。在此使用的“虛擬WebRTC代理”指的是WebRTC使能的瀏覽器的實(shí)例或者在虛擬WebRTC網(wǎng)關(guān)16的控制下執(zhí)行于計(jì)算設(shè)備14上的其他客戶端應(yīng)用。“虛擬非WebRTC代理”指的是在虛擬WebRTC網(wǎng)關(guān)16的控制下執(zhí)行于計(jì)算設(shè)備14上的客戶端應(yīng)用的實(shí)例,其根據(jù)不同于WebRTC的協(xié)議提供實(shí)時(shí)通信能力。作為非限制性示例,這樣的非WebRTC協(xié)議可以包括會(huì)話發(fā)起協(xié)議(SIP)、H.323、Jingle或提供以會(huì)話為中心的交互流的其他協(xié)議?!癢ebRTC交互流”,如在此公開(kāi)的,指根據(jù)WebRTC在兩個(gè)或更多端點(diǎn)之間傳遞的交互媒體流和/或交互數(shù)據(jù)流,而“非WebRTC交互流”指根據(jù)不同于WebRTC的協(xié)議的交互媒體流和/或交互數(shù)據(jù)流。作為非限制性示例,組成WebRTC或非WebRTC交互流的交互媒體流可以包括實(shí)時(shí)音頻流和/或?qū)崟r(shí)視頻流,或者其他實(shí)時(shí)媒體或數(shù)據(jù)流。包括交互流的數(shù)據(jù)和/或媒體可以被在此統(tǒng)稱為“內(nèi)容”。
      [0020]為了解釋的目的,在圖1中,WebRTC交互流18被示為在計(jì)算設(shè)備14和計(jì)算設(shè)備20之間傳遞,非WebRTC交互流22被示為在計(jì)算設(shè)備14和計(jì)算設(shè)備24之間傳遞??梢岳斫獾氖怯?jì)算設(shè)備14、20和24可以都處于同一公眾或私有網(wǎng)絡(luò)中,或者可以位于分開(kāi)的、可通信地耦合的公共或私有網(wǎng)絡(luò)中。圖1的交互通信系統(tǒng)10的一些實(shí)施方式可以實(shí)現(xiàn)為每個(gè)計(jì)算設(shè)備14、20和24可以是具有網(wǎng)絡(luò)通信能力的任意計(jì)算設(shè)備,例如智能電話、平板電腦、專用web電器、媒體服務(wù)器、桌面或服務(wù)器計(jì)算機(jī)、或者特定功能的通信設(shè)備,作為非限制性的示例。計(jì)算設(shè)備14、20、24分別包括通信接口 26、28和30,用于將計(jì)算設(shè)備14、20和24連接至一個(gè)或多個(gè)公共和/或私有網(wǎng)絡(luò)。在一些實(shí)施方式中,計(jì)算設(shè)備14、20和24的元件可以分布在多于一個(gè)的計(jì)算設(shè)備14、20、24上。
      [0021]圖1的計(jì)算設(shè)備20包括WebRTC客戶端32。WebRTC客戶端32可以是WebRTC使能的Web瀏覽器應(yīng)用、專用通信應(yīng)用、移動(dòng)應(yīng)用、或者無(wú)接口(interface-less)應(yīng)用,例如守護(hù)(daemon)或服務(wù)應(yīng)用,作為非限制性示例。WebRTC客戶端32實(shí)施對(duì)于在計(jì)算設(shè)備20與計(jì)算設(shè)備14之間提供WebRTC交互流18是必要的協(xié)議、編解碼器和應(yīng)用編程接口(API)。圖1的計(jì)算設(shè)備24包括非WebRTC客戶端34,其基于不同于WebRTC的協(xié)議提供實(shí)時(shí)通信能力。非WebRTC客戶端34可以是Web瀏覽器應(yīng)用、專用通信應(yīng)用、移動(dòng)應(yīng)用、或者無(wú)接口(interface-less)應(yīng)用,例如守護(hù)(daemon)或服務(wù)應(yīng)用,作為非限制性示例。作為非限制性示例,非WebRTC客戶端34可以是提供SIP信令棧和與SIP網(wǎng)絡(luò)或服務(wù)兼容的實(shí)時(shí)傳輸協(xié)議(RTP)媒體棧的SIP用戶代理客戶端。在一些實(shí)施方式中,其他非WebRTC客戶端34的非限制性示例可以是H.323客戶端應(yīng)用或Jingle客戶端應(yīng)用。非WebRTC客戶端34實(shí)施對(duì)于在計(jì)算設(shè)備24與計(jì)算設(shè)備14之間提供非WebRTC交互流22是必要的協(xié)議、編解碼器和應(yīng)用編程接口(API)。
      [0022]如圖1所示,計(jì)算設(shè)備20可通信地耦合到用于接收音頻輸入的音頻輸入設(shè)備36 (例如麥克風(fēng)),以及用于產(chǎn)生音頻輸出的音頻輸出設(shè)備38 (例如,揚(yáng)聲器或耳機(jī))。計(jì)算設(shè)備20進(jìn)一步可通信地分別耦合到用于接收視頻輸入的視頻輸入設(shè)備40 (例如相機(jī)、網(wǎng)絡(luò)相機(jī)或其他視頻源),以及用于顯示視頻輸出的視頻輸出設(shè)備42 (例如顯示器)。類似地,計(jì)算設(shè)備24可通信地耦合到音頻輸入設(shè)備44、音頻輸出設(shè)備46、視頻輸入設(shè)備48、以及視頻輸出設(shè)備50。音頻輸入設(shè)備36和44、音頻輸出設(shè)備38和46、視頻輸入設(shè)備40和48、和/或視頻輸出設(shè)備42和50可以集成到各個(gè)計(jì)算設(shè)備20和24中,和/或它們可以是可通信地耦合到各個(gè)計(jì)算設(shè)備20和24的外圍設(shè)備和/或虛擬設(shè)備。在一些實(shí)施方式中,計(jì)算設(shè)備20和/或24可以可通信地耦合到比圖1所示的更多或更少的設(shè)備。
      [0023]因?yàn)閃ebRTC和非WebRTC協(xié)議基本上是不兼容的,WebRTC客戶端32和非WebRTC客戶端34不能相互直接經(jīng)由對(duì)等連接建立交互流。為了在WebRTC客戶端32和非WebRTC客戶端34之間實(shí)現(xiàn)互操作性,虛擬WebRTC網(wǎng)關(guān)16提供虛擬WebRTC代理52和虛擬非WebRTC代理54。在圖1的例子中,WebRTC客戶端32經(jīng)由超文本傳輸協(xié)議(HTTP) /超文本安全傳輸協(xié)議(HTTPS)連接58從交互流服務(wù)器12的WebRTC應(yīng)用提供者56下載WebRTCweb應(yīng)用(未示出)。在一些實(shí)施方式中,WebRTC web應(yīng)用可以包括使用HTML5提供豐富用戶接口、并且使用JavaScript處理用戶輸入并與WebRTC應(yīng)用提供者56通信的HTML5/JavaScriptweb應(yīng)用。虛擬WebRTC網(wǎng)關(guān)16隨后實(shí)例化對(duì)應(yīng)于WebRTC客戶端32的虛擬WebRTC代理52。在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)在計(jì)算設(shè)備14上發(fā)起WebRTC客戶端的實(shí)例,例如Web瀏覽器,而實(shí)例化虛擬WebRTC代理52。一些實(shí)施方式可以實(shí)現(xiàn)虛擬WebRTC代理52被執(zhí)行于操作系統(tǒng)的虛擬實(shí)例之中。
      [0024]在實(shí)例化之后,虛擬WebRTC代理52由虛擬WebRTC網(wǎng)關(guān)16引導(dǎo)從虛擬WebRTC應(yīng)用提供者60下載虛擬WebRTC應(yīng)用(未示出)。一些實(shí)施方式可以實(shí)現(xiàn)為虛擬WebRTC應(yīng)用提供者60可通信地耦合到虛擬WebRTC網(wǎng)關(guān)16。在一些實(shí)施方式中,虛擬WebRTC應(yīng)用提供者60可以集成到虛擬WebRTC網(wǎng)關(guān)16和/或WebRTC應(yīng)用提供者56中或者組成虛擬WebRTC網(wǎng)關(guān)16和/或WebRTC應(yīng)用提供者56的元件。虛擬WebRTC應(yīng)用包括用于與虛擬WebRTC代理52的WebRTC API接口的專用指令。虛擬WebRTC代理52可以經(jīng)由虛擬WebRTC應(yīng)用與WebRTC客戶端32通信,以及與虛擬WebRTC網(wǎng)關(guān)16通信。
      [0025]虛擬WebRTC網(wǎng)關(guān)16還實(shí)例化對(duì)應(yīng)于非WebRTC客戶端34的虛擬非WebRTC代理54。在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)在計(jì)算設(shè)備14上發(fā)起非WebRTC客戶端的一個(gè)或多個(gè)實(shí)例,例如SIP用戶代理客戶端、H.323客戶端或者Jingle客戶端,而實(shí)例化虛擬非WebRTC代理54。一些實(shí)施方式可以實(shí)現(xiàn)虛擬非WebRTC代理54被執(zhí)行于操作系統(tǒng)的虛擬實(shí)例之中。
      [0026]虛擬WebRTC網(wǎng)關(guān)16使得虛擬WebRTC代理52建立與WebRTC客戶端32的WebRTC交互流18,并且使得虛擬非WebRTC代理54建立與非WebRTC客戶端34的非WebRTC交互流22。虛擬WebRTC網(wǎng)關(guān)16隨后“背靠背”連接虛擬WebRTC代理52和虛擬非WebRTC代理54(即由虛擬WebRTC代理52的WebRTC交互流18輸出的內(nèi)容被引導(dǎo)作為進(jìn)入虛擬非WebRTC代理54的非WebRTC交互流22的輸入,反之亦然)。為了完成“背靠背”連接,虛擬WebRTC網(wǎng)關(guān)16提供虛擬音頻接收器(Rx) 62、虛擬音頻發(fā)送器(Tx) 64、虛擬視頻接收器66、虛擬視頻發(fā)送器68、虛擬數(shù)據(jù)接收器70以及虛擬數(shù)據(jù)發(fā)送器72,虛擬WebRTC代理52可通信地與它們耦合。類似地,虛擬非WebRTC代理54可通信地耦合到由虛擬WebRTC網(wǎng)關(guān)16提供的虛擬音頻接收器74、虛擬音頻發(fā)送器76、虛擬視頻接收器78、虛擬視頻發(fā)送器80、虛擬數(shù)據(jù)接收器82以及虛擬數(shù)據(jù)發(fā)送器84。
      [0027]隨著WebRTC交互流18和非WebRTC交互流22的開(kāi)始,虛擬WebRTC代理52和虛擬非WebRTC代理54轉(zhuǎn)發(fā)接收自對(duì)應(yīng)WebRTC交互流18和非WebRTC交互流22的音頻信號(hào)到虛擬音頻接收器62和74。虛擬WebRTC代理52和虛擬非WebRTC代理54還轉(zhuǎn)發(fā)接收自對(duì)應(yīng)WebRTC交互流18和非WebRTC交互流22的視頻信號(hào)到虛擬視頻接收器66和78,并轉(zhuǎn)發(fā)接收自對(duì)應(yīng)的WebRTC交互流18和非WebRTC交互流22的數(shù)據(jù)到虛擬數(shù)據(jù)接收器70和82。
      [0028]可通信地耦合到虛擬WebRTC代理52的虛擬音頻接收器62被配置為引導(dǎo)接收自虛擬WebRTC代理52的音頻信號(hào)到可通信地耦合到虛擬非WebRTC代理54的虛擬音頻發(fā)送器76。可通信地耦合到虛擬WebRTC代理52的虛擬視頻接收器66被配置為引導(dǎo)接收自虛擬WebRTC代理52的視頻信號(hào)到可通信地耦合到虛擬非WebRTC代理54的虛擬視頻發(fā)送器80。可通信地耦合到虛擬WebRTC代理52的虛擬數(shù)據(jù)接收器70被配置為引導(dǎo)接收自虛擬WebRTC代理52的數(shù)據(jù)到可通信地耦合到虛擬非WebRTC代理54的虛擬數(shù)據(jù)發(fā)送器84。
      [0029]以類似的方式,可通信地耦合到虛擬非WebRTC代理54的虛擬音頻接收器74被配置為引導(dǎo)接收自虛擬非WebRTC代理54的音頻信號(hào)到可通信地耦合到虛擬WebRTC代理52的虛擬音頻發(fā)送器64??赏ㄐ诺伛詈系教摂M非WebRTC代理54的虛擬視頻接收器78被配置為引導(dǎo)接收自虛擬非WebRTC代理54的視頻信號(hào)到可通信地耦合到虛擬WebRTC代理52的虛擬視頻發(fā)送器68??赏ㄐ诺伛詈系教摂M非WebRTC代理54的虛擬數(shù)據(jù)接收器82被配置為引導(dǎo)接收自虛擬非WebRTC代理54的數(shù)據(jù)到可通信地耦合到虛擬WebRTC代理52的虛擬數(shù)據(jù)發(fā)送器72。
      [0030]可以理解的是,在一些實(shí)施方式中,取決于由虛擬非WebRTC代理54和/或虛擬非WebRTC客戶端34提供的能力和功能,非WebRTC交互流22的音頻信號(hào)、視頻信號(hào)、和/或數(shù)據(jù)中的一個(gè)或多個(gè)是不可訪問(wèn)的。例如,虛擬非WebRTC代理54和/或虛擬非WebRTC客戶端34的一些實(shí)施方式可以提供音頻信號(hào)和視頻信號(hào),但不能提供數(shù)據(jù)流和/或僅能使用特有的標(biāo)準(zhǔn)提供數(shù)據(jù)流。在這樣的實(shí)施方式中,虛擬音頻接收器62和/或74、虛擬視頻接收器66和/或78、以及虛擬數(shù)據(jù)接收器70和/或82可以省略。
      [0031]從WebRTC客戶端32和非WebRTC客戶端34的角度而言,作為結(jié)果的包括WebRTC交互流18和非WebRTC交互流22的交互會(huì)話并沒(méi)有與在直接對(duì)等連接上傳輸?shù)慕换?huì)話顯得不同。在作為結(jié)果的交互會(huì)話期間,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)訪問(wèn)來(lái)自虛擬音頻接收器62和/或74、虛擬視頻接收器66和/或78、和/或虛擬數(shù)據(jù)接收器70和/或82的輸入從WebRTC交互流18和/或非WebRTC交互流22提取內(nèi)容。虛擬WebRTC網(wǎng)關(guān)16還可以通過(guò)修改來(lái)自虛擬音頻發(fā)送器64和/或76、虛擬視頻發(fā)送器68和/或80、和/或虛擬數(shù)據(jù)發(fā)送器72和/或84的輸出向WebRTC交互流18和/或非WebRTC交互流22注入內(nèi)容。因而,一些實(shí)施方式可以實(shí)現(xiàn)為內(nèi)容可以被從WebRTC交互流18和/或非WebRTC交互流22提取或者向WebRTC交互流18和/或非WebRTC交互流22注入。在一些實(shí)施方式中,來(lái)自WebRTC交互流18和/或非WebRTC交互流22的內(nèi)容可以被虛擬WebRTC網(wǎng)關(guān)16記錄或轉(zhuǎn)換。
      [0032]在一些實(shí)施方式中,來(lái)自WebRTC交互流18和/或非WebRTC交互流22的內(nèi)容可以可選地被引導(dǎo)到或者接收自功能提供者86,如雙向視頻饋送88、雙向音頻饋送90和雙向數(shù)據(jù)饋送92所指示的。功能提供者86可以提供附加的媒體處理和處置功能,例如記錄或轉(zhuǎn)換WebRTC交互流18和/或非WebRTC交互流22的內(nèi)容。在一些實(shí)施方式中,功能提供者86可以提供將要注入到WebRTC交互流18和/或非WebRTC交互流22中的內(nèi)容,例如音頻或視頻通知。
      [0033]在圖1的例子中,虛擬WebRTC網(wǎng)關(guān)16和/或WebRTC應(yīng)用提供者56在實(shí)例化虛擬WebRTC代理52之前可以確定WebRTC客戶端32的具體客戶端類型和/或客戶端版本。在一些實(shí)施方式中,WebRTC客戶端32的客戶端類型和/或客戶端版本可以基于作為WebRTC要約/應(yīng)答交換的一部分而接收的數(shù)據(jù)、在虛擬WebRTC網(wǎng)關(guān)16和WebRTC客戶端32之間的查詢/響應(yīng)交換、HTTP頭部數(shù)據(jù)、或由WebRTC客戶端32提供的其他數(shù)據(jù)來(lái)確定。虛擬WebRTC網(wǎng)關(guān)16可以隨后實(shí)例化具有對(duì)應(yīng)于WebRTC客戶端32的客戶端類型和/或客戶端版本的客戶端類型和/或客戶端版本的虛擬WebRTC代理52。因?yàn)閃ebRTC客戶端32直接與同一類型和版本的虛擬WebRTC代理52通信,由WebRTC客戶端32對(duì)WebRTC的不同水平的支持導(dǎo)致的不兼容性得以解決。
      [0034]在一些實(shí)施方式中,可以提供呼叫控制應(yīng)用提供者94以進(jìn)一步便于管理WebRTC客戶端32和非WebRTC客戶端34之間的交互會(huì)話。作為非限制性示例,呼叫控制應(yīng)用提供者94可以提供可經(jīng)由HTTP/HITPS連接96被下載到WebRTC客戶端32的呼叫控制應(yīng)用(未示出)。呼叫控制應(yīng)用提供者94可以提供附加的功能用于經(jīng)由呼叫控制應(yīng)用提供者94生成和發(fā)送適當(dāng)?shù)慕换チ鞴芾砻畹教摂M非WebRTC代理54。例如,如果非WebRTC客戶端34是SIP客戶端,呼叫控制應(yīng)用提供者94可以提供具備具有用于發(fā)起、終止、會(huì)議和/或傳送SIP交互會(huì)話的HTML5接口的呼叫控制應(yīng)用的WebRTC客戶端32。呼叫控制應(yīng)用提供者94隨后可以將來(lái)自WebRTC客戶端32的輸入轉(zhuǎn)換為對(duì)應(yīng)的SIP命令,并且可以中繼對(duì)應(yīng)的SIP命令到虛擬非WebRTC代理54。
      [0035]為了整體地描述圖1的虛擬WebRTC網(wǎng)關(guān)16的用于提供虛擬WebRTC代理52和虛擬非WebRTC代理54的示范性操作,提供了圖2。為了清楚起見(jiàn),在描述圖2時(shí)引用圖1的元件。在圖2的例子中,操作以WebRTC應(yīng)用提供者56實(shí)例化對(duì)應(yīng)于WebRTC客戶端32的虛擬WebRTC代理52開(kāi)始(方框98)。作為非限制性例子,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)在計(jì)算設(shè)備14上發(fā)起WebRTC客戶端的實(shí)例,例如Web瀏覽器,來(lái)實(shí)例化虛擬WebRTC代理52。虛擬WebRTC網(wǎng)關(guān)16隨后實(shí)例化對(duì)應(yīng)于非WebRTC客戶端34的虛擬非WebRTC代理54 (方框100)。在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)在計(jì)算設(shè)備14上發(fā)起非WebRTC客戶端的實(shí)例,例如SIP用戶代理客戶端、H.323客戶端或Jingle客戶端,來(lái)實(shí)例化虛擬非WebRTC 代理 54。
      [0036]虛擬WebRTC網(wǎng)關(guān)16隨后在虛擬WebRTC代理52和WebRTC客戶端32之間建立WebRTC交互流18(方框102)。虛擬WebRTC網(wǎng)關(guān)16還在虛擬非WebRTC代理54和非WebRTC客戶端34之間建立非WebRTC交互流22 (方框104)。虛擬WebRTC網(wǎng)關(guān)16接下來(lái)經(jīng)由該虛擬WebRTC代理52和虛擬非WebRTC代理54,將WebRTC交互流18的內(nèi)容引導(dǎo)到非WebRTC交互流22,以及將非WebRTC交互流22的內(nèi)容引導(dǎo)到WebRTC交互流18(方框106)。這在虛擬WebRTC代理52和虛擬非WebRTC代理54之間實(shí)現(xiàn)了 “背靠背”連接。在一些實(shí)施方式中,這可以通過(guò)使用由虛擬WebRTC網(wǎng)關(guān)16提供的虛擬音頻接收器62、74以及發(fā)送器64、76,虛擬視頻接收器66、78以及發(fā)送器68、80,以及虛擬數(shù)據(jù)接收器70、82以及發(fā)送器72、84來(lái)完成,如圖1所示。
      [0037]為了解釋用于使用圖1的虛擬WebRTC代理52和虛擬非WebRTC代理54從WebRTC客戶端32到非WebRTC客戶端34的外向交互請(qǐng)求的示范性通信流程,提供了圖3。在圖3中,圖1的WebRTC客戶端32、虛擬WebRTC代理52、虛擬WebRTC網(wǎng)關(guān)16、虛擬非WebRTC代理54以及非WebRTC客戶端34的每一個(gè)都使用垂直虛線表示。可以理解的是對(duì)于本例,WebRTC客戶端32已經(jīng)從交互流服務(wù)器12下載了 WebRTC使能的web應(yīng)用,例如HTML5/JavaScriptWebRTC應(yīng)用。在一些實(shí)施方式中,非WebRTC客戶端34可以是SIP用戶代理客戶端、H.323客戶端,或Jingle客戶端,作為非限制性示例。
      [0038]如圖3所示,經(jīng)由虛擬WebRTC代理52和虛擬非WebRTC代理54的交互會(huì)話的建立以WebRTC客戶端32向虛擬WebRTC網(wǎng)關(guān)16發(fā)送外向交互請(qǐng)求開(kāi)始,由箭頭108表示。一些實(shí)施方式可以實(shí)現(xiàn)為該外向交互請(qǐng)求包括由WebRTC客戶端32從虛擬WebRTC網(wǎng)關(guān)16支持的多個(gè)非WebRTC協(xié)議中選擇的非WebRTC協(xié)議。在一些實(shí)施方式中,該外向交互請(qǐng)求可以包括非WebRTC客戶端34的SIP統(tǒng)一資源標(biāo)識(shí)符(URI)或SIP地址。響應(yīng)于接收到該外向交互請(qǐng)求,虛擬WebRTC網(wǎng)關(guān)16實(shí)例化對(duì)應(yīng)于WebRTC客戶端32的虛擬WebRTC代理52,如箭頭110所示?;赪ebRTC要約/應(yīng)答交換、在虛擬WebRTC網(wǎng)關(guān)16和WebRTC客戶端32之間的查詢/響應(yīng)交換、或HTTP頭部數(shù)據(jù)、或由WebRTC客戶端32提供的其他數(shù)據(jù),虛擬WebRTC代理52可被實(shí)例化為具有已知與WebRTC客戶端32兼容的客戶端類型和/或客戶端版本。
      [0039]繼續(xù)參考圖3,WebRTC客戶端32和虛擬WebRTC代理52隨后開(kāi)始“打孔”(holepunching)以確定建立直接通信的最佳方式,如雙向箭頭112所示。打孔是一種技術(shù),其常使用諸如交互連接性建立(ICE)的協(xié)議,其中WebRTC客戶端32和/或虛擬WebRTC代理52建立與揭示要用于直接通信中的外部和內(nèi)部地址信息的未受限第三方服務(wù)器(未示出)的連接。如果由箭頭112指示的ICE打孔成功,WebRTC客戶端32和虛擬WebRTC代理52開(kāi)始秘鑰協(xié)商以建立安全對(duì)等連接,如雙向箭頭114所示。如果秘鑰協(xié)商成功完成,對(duì)等連接建立在WebRTC客戶端32和虛擬WebRTC代理52之間,如雙向箭頭116所示。
      [0040]緊隨在WebRTC客戶端32和虛擬WebRTC代理52之間建立對(duì)等連接,虛擬WebRTC網(wǎng)關(guān)16隨后實(shí)例化對(duì)應(yīng)于非WebRTC客戶端34的虛擬非WebRTC代理54,如箭頭118所示。一些實(shí)施方式可以實(shí)現(xiàn)為虛擬非WebRTC代理54是對(duì)應(yīng)于由外向交互請(qǐng)求指示的所選非WebRTC協(xié)議而實(shí)例化的。一旦被實(shí)例化,虛擬非WebRTC代理54向非WebRTC客戶端34發(fā)送INVITE請(qǐng)求,如箭頭120所示。在一些實(shí)施方式中,INVITE請(qǐng)求是用于請(qǐng)求發(fā)起交互會(huì)話的協(xié)議特定消息。例如,用于SIP客戶端的INVITE請(qǐng)求可以是發(fā)送到由WebRTC客戶端32在外向交互請(qǐng)求中初始指定的SIP URI或SIP地址的SIP INVITE請(qǐng)求。如果非WebRTC客戶端34同意該外向交互請(qǐng)求,非WebRTC客戶端34以O(shè)K消息作為對(duì)虛擬非WebRTC代理54的響應(yīng),如箭頭122所示。在非WebRTC客戶端34是SIP客戶端的實(shí)施方式中,OK消息可以是SIP “2000K”響應(yīng)消息。
      [0041]WebRTC客戶端32和非WebRTC客戶端34隨后開(kāi)始交換媒體和/或數(shù)據(jù)流。如圖3所示,WebRTC交互流18的內(nèi)容從WebRTC客戶端32傳遞到虛擬WebRTC代理52,如雙向箭頭124所示。類似地,非WebRTC交互流22的內(nèi)容從非WebRTC客戶端34傳遞到虛擬非WebRTC代理54,如雙向箭頭126所示。虛擬WebRTC代理52和虛擬非WebRTC代理54隨后通過(guò)虛擬WebRTC網(wǎng)關(guān)16發(fā)送WebRTC交互流18和非WebRTC交互流22的內(nèi)容,如雙向箭頭128和130所示。以這種方式,虛擬WebRTC網(wǎng)關(guān)16可以選擇性地控制、監(jiān)控和/或修改在WebRTC客戶端32和非WebRTC客戶端34之間的WebRTC交互流18和/或非WebRTC交互流22的內(nèi)容。
      [0042]作為對(duì)圖3中所示的外向交互請(qǐng)求的補(bǔ)充,圖4示出了用于使用圖1的虛擬WebRTC代理52和虛擬非WebRTC代理54從非WebRTC客戶端34到WebRTC客戶端32的內(nèi)向交互請(qǐng)求的示范性通信流程。在圖4中,圖1的WebRTC客戶端32、虛擬WebRTC代理52、虛擬WebRTC網(wǎng)關(guān)16、虛擬非WebRTC代理54以及非WebRTC客戶端34的每一個(gè)都使用垂直虛線表示??梢岳斫獾氖菍?duì)于本例,WebRTC客戶端32已經(jīng)從交互流服務(wù)器12下載了 WebRTC使能的web應(yīng)用,例如HTML5/JavaScript WebRTC應(yīng)用。在一些實(shí)施方式中,非WebRTC客戶端34可以是SIP用戶代理客戶端、H.323客戶端,或Jingle客戶端,作為非限制性示例。
      [0043]在一些實(shí)施方式中,從非WebRTC客戶端34接收到對(duì)WebRTC客戶端32的內(nèi)向交互請(qǐng)求要求虛擬非WebRTC代理54在WebRTC客戶端32激活時(shí)被實(shí)例化。相應(yīng)地,在圖4中,虛擬WebRTC網(wǎng)關(guān)16接收WebRTC客戶端32激活的指示,如箭頭132所示。隨著確定WebRTC客戶端32是激活的,虛擬WebRTC網(wǎng)關(guān)16實(shí)例化虛擬非WebRTC代理54,如箭頭134所示。一旦被實(shí)例化,虛擬非WebRTC代理54等待對(duì)于交互的進(jìn)入請(qǐng)求。
      [0044]為了發(fā)起與WebRTC客戶端32的交互會(huì)話,非WebRTC客戶端34發(fā)送INVITE請(qǐng)求到虛擬非WebRTC代理54,如箭頭136所示。在一些實(shí)施方式中,INVITE請(qǐng)求是用于請(qǐng)求發(fā)起交互會(huì)話的協(xié)議特定消息。例如,如果非WebRTC客戶端34是SIP用戶代理客戶端,INVITE消息可以是發(fā)送到分配給WebRTC客戶端32并且在虛擬非WebRTC代理54上注冊(cè)的SIP URI 或 SIP 地址的 SIP INVITE 請(qǐng)求。
      [0045]響應(yīng)于接收到該內(nèi)向交互請(qǐng)求,虛擬WebRTC網(wǎng)關(guān)16實(shí)例化對(duì)應(yīng)于WebRTC客戶端32的虛擬WebRTC代理52,如箭頭138所示。基于WebRTC要約/應(yīng)答交換、在虛擬WebRTC網(wǎng)關(guān)16和WebRTC客戶端32之間的查詢/響應(yīng)交換、或HTTP頭部數(shù)據(jù)、或由WebRTC客戶端32提供的其他數(shù)據(jù),虛擬WebRTC代理52可被實(shí)例化為具有已知與WebRTC客戶端32兼容的客戶端類型和/或客戶端版本。WebRTC客戶端32和虛擬WebRTC代理52隨后開(kāi)始打孔,以確定建立直接通信的最佳方式,如雙向箭頭140所示。如果由箭頭140指示的ICE打孔成功,WebRTC客戶端32和虛擬WebRTC代理52開(kāi)始秘鑰協(xié)商以建立安全對(duì)等連接,如雙向箭頭142所示。一旦秘鑰協(xié)商成功完成,對(duì)等連接建立在WebRTC客戶端32和虛擬WebRTC代理52之間,如雙向箭頭144所示。
      [0046]緊隨在WebRTC客戶端32和虛擬WebRTC代理52之間建立對(duì)等連接,虛擬非WebRTC代理54以O(shè)K消息作為對(duì)非WebRTC客戶端34的響應(yīng),如箭頭146所示。在非WebRTC客戶端34是SIP客戶端的實(shí)施方式中,OK消息可以是SIP “200 0K”響應(yīng)消息。WebRTC客戶端32和非WebRTC客戶端34隨后開(kāi)始交換媒體和/或數(shù)據(jù)流。如圖4所示,WebRTC交互流18的內(nèi)容從WebRTC客戶端32傳遞到虛擬WebRTC代理52,如雙向箭頭148所示。類似地,非WebRTC交互流22的內(nèi)容從非WebRTC客戶端34傳遞到虛擬非WebRTC代理54,如雙向箭頭150所示。虛擬WebRTC代理52和虛擬非WebRTC代理54隨后通過(guò)虛擬WebRTC網(wǎng)關(guān)16發(fā)送WebRTC交互流18和非WebRTC交互流22的內(nèi)容,如雙向箭頭152和154所示。以這種方式,虛擬WebRTC網(wǎng)關(guān)16可以選擇性地控制、監(jiān)控和/或修改在WebRTC客戶端32和非WebRTC客戶端34之間的WebRTC交互流18和/或非WebRTC交互流22的內(nèi)容。
      [0047]圖5A和5B被提供用于更詳細(xì)地解釋圖1的虛擬WebRTC網(wǎng)關(guān)16在WebRTC客戶端32和非WebRTC客戶端34之間提供互操作性的示范性整體過(guò)程。為了解釋的目的,圖5A和5B參考圖1的示范性交互通信系統(tǒng)10的元件。圖5A詳細(xì)說(shuō)明了用于響應(yīng)于內(nèi)向交互請(qǐng)求和/或外向交互請(qǐng)求建立交互會(huì)話的操作。圖5B示出用于提供包括從WebRTC交互流18和/或非WebRTC交互流22提取內(nèi)容、向其中注入內(nèi)容、記錄和/或轉(zhuǎn)換其內(nèi)容的附加功能的操作。
      [0048]在圖5A中,處理以虛擬WebRTC網(wǎng)關(guān)16可選地確定WebRTC客戶端32是否是激活的開(kāi)始(方框156)。如以上關(guān)于圖4所述的,從非WebRTC客戶端34接收到對(duì)WebRTC客戶端32的內(nèi)向交互請(qǐng)求可能要求虛擬非WebRTC代理54在WebRTC客戶端32激活時(shí)被實(shí)例化。相應(yīng)地,如果WebRTC客戶端32被確定是激活的,虛擬WebRTC網(wǎng)關(guān)16可以實(shí)例化對(duì)應(yīng)于非WebRTC客戶端34的虛擬非WebRTC代理54 (方框158)。處理隨后在方框160處恢復(fù)。然而,如果WebRTC客戶端32在方框156被確定為未激活,處理返回至方框156??梢岳斫獾氖?,虛擬WebRTC網(wǎng)關(guān)16的一些實(shí)施方式可被配置為僅處理來(lái)自WebRTC客戶端32去往非WebRTC客戶端34的外向交互請(qǐng)求。對(duì)于這樣的實(shí)施方式,方框156和158的功能可以被省略。
      [0049]虛擬WebRTC網(wǎng)關(guān)16隨后確定是否接收到對(duì)外向或內(nèi)向交互的請(qǐng)求(方框160)。在一些實(shí)施方式中,外向交互請(qǐng)求可以包括用于非WebRTC客戶端34的SIP URI或SIP地址。一些實(shí)施方式可以實(shí)現(xiàn)為內(nèi)向交互請(qǐng)求包括分配給WebRTC客戶端32的SIP URI或SIP地址。如果虛擬WebRTC網(wǎng)關(guān)16沒(méi)有接收到外向或內(nèi)向交互請(qǐng)求,處理返回方框160。
      [0050]如果虛擬WebRTC網(wǎng)關(guān)16在方框160確定從WebRTC客戶端32接收到外向交互請(qǐng)求,虛擬WebRTC網(wǎng)關(guān)16實(shí)例化對(duì)應(yīng)于非WebRTC客戶端34的虛擬非WebRTC代理54 (方框162)。處理隨后在方框164處恢復(fù)。如果虛擬WebRTC網(wǎng)關(guān)16在方框160處確定接收到內(nèi)向交互請(qǐng)求,處理直接前進(jìn)到方框164。
      [0051]基于WebRTC要約/應(yīng)答交換、在虛擬WebRTC網(wǎng)關(guān)16和WebRTC客戶端32之間的查詢/響應(yīng)交換、或HTTP頭部數(shù)據(jù)、或由WebRTC客戶端32提供的其他數(shù)據(jù),虛擬WebRTC網(wǎng)關(guān)16可以可選地確定WebRTC客戶端32的客戶端類型和/或客戶端版本(方框164)。這可以使得虛擬WebRTC網(wǎng)關(guān)16能夠?qū)嵗哂袑?duì)應(yīng)于WebRTC客戶端32的客戶端類型和/或版本的客戶端類型和/或版本的虛擬WebRTC代理52。因?yàn)閃ebRTC客戶端32直接與同一類型和版本的虛擬WebRTC代理52通信,由WebRTC客戶端32對(duì)WebRTC的不同水平的支持導(dǎo)致的不兼容性得以解決。
      [0052]虛擬WebRTC網(wǎng)關(guān)16隨后實(shí)例化對(duì)應(yīng)于WebRTC客戶端32的虛擬WebRTC代理52(方框166)。在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以通過(guò)在計(jì)算設(shè)備14上發(fā)起WebRTC客戶端,的實(shí)例,例如Web瀏覽器,而實(shí)例化虛擬WebRTC代理52。一些實(shí)施方式可以實(shí)現(xiàn)為虛擬WebRTC代理52被執(zhí)行于操作系統(tǒng)的虛擬實(shí)例之中。
      [0053]虛擬WebRTC網(wǎng)關(guān)16隨后在虛擬WebRTC代理52和WebRTC客戶端32之間建立WebRTC交互流18(方框168)。虛擬WebRTC網(wǎng)關(guān)16還在虛擬非WebRTC代理54和非WebRTC客戶端34之間建立非WebRTC交互流22 (方框170)。虛擬WebRTC網(wǎng)關(guān)16接下來(lái)經(jīng)由該虛擬WebRTC代理52和虛擬非WebRTC代理54,將WebRTC交互流18的內(nèi)容引導(dǎo)到非WebRTC交互流22,以及將非WebRTC交互流22的內(nèi)容引導(dǎo)到WebRTC交互流18(方框172)。這在虛擬WebRTC代理52和虛擬非WebRTC代理54之間實(shí)現(xiàn)了 “背靠背”連接。在一些實(shí)施方式中,這可以通過(guò)使用由虛擬WebRTC網(wǎng)關(guān)16提供的虛擬音頻接收器62、74以及發(fā)送器64、76,虛擬視頻接收器66、78以及發(fā)送器68、80,以及虛擬數(shù)據(jù)接收器70、82以及發(fā)送器72、84來(lái)完成,如圖1所示。處理隨后在圖5B的方框174處恢復(fù)。
      [0054]現(xiàn)在參考圖5B,虛擬WebRTC網(wǎng)關(guān)16此時(shí)可以訪問(wèn)WebRTC交互流18和非WebRTC交互流22的內(nèi)容,并且可以提供附加的媒體處理和處置功能。例如,在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以從WebRTC交互流18、非WebRTC交互流22、或它們的組合提取內(nèi)容(方框174)。一些實(shí)施方式可以實(shí)現(xiàn)為虛擬WebRTC網(wǎng)關(guān)16可以向WebRTC交互流18、非WebRTC交互流22、或它們的組合注入內(nèi)容(方框176)。例如,虛擬WebRTC網(wǎng)關(guān)16可以向WebRTC交互流18和/或非WebRTC交互流22中插入附加的音頻、視頻和/或數(shù)據(jù)。根據(jù)一些實(shí)施方式,虛擬WebRTC網(wǎng)關(guān)16可以記錄WebRTC交互流18的內(nèi)容、非WebRTC交互流22的內(nèi)容、或它們的組合(方框178)。在一些實(shí)施方式中,虛擬WebRTC網(wǎng)關(guān)16可以轉(zhuǎn)換WebRTC交互流18的內(nèi)容、非WebRTC交互流22的內(nèi)容、或它們的組合(方框180)。
      [0055]虛擬WebRTC網(wǎng)關(guān)16隨后確定WebRTC交互流18或非WebRTC交互流22的任一個(gè)是否已經(jīng)終止(方框182)。如果WebRTC交互流18和非WebRTC交互流22都仍然激活,處理返回至圖5B的方框174。否則,虛擬WebRTC網(wǎng)關(guān)16在合適時(shí)終止剩余的激活WebRTC交互流18或非WebRTC交互流22 (方框184)。
      [0056]圖6以適合于執(zhí)行指令以實(shí)現(xiàn)在此描述的功能的示范性計(jì)算機(jī)系統(tǒng)188的示范性形式提供處理系統(tǒng)186的示意圖表示。在一些實(shí)施方式中,處理系統(tǒng)186可以執(zhí)行指令以實(shí)現(xiàn)圖1的WebRTC應(yīng)用提供者56和虛擬WebRTC網(wǎng)關(guān)16的功能。在這一點(diǎn)上,處理系統(tǒng)186可以包括計(jì)算機(jī)系統(tǒng)188,其中用于使得處理系統(tǒng)186運(yùn)行在此描述的方法中的任意一個(gè)或多個(gè)的一組指令被執(zhí)行。處理系統(tǒng)186可以連接到(作為非限制性例子,組網(wǎng)連接)局域網(wǎng)(LAN)、內(nèi)部網(wǎng)、外部網(wǎng)或互聯(lián)網(wǎng)中的其他機(jī)器。處理系統(tǒng)186可以工作于客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境下,或作為端對(duì)端(或分布式)網(wǎng)絡(luò)環(huán)境中的端設(shè)備。盡管只示出了單個(gè)處理系統(tǒng)186,術(shù)語(yǔ)“控制器”和“服務(wù)器”應(yīng)當(dāng)也被認(rèn)為包括單獨(dú)地或聯(lián)合地執(zhí)行一組(或多組)指令以實(shí)現(xiàn)在此描述的方法的任意一個(gè)或多個(gè)的設(shè)備的任意集合。處理系統(tǒng)186可以是服務(wù)器、個(gè)人計(jì)算機(jī)、桌面計(jì)算機(jī)、膝上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PIA)、計(jì)算平板電腦、移動(dòng)設(shè)備、或者任意其他設(shè)備,并且可以表現(xiàn)為服務(wù)器或用戶的計(jì)算機(jī),作為非限制性例子。
      [0057]示范性計(jì)算機(jī)系統(tǒng)188包括處理設(shè)備或處理器190,主存儲(chǔ)器192 (作為非限制性例子,只讀存儲(chǔ)器(ROM)、閃存、諸如同步DRAM (SDRAM)的動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM)等等),以及靜態(tài)存儲(chǔ)器194(作為非限制性例子,閃存、靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)等等),它們可以經(jīng)由總線196互相通信??商娲?,處理設(shè)備190可以直接地或經(jīng)由一些其他連接方式連接到主存儲(chǔ)器192和/或靜態(tài)存儲(chǔ)器194。
      [0058]處理設(shè)備190代表一個(gè)或多個(gè)處理設(shè)備,例如微處理器、中央處理單元(CPU)或者類似物。更特別地,處理設(shè)備190可以是復(fù)雜指令集計(jì)算(CISC)微處理器、精簡(jiǎn)指令集計(jì)算(RISC)微處理器、超長(zhǎng)指令字(VLIW)微處理器、執(zhí)行其他指令集的處理器、或者執(zhí)行指令集的組合的處理器。處理設(shè)備190被配置為執(zhí)行用于實(shí)現(xiàn)在此描述的操作和步驟的指令198和/或緩存的指令200中的處理邏輯。
      [0059]計(jì)算機(jī)系統(tǒng)188可以進(jìn)一步包括形式為網(wǎng)絡(luò)接口設(shè)備202的通信接口。它還可以包括或者不包括輸入204以接收當(dāng)執(zhí)行指令198、200時(shí)要通信到計(jì)算機(jī)系統(tǒng)188的輸入和選擇。它還可以包括或不包括輸出206,包括但不限定為顯示器208。顯示器208可以是視頻顯示單元(作為非限制性例子,液晶顯示器(LCD)或陰極射線管(CRT))、文字?jǐn)?shù)字輸入設(shè)備(作為非限制性例子,鍵盤)、指針控制設(shè)備(作為非限制性例子,鼠標(biāo))、和/或觸摸屏設(shè)備(作為非限制性例子,平板輸入設(shè)備或屏幕)。
      [0060]計(jì)算機(jī)系統(tǒng)188可以包括或不包括數(shù)據(jù)存儲(chǔ)設(shè)備210,其包括使用驅(qū)動(dòng)器212在計(jì)算機(jī)可讀介質(zhì)214中存儲(chǔ)在此描述的功能,計(jì)算機(jī)可讀介質(zhì)214上存儲(chǔ)了實(shí)施在此描述的方法或功能的任意一個(gè)或多個(gè)的一個(gè)或多個(gè)指令集216 (例如軟件)。功能可以包括處理系統(tǒng)186、參與的用戶設(shè)備、和/或許可服務(wù)器的方法和/或其他功能,作為非限制性例子。當(dāng)被計(jì)算機(jī)系統(tǒng)188執(zhí)行期間,一個(gè)或多個(gè)指令集216也可以完全地或至少部分地駐存在主存儲(chǔ)器192和/或處理設(shè)備190中。主存儲(chǔ)器192和處理設(shè)備190還組成機(jī)器可訪問(wèn)存儲(chǔ)媒體。指令198、200和/或216可以進(jìn)一步在網(wǎng)絡(luò)218上經(jīng)由網(wǎng)絡(luò)接口設(shè)備202發(fā)送或接收。網(wǎng)絡(luò)218可以是內(nèi)部網(wǎng)絡(luò)或者互聯(lián)網(wǎng)絡(luò)。
      [0061]盡管計(jì)算機(jī)可讀介質(zhì)214在示范性實(shí)施方式中被示為單個(gè)媒體,術(shù)語(yǔ)“機(jī)器可訪問(wèn)存儲(chǔ)媒體”應(yīng)當(dāng)被認(rèn)為包括存儲(chǔ)一個(gè)或多個(gè)指令集216的單個(gè)媒體或多個(gè)媒體(作為非限制性例子,集中或分布式數(shù)據(jù)庫(kù)、和/或關(guān)聯(lián)的緩存和服務(wù)器)。術(shù)語(yǔ)“機(jī)器可訪問(wèn)存儲(chǔ)媒體”還應(yīng)當(dāng)被認(rèn)為包括能夠存儲(chǔ)、編碼或攜帶用于由機(jī)器執(zhí)行的指令集198、200和/或216的、以及使得機(jī)器運(yùn)行在此公開(kāi)的方法的任意一個(gè)或多個(gè)的任意媒體。術(shù)語(yǔ)“機(jī)器可訪問(wèn)存儲(chǔ)媒體”相應(yīng)地應(yīng)當(dāng)認(rèn)為包括但不限于固態(tài)存儲(chǔ)器、光或磁媒體、以及載波信號(hào)。
      [0062]在此公開(kāi)的實(shí)施方式可以實(shí)施在硬件中以及在存儲(chǔ)在硬件上的指令中,該指令并且可以駐存在作為非限制性例子的隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)、閃存、只讀存儲(chǔ)器(ROM)、電子可編程ROM(EPROM)、電子可擦寫可編程ROM (EEPROM)、寄存器、硬盤、可移除磁盤、CD-ROM或者本領(lǐng)域已知的任意其他形式的計(jì)算機(jī)可讀媒體中。示范性存儲(chǔ)媒體被耦合到處理器從而處理器能夠從存儲(chǔ)媒體讀取信息并且向存儲(chǔ)媒體寫入信息??商鎿Q的,存儲(chǔ)媒體可以集成到處理器中。處理器和存儲(chǔ)媒體可以駐存在專門應(yīng)用集成電路(ASIC)中。ASIC可以駐存在遠(yuǎn)程站中。可替代的,處理器和存儲(chǔ)媒體可以作為離散的組件駐存在遠(yuǎn)程站、基站或服務(wù)器中。
      [0063]需要注意的是在這里的任意示范性實(shí)施方式中描述的操作步驟被描述為提供示例和討論。描述的操作可以執(zhí)行于很多種不同順序中而不是所示的順序。進(jìn)一步的,描述在單個(gè)操作步驟中的操作可以實(shí)際上被執(zhí)行于多個(gè)不同步驟中。此外,描述在示范性實(shí)施方式中的一個(gè)或多個(gè)操作步驟可以被組合??梢岳斫獾氖窃诹鞒虉D中示出的操作步驟可以服從于很多種不同的修改,這對(duì)于本領(lǐng)域技術(shù)人員而言是顯然的。本領(lǐng)域技術(shù)人員也會(huì)理解信息和信號(hào)可以使用任意各種不同技術(shù)和技巧表示。作為非限制性例子,可能在上述說(shuō)明書(shū)全文中引用的數(shù)據(jù)、指令、命令、信息、信號(hào)、比特、符號(hào)和芯片可以由電壓、電流、電磁波、磁場(chǎng)或微粒、光場(chǎng)或微粒、或它們的任意組合來(lái)表不。
      [0064]本公開(kāi)的上述說(shuō)明書(shū)被提供用于使得任意本領(lǐng)域技術(shù)人員能夠制造或使用本公開(kāi)。對(duì)本公開(kāi)的各種修改對(duì)本領(lǐng)域技術(shù)人員而言是顯然的,并且在此定義的基本原理可以應(yīng)用到其他變化中而不脫離本公開(kāi)的精神或范圍。因而,本公開(kāi)并不意圖受限于在此描述的示例和設(shè)計(jì),而應(yīng)當(dāng)符合與在此公開(kāi)的的原理和新穎特征相符的最大范圍。
      【權(quán)利要求】
      1.一種用于提供虛擬Web實(shí)時(shí)通信(WebRTC)網(wǎng)關(guān)的方法,包括: 由在計(jì)算設(shè)備上執(zhí)行的虛擬WebRTC網(wǎng)關(guān)實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理; 實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理; 在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流; 在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流;以及經(jīng)由所述虛擬WebRTC代理和虛擬非WebRTC代理,將WebRTC交互流的內(nèi)容引導(dǎo)到所述非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到所述WebRTC交互流。
      2.如權(quán)利要求1所述的方法,其中所述非WebRTC交互流包括會(huì)話發(fā)起協(xié)議(SIP)交互流、H.323交互流、Jingle交互流、或者以會(huì)話為中心的交互流。
      3.如權(quán)利要求1所述的方法,包括響應(yīng)于接收到來(lái)自WebRTC客戶端的請(qǐng)求與非WebRTC客戶端交互的外向請(qǐng)求而實(shí)例化所述虛擬WebRTC代理并且實(shí)例化所述虛擬非WebRTC 代理。
      4.如權(quán)利要求3所述的方法,其中所述外向請(qǐng)求包括由WebRTC客戶端從所述虛擬WebRTC網(wǎng)關(guān)支持的多個(gè)非WebRTC協(xié)議中選擇的非WebRTC協(xié)議;以及 其中實(shí)例化虛擬非WebRTC代理包括實(shí)例化對(duì)應(yīng)于所述非WebRTC協(xié)議的虛擬非WebRTC代理。
      5.如權(quán)利要求1所述的方法,包括: 響應(yīng)于確定WebRTC客戶端是激活的而實(shí)例化所述虛擬非WebRTC代理;以及響應(yīng)于由所述虛擬非WebRTC代理接收到來(lái)自所述非WebRTC客戶端的與所述WebRTC客戶端交互的內(nèi)向請(qǐng)求而實(shí)例化所述虛擬WebRTC代理并建立所述WebRTC交互流。
      6.如權(quán)利要求1所述的方法,進(jìn)一步包括基于WebRTC要約/應(yīng)答交換、在所述虛擬WebRTC網(wǎng)關(guān)和所述WebRTC客戶端之間的查詢/響應(yīng)交換、或者超文本傳輸協(xié)議(HTTP)頭部數(shù)據(jù)、或它們的組合,確定WebRTC客戶端的客戶端類型或客戶端版本、或它們的組合。
      7.如權(quán)利要求1所述的方法,進(jìn)一步包括記錄WebRTC交互流的內(nèi)容或者非WebRTC交互流的內(nèi)容,或者轉(zhuǎn)換WebRTC交互流的內(nèi)容或者非WebRTC交互流的內(nèi)容,或者它們的組八口 ο
      8.如權(quán)利要求1所述的方法,進(jìn)一步包括從WebRTC交互流或者非WebRTC交互流提取內(nèi)容,向WebRTC交互流或者非WebRTC交互流注入內(nèi)容,或者它們的組合。
      9.一種用于提供虛擬Web實(shí)時(shí)通信(WebRTC)網(wǎng)關(guān)的系統(tǒng),包括: 至少一個(gè)通信接口 ;以及 與所述至少一個(gè)通信接口相關(guān)聯(lián)的交互流服務(wù)器,該交互流服務(wù)器包括虛擬WebRTC網(wǎng)關(guān),所述虛擬WebRTC網(wǎng)關(guān)被配置為: 實(shí)例化對(duì)應(yīng)于WebRTC客戶端的虛擬WebRTC代理; 實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理; 在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流; 在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流;以及經(jīng)由所述虛擬WebRTC代理和虛擬非WebRTC代理,將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。
      10.一種非暫時(shí)性計(jì)算可讀介質(zhì),在其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,所述指令使得處理器執(zhí)行一種方法,其包括: 實(shí)例化對(duì)應(yīng)于Web實(shí)時(shí)通信(WebRTC)客戶端的虛擬WebRTC代理; 實(shí)例化對(duì)應(yīng)于非WebRTC客戶端的虛擬非WebRTC代理; 在虛擬WebRTC代理和WebRTC客戶端之間建立WebRTC交互流; 在虛擬非WebRTC代理和非WebRTC客戶端之間建立非WebRTC交互流;以及經(jīng)由該虛擬WebRTC代理和虛擬非WebRTC代理將WebRTC交互流的內(nèi)容引導(dǎo)到非WebRTC交互流,以及將非WebRTC交互流的內(nèi)容引導(dǎo)到WebRTC交互流。
      【文檔編號(hào)】H04L12/66GK104253742SQ201410399712
      【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2014年6月30日 優(yōu)先權(quán)日:2013年6月30日
      【發(fā)明者】A·B·約翰斯頓, J·H·約亞庫(kù)姆 申請(qǐng)人:阿瓦亞公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1