-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect OPUS negotiation #2226
Comments
You need to add enable all used incarnations of Opus codec, eg opus@48000h@1c - for the call on leg A and opus@16000h@1c for the call on leg B. it's choosing PCMA because that's an exact match, not a near-match.
"opus" defaults to 48000 khz / 2 channels. |
I wouldn't want to use transcoding because FreeSWITCH can negotiate the lower sample rate of both legs and it is worked successfully in version 1.10.9. It is log of version 1.10.9:
|
does adding the extra incarnations to the codec string work for you ? In 1.10.9 it was displaying as a match something that was not a real match. |
I use the following codec settings:
|
so does this work for you , is Opus being selected ?
|
It doesn't help, OPUS is not being selected. |
I am having this happen after updating 1.10.11 (from 1.10.9). Opus is no longer working with MicroSIP client due to a "near-match". Now, it will only choose PCMU. This has only changed with MicroSIP as the caller. Grandstreams seem to be OK matching with opus. Some points:
2023-12-24 01:58:10.608325 100.00% [DEBUG] switch_core_media.c:5526 Audio Codec Compare [opus:96:48000:20:0:2]/[opus:116:48000:20:0:1] |
There are upcoming patches upon the topic. If we don't take this route with the exact match, power features like eavesdrop won't work with the rate mismatch (eg: in an eavesdrop scenario with 3 calls, each with different sample rate). |
Hey!
|
I am experiencing the same Near-Match issue as well. Works on 1.10.9 but not on 1.10.11 FreeSWITCH Version 1.10.11-release-25-f24064f7c9~64bit
Here is the same connection on FreeSWITCH Version 1.10.9-release~64bit (-release 64bit). This marks it as a match.
|
We have the same issue, Opus was working with no issue on 10.10.9, we're now getting near-match even after adding the extra incarnations to the codec string. The issue is resolved after applying patch #2582 |
After further testing we've found that the patch #2582 has the side effect of causing calls that fail to negotiate the same codec as Leg A for Leg B to fail with SIP 488 INCOMPATIBLE_DESTINATION. That's not an option for us, we need backwards compatibility with other codecs, some calls must be transcoded. |
I've found a solution, rather than apply this for all codecs it should only apply for Opus. Calls using Opus and other codecs establish correctly on both legs, and there are no issues with codec negotiation when the codecs on Leg A and Leg B don't match. Patch attached. I'll create a PR when I have more time. |
Describe the bug
FreeSWITCH does not negotiate opus with different rate
To Reproduce
Steps to reproduce the behavior:
Package version or git hash
log with trace.txt
opus.conf.xml.txt
The text was updated successfully, but these errors were encountered: