在過(guò)去的數(shù)十年,Sangoma 一直是開(kāi)源通信界真正的行業(yè)領(lǐng)導(dǎo)者。Asterisk 的發(fā)布對(duì)通信界是巨大的沖擊。但是Asterisk 發(fā)展壯大,還是需要業(yè)內(nèi)廠家的一致努力。Sangoma 在Asterisk 方面做了很多工作,技術(shù)方面,Sangoma工程師設(shè)計(jì)了穩(wěn)定的產(chǎn)品以外,Sangoma也同時(shí)贊助了很多開(kāi)源行業(yè)的會(huì)議活動(dòng)來(lái)希望更多的用戶(hù)了解Asterisk。
Sangoma通過(guò)不斷的技術(shù)革新和發(fā)明創(chuàng)造,對(duì)Asterisk 技術(shù)的發(fā)展起到了不可磨滅的作用。例如,第一個(gè)把回聲硬件回聲抑制引入到asterisk 板卡設(shè)計(jì);第一個(gè)發(fā)布語(yǔ)音卡優(yōu)化解決方案-調(diào)整IO 的大小提升語(yǔ)音卡的處理能力;第一個(gè)發(fā)布8E1 asterisk 數(shù)字語(yǔ)音卡; 第一個(gè)發(fā)布16E1 asterisk 數(shù)字語(yǔ)音卡;第一個(gè)發(fā)布Lyra Asterisk 洗號(hào)軟件等等。一些解決方案已經(jīng)被很多同行采用。Sangoma真正做到了一直被模仿,從未被超越。今天,我們介紹一下,通過(guò)Sangoma的 28 種方法幫助客戶(hù)提升 Asterisk 拓展性,可靠性和功能性。
1. 如何改善Asterisk的拓展性:
1.1通過(guò)調(diào)整 板卡驅(qū)動(dòng)的數(shù)據(jù)池大小來(lái)提升語(yǔ)音板卡的拓展性
Asterisk 和語(yǔ)音板卡互相通信,必須通過(guò)一個(gè)數(shù)據(jù)池從TDM 板卡API 拷貝語(yǔ)音數(shù)據(jù)。
每次需要對(duì)CPU 發(fā)出一個(gè)中斷相應(yīng)(通常,每秒發(fā)1000次中斷相應(yīng)),表示API 有數(shù)據(jù)需要處理。過(guò)于頻繁的中斷相應(yīng)會(huì)導(dǎo)致CPU 出現(xiàn)高負(fù)載,地址系統(tǒng)不穩(wěn)定。數(shù)據(jù)池的大小(chunk size)其實(shí)一直是可以調(diào)整的,Sangoma 最早利用了此功能。通過(guò)調(diào)整chunk size 的大小,降低了CPU的中斷相應(yīng)次數(shù)(調(diào)整以后,每秒發(fā)100次中斷相應(yīng)),從而降低了CPU 的負(fù)載,提高了系統(tǒng)的穩(wěn)定性,語(yǔ)音板卡可以支持更多的端口并發(fā)。
1.2 通過(guò)硬件回聲DSP來(lái)提升語(yǔ)音質(zhì)量
Sangoma是第一家實(shí)現(xiàn)Asterisk 語(yǔ)音卡支持硬件回聲抑制的廠家,提高了Asterisk的通話語(yǔ)音質(zhì)量。通過(guò)多年積累,我們的帶回聲DSP 語(yǔ)音板卡已經(jīng)完全通過(guò)了高并發(fā)情況下的語(yǔ)音通信。
1.3 使用硬件的TDM-mutiplxing 處理提升數(shù)據(jù)傳輸
在語(yǔ)音通信中,TDM 多路復(fù)用需要把語(yǔ)音數(shù)據(jù)插入到相應(yīng)的時(shí)隙中,同時(shí)可以成功解析,打包,轉(zhuǎn)到相應(yīng)的VOIP 通道(Asterisk通道)。整個(gè)過(guò)程需要消耗大量的CPU資源。Sangoma 采用了基于硬件的TDM 多路復(fù)用解決方案,降低了對(duì)CPU的消耗,從而CPU 可以處理更多的呼叫。Sangoma是第一家在Asterisk 語(yǔ)音板卡采用此技術(shù)的公司。
1.4 Sangoma 語(yǔ)音卡驅(qū)動(dòng)的DMA解決方法
因?yàn)镃PU處理任務(wù)減,DMA 內(nèi)存直接訪問(wèn)的方式可以獲得更好的系統(tǒng)穩(wěn)定性。 Sangoma 板卡的DMA 采取的解決方案是時(shí)隙的語(yǔ)音數(shù)據(jù)直接和dahdi 緩存進(jìn)行數(shù)據(jù)傳輸,無(wú)需經(jīng)過(guò)系統(tǒng)內(nèi)存和CPU,降低了CPU負(fù)載。同時(shí)Sangoma 提供一個(gè)buffer 防止語(yǔ)音數(shù)據(jù)丟失和延遲,因此,保證了語(yǔ)音的連續(xù)性,和語(yǔ)音的清晰度。
1.5 Sangoma 語(yǔ)音板卡的中斷處理設(shè)計(jì)
Sangoma 板卡依靠高效的中斷處理設(shè)計(jì),保證了語(yǔ)音板卡無(wú)任何的主板兼容性問(wèn)題。
通過(guò)配合回聲抑制DSP,DMA解決方案,和可調(diào)整的chunk size,充分保證了Asterisk 語(yǔ)音系統(tǒng)的可拓展性。
2 如何提高Asterisk的可靠性:
2.1 穩(wěn)定的驅(qū)動(dòng)板卡固件升級(jí)
Sangoma 板卡本身支持了防固件損壞設(shè)計(jì),可以通過(guò)在線升級(jí)來(lái)及時(shí)更新固件,同時(shí),Sangoma板卡固件可以支持回復(fù)原廠設(shè)置。
2.2 穩(wěn)定的,無(wú)差錯(cuò)E1 傳真?zhèn)鬏?br />
傳真需要從E1 進(jìn)入以后轉(zhuǎn)接到FXS 語(yǔ)音板卡模塊。如果時(shí)鐘不能同步,可能導(dǎo)致傳真數(shù)據(jù)丟失。一些板卡支持傳真不好的原因就是E1 板卡和模擬語(yǔ)音板卡的傳輸 問(wèn)題不能得到很好的解決,Sangoma 發(fā)布了創(chuàng)新性的時(shí)鐘同步解決方案,通過(guò)同步時(shí)鐘,從而可以取得非常好的傳真穩(wěn)定性。雖然Sangoma 為此項(xiàng)技術(shù)申請(qǐng)知識(shí)產(chǎn)權(quán)保護(hù),但是還是有一些廠家克隆此解決方案。還是一句話:一直被克隆,從未被超越。
2.3 穩(wěn)定的語(yǔ)音時(shí)鐘解決方案
語(yǔ)音板卡通過(guò)板卡本身獲得時(shí)鐘源,但是VOIP 純VOIP系統(tǒng)無(wú)需板卡。 如果VOIP系統(tǒng)長(zhǎng)時(shí)間沒(méi)有時(shí)鐘源,就可能出現(xiàn)時(shí)鐘丟失或者所謂的滑碼問(wèn)題。此問(wèn)題就會(huì)引起通話語(yǔ)音質(zhì)量下降,或者延遲。一些客戶(hù)為了解決此問(wèn)題,不得不安裝一直語(yǔ)音板卡來(lái)解決此問(wèn)題。Sangoma 發(fā)布了解決Asterisk 無(wú)時(shí)鐘源的協(xié)助工具,USB的時(shí)鐘源解決方案,從而極大提高了Asterisk的穩(wěn)定性。
2.4 高可靠性
Asterisk 高可靠性方案一直是很多Asterisk 運(yùn)營(yíng)商級(jí)客戶(hù)非常棘手的問(wèn)題。運(yùn)營(yíng)商的通信系統(tǒng)要求多臺(tái)設(shè)備24小時(shí)無(wú)故障運(yùn)行。 高可靠性的E1 接入方式或者失效轉(zhuǎn)移是非常重要的功能。Sangoma 語(yǔ)音板卡支持tristate 模式,板卡底層驅(qū)動(dòng)工具通過(guò)設(shè)置參數(shù),Asterisk 的sangoma 板卡設(shè)置端口支持接收數(shù)據(jù),不發(fā)送數(shù)據(jù)。兩臺(tái)Asterisk 可以并行運(yùn)行。一臺(tái)為主機(jī),另一臺(tái)為備份服務(wù)器。 如果主機(jī)停止工作,可以通過(guò)命令激活板卡的發(fā)送模式,第二臺(tái)Asterisk 備份服務(wù)器開(kāi)始工作。無(wú)需外置的硬件就可以輕松實(shí)現(xiàn)高可靠性解決方案。
3 如何支持更多的Asterisk功能:
3.1 高密度語(yǔ)音板卡
Sangoma 2012 年發(fā)布了業(yè)內(nèi)第一張 16E1 數(shù)字語(yǔ)音卡。Sangoma 發(fā)布 8E1 ,3 年以后,競(jìng)爭(zhēng)對(duì)手才發(fā)布8E1 語(yǔ)音卡,及時(shí)補(bǔ)充了Asterisk的高密度語(yǔ)音呼叫的需求。
3.2 支持更多語(yǔ)音的接入方式
2012 年,Sangoma 發(fā)布了GSM G400 asterisk 語(yǔ)音卡,并且發(fā)布了開(kāi)源的GSM 協(xié)議框架,使得其他廠家也可以在此框架內(nèi)開(kāi)發(fā)GSM 語(yǔ)音卡,為Asterisk IPPBX 接入提供了移動(dòng)性。
3.3 方便的模擬板卡定位方式
如果安裝高端口模擬語(yǔ)音卡,外置的線路可能讓工程師排查問(wèn)題相當(dāng)困難。Sangoma 驅(qū)動(dòng)支持了根據(jù)模塊的LED顯示不同的顏色。FXO 顯示紅色, FXS 顯示綠色。用戶(hù)一目了然。
3.4 軟件配置板卡,無(wú)需物理跳線
Asterisk 用戶(hù)很多知道,通常E1 板卡在板上有一個(gè)T1/E1 跳線設(shè)置。通過(guò)設(shè)置不同的支持類(lèi)型,來(lái)支持E1 或者T1。如果配置不當(dāng),語(yǔ)音卡不能工作。有時(shí)候還要打開(kāi)機(jī)箱,拆下板卡來(lái)設(shè)置E1 類(lèi)型。這樣給用戶(hù)的使用增加了很多工作量。Sangoma 板卡支持軟件設(shè)置的方式。無(wú)需用戶(hù)手動(dòng)設(shè)置。
3.5 通過(guò)驅(qū)動(dòng)配置端口映射
Sangoma 最新驅(qū)動(dòng)支持一個(gè)Asterisk 集成方式,用戶(hù)無(wú)需配置額外的Sangoma 板卡配置文件,可以直接對(duì)接Dahdi 驅(qū)動(dòng)層。極大降低了配置的復(fù)雜性。
3.6 真正的國(guó)際標(biāo)準(zhǔn)設(shè)計(jì)
語(yǔ)音板卡支持自適應(yīng) 3.3 V 或者 5V 設(shè)計(jì)。用戶(hù)無(wú)需調(diào)整板卡的跳線,通過(guò)板卡的自動(dòng)檢測(cè)機(jī)制來(lái)判斷供電電壓,無(wú)需額外跳線設(shè)置。完全符合國(guó)際標(biāo)準(zhǔn)設(shè)計(jì),并且極大滿足了OEM 廠家的需求。
3.7 保證兼容所有的主流主板
Sangoma 專(zhuān)業(yè)的板卡設(shè)計(jì)經(jīng)驗(yàn),經(jīng)過(guò)市場(chǎng)很多主流主板的檢驗(yàn),無(wú)任何主板兼容性的問(wèn)題。并且Sangoma 是 第一個(gè)Asterisk 語(yǔ)音卡采用PCI-E 技術(shù)的公司,經(jīng)過(guò)多年的PCI-E 接口技術(shù)的積累。
3.8 半高設(shè)計(jì),可以兼容任何標(biāo)準(zhǔn)的基礎(chǔ)性機(jī)箱
目前,機(jī)箱設(shè)計(jì)越來(lái)越小,全高板卡不能支持緊湊型的機(jī)箱。Sangoma支持全高和半高語(yǔ)音板卡。
3.9 Sangoma 語(yǔ)音板卡作為L(zhǎng)inux網(wǎng)絡(luò)接口
Sangoma 語(yǔ)音板卡顯示為網(wǎng)絡(luò)網(wǎng)卡的形式。
所以完全支持 IPconfig 命令。Ipconfig命令可以輕松獲得每個(gè)端口的數(shù)據(jù)信息,例如 收發(fā)數(shù)據(jù)信息,DMA 錯(cuò)誤值,PCI 錯(cuò)誤,網(wǎng)絡(luò)延遲錯(cuò)誤,數(shù)據(jù)超載,或者數(shù)據(jù)不足。如果有時(shí)鐘滑碼,丟包等等問(wèn)題,通過(guò)ipconfig 命令可以獲知所有端口數(shù)據(jù)。
另外,Sangoma 板卡驅(qū)動(dòng)支持 Linux SNMP 如果端口關(guān)閉或者出現(xiàn)問(wèn)題,Linux MIB 將會(huì)被自動(dòng)檢測(cè)。
Sangoma 開(kāi)發(fā)了專(zhuān)業(yè)的板卡排查工具來(lái)清晰準(zhǔn)確定位運(yùn)營(yíng)商線路問(wèn)題,板卡本身問(wèn)題,還是接入的線路問(wèn)題。一些Asterisk 語(yǔ)音卡的廠家雖然也提供了一些基于dahdi的診斷信息,但是信息內(nèi)容比較模糊,很難讓現(xiàn)場(chǎng)工程師準(zhǔn)確定位問(wèn)題。Sangoma 終端根據(jù)配合ipconfig 信息,可以非常清晰準(zhǔn)確快速定位問(wèn)題。真正為用戶(hù)提供專(zhuān)業(yè)的通信排查手段。
3.10 優(yōu)化的系統(tǒng)日志和統(tǒng)計(jì)工具
Sangoma 診斷工具wanpipemon 排查工具可以輕松獲得最底層的E1 告警信息和模擬板卡的電壓信息。并且可以支持對(duì)硬件回聲模塊的DSP診斷,提供這個(gè)工具,用戶(hù)可以獲得時(shí)鐘狀態(tài),DMA錯(cuò)誤數(shù)值,收發(fā)通道數(shù)據(jù),回聲芯片底層信息等等信息。同時(shí)Sangoma語(yǔ)音卡支持回環(huán)測(cè)試,完全給用戶(hù)提供了權(quán)威,詳實(shí),專(zhuān)業(yè)的通信分析數(shù)據(jù)。
3.11 默認(rèn)支持Wireshark 診斷工具
Sangoma 底層驅(qū)動(dòng)工具可以完全支持Wireshark 工具。通過(guò)簡(jiǎn)單的命令行工具捕捉底層數(shù)據(jù),保存為標(biāo)準(zhǔn)格式,用戶(hù)可以使用Wireshark 進(jìn)行數(shù)據(jù)分析實(shí)現(xiàn)來(lái)判斷問(wèn)題。Sangoma是第一個(gè)業(yè)內(nèi)引入此診斷技術(shù)的廠家。
3.12 默認(rèn)支持大部分Asterisk發(fā)行版本
作,都已經(jīng)默認(rèn)支持了Sangoma 語(yǔ)音板卡,用戶(hù)無(wú)需對(duì)sangoma板卡進(jìn)行特別的設(shè)置就可以配置Asterisk。例如,目前市場(chǎng)上的FreePBX 和Elastix 默認(rèn)支持Sangoma 板卡。
3.13 GSM 語(yǔ)音板卡和GSM 協(xié)議分離設(shè)計(jì)
Sangoma 最近發(fā)布了GSM 協(xié)議框架libwat。 Libwat 支持和asterisk直接通信。此協(xié)議封裝了GSM 語(yǔ)音模塊。同時(shí),允許其他廠家來(lái)開(kāi)發(fā)GSM 語(yǔ)音板卡而無(wú)需修改任何asterisk代碼。為Asterisk GSM 接口提供了多種解決方案。
3.14 基于軟件的Asterisk 錄音解決方案
Sangoma 開(kāi)發(fā)了針對(duì)Asterisk的錄音解決方案。實(shí)現(xiàn)了低成本的錄音功能。同時(shí)此解決方案對(duì)任何廠家免費(fèi),彌補(bǔ)了Asterisk的錄音解決方案的空白。
3.15 高可靠性的Lyra AMD 洗號(hào)檢查解決方案
默認(rèn)的Asterisk AMD 檢查準(zhǔn)確率為70% 左右,基于Asterisk 開(kāi)發(fā)的呼叫中心解決方案的呼通率是一個(gè)瓶頸。
Sangoma 開(kāi)發(fā)的Lyra AMD 解決方案把準(zhǔn)確率提高到了95%,真正為Asterisk提供了功能的突破和創(chuàng)新。
3.16 開(kāi)發(fā)維護(hù)Open R2 中國(guó)1號(hào)開(kāi)源協(xié)議棧
身沒(méi)有提供此接入方式。Sangoma 為了豐富Asterisk 功能,開(kāi)發(fā)和維護(hù)者M(jìn)FC/R2 協(xié)議棧。很多中國(guó)用戶(hù)也一直在使用Sangoma的OpenR2協(xié)議棧。Sangoma 的OpenR2 協(xié)議棧為Asterisk的接入方式提供了更多的選擇,使很多用戶(hù)從中受益。
3.17 發(fā)布了基于USB的asterisk FXO 解決方案
基于USB 接口的 FXO 設(shè)備,可以滿足用戶(hù)低成本,易攜帶的特點(diǎn)。支持兩個(gè)FXO 端口, 用戶(hù)可以輕松在筆記本安裝Asterisk 或者Elastix,通過(guò)USBFXO 接入FXO 模擬線路,非常方便地對(duì)客戶(hù)進(jìn)行現(xiàn)場(chǎng)演示。
3.18 開(kāi)發(fā)了支持分布式部署的語(yǔ)音編碼解決方案
VOIP 的大門(mén)已經(jīng)打開(kāi),但是VOIP傳輸?shù)恼Z(yǔ)音編碼種類(lèi)很多。軟件編碼的解決方案不能解決高并發(fā)呼叫,編碼類(lèi)型單一,部署不靈活等等問(wèn)題。繼Sangoma發(fā)布編碼卡解決方案以來(lái),一些硬件廠家也開(kāi)發(fā)了類(lèi)似的產(chǎn)品,但是不能進(jìn)行分布式管理,無(wú)軟件升級(jí)功能,給用戶(hù)帶來(lái)很多不便。Sangoma的語(yǔ)音編碼解決方案完全滿足了分布式部署,配置靈活,軟件升級(jí)等特點(diǎn)。用戶(hù)可以通過(guò)網(wǎng)絡(luò)和編碼卡IP地址進(jìn)行通信,同時(shí)支持一個(gè)服務(wù)器端控制調(diào)度。支持的通話通道可以任意拓展,同時(shí)可以通過(guò)軟件升級(jí)來(lái)支持更多的處理能力。
總結(jié),Sangoma 一直在開(kāi)源通信領(lǐng)域扮演著領(lǐng)導(dǎo)者的角色,不遺余力的支持Asterisk 社區(qū)的發(fā)展壯大,同時(shí)也一直投入人員物力來(lái)維護(hù)開(kāi)源項(xiàng)目。Sangoma非常榮幸能夠繼續(xù)為Asterisk 開(kāi)源社區(qū)做一些卓有成效的工作,并且使得Asterisk應(yīng)用領(lǐng)域逐漸擴(kuò)大,成為很多用戶(hù)的首選開(kāi)源通信解決方案。當(dāng)然Sangoma的產(chǎn)品也一直在大型軟交換解決方案方面扮演著非常重要的地位。Sangoma相信,通過(guò)Sangoma專(zhuān)業(yè)的產(chǎn)品制造和良好的服務(wù)水平,完全有能力為用戶(hù)提供功能穩(wěn)定,高端的Asterisk 硬件解決方案服務(wù)于中國(guó)用戶(hù)。