Skip to content

[Core, mod_sofia] Make the rtp-autofix-timing codec check limit configurable - #3106

Open
RicardoMDomingues wants to merge 1 commit into
signalwire:masterfrom
RicardoMDomingues:master
Open

[Core, mod_sofia] Make the rtp-autofix-timing codec check limit configurable#3106
RicardoMDomingues wants to merge 1 commit into
signalwire:masterfrom
RicardoMDomingues:master

Conversation

@RicardoMDomingues

@RicardoMDomingues RicardoMDomingues commented Aug 6, 2026

Copy link
Copy Markdown

Description

The CBR branch of the autofix-timing codec check stopped after a hardcoded 50 frames.

Add a sofia profile parameter, rtp-autofix-max-codec-check-frames:

0 inspect that many frames (default 50, unchanged)
< 0 inspect for the whole call

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update
  • Code cleanup / refactor

Testing

  • Added/updated unit tests
  • Tested manually
  • Tested with live SignalWire credentials (if applicable)

Checklist

  • I have read the CONTRIBUTING guidelines
  • My code follows the project's style guidelines
  • I have added tests for my changes (if applicable)
  • I have updated documentation (if applicable)
  • All existing tests pass

Additional Notes

I need this change because I use FreeSWITCH (FS) with Trader turret systems. In some setupus, media is routed to a media server, and the packet rate can change dynamically between all participants (from the Turret phones, to their gateway, through the customer's SBC, and finally to our system).

When the Turret system changes the packet rate, it does not send a SIP re-INVITE or any other SIP signaling to notify the gateway or SBC. Because of this, there is no way to detect the rate change via SIP. Instead, it can only be detected and handled using the RTP timestamp and payload information.
FreeSWITCH already had a feature to handle this, but it previously only worked at the very beginning of the call. My change extends this functionality so FreeSWITCH by making configurable how many packets we want to check and, if its negative, check for entire call

…gurable

The CBR branch of the autofix-timing codec check stopped after a
hardcoded 50 frames.

Add a sofia profile parameter, rtp-autofix-max-codec-check-frames:

  > 0   inspect that many frames (default 50, unchanged)
  < 0   inspect for the whole call
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant