目前 Asterisk 支援的語音編碼型式及比較表,整理如下表:
Codec | Sampling Rate(KHZ) | Bandwidth(kbps) | Nominal Bandwidth(kbps) | License | Remarks |
G.711 * | 8 | 64 | 87.2 | Open Source | |
G.722 | 16 | 48/56/64 | ??? | Open Source | |
G.723.1 | 8 | 5.3/6.3 | 20.8/21.9 | Proprietry | |
G.726 | 8 | 16/24/32/40 | ?/47.2/55.2/? | Open Source | |
G.729 ** | 8 | 8 | 31.2 | Patented | |
GSM | 8 | 13 | Proprietry | ||
iLBC | 8 | 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。
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