Hi Mr. Evil,

I'm not sure if the problem that I am describing relates to the problem that you are having. It seems that when you press a key on a SIP phone that is set for inband DTMF, asterisk absorbs the tones until you release the key. This way if you are using DTMF to do things like transfer calls, the user won't get tone blasts in their ear until asterisk has had a chance to interpret the tones. After asterisk has figured out what to do with the tone, it generates and transmits it's own tones in the routine do_senddigit() (assuming that the DTMF tone should be passed on). The duration of the DTMF tones that asterisk generates is fixed and independent of how long you pressed the key on your phone.

In the line "!941+1336/100,!0/100", the 941 is one tone of the DTMF (dual tone multi-frequency), and 1336 is the other tone. The 100 is the duration of those tones. The tones are in Hz. I'm not sure what units the duration is in, but I bumped mine from 100 to 400 and that seems to do the trick. The part of the string that reads "!0/100" just shuts the tone generator off.

Rob

Innocent Evil wrote:

I am having same problem .. DTMF is not working from a SIP phone while
sending to Asterisk cmd VoiceMailMain.

Would you please explain this line
"!941+1336/100,!0/100", /* 0 */

what  value is what and how it affect on DTMF tone generation.

Thanks,

I had a similar problem that seems to be caused by the DTMF tone lengths
being to short.  Try this:

Asterisk generates DTMF tones in  do_senddigit() in the file channel.c.
The tones are defined in a const char array called dtmf_tones[].  Each
DTMF tone is a string that looks something like:

"!941+1336/100,!0/100", /* 0 */

The part that reads !941+1336/100 is the part that you want.  Change the
"100" to something bigger and recompile.  You will have to do that for
every tone.   I'm using 400 right now, and it seems to be working.

I hope that helps.

Rob

Peter Osborne wrote:

Hi all,

I just upgraded from Asterisk 1.0RC1 to Asterisk 1.0.7 and our dtmf no
longer
works with external phone systems. I have a Wildcard TDM400P with 4
FXO's?
(it connects to analog lines). No changes were made to the config files.

Here's my config:

/etc/zaptel.conf
fxsks=1-4
loadzone = us
defaultzone=us

/etc/asterisk/zapata.conf
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echotraining=yes
rxgain=2.0
txgain=2.0
callgroup=1
pickupgroup=1
musiconhold=default
context=incoming
group=1
signalling=fxs_ks
echocancel=64
echocancelwhenbridged=yes
relaxdtmf=yes
channel => 1-3

[pete_desk]
;Pete's Desk phone (Polycom IP 300)
type=friend
username=pete_desk
secret=pass
context=longdistance
callerid=Pete <601>
host=dynamic
mailbox=601
dtmfmode=inband
disallow=all
allow=ulaw
allow=alaw

Thanks,
Pete

--
Robert Tarte
Pacific CodeWorks
P.O. Box 29050
San Francisco, CA 94129

(p) 831-426-7582
(f) 831-426-7584

_______________________________________________
Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to