[asterisk-dev] DTMF queuing

James Lamanna jlamanna at gmail.com
Fri Jan 30 21:07:56 CST 2009

I'm throwing this back over to the -dev side.
I've received no feedback on -users, and you guys will have a more
intimate understand of how Asterisk processes DTMF.


---------- Forwarded message ----------
From: James Lamanna <jlamanna at gmail.com>
Date: Wed, Jan 28, 2009 at 7:30 PM
Subject: Re: [asterisk-dev] DTMF queuing
To: John Todd <jtodd at digium.com>
Cc: asterisk-users at lists.digium.com

[moving to asterisk-users by request]

On Tue, Jan 27, 2009 at 12:56 AM, John Todd <jtodd at digium.com> wrote:
> On Jan 26, 2009, at 7:38 PM, James Lamanna wrote:
>>> On Jan 26, 2009, at 8:53 PM, James Lamanna wrote:
>>>> Hi,
>>>> Is it just me, or does DTMF queuing not work properly?
>>>> I'm consistently faced with the issue that users (and myself) will
>>>> dial digits quickly and all I get in the logs are:
>>>> end 'X' put into dtmf queue on SIP/xxxxxxxxxx
>>>> etc...
>>> What version are you talking about?  If it's not 1.4.23, please try
>>> that, as there are some related fixes in that version.
>> Sorry, I neglected to mention this is on
>> I will try and test 1.4.23 and see if things are better.
>> In the meantime, I'll report my findings to see if you guys can better
>> explain
>> to me what is going on.
>> The best DTMF combination (between phone and asterisk) I have found is:
>> sip.conf - dtmfmode=info
>> Phone (SPA962) - DTMF Mode = Auto
>> This works very well for outbound SIP and Zap trunks and on both ulaw
>> and g726 codecs.
>> However, this does NOT work for any prompt that is internal to asterisk
>> that
>> needs to detect DTMF (Voicemail, Authenticate, etc..).
>> The only way for these prompts to work is to explicitly put
>> SIPDTMFMode(inband)
>> in the dial plan. Of course, this breaks when the codec is g726. Why
>> do these prompts not work with this setup?
>> I've also noticed that when in this mode, nothing is put into the dtmf
>> log.
>> Does that mean that the phone and asterisk have negotiated inband
>> (though if this was the case why would it work with g726..)?
>> Thanks.
>> (please CC me directly since I'm on digest mode at the moment).
> Actually, I'm a little surprised you get DTMF working at all in this
> combination.
> Setting dtmfmode=info means that Asterisk will be looking for SIP INFO
> messages that contain DTMF events.  Have you watched the SIP channel debug
> during DTMF events, or set up a tshark or other interceptor to watch port
> 5060 as you send DTMF?   Perhaps you've got a few things mucking up the
> works there.  What does RFC2833 get you if you set all the gear to that?
> Try setting everything to RFC2833 and try again.  I'd also suggest follow-up
> messages go to asterisk-users and not to this list, as this is not sounding
> particularly like a question for the -dev list where core Asterisk code is
> involved, and you'll probably get more answers over on -users.

Still haven't had a chance to upgrade to 1.4.23, however I did try
setting everything to rfc2833.
Works ok @, but not as good as the info/Auto combination.

I looked at the SIP signaling trace, and I see no sign of INFO headers
in the signaling packets.
What's going on here then? I see no payload 101 packets in the RTP
stream either.
So I guess it negotiated inband? (then why would it work
while in g726 - am I just getting lucky??)
I have verified that the RTP payload packets have type 2 which is g726aal2.
Note, It is getting transmitted inband, if I switch back to ulaw and
look at the packets, I can see no audio
until I press a digit.

And why doesn't this get detected by Asterisk for any of its internal

-- James

> JT
> ---
> John Todd                       email:jtodd at digium.com
> Digium, Inc. | Asterisk Open Source Community Director
> 445 Jan Davis Drive NW -  Huntsville AL 35806  -   USA
> direct: +1-256-428-6083         http://www.digium.com/

More information about the asterisk-dev mailing list