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.41k stars 1.38k forks source link

Problem with rfc2833-pt and DTMF on bridged calls ever since. #1961

Open mahald opened 1 year ago

mahald commented 1 year ago

Describe the bug

The DTMF transmission for bridged calls has been problematic for some time now, particularly when the setting "bypass_media_after_bridge=true" is used. This issue arises when the destination PBX utilizes a different PT value for RFC2833 than what is configured in the sofia profile.

To address this challenge, we have implemented a workaround that involves parsing the PT from the switch_r_sdp on the A leg and using a profile with the same value set as rfc2833-pt. For example, if the PT value is 101 on the A-Leg, we use the profile "sofia/outbound101", and if it is 103, we use "sofia/outbound103". This workaround has effectively resolved our DTMF transmission issues.

However, this solution requires extensive configuration and coding on our end, which some customers may not find favorable. Additionally, each profile must utilize a different source UDP Port, further complicating the matter.

It would be beneficial if there was a channel variable for "rtp_2833_payload" that takes precedence over the profile setting when it is set.

briankwest commented 1 year ago

Channel variables can't have dashes, it must be an _, and can you do a PR?

mahald commented 1 year ago

added pullRequest #2083