Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 777457
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T19:36:33+00:00 2026-05-14T19:36:33+00:00

Why do I get a dtmf sound when the E bit is 0 and

  • 0

Why do I get a dtmf sound when the E bit is 0 and no sound when it is 1? (RTP packets appear in wireshark either way)

Background:

I can send out a RFC 2833 dtmf event as outlined at http://www.ietf.org/rfc/rfc2833.txt
obtaining the following behaviour when the E bit is NOT set:

If for example keys 7874556332111111145855885#3 are pressed, then ALL events are sent and show up in a program like wireshark, however only 87456321458585#3 sound.
So the first key (which I figure could be a separate issue) and any repeats of an event (ie 11111) are failing to sound.

In section 3.9, figure 2 of the above linked document, they give a 911 example where all but the last event have the E bit set.

When I set the ‘E’ bit to 1 for all numbers, I never get an event to sound.

I have thought of some possible causes but do not know if they are the reason:

1) figure 2 shows payload types of 96 and 97 sent. I have not sent these headers. In section 3.8, codes 96 and 97 are described as “the dynamic payload types 96 and 97 have been assigned for the redundancy mechanism and the telephone event payload respectively”

2) In section 3.5, “E:”, “A sender MAY delay setting the end bit until retransmitting the last packet for a tone, rather than on its first transmission” Does anyone have an idea of how to actually do this?

3) I have a separate output stream that also plays so wonder if it might be interfering with hearing this stream.

4) have also fiddled around with timestamp intervals and the RTP marker.

Any help is greatly appreciated. Here is a sample wireshark event capture of the relevant areas:

6590 31.159045000 xx.x.x.xxx --.--.---.-- RTP EVENT Payload type=RTP Event, DTMF Pound # (end)
Real-Time Transport Protocol
 Stream setup by SDP (frame 6225)
  Setup frame: 6225
  Setup Method: SDP
 10.. .... = Version: RFC 1889 Version (2)
 ..0. .... = Padding: False
 ...0 .... = Extension: False
 .... 0000 = Contributing source identifiers count: 0
 0... .... = Marker: False
 Payload type: telephone-event (101)
 Sequence number: 0
 Extended sequence number: 65536
 Timestamp: 2000
 Synchronization Source identifier: 0x15f27104 (368210180)
RFC 2833 RTP Event
 Event ID: DTMF Pound # (11)
 1... .... = End of Event: True
 .0.. .... = Reserved: False
 ..00 0000 = Volume: 0
 Event Duration: 1000

Please note: A volume of zero is the loudest obtainable level as explained in the ietf.org/rfc/rfc2833.txt specification:

“volume: For DTMF digits and other events representable as tones,
this field describes the power level of the tone, expressed
in dBm0 after dropping the sign. Power levels range from 0 to
-63 dBm0. The range of valid DTMF is from 0 to -36 dBm0 (must
accept); lower than -55 dBm0 must be rejected (TR-TSY-000181,
ITU-T Q.24A). Thus, larger values denote lower volume. This
value is defined only for DTMF digits. For other events, it
is set to zero by the sender and is ignored by the receiver.”
The issue is when the “End of Event” bit is switched on.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T19:36:34+00:00Added an answer on May 14, 2026 at 7:36 pm

    I recommend you to start with the RFC 4733 for two reasons:

    1. It obsolotes the RFC 2833.
    2. The chapter 5. is a great source to understand how a DTMF digit is produced.

    Here is my understanding of how a DTMF digit should be sent:

    • A start packet is emitted. It has its M flag set and the E flag cleared. The timestamp for the event is set.
    • One or more continuation packets are emitted (as long as the user pressed the digit). They have theirs M And E flags cleared. They use the timestamp defined in the start packet, but their sequence numbers and their duration are incremented (see the RFC for the intervals).
    • An end packet is sent (when the user stop pressing the digit). It has it M flag cleared and its E flag set.

    Why should several packets be sent for one event ? Because the network is not always perfect and some loss can occur:

    • The RFC states (2.5.1.2. “Transmission of Event Packets”) that:

      For robustness, the sender SHOULD
      retransmit “state” events
      periodically.

    • And (2.5.1.4. “Retransmission of Final Packet”) that:

      The final packet for each event and
      for each segment SHOULD be sent a
      total of three times at the interval
      used by the source for updates.
      This ensures that the duration of the
      event or segment can be recognized
      correctly even if an instance of the
      last packet is lost.

    As for your problem:

    If for example keys
    7874556332111111145855885#3 are
    pressed, then ALL events are sent and
    show up in a program like wireshark,
    however only 87456321458585#3 sound.
    So the first key (which I figure could
    be a separate issue) and any repeats
    of an event (ie 11111) are failing to
    sound.

    Without a WireShark trace, it is hard to tell what is going on, but I suspect that the repeating 1 digits are ignored because there is not distinction between successive events; the first 1 digit is recognized and the others are considered as retransmissions of the event.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 489k
  • Answers 489k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer It looks like you want <xs:extension base="xs:string"> instead of <xs:restriction… May 16, 2026 at 8:57 am
  • Editorial Team
    Editorial Team added an answer $(".accordion").accordion({ collapsible: true, autoHeight: false, animated: 'swing', changestart: function(event, ui)… May 16, 2026 at 8:57 am
  • Editorial Team
    Editorial Team added an answer They're both bulletin boards, not forums. FluxBB is the fork,… May 16, 2026 at 8:57 am

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Related Questions

If I have a recorded audio file (MP3), is there any way to get
Get value out of DateTime column if null to return String.Empty else DateTime.ToShortDateString What
I'm trying to validate the following XML but I'm unable to, can you please
// Get the image information and display the image: if ($image = @getimagesize (../uploads/$pid))
Get the following error periodically in an IIS application: Failed to load resources from
Get your newb-shields up, I'm about to sprinkle you with some. I'm trying to
GET : $.get(..) POST : $.post().. What about PUT/DELETE ?
I an writing a VoiceXML app and i am having a problem. The application
I want to be able to show a dialog on outbound calls. The dialog

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.