亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        WebRTC技術(shù)在語音平臺(tái)中的應(yīng)用研究*

        2018-03-13 01:19:02
        通信技術(shù) 2018年2期
        關(guān)鍵詞:開發(fā)者瀏覽器網(wǎng)頁

        趙 宇

        0 引 言

        WebRTC是一個(gè)開源項(xiàng)目,可以在瀏覽器中不借助任何插件進(jìn)行實(shí)時(shí)通信。由Google、Opera和Mozilla主導(dǎo)的這一項(xiàng)目,允許開發(fā)者在瀏覽器中僅使用JavaScript API和HTML5將聲音、訊息和視頻融為一體。盡管WebRTC提供了一些標(biāo)準(zhǔn)以促進(jìn)創(chuàng)新,但尚有一些問題需要解決。其中,兩個(gè)大問題是缺少標(biāo)準(zhǔn)化信令和瀏覽器的普遍支持。WebRTC聯(lián)盟曾故意遺漏信令標(biāo)準(zhǔn)來避免沖突,使各方盡快就標(biāo)準(zhǔn)達(dá)成共識(shí)。因此,廠商目前可以使用各不相同的協(xié)議,包括SIP、WebSockets以及HTTP協(xié)議,從而使WebRTC跨瀏覽器應(yīng)用而被廣泛支持。

        1 WebRTC簡介

        WebRTC,名稱源自網(wǎng)頁實(shí)時(shí)通信(Web Real-Time Communication)的縮寫,是一個(gè)支持網(wǎng)頁瀏覽器進(jìn)行實(shí)時(shí)語音對(duì)話或視頻對(duì)話的技術(shù)。WebRTC實(shí)現(xiàn)了基于網(wǎng)頁的視頻會(huì)議,標(biāo)準(zhǔn)是WHATWG協(xié)議,目的是通過瀏覽器提供簡單的javascript就可以達(dá)到實(shí)時(shí)通訊(Real-Time Communications,RTC)能力。

        WebRTC項(xiàng)目的最終目的主要是讓W(xué)eb開發(fā)者能夠基于瀏覽器輕易快捷地開發(fā)出豐富的實(shí)時(shí)多媒體應(yīng)用,而無需下載安裝任何插件;Web開發(fā)者也無需關(guān)注多媒體的數(shù)字信號(hào)處理過程,只需編寫簡單的Javascript程序即可實(shí)現(xiàn)[1]。WebRTC提供了視頻會(huì)議的核心技術(shù),包括音視頻的采集、編解碼、網(wǎng)絡(luò)傳輸、顯示等功能,且支持跨平臺(tái)windows、linux、mac、android。谷歌瀏覽器、火狐瀏覽器、360安全瀏覽器等,目前支持WebRTC技術(shù)標(biāo)準(zhǔn)。

        2 WebRTC系統(tǒng)架構(gòu)

        WebRTC的系統(tǒng)架構(gòu),如圖1所示。

        圖1 WebRTC系統(tǒng)架構(gòu)

        3 WebRTC架構(gòu)組件介紹

        如圖1所示,WebRTC架構(gòu)組件主要包括Web應(yīng)用APP、面向Web應(yīng)用開發(fā)者的Web API、面向?yàn)g覽器廠商開發(fā)者的WebRTC Native C++ API以及WebRTC 內(nèi)核[2]。

        Web開發(fā)者開發(fā)的程序,是指Web開發(fā)者可以基于集成WebRTC的瀏覽器提供的Web API開發(fā)基于視頻、音頻的實(shí)時(shí)通信應(yīng)用,如云呼叫中心JSSIP框架和坐席應(yīng)用。

        Web API是指面向第三方開發(fā)者的WebRTC標(biāo)準(zhǔn)API(Javascript)。這些API可分成Network Stream API、RTCPeerConnection和Peer-to-peer Data API三類。

        Network Stream API的主要對(duì)象包括[3]:

        ①M(fèi)ediaStream用來表示媒體數(shù)據(jù)流;

        ②MediaStreamTrack,在瀏覽器中表示媒體源;

        ③ RTCPeerConnection,RTCPeerConnection對(duì)象允許用戶在兩個(gè)瀏覽器之間直接通訊;

        ④RTCIceCandidate表示ICE協(xié)議的候選者;

        ⑤RTCIceServer表示ICE Server;

        ⑥Peer-to-peer Data API表示點(diǎn)對(duì)點(diǎn)數(shù)據(jù)接口;

        ⑦DataChannel:數(shù)據(jù)通道表示一個(gè)在兩個(gè)節(jié)點(diǎn)之間的雙向的數(shù)據(jù)通道。

        ⑧WebRTC Native C++ API是指本地C++ API層,它使瀏覽器廠商容易實(shí)現(xiàn)WebRTC標(biāo)準(zhǔn)的Web API,抽象地對(duì)數(shù)字信號(hào)過程進(jìn)行處理。

        WebRTC核心層包括:

        ①Transport/Session(傳輸/會(huì)話層)組件采用libjingle庫的部分組件實(shí)現(xiàn),無須使用xmpp/jingle協(xié)議;

        ②RTP Stack協(xié)議棧,即Real Time Protocol;

        ③STUN/ICE可以通過STUN和ICE組件建立不同類型網(wǎng)絡(luò)間的呼叫連接;

        ④Session Management是一個(gè)抽象的會(huì)話層,提供會(huì)話建立和管理功能。該層協(xié)議留給應(yīng)用開發(fā)者自定義實(shí)現(xiàn)。

        ⑤VoiceEngine(音頻引擎)是包含一系列音頻多媒體處理的框架,包括從視頻采集卡到網(wǎng)絡(luò)傳輸端的整個(gè)解決方案。

        ⑥VideoEngine(視頻引擎)是包含一系列視頻處理的整體框架,包括從攝像頭采集視頻到視頻信息網(wǎng)絡(luò)傳輸再到視頻顯示的整個(gè)完整過程的解決方案。

        4 WebRTC技術(shù)在云呼叫中心平臺(tái)的應(yīng)用

        為了方便租用云呼叫中心坐席的用戶使用,將WebRTC技術(shù)引入云呼叫中心系統(tǒng)平臺(tái)。用戶通過瀏覽器網(wǎng)頁,不用加載任何插件即可進(jìn)行通話,且用戶不需了解任何關(guān)于SIP參數(shù)的專業(yè)配置[4]。系統(tǒng)架構(gòu)圖,如圖2所示。

        圖2 系統(tǒng)架構(gòu)

        在云呼叫中心系統(tǒng)的核心軟交換平臺(tái)增加了對(duì)WebRTC的適配模塊,即增加對(duì)WebSOCKET的支持和SIP OVER WebSOCKET的處理。這樣核心軟交換平臺(tái)就實(shí)現(xiàn)了WebRTC和標(biāo)準(zhǔn)SIP AGENT之間的交換,從而達(dá)到相互通信的目的。

        整個(gè)平臺(tái)的架構(gòu)是完全分布式的,采用高內(nèi)聚、低耦合的模塊化設(shè)計(jì)思想。軟交換平臺(tái)可以分布式擴(kuò)展,并且根據(jù)坐席和SIP中繼線路分配相應(yīng)的負(fù)荷量,確保系統(tǒng)平滑擴(kuò)展,沒有瓶頸。Web和應(yīng)用服務(wù)器可以采用集群方式擴(kuò)展,數(shù)據(jù)庫服務(wù)器可以采用ORACLE RAC來做集群擴(kuò)展。

        模塊之間采用業(yè)界最好的ICE中間件實(shí)現(xiàn)分布式通信和負(fù)載均衡,通信安全可靠。Web瀏覽器和服務(wù)器之間采用HTTPS協(xié)議,實(shí)現(xiàn)了客戶數(shù)據(jù)的高度安全保護(hù),采用SRTP實(shí)現(xiàn)語音媒體通信的安全性,確保不能被監(jiān)聽。

        坐席的通話方式支持IP話機(jī)(支持視頻)、IAD電話、網(wǎng)絡(luò)電話軟件(支持視頻)、網(wǎng)頁通話(瀏覽器WebRTC,支持視頻)和綁定手機(jī)或固定電話??蛻舳瞬捎脼g覽器方式即B/S結(jié)構(gòu),易于升級(jí),便于采用互聯(lián)網(wǎng)方式運(yùn)營。

        系統(tǒng)核心軟交換平臺(tái)采用基于業(yè)界最先進(jìn)的開源軟交換系統(tǒng)FREESWITCH定制開發(fā)的、支持集群的功能強(qiáng)大的軟交換系統(tǒng),支持SIP等常見軟交換協(xié)議。

        核心軟交換平臺(tái)配置了功能強(qiáng)大的TTS(文本語音轉(zhuǎn)換引擎)、MCU和錄音錄像引擎。核心軟交換平臺(tái)通過SIP中繼和聯(lián)通軟交換網(wǎng)絡(luò)互聯(lián)。每個(gè)SIP中繼對(duì)應(yīng)一組中繼號(hào)碼段,每個(gè)SIP中繼接入到不同的軟交換服務(wù)器。

        數(shù)據(jù)庫系統(tǒng)采用ORACLE,具備業(yè)界最好的安全性和可靠性。擴(kuò)容時(shí),可以采用ORACLE RAC實(shí)現(xiàn)。

        Web和應(yīng)用服務(wù)器可以采用集群方式擴(kuò)展,實(shí)現(xiàn)云呼叫中心系統(tǒng)的所有功能。和其他系統(tǒng)的互聯(lián)采用標(biāo)準(zhǔn)HTTP協(xié)議和JavaScript函數(shù)API接口。

        ACD/IVR/CTI以及視頻會(huì)議控制服務(wù)端軟件,支持多服務(wù)器部署。

        IVR是指語音流程模塊,主要處理來電的交互式語音響應(yīng)??蛻敉ㄟ^不同的按鍵選擇不同的業(yè)務(wù)或者自助查詢服務(wù),也可以通過語音識(shí)別(ASR)模塊識(shí)別客戶說話進(jìn)行交互。不同的企業(yè)通過后臺(tái)Web管理頁面來定制自己企業(yè)的語音流程。例如,可以定義多個(gè)語音流程。不同的時(shí)段定義不同的語音流程,如上班時(shí)間的流程、休息時(shí)間的流程;也可以定義多個(gè)號(hào)碼的多個(gè)語音流程,其中每個(gè)號(hào)碼對(duì)應(yīng)一個(gè)語音流程。

        ACD(自動(dòng)呼叫分配)模塊實(shí)現(xiàn)來電呼叫的排隊(duì)和自動(dòng)分配以及坐席的管理。排隊(duì)和自動(dòng)分配是以隊(duì)列為基本單位進(jìn)行處理的,客戶可以在后臺(tái)Web管理頁面配置各個(gè)業(yè)務(wù)隊(duì)列,并定制其排隊(duì)和分配策略。

        CTI模塊實(shí)現(xiàn)了來電的客戶信息識(shí)別以及服務(wù)端和客戶端的信息推送,如來電彈屏功能。錄音模塊實(shí)現(xiàn)了對(duì)坐席通話的實(shí)時(shí)錄音和存儲(chǔ)管理,TTS(文本轉(zhuǎn)語音)模塊實(shí)現(xiàn)了文本轉(zhuǎn)換為語音的功能,即在語音流程中播放指定的文字[5]。

        FLEXGATE模塊實(shí)現(xiàn)了接收瀏覽器通過FLASH方式發(fā)送過來的控制命令,即關(guān)于CTI的坐席操作方面的控制命令通過FLASH實(shí)現(xiàn),如來電彈屏、簽入、簽出、上線、下線、外呼、會(huì)議、保持、監(jiān)聽、咨詢坐席等操作。瀏覽器的控制命令通過FLEXGATE和呼叫中心相關(guān)服務(wù)通信(IVR、ACD、CTI),系統(tǒng)部署如圖3所示。

        圖3 系統(tǒng)部署

        最后,基于JavaScript開發(fā)了瀏覽器網(wǎng)頁電話的支持框架JsSIP。這個(gè)框架是基于WebRTC的Web API開發(fā)的。它將框架集成到云呼叫中心網(wǎng)頁中,網(wǎng)頁就可以通過JavaScript調(diào)用簡單的框架提供的接口完成呼叫中心坐席電話的功能,完全可以替代傳統(tǒng)的網(wǎng)絡(luò)電話軟件或者插件。

        5 JsSIP框架

        瀏覽器應(yīng)用框架如圖4所示。EXTJS框架實(shí)現(xiàn)各種管理軟件應(yīng)用的頁面;FLASH組件實(shí)現(xiàn)ACD信令方面的通信;JsSIP組件實(shí)現(xiàn)音視頻通信,其建立在WebRTC的Web API層面開發(fā)。

        圖4 瀏覽器應(yīng)用框架

        JsSIP是用于Web端SIP應(yīng)用開發(fā)的一套JavaScript library。利用它可以實(shí)現(xiàn)完整的SIP協(xié)議棧和WebRTC交互功能,且可以在任何網(wǎng)站輕松提供一個(gè)功能齊全的SIP終端?;贘sSIP開發(fā)庫,任何網(wǎng)站只要添加幾行代碼就可以使用音頻、視頻和消息等實(shí)時(shí)通訊功能。

        框架特點(diǎn)如下[6]:

        (1)SIP over WebSocket傳送;

        (2)Audio/video呼叫,即時(shí)消息和presence;

        (3)純JavaScript代碼從最基礎(chǔ)構(gòu)建,容易使用功能完善的user API;

        (4)可以和著名的OverSIP、Kamailio和Asterisk servers等SIP服務(wù)軟件互通。

        JsSIP實(shí)現(xiàn)所遵循的規(guī)范如下:

        RFC 3261“SIP∶ Session Initiation Protocol”

        RFC 3311“SIP UPDATE Method”

        RFC 3326“The Reason Header Field for SIP”

        RFC 3327“SIP Extension Header Field for Registering Non-Adjacent Contacts”(Path header)

        RFC 3428“SIP Extension for Instant Messaging”(MESSAGE method)

        RFC 4028“Session Timers in SIP”

        RFC 5626“Managing Client-Initiated Connections in SIP”(Outbound mechanism)

        RFC 5954“Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261”

        RFC 6026“Correct Transaction Handling for 2xx Responses to SIP INVITE Requests”

        RFC 7118“The WebSocket Protocol as a Transport for SIP”

        JsSIP User Agent是JsSIP的核心元素,代表一個(gè)關(guān)聯(lián)的SIP帳號(hào)的SIP客戶端。JsSIP User Agent在JsSIP.UA class中定義。在同一個(gè)Web應(yīng)用中,可以創(chuàng)建多個(gè)JsSIP User Agents。這在同一Web應(yīng)用中運(yùn)行多個(gè)不同的SIP帳號(hào)的情況下十分有用。

        6 結(jié) 語

        Google認(rèn)為,支持互聯(lián)網(wǎng)的核心技術(shù)如HTML、HTTP和TCP/IP是開放免費(fèi)的,互聯(lián)網(wǎng)也因此繁榮,所以音視頻技術(shù)也必須免費(fèi)且高質(zhì)量。因此,WebRTC是變革者,將徹底改變media engines市場(chǎng)。

        [1] 聶曉飛.基于WebRTC的跨平臺(tái)視頻會(huì)議系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.NIE Xiao-fei.Design and Implementation of Crossplatform Video Conference System Based on WebRTC[D].Beijing:Beijing Jiaotong University,2014.

        [2] 何明亮.WebRTC技術(shù)的研究與應(yīng)用[D].南京:南京郵電大學(xué),2014.HE Ming-liang.Research and Practice of the WebRTC Technology[D].Nanjing:Nanjing University of Posts and Telecommunication,2014.

        [3] Bergkvist A,Burnett D C,Jennings C,et al.WebRTC1.0:Real-timeCommunication Between BrowsersW3C Editor’s Draft03[Z].2013.

        [4] 陳龍明.基于JXTA和WebRTC的視頻會(huì)議系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].合肥:中國科學(xué)院大學(xué),2013.CHEN Long-ming.Design and Implementation of Video Conference System Based on JXTA and WebRTC[D].Hefei:University of Chinese Academy of Sciences,2013.

        [5] Burnett D C,Narayanan A.Media Capture and Streams,W3CEditor’s Draft 30[Z].2013.

        [6] 孫進(jìn)寶.基于WebRTC的混音服務(wù)器的研究與設(shè)計(jì)[D].西安:西安電子科技大學(xué),2014.SUN Jin-bao.Research and Design of WebRTC Based Mixer Server[D].Xi’an:Xidian University,2014.

        猜你喜歡
        開發(fā)者瀏覽器網(wǎng)頁
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
        電子制作(2018年10期)2018-08-04 03:24:38
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        16%游戲開發(fā)者看好VR
        CHIP新電腦(2016年3期)2016-03-10 13:06:42
        環(huán)球?yàn)g覽器
        再見,那些年我們嘲笑過的IE瀏覽器
        網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
        iOS開發(fā)者調(diào)查
        電腦迷(2015年8期)2015-05-30 12:27:10
        iOS開發(fā)者調(diào)查
        電腦迷(2015年4期)2015-05-30 05:24:09
        10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語
        色婷婷六月天| 成年美女黄网站色大免费视频| 日日日日做夜夜夜夜做无码| 波多野结衣乳巨码无在线| 蜜桃av抽搐高潮一区二区| 免费a级毛片永久免费| 国产精品短视频| 蜜桃视频高清在线观看| 日韩av一区二区网址| 国产av永久无码天堂影院| 久久久伊人影院| 久久久精品国产亚洲av网不卡| 熟女中文字幕一区二区三区 | 国产高清av首播原创麻豆| 国产午夜在线观看视频播放| 国产一区二区av男人| 久久开心婷婷综合中文| 亚洲成a∨人片在线观看无码| 麻麻张开腿让我爽了一夜| 性做久久久久久久| 成人免费毛片立即播放| 国产av天堂亚洲国产av天堂| 精品亚洲成a人片在线观看 | 国产h视频在线观看网站免费| 国产二区中文字幕在线观看 | 国产成人精品久久亚洲高清不卡 | 国内免费高清在线观看| 无码aⅴ在线观看| 亚洲成人av一区二区麻豆蜜桃| 亚洲网站一区在线播放| 亚洲色爱免费观看视频| 色综合另类小说图片区| 亚洲高清精品一区二区| 日韩夜夜高潮夜夜爽无码| 国产亚洲精品第一综合麻豆| 亚洲av综合日韩精品久久久| 国产日产在线视频一区| 久久精品国产亚洲av四虎| 美女高潮流白浆视频在线观看| 亚洲24小时免费视频| 女人被爽到高潮视频免费国产|