asterisk上加载G729 codec

原创--转帖请注明出处http://www.cnblogs.com/pipelone

tips:查看cup信息,可以执行 cat /proc/cupinfo;

       查看内核信息和GCC,可以执行 cat /proc/verison

从此网站http://asterisk.hosting.lv/上下载适合自己机器及软件版本的模块组;

安装codec只需要将下载的模块复制到 /usr/lib/asterisk/modules

OK,我的机器上P4,asterisk1.4,SO

codec_g723-ast14-gcc4-glibc-pentium4.so

codec_g729-ast14-gcc4-glibc-pentium4.so

加载G729

 

然后重新启动asterisk服务即可;

如果不停止服务,可以直接加载一下模块就可以了,在shell下执行

#asterisk -rx "load codec_g723-ast14-gcc4-glibc-pentium4.so"
#asterisk -rx "load codec_g729-ast14-gcc4-glibc-pentium4.so"
如果没有发生任何错误的话,codec就已经安装完成啦,有可能会出现加载失败的错误cannot restore segment prot after reloc: Permission denied

原因可能是启用了selinux

禁止掉selinux的方式是修改

/etc/sysconfig/selinux文件的内容SELINUX=disabled

在asterisk控制台下。我们查看转换需要耗费的时间

localhost*CLI> core show translation

未命名

这体现出CPU的处理能力,所以不同配置的硬件和系统环境,得到的数据是不同的;

由上图列表可以可见,g.723和g.729和其它几种编解码方式的转换效率并不是很好,起码是在asterisk系统里是这样的,如果非要使用g729协议,那就尽量减少不同的编解码方式之间的转换。所以尽量采用同一种编解码方式可以大大提高系统运行的效率。

 

OK,这样,我们就可以在sip分机的属性上添加如下行:

allow=g729

使得他支持g729的codec了;

到今天才发现原来x-lite是不支持g729的,而商业版本eyebeam是支持的,这下才体验到了原来免费的和付费的差异了!

 

参考资料:

http://asterisk.hosting.lv/

https://www.digium.com/en/supportcenter/documentation/viewdocs/G729

 

 

 

 
posted @ 2009-06-10 10:11  uu.Net  阅读(728)  评论(0编辑  收藏  举报