Asterisk 13 Opus Codec

I’m trying to install opus codec:

http://downloads.digium.com/pub/telephony/codec_opus/asterisk-13.0/x86-64/

on Asterisk 13.11.2 When I load the codec from Asterisk console:

CLI> module load codec_opus.so

[Sep 27 16:36:09] WARNING[26336]: config_options.c:1000
xmldoc_update_config_type: Cannot update type ‘opus’ in module 'codec_opus’
because it has no existing documentation!
[Sep 27 16:36:09] ERROR[26336]:
codec_opus_config.c:532 codec_opus_config_initialize: Opus: failed to register
sorcery object type ‘opus’

Any hint?

Regards

While the modules have been built they have not yet been tested or launched with 13, the build process put them up early. There are additional changes required and they will be in a future 13 release. This initial release was merely targeting 14.

Ok, Thank you.
Regards

Any update on this? Doesn’t look like the build has been updated since September 27th.

Support for Opus was added as of Asterisk 13.13.0. There were no changes to the codec implementation itself.

Thanks for the response. I am running 13.13.1. Menuselect does have the codec listed, but it’s in XXX state.

XXX codec_opus
Depends on: xmlstarlet(E), bash(E), res_format_attr_opus(M)
Support Level: external

Anything special I need to do with ./configure or make to get it working?

Thanks!
Geoff

Do you ave xmlstarlet and bash available?

I am also running Asterisk 13.13.1 but when I try to load the module I get the following error:

ERROR[20679]: codec_opus_config.c:532 codec_opus_config_initialize: Opus: failed to register sorcery object type ‘opus’

Any idea?

Thanks

Luis

How have you installed the codec? If you don’t install the codec using “make menuselect” you need to manually copy the documentation to /var/lib/asterisk/documentation/thirdparty

Yes. I installed the codec using “make menuselect”.

What sort of environment is this? Distribution, for example.

Ubuntu server (16.04 x86_64)

This is output when I load the module:

CLI> module load codec_opus.so
Unable to load module codec_opus.so
Command ‘module load codec_opus.so’ failed.
== Registered ‘audio’ codec ‘opus’ at sample rate ‘8000’ with id ‘44’
== Created cached format with name ‘opus8’
== Registered ‘audio’ codec ‘opus’ at sample rate ‘16000’ with id ‘45’
== Created cached format with name ‘opus16’
[Jan 13 02:49:40] ERROR[24377]: sorcery.c:979 __ast_sorcery_insert_wizard_mapping: Wizard ‘config’ could not be applied to object type ‘opus’ as it was not found
[Jan 13 02:49:40] ERROR[24377]: codec_opus_config.c:532 codec_opus_config_initialize: Opus: failed to register sorcery object type ‘opus’

Problem solved!
res_sorcery modules weren’t already loaded :blush:

-Luis

I encountered exactly the same issue.
Could you please elaborate how you resolved the problem?
The res_sorcery modules are enabled in my setup.
Thanks.

What version of Asterisk and codec_opus, and how did you install it?

asterisk-13.13-cert1 on CentOS 7.3.
I installed codec_opus via “make menuselect”.

This is the error:
[Mar 1 14:34:46] ERROR[20935] sorcery.c: Wizard ‘config’ could not be applied to object type ‘opus’ as it was not found
[Mar 1 14:34:46] ERROR[20935] codec_opus_config.c: Opus: failed to register sorcery object type ‘opus’

Do you have the res_sorcery_config.so module loaded?

No. Loading res_sorcery_config.so resolved the problem.
Thanks!

I have bit different issue but related to codec_opus.so load,it throws error whenever i try to load .I built and even copied .so to the /lib/asterisk/modules directory.
Kindly guide.

Asterisk veriosn 17.0
OS-Fedora 31

ERROR[132557]: loader.c:281 module_load_error: Error loading module ‘codec_opus.so’: /usr/lib/asterisk/modules/codec_opus.so: undefined symbol: ast_register_file_version
Unable to load module codec_opus.so
Command ‘module load codec_opus.so’ failed.