]> git.ipfire.org Git - thirdparty/asterisk.git/commit
chan_pjsip.c: Change SSRC after media source change
authorMartin Tomec <tomec@ipex.cz>
Wed, 25 Jun 2025 13:20:17 +0000 (15:20 +0200)
committerAsterisk Development Team <asteriskteam@digium.com>
Wed, 10 Sep 2025 19:55:23 +0000 (19:55 +0000)
commit257a458656d7f4907742a9151f2fcfc13da5481d
tree3c7fe1390d0ed9a6cd1553389fc8948240f38576
parentf0e84d60546abc2f9fdad5330c42f513f9255a16
chan_pjsip.c: Change SSRC after media source change

When the RTP media source changes, such as after a blind transfer, the new source introduces a discontinuous timestamp. According to RFC 3550, Section 5.1, an RTP stream's timestamp for a given SSRC must increment monotonically and linearly.
To comply with the standard and avoid a large timestamp jump on the existing SSRC, a new SSRC is generated for the new media stream.
This change resolves known interoperability issues with certain SBCs (like Sonus/Ribbon) that stop forwarding media when they detect such a timestamp violation. This code uses the existing implementation from chan_sip.

Resolves: #927
(cherry picked from commit 9bef59f44daa0587a19eb8feba8c9d7de25271cd)
channels/chan_pjsip.c