signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.54k stars 1.41k forks source link

[mod_sofia] Prevent unnecessary re-processing of unmodified SDP #2452

Open olofssonanton opened 5 months ago

olofssonanton commented 5 months ago

Always clear flag TFLAG_NEW_SDP.

This prevents re-processing of unmodified SDP during re-INVITEs. Before this change a remote party's UNMODIFIED answer to a re-INVITE would always be re-processed once, due to TFLAG_NEW_SDP still being set. Any subsequent re-INVITE thereafter would then behave as expected, as TFLAG_NEW_SDP would then have been cleared.

olofssonanton commented 5 months ago

This fixes an issue where an unexpected payload is inserted into the wrong decoder after momentarily switching codecs (even though there was no need). This was made apparent after changes made in #2369, as mentioned here.