主頁(http://www.130131.com):WEPTT對講平臺能力開放說明 1 概述WePTT作為開放的平臺,提供核心的POC(實(shí)時(shí)語音對講)和IM(即時(shí)通信)相關(guān)技術(shù)能力,使第三方系統(tǒng)可以簡便快捷的實(shí)現(xiàn)服務(wù)器端與客戶端的二次開發(fā)需求。開放的接口和SDK包括:服務(wù)器對接接口、Android平臺SDK、iOS平臺SDK、Windows平臺ActiveX等。 1.1 服務(wù)器對接WePTT平臺核心能力服務(wù)器如下圖:
注: 1) 圖中表示的為邏輯服務(wù),與實(shí)際部署的服務(wù)器設(shè)備無直接關(guān)系。 2) DNS作為前置服務(wù)為DM提供負(fù)載均衡 3) DM依據(jù)自有均衡策略為用戶分配SP 4) 多個(gè)DM對等分布,采用共享庫方式對數(shù)據(jù)訪問操作 5) 多個(gè)SP對等分布,基于路由機(jī)制通信 6) 每個(gè)SP管理一個(gè)或多個(gè)MDS 1.1.1 DM (Data Manager) 數(shù)據(jù)管理服務(wù)
DM服務(wù)在整個(gè)系統(tǒng)中承擔(dān)所有與DB、數(shù)據(jù)等相關(guān)交互的數(shù)據(jù)管理工作,對客戶端提供TCP訪問接口,同時(shí)對其它服務(wù)也提供對應(yīng)DB操作的交互接口。DB可以單獨(dú)作為服務(wù)部署在不同的設(shè)備上,采用MySQL數(shù)據(jù)庫,Master/Slaver模式, MemCache機(jī)制。 具體職能:
1.1.2 SP (Session Protocol) 會話管理服務(wù)SP是承載在線用戶狀態(tài)的核心處理服務(wù),維護(hù)所有心跳用戶的語音會話和即時(shí)消息。多臺SP通過DM運(yùn)行監(jiān)控模塊負(fù)載均衡,各SP之間完全對等,通過路由機(jī)制相互尋址通信。 具體職能:
1.1.3 MDS (Media Services) 媒體服務(wù)媒體服務(wù)主要承擔(dān)用戶的語音通話和分組的話語權(quán)權(quán)限控制,又分兩種服務(wù)形式:1)臨時(shí)組呼叫,2)固定群組或頻道通話。 具體職能:
1.1 Android & iOS平臺SDK
WePTT對講Android & iOS SDK為第三方應(yīng)用在Android和iOS智能平臺上提供了可以快速實(shí)現(xiàn)對講能力的開發(fā)組件,第三方應(yīng)用可通過SDK Java Package和Object-C來訪問所有這些能力,無需關(guān)心具體的邏輯實(shí)現(xiàn)和協(xié)議通信。 為了達(dá)到最好的通信性能和效果,SDK低層采用C/C++構(gòu)造相關(guān)的核心通信邏輯和模塊,透過JNI/Object-C為上層應(yīng)用提供訪問接口。低層已封裝了Session、Media、Audio、Codec等關(guān)鍵的協(xié)議、算法、網(wǎng)絡(luò)操作、狀態(tài)機(jī)、控制邏輯,以及線程規(guī)則管理、節(jié)電控制等模塊。 SDK進(jìn)一步為第三方應(yīng)用的接口訪問進(jìn)行了封裝,將C/C++很好的轉(zhuǎn)化成Android Java或Object-C面向?qū)ο蟮牧?xí)慣和方式。包含了數(shù)據(jù)類型、數(shù)據(jù)處理、用戶交互狀態(tài)機(jī)控制、以及為調(diào)用方提供可實(shí)現(xiàn)的Listener/Deletgate作為接口,從而形成面向Android Java或Object-C程序員集成開發(fā)的接口層。整體方案分層明確,具有良好的擴(kuò)充能力,保證了優(yōu)良的運(yùn)行性能和低功耗運(yùn)行的特征,同時(shí)使第三方二次開發(fā)的工作量盡可能降到最低。 1.1 Windows平臺SDKWindows平臺中提供ActiveX控件形式的SDK,可嵌入Web或其它應(yīng)用程序框架中以實(shí)現(xiàn)開放的POC和IM能力。ActiveX中提供了與Web層JavaScript頁面腳本交互的技術(shù)方式,以便滿足瘦客戶模式的二次開發(fā)。
1 能力清單WePTT平臺為第三方系統(tǒng)提供的開放能力主要體現(xiàn)如下幾部分: 1.1 用戶系統(tǒng)對接與有效性控制作為兩個(gè)相對獨(dú)立的系統(tǒng)對接,用戶子系統(tǒng)對接是最為關(guān)鍵的第一步。對接的基本原則是使第三方系統(tǒng)中的用戶可以一一對應(yīng)到WePTT平臺,從而實(shí)現(xiàn)這些用戶可以使用WePTT所有開放的能力。WePTT平臺提供了系統(tǒng)對接常用的用戶匹配接口方式,第三方系統(tǒng)可以通過給定全網(wǎng)唯一的用戶ID匹配到WePTT中唯一對應(yīng)的用戶,從而建立兩個(gè)系統(tǒng)用戶的ID對照表。 系統(tǒng)同時(shí)支持針對某一指定用戶WePTT服務(wù)的開通和關(guān)閉,以便第三方系統(tǒng)對相應(yīng)用戶增值服務(wù)有效性的管理。例如第三方系統(tǒng)中WePTT服務(wù)僅作為其服務(wù)套餐之一,需要經(jīng)過一定流程或條件后再開通WePTT服務(wù),當(dāng)用戶到期時(shí)又需要將其WePTT服務(wù)關(guān)閉,可以通過平臺提供的接口來實(shí)現(xiàn)此需求。屆時(shí)WePTT平臺將根據(jù)第三方的指令對登錄WePTT服務(wù)的客戶端SDK進(jìn)行有效性確認(rèn)和限制,只有有效的用戶才能正常登錄和使用,基本流程大致如下圖所示:
考慮到客戶端SDK集成到第三方的APP中需要處理連接WePTT服務(wù)器的負(fù)載均衡,以及登錄流程整合后的優(yōu)化方案,系統(tǒng)設(shè)計(jì)上為第三方系統(tǒng)提供了服務(wù)端直接替客戶端獲取均衡配置的接口,這樣可以減少客戶端與服務(wù)器的交互,從而盡可能縮短客戶端登錄時(shí)間。具體流程如下圖:
1.1 用戶在線狀態(tài)查詢WePTT服務(wù)作為一套“有狀態(tài)”的服務(wù)平臺,為第三方系統(tǒng)提供了隨時(shí)可以較為精確的查詢某指定用戶是否在線的狀態(tài)接口,以便第三方系統(tǒng)實(shí)現(xiàn)和某用戶在線情況相關(guān)的功能需求和邏輯。 1.2 頻道管理在WePTT平臺中,固定會話組織形式是以“頻道”方式實(shí)現(xiàn)的,頻道中的成員之間可以在頻道內(nèi)實(shí)現(xiàn)POC實(shí)時(shí)語音通話、收發(fā)即時(shí)消息等功能,頻道與頻道之間互不影響、相對隔離,類似傳統(tǒng)對講機(jī)或數(shù)字集群的頻段。平臺提供了開放的接口用于管理所有用戶的頻道。具體功能包括:頻道的創(chuàng)建、刪除、屬性變更,以及頻道內(nèi)成員及其權(quán)限和優(yōu)先級的變更設(shè)定。 1.3 實(shí)時(shí)語音對講(POC)WePTT平臺的核心能力是提供POC實(shí)時(shí)語音對講,第三方客戶端或PC端可通過為Android、iOS以及Windows平臺封裝的SDK實(shí)現(xiàn)以下具體功能特征: 1) 賬戶登入登出:客戶端可通過SDK登入登出WePTT服務(wù) 2) 獲取頻道列表以及成員列表:SDK提供了接口和獲取用戶所屬的所有頻道列表,以及頻道中的成員信息 3) 頻道對講:所有頻道內(nèi)的成員均可連接到頻道會話,連接在同一頻道的用戶之間可以進(jìn)行實(shí)時(shí)語音對講,并受話語權(quán)控制;頻道成員數(shù)限定在300人以內(nèi) 4) 臨時(shí)呼叫/應(yīng)答:SDK可發(fā)起或掛斷1對1、1對多的呼叫應(yīng)答,也可以接聽或拒接對講來電;在會話中主叫方可邀請其它用戶進(jìn)入此會話;臨時(shí)會話成員數(shù)限定在30人以內(nèi) 5) 話語權(quán)控制:無論是頻道對講還是臨時(shí)呼叫/應(yīng)答均受話語權(quán)控制,即同一時(shí)間只允許一個(gè)人講話,其它人只能聽;臨時(shí)呼叫/應(yīng)答類型的會話中主叫有最高權(quán)限可直接搶斷任一成員的話語權(quán);而頻道類型的會話中,是否能搶斷別人講話取決于成員的優(yōu)先級高低,高級別成員可選擇搶斷低級別;同時(shí)頻道內(nèi)支持話語權(quán)排隊(duì)能力,即當(dāng)某一個(gè)用戶在講話時(shí),其它成員也可以申請講話,但會給所有成員呈現(xiàn)出正在排隊(duì)的狀態(tài),多個(gè)等待話語權(quán)的成員按序排隊(duì),允許排隊(duì)的成員最大數(shù)可有系統(tǒng)后端設(shè)定 6) 會話中狀態(tài)呈現(xiàn):在會話中無論是發(fā)言、排隊(duì)、或是進(jìn)出會話,其它成員均可及時(shí)看到狀態(tài)的變化 7) 用戶狀態(tài)呈現(xiàn):SDK支持用戶上下線狀態(tài)變化的即時(shí)通知和呈現(xiàn) SDK除以上功能外,還為第三方封裝了相關(guān)的基本處理,如音頻狀態(tài)控制與編解碼、網(wǎng)絡(luò)狀態(tài)切換、普通電話處理接口等,無需調(diào)用方考慮邏輯處理。 同時(shí)POC在性能方面可滿足如下指標(biāo)(在網(wǎng)絡(luò)狀態(tài)良好的3G環(huán)境下): 1) 臨時(shí)會話的呼叫時(shí)延(從發(fā)起呼叫到對端振鈴)不高于3000ms; 2) 頻道呼通率和臨時(shí)呼叫應(yīng)答接通率不低于95%; 3) POC語音端到端的時(shí)延不高于1000ms 1.4 即時(shí)通信(IM)平臺能力上除核心的POC外,還可支持高效的IM即時(shí)通信服務(wù),除了支持一般文本、圖片、錄音等媒介消息外,系統(tǒng)還提供可供第三方應(yīng)用自定義封裝的消息類型,以便實(shí)現(xiàn)更豐富而靈活的自定義需求。 主要能力特征為: 1) 消息類型:文本、圖片、錄音、自定義報(bào)文等 2) 支持頻道內(nèi),以及1對1、1對多臨時(shí)會話的消息收發(fā) 3) 支持離線消息讀取 1.5 自定義系統(tǒng)消息通道1.5.1 上行消息第三方系統(tǒng)如果有需求希望接收來自客戶端SDK上報(bào)的信息,可通過此能力實(shí)現(xiàn),WePTT會將收到的消息原文傳遞給第三方指定的服務(wù)以進(jìn)行相關(guān)的服務(wù)處理,進(jìn)而支持一種自下而上的通道。
1.1.1 下行推送第三方系統(tǒng)可通過此服務(wù)批量向指定用戶推送自定義的報(bào)文,客戶端SDK收到后將把自定義報(bào)文剝離出原文并交給第三方客戶端應(yīng)用層自行處理,進(jìn)而實(shí)現(xiàn)自上而下的通道。
修訂:2014.03.19 (中國集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |












