Стандартный модуль mod_g729.so во FreeSwitch не умеет транскодить, что бы стать обладателем полноценного кодека G729 нужно его либо купить либо собрать самому, благо энтузиасты модифицировали под FreeSwitch кодек открытый fsg729, его осталось только скачать и собрать. Под катом я расскажу как это сделать.
Само действо очень простое и не имеет каких то сложностей, первым делом качаем исходники:
| 
					 1 2 3  | 
						cd /usr/src git clone https://github.com/xadhoom/mod_bcg729 cd ./mod_bcg729  | 
					
Далее редактируем Makefile и меняем там 2 переменные FS_INCLUDES и FS_MODULES.
У меня после редактирования выглядит так:
| 
					 1 2 3 4 5  | 
						################################ ### FreeSwitch headers files found in libfreeswitch-dev ### FS_INCLUDES=/usr/local/freeswitch/include/freeswitch FS_MODULES=/usr/local/freeswitch/mod ################################  | 
					
Сохраняемся.
| 
					 1 2  | 
						make make install  | 
					
Если всё прошло без ошибок, убеждаемся что модуль в нужной директории
| 
					 1  | 
						ls /usr/local/freeswitch/mod | grep bcg729  | 
					
Открываем конфиг файл: /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml
Комментируем там модуль mod_g729.so и добавляем mod_bcg729.so. Должно получиться примерно следующее:
| 
					 1 2  | 
						<!--    <load module="mod_g729"/>-->         <load module="mod_bcg729.so"/>  | 
					
Перезапускам FreeSwitch и всё готово.
после
asterisk -rvvv
module show like pj
пишет
0 modules loaded , значит не подгрузились модули PJSIP