[Asterisk-Dev] outbound DTMF with RFC2833

Kevin P. Fleming kpfleming at digium.com
Tue Jul 12 13:42:36 MST 2005


Ed Greenberg wrote:

> Asterisk sends one set of RFC2833 packets in the rtp stream to start the 
> tone, then immediately sends another set of packets to end the tone. The 
> packets carry a duration of 800.

Right.

> Level 3 stated that they expected a packet every 20 ms, in accordance 
> with the "agreement" made when, in sip, the rtp stream was negotiated.  
> The engineer also provided a packet capture showing a "good" session.

Well, there is no formal agreement anywhere on exactly how the DTMF 
tones should be generated. In fact, Asterisk can receive DTMF from a 
number of sources that have _no_ duration, so we'd have to make up one 
anyway.

> I rewrote ast_rtp_senddigit to send tones in accordance with Level 3's 
> requirements.  I plan to test with VoipJet as well, since the original 
> problem existed there too.

There is a patch in Mantis bug #4659 to fix some other problems without 
outbound RFC2833 DTMF; I'd like to see you test with that patch first 
before doing something more radical. Keep in mind that voice frames have 
to continue to flow between the peers even while you are generating DTMF 
frames, so if you are spacing them out over time that could get rather 
complicated.

> Although I've been programming in C for many years, I've never submitted 
> a patch to an open source project. If there is consensus that this 
> should be submitted, I'll need a bit of help (or a document to read) 
> telling me what is expected of me to do the submission.

The bug posting guidelines on bugs.digium.com and doc/CODING-GUIDELINES 
in the CVS HEAD source tree are your starting points there.



More information about the asterisk-dev mailing list