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


--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
              http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to