[asterisk-dev] Sample size when detecting DTMF

Örn Arnarson orn at arnarson.net
Tue Apr 19 11:35:12 CDT 2011


Hello,

I've got a problem with fire alarms using very fast DTMF messaging for
communication as Asterisk seems to be intercepting the inband
signaling and re-creating the tones a little bit too slowly
(generating tones that are too long, making the following tones
overlap). As I understand this is to enable Asterisk to use out of
band signaling when bridging calls between UAs where one is using
inband and the other is using OOB.

I've been looking through dsp.c to try to figure out what the sample
rate is and how long the re-generated tone is (should presumably match
the length of the originally received tone?), but after looking
through it for a few hours I'm still not exactly sure what's what.

So, three questions:
1. What is the sample rate in milliseconds? (Calls are a-law incoming
through a PRI)
2. Should the tone-regeneration not match the originally received
tone? Presumably the received tones are shorter than the sample.
3. What would the repercussions of shortening the sample rate be?
Would that potentially be enough to fix the problem?

I found a forum where someone had suggested that the frequency table
for the expected tones be changed so that Asterisk wouldn't match the
digits at all and leave the audio alone. That would probably solve the
problem, but it would presumably break OOB signaling capabilities for
inbound PRI calls.

If anyone could assist me in any manner regarding this, I'd greatly
appreciate it, even if it were just a few helpful pointers on what to
look for in dsp.c.

Best regards,
Örn Arnarson



More information about the asterisk-dev mailing list