目前 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
由於網路電話的語音傳遞媒介就是靠網路,所以網路頻寬及網路品質決定了電話網路化的實行效益,這裡的規劃主要指的是IPPBX主機的網路頻寬。頻寬的使用量取決於終端設備使用何種語音編碼類型以及主機容許多少個線上通話數量,所以系統在做規劃時,只要有這兩個數據就可以計算主機需求的總頻寬。
以下這些網站能協助你以最快速的方式得知所需的頻寬,請參考:
對於 G.729 語音編碼的使用,若是使用於商業營運,這無疑的是要經過付費以取得商業授權,不過對於個人或者企業內部通訊的使用,網路上卻出現了許多爭議的討論。
這會有爭議也是因為 Digium 是目前主要銷售 G.729 語音編碼使用授權的公司,該公司宣稱,所有用戶未付費購買授權而使用該語音編碼,均屬不合法行為;然而,有個網站(http://www.opentelecoms.org/codecs-o...723.1-asterisk)卻公開開放該語音編碼的下載,所以目前如果有用戶,未經付費而能夠使用 G.729,幾乎都是來自這個網站的下載,也因為如此,許多用戶都會以為 G.729 除了 Digium 的付費版以外,還有另一個免費版。
關於個人及私人企業是否可以免費使用 G.729 語音編碼,先讓我們回到免費版的下載網站,仔細來看看網站的宣告內容,常言道:魔鬼總是藏在細節裡。
這一段很委婉說明了,如果不想付費,那就最好不要使用 G.729。
另一段標題是:
合法的事項 - 重要,必讀
要使用 G.729 或 G.723.1 你可能需要支付專利費用,.......
請注意,下載這個程式只能做為教育用途,並且如果在你的國家有 G.729 或 G.723 的專利授權,你應該連繫該專利的擁有者,並取得他們的合法授權。