要點(diǎn)綜述
在線錄音是呼叫中心的一項(xiàng)重要功能。隨著呼叫中心向IP環(huán)境的過渡,在線錄音的方法也將隨之發(fā)生改變。本應(yīng)用注釋即將討論的是用于在線錄音的"代理RTP"系統(tǒng),以及該系統(tǒng)的體系結(jié)構(gòu)和訊息流程。此外,本文還將對(duì)該系統(tǒng)和IP環(huán)境的另一種在線錄音方法"端口監(jiān)控"進(jìn)行簡要的比較。
目錄
介紹
呼叫中心會(huì)出于多種目的來使用在線錄音功能,比如員工培訓(xùn)或法律要求等。隨著呼叫中心從TDM向IP環(huán)境的逐步過渡,在線錄音的重要性也將變得越加明顯。但在線錄音的方法不是一成不變的。
本應(yīng)用注釋推薦一種適用于IP環(huán)境的在線錄音方法。該方法采用高性能、可配置的開放源代碼SIP(RFC3261)服務(wù)器――SIP
Express路由器(SER),并同時(shí)采用基于開放源代碼PortaOne* RTP代理的組合RTP代理/錄音程序。
PortaOne RTP代理主要用于通行NAT防火墻。在線呼叫過程中,其SER接口和會(huì)話管理能力將被使用,而且其RTP分組中繼(packet
relay)能力也將與DialogicIP媒體庫(IPML)API和面向Linux*的Dialogic®
NetStructure 主機(jī)媒體處理(HMP)軟件1.2版同時(shí)使用。最終將獲得全雙工音頻數(shù)據(jù)流,并將通過Dialogic®
NetStructure HMP創(chuàng)建的"虛擬SCbus",順利地錄制至磁盤。
在本文所述的"代理RTP"中,使用Dialogic® NetStructure
HMP作為媒體管理器具有如下優(yōu)勢:
- 通過熟悉的API簡化應(yīng)用編程
- 提高信道密度
- 便于使用低位速語音信號(hào)編碼器,進(jìn)而減少錄音所需要的磁盤空間
- 全面控制錄音過程,包括結(jié)尾
- 輕松獲取語音數(shù)據(jù)流,輕松進(jìn)行諸如流傳輸至ASR服務(wù)器進(jìn)行關(guān)鍵字查詢(word spotting)等操作
SER僅適用于Unix或Linux環(huán)境。因?yàn)樗且豢钕鄬?duì)"輕量級(jí)"的應(yīng)用,所以它可以很好地與面向Linux的Dialogic®
NetStructure HMP駐留在同一個(gè)Linux系統(tǒng)上。為此,本文將只介紹單機(jī)箱方法。然而,包含更多功能的更大應(yīng)用,或者需要更高信道密度的部署項(xiàng)目,也可以依照此處介紹的這一基本的單機(jī)箱模式進(jìn)行部署,只是需要將組件分布到多個(gè)機(jī)箱。
注:我們不主張將此處描述的方法用做完整的呼叫中心解決方案。完整的呼叫中心應(yīng)用很可能還需要其它的組件。為使問題不過于復(fù)雜化,我們此處只討論在線錄音。
圖1. 高層體系結(jié)構(gòu)
高層體系結(jié)構(gòu)
圖1是本文所述之在線錄音系統(tǒng)的高層結(jié)構(gòu)圖解。下面我們將就其主要的兩個(gè)組件及其使用方法進(jìn)行詳細(xì)的探討。
SER
SER承擔(dān)著SIP代理的功能并負(fù)責(zé)控制錄音組件的操作流程。從網(wǎng)絡(luò)SIP終端(用戶代理或UA)的角度看,SER是個(gè)相當(dāng)標(biāo)準(zhǔn)的SIP代理。終端向外發(fā)出的所有呼出均被導(dǎo)入該代理,然后該代理再通過數(shù)據(jù)庫查詢操作確定所有呼叫的最終目的地。該路由器會(huì)向目的地終端提供SIP訊息,但在此之前,它需對(duì)SIP訊息的會(huì)話描述符協(xié)議(SDP)部分的RTP連接信息進(jìn)行修改。這樣RTP數(shù)據(jù)流就不是直接在兩個(gè)終端之間移動(dòng),而是要被重新路由,以便它們經(jīng)過在線錄音系統(tǒng)。發(fā)起呼叫時(shí)(INVITE期間)可不需要上述操作,但是當(dāng)呼叫已經(jīng)開始(通過re-INVITE訊息),就應(yīng)該進(jìn)行上述操作。使用re-INVITE的優(yōu)勢在于,在沒有進(jìn)行錄音操作的時(shí)候,將不會(huì)占用系統(tǒng)的端口。
RTP代理會(huì)話管理器
錄音開始后,即需發(fā)揮第二個(gè)組件的功用。SER與RTP代理會(huì)話管理器是接通的,當(dāng)會(huì)話管理器得知有新的呼叫到達(dá)時(shí),它會(huì)打開一個(gè)呼叫會(huì)話,并為SER提供一個(gè)唯一的端口號(hào)。SER再將呼叫終端的原有地址/端口更換為錄音系統(tǒng)的端口號(hào)和IP地址。
如今您已可以在錄音系統(tǒng)和兩個(gè)SIP終端之間建立起兩個(gè)RTP數(shù)據(jù)流,以替代直接連接兩個(gè)終端的單個(gè)數(shù)據(jù)流。該應(yīng)用使用DialogicR4
IPML API來建立數(shù)據(jù)流。數(shù)據(jù)流出現(xiàn)在虛擬SCbus上,并將同時(shí)被路由,以形成一個(gè)交叉連接。然后您就可以使用R4
Media API完整的特性集,完成數(shù)據(jù)流向磁盤的錄制操作。R4 Media API中可用于在線錄音的媒體特性包括:
- 對(duì)話錄音功能,可同時(shí)錄制兩個(gè)半雙工RTP數(shù)據(jù)流,并具備數(shù)字信號(hào)處理器(DSP)的一般功能,能在單個(gè)數(shù)據(jù)流寫盤之前有效地混合各種數(shù)據(jù)流。這樣就無需事后再對(duì)兩個(gè)獨(dú)立的數(shù)據(jù)流文件進(jìn)行組合,以合成為一個(gè)同步的錄音文件。
- 設(shè)置錄音參數(shù)的能力,能夠設(shè)置每次錄音的參數(shù),如文件格式、數(shù)據(jù)編碼、取樣率和每樣本位數(shù)等
- 流傳輸數(shù)據(jù)能力,能夠輕松地流傳輸錄制數(shù)據(jù)至數(shù)據(jù)庫的二進(jìn)制大對(duì)象(BLOB),或者通過套接字傳輸至一個(gè)集中的錄音服務(wù)器
- 停止單個(gè)API呼叫錄音的能力
- 輕松限制錄音文件大小和錄音時(shí)間的能力
SER與RTP代理會(huì)話管理器連接有一個(gè)Unix域套接字(先進(jìn)先出[FIFO]流程間訊息隊(duì)列)。這些組件之間的通信經(jīng)過了一個(gè)非常簡單、由應(yīng)用定義的訊息集,該訊息集是RTP代理的一部分。
訊息流程
圖2是"代理RTP"在線錄音系統(tǒng)典型呼叫錄音的訊息流程圖解。圖中數(shù)字對(duì)應(yīng)于下文的段落編號(hào)。
圖2. 典型呼叫錄音的訊息流程
1. SER經(jīng)過配置可作為一個(gè)有狀態(tài)的代理,以負(fù)責(zé)中繼呼叫期間生成的所有SIP訊息。當(dāng)SER從源UA收到INVITE請求之后,它將從請求中提取SIP呼叫ID,并通過流程間套接字連接將其傳送到RTP代理會(huì)話管理器。會(huì)話管理器使用該ID在現(xiàn)有會(huì)話中進(jìn)行查找,如果該會(huì)話存在,則返回該會(huì)話的用戶數(shù)據(jù)包協(xié)議(UDP)端口。如果該會(huì)話不存在,則創(chuàng)建一個(gè)新會(huì)話,將其綁定至配置/啟動(dòng)期間指定范圍內(nèi)的第一個(gè)空UDP端口,并將端口號(hào)返回SER。收到錄音應(yīng)用的回復(fù)之后,SER再將呼叫終端的原有地址/端口更換為錄音系統(tǒng)的端口號(hào)和IP地址,并照例發(fā)出請求。
2. SER從目的地UA收到肯定的SIP回復(fù)("OK")。SER將再次從訊息的SDP部分抽取其呼叫ID,并發(fā)送至錄音應(yīng)用。此時(shí),如果發(fā)現(xiàn)該會(huì)話不存在,它將不再分配新會(huì)話。它只是簡單地在現(xiàn)有會(huì)話中進(jìn)行查找,如果找到該會(huì)話就返回端口號(hào),如果未找到該會(huì)話就返回錯(cuò)誤信息。在收到錄音應(yīng)用的肯定回復(fù)后,SER會(huì)將呼叫終端的原有地址/端口更換為錄音系統(tǒng)的端口號(hào)和IP地址,并照例發(fā)出請求。
3. 會(huì)話建好之后,錄音應(yīng)用將會(huì)使用R4 IPML API在自身與外部UA之間建立起兩個(gè)獨(dú)立的RTP連接。然后再將由此產(chǎn)生的Scbus時(shí)隙相連接,創(chuàng)建一個(gè)全雙工連接。這時(shí)就可以使用多時(shí)隙對(duì)話錄音開始呼叫錄音操作。
4. 收到一個(gè)UA的BYE之后,SER會(huì)將該BYE中繼給其它UA。如果收到"OK",SER則將從第二個(gè)UA中抽取呼叫ID并發(fā)送到錄音應(yīng)用。該ID與現(xiàn)有錄音會(huì)話匹配。錄音終止,雙向數(shù)據(jù)傳輸停止。向BYE訊息的發(fā)送者中繼"OK",完成SIP信令。
附錄:在線錄音系統(tǒng)結(jié)構(gòu)比較
作為"代理RTP"在線錄音系統(tǒng)的替選方法,您也可以使用一些以太網(wǎng)交換機(jī)上經(jīng)常采用的"端口監(jiān)控"。在這種情況下,錄音應(yīng)用引導(dǎo)交換機(jī)復(fù)制需要錄音的對(duì)話RTP數(shù)據(jù)流。IP錄音系統(tǒng)然后接收分組流,并使用Dialogic®
NetStructure HMP進(jìn)行錄音。下表分別介紹了這兩種方法的優(yōu)缺點(diǎn)。
|
端口監(jiān)控 |
代理RTP |
RTP流量 |
一對(duì)額外的RTP數(shù)據(jù)流承載對(duì)話通過錄音系統(tǒng) |
需要兩只“腿”(各為一對(duì)RTP數(shù)據(jù)流)重新引導(dǎo)從交換機(jī)到錄音系統(tǒng)的對(duì)話 |
設(shè)備故障 |
錄音系統(tǒng)出現(xiàn)故障對(duì)語音流量沒有影響 |
語音流量依賴于錄音系統(tǒng)的運(yùn)行情況。通過在另一個(gè)系統(tǒng)上提供第二個(gè)代理(沒有錄音),可以避免這種依賴性 |
現(xiàn)有IP基礎(chǔ)設(shè)施改建 |
并非所有交換機(jī)均有端口監(jiān)控。
部署端口監(jiān)控意味著以高昂的成本改變呼叫中心的基礎(chǔ)設(shè)施 |
除錄音系統(tǒng)要求的硬件外無需額外硬件。只需較小幅度地對(duì)SIP終端進(jìn)行重新配置,以使它們能夠與代理錄音系統(tǒng)共同使用即可 |
安全性 |
未經(jīng)授權(quán)的系統(tǒng)可能會(huì)通過端口監(jiān)控進(jìn)入語音數(shù)據(jù)流 |
所有語音數(shù)據(jù)流都經(jīng)過單個(gè)系統(tǒng)進(jìn)行傳輸,可最大限度保證安全性 |
尺寸調(diào)整 |
可能會(huì)限制同時(shí)被監(jiān)控的端口數(shù)量 |
錄音系統(tǒng)的規(guī)?梢园葱柽M(jìn)行調(diào)整 |
錄音智能 |
錄音應(yīng)用可能難以確定錄音的內(nèi)容和時(shí)間 |
可以輕松地抽取SIP訊息中的訊息,以用于控制和定制錄音 |
術(shù)語縮寫
API 應(yīng)用編程接口
ASR 自動(dòng)語音識(shí)別
BLOB 二進(jìn)制大對(duì)象
FIFO 先進(jìn)先出
HMP 主機(jī)媒體處理(HMP)
IP 互聯(lián)網(wǎng)協(xié)議
IPML IP媒體庫
NAT 網(wǎng)絡(luò)地址轉(zhuǎn)換
RTP 實(shí)時(shí)協(xié)議
SDP 會(huì)話描述符協(xié)議
SER SIP Express Router
SIP 會(huì)話初始化協(xié)議
TDM 時(shí)分復(fù)用
UA 用戶代理
UDP 用戶數(shù)據(jù)包協(xié)議
了解更多信息
面向Linux的Dialogic® NetStructure 主機(jī)媒體處理軟件1.2版
信息:http://www.Dialogic.com/
Fraunhofer Fokus開發(fā)的SIP Express路由器(SER)
信息:http://www.iptel.org
下載:http://www.iptel.org/ser/
PortaOne RTP代理
信息與下載:http://www.portaone.com/
resources/downloads/
如欲了解更多信息,請?jiān)L問:http://www.Dialogic.com/。
* 文中涉及的其它名稱及商標(biāo)屬于各自所有者資產(chǎn)。
|