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