Hello Forum!
I’m trying to configure OPUS 16 on our platform, here is the config for the same that I’m using:
[opus16]
type=opus
bitrate=auto
max_bandwidth=medium
cbr=no
max_playback_rate=24000
fec=no
dtx=no
complexity=10
signal=auto
application=voip
The problem is that whenever we make an inbound or an outbound call, the codec negotiation always happens on 48000 instead of 16000.
The endpoints are Grandstream’s GRP261x Series, and it only has OPUS as codec, alongside others. Meaning it does not have a band setting to specify to use a specific one.
opus is always supposed to be negotiated at 48000 within the SDP. The underlying codec can operate at a different sample rate internally, but the SDP is always 48000[1].
o The media subtype ("opus") goes in SDP "a=rtpmap" as the encoding
name. The RTP clock rate in "a=rtpmap" MUST be 48000, and the
number of channels MUST be 2.
However, the endpoint is not rejecting the call. So it lead me to question the configuration on Asterisk. I have kept max_playback_rate at 24000 for SWB, but it yet shows 48000 as sampling when RTP media is played.
I wish to use WB and SWB OPUS codec, but maybe I have no way to confirm if it’s working, or if there’s an error in configuration?
The maxaveragebitrate shows a 16000 in the given SDP, but you didn’t show the complete negotiation so I can’t say what the other side said. I don’t know anything further of how to confirm/tell, that’s opus codec detail level that I’m unfamiliar with.
However, is there an ideal config to set OPUS WB and SWB codec configs on asterisk that I can define as for extensions on asterisk? Just so I get a clear picture if the deployment of config is correct or if I’m missing parameters.