Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

If Asterisk fails to load the G.729 software codec, the following message should be visible on the CLI and in the log (if logging is enabled):

WARNING[nnnn] loader.c: Module 'codec_g729a.so' could not be loaded.

This line may be preceded by another line detailing the cause of the failure.

...

Code Block
WARNING[nnnn]: loader.c:387 load_dynamic_module: Error loading module 'codec_g729a.so': /usr/lib/asterisk/modules/codec_g729a.so: wrong ELF class: ELFCLASSXX  

"ELFCLASSXX" may be either ELFCLASS32 or ELFCLASS64, indicating a 32- or 64-bit codec implementation, respectively.

Solution: Install the G.729 codec build matching that of the Asterisk installation.

  1. SELinux may prevent the G.729 codec from loading. This is indicated by the following message:

Code Block
WARNING[nnnn] loader.c: Error loading module 'codec_g729a.so': /usr/lib/asterisk/modules/codec_g729a.so: cannot restore segment prot after reloc: Permission denied 

...

Solution: Update the security context for the codec file via the following command (must be issued as root):

Code Block
 chcon -t texrel_shlib_t -v /usr/lib/asterisk/modules/codec_g729a.so

...