Codecs.conf. not working as should

Hello,

I’m struggling with setting a personal opus configuration codecs.conf, would very appreciate if someone could help…

cat /etc/schmooze/pbx-version
12.7.5-1807-1.sng7
Asterisk 15.5.0

Here is my codecs.conf file:

[opus16]
type=opus
fec=yes
cbr=yes
dtx=yes
packet_loss=30
max_playback_rate=16000
bitrate=16000
max_bandwidth=medium

When I start asterisk, it loads it correctly:

[2019-06-20 10:27:22] VERBOSE[4456] loader.c: Loading codec_opus.so.
[2019-06-20 10:27:22] VERBOSE[4456] format_cache.c: Updated cached format with name ‘opus’
[2019-06-20 10:27:22] VERBOSE[4456] format_cache.c: Created cached format with name ‘opus16’
[2019-06-20 10:27:22] VERBOSE[4456] translate.c: Registered translator ‘lintoopus’ from codec slin to opus, table cost, 600000, computational cost 999999
[2019-06-20 10:27:22] VERBOSE[4456] translate.c: Registered translator ‘opustolin’ from codec opus to slin, table cost, 900000, computational cost 999999
[2019-06-20 10:27:22] VERBOSE[4456] loader.c: codec_opus.so => (OPUS Coder/Decoder)
[2019-06-20 10:27:22] VERBOSE[4456] loader.c: Loading format_ogg_opus.so.
[2019-06-20 10:27:22] VERBOSE[4456] file.c: Registered file format ogg_opus, extension(s) opus
[2019-06-20 10:27:22] VERBOSE[4456] loader.c: format_ogg_opus.so => (OGG/Opus audio)

So I set the extension to
disallow=all
allow=opus16

But when I make the call I get this:

Rx-Frame Retry[ No] – OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00003ms SCall: 00009 DCall: 00000 189.60.29.241:4569
VERSION : 2
CALLING NUMBER :
CALLING NAME :
CALLING PRESNTN : 1
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
FORMAT : 0
FORMAT2 : opus
CAPABILITY : 0
CAPABILITY2 : opus
USERNAME : 5899
CALLED NUMBER : 984158843
DNID : 984158843
ADSICPE : 0
CALLTOKEN : 51 bytes
FW BLOCK DATA : 18 bytes

Tx-Frame Retry[-01] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00003ms SCall: 13887 DCall: 00009 189.60.29.241:4569
Tx-Frame Retry[000] – OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ
Timestamp: 00012ms SCall: 13887 DCall: 00009 189.60.29.241:4569
AUTHMETHODS : 2
CHALLENGE : \x35\x36\x33\x37\x39\x38\x39\x37\x38
USERNAME : 5899

Rx-Frame Retry[ No] – OSeqno: 001 ISeqno: 001 Type: IAX Subclass: AUTHREP
Timestamp: 00041ms SCall: 00009 DCall: 13887 189.60.29.241:4569
MD5 RESULT : b383564445946a5cd0c3222514250f75

Tx-Frame Retry[-01] – OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 00041ms SCall: 13887 DCall: 00009 189.60.29.241:4569
Tx-Frame Retry[000] – OSeqno: 001 ISeqno: 002 Type: IAX Subclass: REJECT
Timestamp: 00051ms SCall: 13887 DCall: 00009 189.60.29.241:4569
CAUSE : Unable to negotiate codec
CAUSE CODE : 58

If I choose allow=opus on the the extension it works correctly though.

All opus options are enabled on my zoiper softphone and opus is globally enabled to SIP and IAX.

What am I doing wrong please?

this is probably not the right answer, but my sip provider only allows ulaw and alaw codecs could it be the sip provider?

It’s an extension, not a trunk. There’s no “SIP provider”.

1 Like

You saw this article already, right?

What if you name the codec “opus” instead of “opus16”, does it work then?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.