[asterisk-users] ConfBridge dtmf_passthrough=no doesn't have any effect. Bug?

Markus universe at truemetal.org
Fri Sep 28 10:24:38 CDT 2012


Hi Joshua,

Am 28.09.2012 15:56, schrieb Joshua Colp:
> I think your results are sort of skewed. In the case of SIP <-> SIP if a
> local bridge occurs things will optimize and you most likely won't see
> DTMF related messages. They get passed through as packets and not fully
> interpreted.

ah, ok! That explains why nothing was logged when testing PSTN to DID to 
X-Lite, RFC2833, and something was logged when repeating the call to 
ConfBridge.


>> "not logged on console" means that I can hear the DTMF tones in
>> X-Lite/ConfBridge but Asterisk doesn't seem to recognize them (which is
>> fine as not all providers support all DTMF variants).
>
> What log message are you using to determine this?

Just by watching the console for DTMF after I press a key (logger.conf: 
console => dtmf). And confirmed by the fact that the DTMF keypress 
didn't have any effect (such as adjusting the volume, for example).


>> My resume is: DTMF is just fine, ConfBridge dtmf_passthrough is not
>> working at all. Agree? :)
>
> I've looked at the code for dtmf_passthrough, it's dead simple and
> should be working fine PROVIDED your DTMF is not going through as audio.

You're right, I was wrong. It is working, but in my tests only in the 
X-Lite scenario.


> My suggestion is to take a step back further.
> Just send incoming calls to the Read application and have it store the
> received DTMF in a variable. Next step have it output what was received.

Ok, good idea, here are the results of Read() and SayDigits():

DID provider 1, RFC2833: input 123, output 123
DID provider 1, inband: input 123, output "User entered nothing."
DID provider 1, INFO: input 123, output "User entered nothing."

DID provider 2, RFC2833: input 123, output 123
DID provider 2, inband: input 123, output "User entered nothing."
DID provider 2, INFO: input 123, ouput "User entered nothing."

DID provider 3, RFC2833 1st test: input 123, output 1233
DID provider 3, RFC2833 2nd test: input 123, output 12333
DID provider 3, RFC2833 3rd test: input 123, output 123
DID provider 3, inband: input 123, output 123
DID provider 3, INFO: input 123, output "User entered nothing."

(RFC2833 seems a bit flakey with that provider, thats why I use inband 
with them.)

DID provider 4, RFC2833: input 123, output 123
DID provider 4, inband: input 123, output "User entered nothing.", but 
something strange happened here. Console shows:
channel.c:4143 __ast_read: DTMF begin '1' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '1' on SIP
channel.c:4143 __ast_read: DTMF begin '2' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '2' on SIP
channel.c:4143 __ast_read: DTMF begin '3' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '3' on SIP
channel.c:4143 __ast_read: DTMF begin '#' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '#' on SIP
DID provider 4, INFO: input 123, output "User entered nothing.", and 
again the same on the console:
channel.c:4143 __ast_read: DTMF begin '1' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '1' on SIP
channel.c:4143 __ast_read: DTMF begin '2' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '2' on SIP
channel.c:4143 __ast_read: DTMF begin '3' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '3' on SIP
channel.c:4143 __ast_read: DTMF begin '#' received on SIP
channel.c:4147 __ast_read: DTMF begin ignored '#' on SIP

(Asterisk sees the DTMF but doesn't like it?)


> If that works for all cases then Asterisk is recognizing DTMF fine. This
> does *not* mean that the tone will be muted fully as my previous email
> mentioned.

I don't see any previous eMail from you on the list and there is nothing 
in the archives either. Could you re-send it, please? Maybe the info 
that I'm missing is inside that mail. :)


> You can further test if all cases check out by sending calls to Record
> and playing back the audio to yourself. If you hear tones and Asterisk
> also recognized the DTMF then it's not fully muted, or the hardware in
> question is sending *both* inband and out of band, which is not supported.

Ok, here are the results of Record() and Playback():

DID provider 1, RFC2833: input 123, output hear DTMF (123)
DID provider 1, inband: input 123, output hear DTMF (123)
DID provider 1, INFO: input 123, output hear DTMF (123)

DID provider 2, RFC2833: input 123, output hear DTMF (123)
DID provider 2, inband: input 123, output hear DTMF (123)
DID provider 2, INFO: input 123, output hear DTMF (123)

DID provider 3, RFC2833: input 123, output hear DTMF (123)
DID provider 3, inband: input 123, output hear DTMF (123)
DID provider 3, INFO: input 123, output hear DTMF (123)

DID provider 4, RFC2833: input 123, output hear DTMF (123)
DID provider 4, inband: input 123, output hear DTMF (just 1 digit)
(Console showed: DTMF begin passthrough)
DID provider 4, INFO: input 123, output hear DTMF (just 1 digit)
(Console showed: DTMF begin passthrough)

X-Lite, RFC2833 in sip.conf: input 123, output hear NOTHING
X-Lite, inband in sip.conf: input 123, output hear DTMF (123)
X-Lite, INFO in sip.conf: input 123, output hear DTMF (123)
(X-Lite tests only with force inband YES, RTP 2833 YES)


If I understand right, all my four DID providers are "broken"?


Thank you!
Markus




More information about the asterisk-users mailing list