FreeSWITCH默認是不支持G729轉(zhuǎn)碼的,但可至此G729媒體透傳,因此如果兩個話機有一個只支持G729時是無法進行呼叫的,同時在使用G729編碼時FreeSWITCH是不能進行錄音的。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、源匯網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、成都做商城網(wǎng)站、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為源匯等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
當然如果商業(yè)應(yīng)用的話可以購買G729的許可,10刀一通道,或者使用硬件的轉(zhuǎn)碼卡,價格貌似就更高了。
網(wǎng)絡(luò)上有很多使用8000hz的源碼包編譯FreeSWITCH可用的G729模塊,但是效果一般,我這里使用的是bcg729的源碼來進行編譯,轉(zhuǎn)碼效果比8000hz的稍好。BCG729當前最新的版本是1.0.3
準備工作:與當前運行的FreeSWITCH版本一致的源碼一份
開始編譯:
1、進入源碼../src/mod/endpoints目錄
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints
2、檢出FreeSWITCH適用的G729模塊(這部分源碼是對BCG729進行FreeSWITCH的適配)
git clone https://github.com/xadhoom/mod_bcg729.git
3、將mod_bcg729改名為mod_g729
mv mod_g729 mod_g729_bak mv mod_bcg729 mod_g729
4、返回FreeSWITCH源碼主目錄,執(zhí)行配置
./configure
5、進入../src/mod/endpoints/mod_g729目錄,并執(zhí)行編譯
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints/mod_g729 make ##編譯時如果提示找不到頭文件,可以將FreeSWITCH源碼include目錄下的對應(yīng)頭文件復(fù)制到 #../mod_g729/bcg729/include/目錄,還有其他找不到的頭文件可以使用find命令 #在FreeSWITCH源碼目錄下搜索,然后復(fù)制到../mod_g729/bcg729/include/目錄,然后再重新編譯
6、編譯完成后,將mod_bcg729.so復(fù)制到FreeSWITCH的庫目錄,也可以直接替換FreeSWITCH的庫目錄下的G729庫文件
cp mod_bcg729.so /usr/lib/freeswitch/mod/
7、修改FreeSWITCH配置文件vars.xml,在global_codec_prefs和outbound_codec_prefs中添加G729
8、在fs_cli中加載BCG729模塊
unload mod_g729 load mod_bcg729