[asterisk-users] Double DTMF digits sent on IAX native bridge

Steve Davies davies147 at gmail.com
Thu May 3 02:57:59 MST 2007


This is very interesting. I am now getting this double-digit behaviour
occasionally, and only on IAX channels (so far). Did anyone come up
with a solution or a way to improve matters?

The scenario where I get this is:

PSTN -> Provider -> IAX -> Gateway -> IAX -> Customer

So I will go and do some debugging to see where the extra packets are
generated. Perhaps a simple change to prevent DTMF audio-tone
detection on a channel that supports RFC or out-of-band DTMF
transmission? Or perhaps some sort of DTMF debounce mechanism?

Thanks,
Steve

On 3/6/07, Remi Quezada <remiq at monmouth.com> wrote:
> Any ideas as to how I can fix this issue?
>
> Thanks
>
> Remi
>
> Remi Quezada wrote:
> > Ok that makes sense, but I'm still getting double digits.  It seems to
> > me that the DTMF digit is getting detected too late.  When the digit is
> > pressed it seems like asterisk is passing the DTMF digit for a fraction
> > of a second through the audio path and then sends the digit for however
> > long your toneduration is set for.  I can hear this happening when I
> > dial the digits myself, I hear some kind sound being cut off for a
> > fraction of a second and then hear the DTMF tone pass.  So I guess this
> > is why sometimes some answer machines are detecting double digits.
> >
> > Russell Bryant wrote:
> >
> >> Remi Quezada wrote:
> >>
> >>> I have two asterisk servers one is connected to the PSTN and the other
> >>> one is connected to SIP users.  The two servers connect with each other
> >>> using IAX.  When I have an incoming call from PSTN to the asterisk
> >>> servers and have a forward to go back out to the PSTN the two IAX
> >>> channel bridge together.  Now every time I dial a DTMF digit, the
> >>> asterisk is sending two DTMF digits.  I enable debugging for iax and I
> >>> do see it sending the DTMF digits two times.  Here is what I see:
> >>>
> >> The IAX debug that you show below only shows one of each digit.  For
> >> each one, it shows Receiving the digit from one leg of the call, and
> >> then transmitting it out the other.  I have spaced out your debug to
> >> separate each digit.
> >>
> >> Each one shows ...
> >>
> >>    <----- digit ----
> >>     ----- ACK ----->
> >>     ----- digit --->
> >>     <---- ACK ------
> >>
> >> which is exactly what is supposed to happen.
> >>
> >>


More information about the asterisk-users mailing list