淺談Asterisk的語音編碼(codec)

    版本為 13:23, 23 Nov 2024

    到這個版本。

    返回到 版本存檔.

    查閱目前版本

    目前 Asterisk 支援的語音編碼型式及比較表,整理如下表:

    Codec
    Sampling Rate(KHZ)
    Bandwidth(kbps)
    Nominal Bandwidth(kbps)
    License
    Remarks
     G.711 * 64  87.2 Open Source  
     G.722 16  48/56/64    Open Source  
     G.723.1 5.3/6.3  20.8/21.9 Proprietry  
     G.726  16/24/32/40  ?/47.2/55.2/? Open Source  
     G.729 ** 31.2 Patented  
     GSM  13    Proprietry  
     iLBC  15.2/13.3    Free to use  
     Speex  8/16/32  2.15-24.6(NB)
    4-44.2(WB)
      Open Source  

    * G711 有兩種版本,分別稱為 u-law 及 a-law。u-law 主要使用在北美和日本,a-law  則是使用在歐系國家。如果想了解更多有關這兩個不同的差異特性,請參考這篇 G.711 A Law versus u Law

    ** G729 是目前最常被使用的語音編碼型式,有以下幾個不同的版本。
    G729: 原始版的編碼
    G729A: 精簡版的G729,這個相容原始版G729,由於編碼經過簡化所以語音品質較差。
    G729B: 此編碼有靜音抑制(silence suppression)且與上述幾項不相容。
    G729AB: 這是有靜音抑制的G729A版本,而且相容 G729B。

    語音編碼有關的Asterisk CLI指令 

    CLI> core show codecs [audio|video|image]
    系統可支援的編碼類型

    CLI> core show translation
    系統可用的語音編碼類型及不同類型間作轉換(transcoding) 所需要的時間

    CLI> core show translation recalc 10
    重新計算不同語音編碼轉換所需的時間

    CLI> sip show channel
    顯示目前的 SIP 通話所使用的語音編碼類型

    CLI> iax2 show channels
    顯示目前的 IAX2 通話所使用的語音編碼類型

    設定檔的編碼名稱使用對照表
    Codec Name
    Type within Configuration
    G.711 u-law ulaw
    G.711 a-law alaw
    G.722 g722
    G.723.1 g723
    G.726 g726
    G.729 g729
    GSM gsm
    iLBC ilbc
    Speex speex

    常用的設定範例如下:

    disallow=all
    allow=ulaw
    allow=alaw
    allow=g729 

    如何規劃頻寬的需求-語音編碼是關鍵

    由於網路電話的語音傳遞媒介就是靠網路,所以網路頻寬及網路品質決定了電話網路化的實行效益,這裡的規劃主要指的是IPPBX主機的網路頻寬。頻寬的使用量取決於終端設備使用何種語音編碼類型以及主機容許多少個線上通話數量,所以系統在做規劃時,只要有這兩個數據就可以計算主機需求的總頻寬。

    以下這些網站能協助你以最快速的方式得知所需的頻寬,請參考:

    G.729 編碼授權疑問
    Powered by MindTouch Core