Technical Support Article: 3CX Sending Triple DTMF Tones Due to RTP Marker Bit Misconfiguration

Issue Overview Paytia’s telephony engineering team has identified an issue where a 3CX telephone system, when connected to Paytia over SIP, is sending three DTMF tones for each key press instead of one. This behaviour was traced back to a ...

Issue Overview

Paytia’s telephony engineering team has identified an issue where a 3CX telephone system, when connected to Paytia over SIP, is sending three DTMF tones for each key press instead of one. This behaviour was traced back to a configuration issue on the 3CX system.

Upon capturing call traces, our engineers observed irregular RTP packet behaviour related to DTMF tone transmission, which appears to be out of specification.


Technical Findings

Upon analysis of RTP packet captures, the following issues were identified:

  1. Repeated DTMF End-Tone Packets

    • The 3CX system is not sending standard tone start or progress packets.

    • Instead, it is sending three end-tone markers per DTMF event.

    • While RFC 2833/4733 allows for repeated end-tone packets, this is not the expected behaviour.

  2. Incorrect Use of the RTP 'Marker' Bit

    • Each of the three repeated end-tone packets is being sent with the RTP Marker bit set.

    • The RTP specification states that the Marker bit should indicate the start of a new event.

    • As a result, Paytia’s low-level SIP stack interprets each of these packets as a new tone event rather than repetitions of the same tone.

  3. Potential Misconfiguration in 3CX

    • This issue suggests that a setting or code change in the 3CX system is causing it to send only end-tone packets with the Marker bit set, rather than a full start-progress-end sequence.

    • It is possible that 3CX is configured to only send repeated end-tone packets and mistakenly considers each as a new event, causing the issue.


Impact

  • Any Paytia-integrated telephony system relying on correct DTMF tone detection will interpret these packets incorrectly.

  • Instead of registering a single key press, the system detects three, leading to potential issues with IVRs, payment processing, or other tone-sensitive operations.

AD 4nXdbc9kJUUfucZSSRdBy EPfls8kJ 7w0 K76SU YMf7UwprFijsBIvQg1XUG98Y0 WaBNZMrrgqMupNV5xEEzgw6qDmVOt5bfKoL9BBEW MkE4p2pRKX7Z1dMtiWRsYnyC2mN6c0g


Next Steps

Since this is an issue originating from the 3CX system, corrective actions will need to be taken on their end. However, possible approaches include:

  1. 3CX System Configuration Review

    • Check 3CX’s DTMF signalling settings, particularly around RFC 2833/4733 compliance.

    • Ensure that the system is transmitting a full DTMF sequence (start → progress → end) rather than just repeating end markers.

    • Verify whether any updates or patches introduced this behaviour.

  2. 3CX Vendor Support Engagement

    • Report the issue to 3CX support and request clarification on why the RTP Marker bit is being set incorrectly on repeated end-tone packets.

    • Provide RTP trace evidence demonstrating the misinterpretation due to the Marker bit usage.

  3. Paytia SIP Stack Adjustment (If Necessary)

    • If 3CX does not acknowledge or resolve the issue, a workaround at the SIP stack level may be considered to handle multiple end-marker packets more intelligently.

    • This would require additional development effort to ensure compatibility across different SIP endpoints.

Issue resolution


3CX Codec change on the SIP trunk to G.711a from the default OPUS which had incorrectly been set.


Check here


{Your 3CX domain}/#/office/voice-and-chat


Edit your Paytia trunk


AD 4nXfnjVep CZp3254Uzd0ziwNazAWa5zGDq9HoJRvxspNwlX9LEyVw U9ZnWunMO 4O5YSmcdKbXoz MTR7UF9fxODdwRVuhcZfHsfvwlKQihOhbSDIBtQousW0c3mh1oK0TjK NK9A


Go to the Options tab


AD 4nXehojLU XgLNpjdrI754NEQnaDsVGb5w6VeeGVJFSzwXB31nGCVnCNWPiljrpB1ZYA5S21yfasH615zfU5U8I9YVVBwefQjZHeOkiOu8od1t2n KfXrO0 VNduIEDWA9V BU9uakg


At the bottom your will see ‘Codec priority’


AD 4nXeZbkFzZiJ9epn 0DbxlKakrkhcRMwf6P55ogr3yJP66LlDf6QXGUAq9abZn53kYj54949ukymYEA14IGYmTvvhGCoZy6wWFhZ7PgLLlO8lM1XxZGAdY 6UwHMEj9UHod3ZTGUK


If you see any codec other than PCMA as the first codec delete them.


Example


AD 4nXdhQprDO0tDPpF68RpfWieEh4Xpwjt8PYIvvPFsVbf4Wly2BkMgPieNBQPRI88G4NxBYHymFMjIuSPi8wmdf0FWutRLIfC4YzETf4KpPgSh QWVO8UaiX9f7mC764 OtzYvVHIF


Delete ‘opus’ and leave PCMA as the available codec for Paytia trunks.




codecdtmftones3cxduplicate

Still need help?

Our support team is here to help. Submit a ticket and we'll get back to you within one business day.