PDA

View Full Version : DTMF settings for Asterisk.


rvtango
02-13-2007, 05:22 PM
Hi all.

Probably most of us had a hard time getting DTMF to work reliable on Asterisk so I'd like to share my experience.

Thanks to guys in VT support I got my * to work perfect in terms of DTMF

At first, I followed FAQ on VT website and configured trunk with dtmf=inband setting. That worked fine for incoming (IVR on my server) and had a mixed success on outgoing (telebanking) and no luck at all when accessing VT voicemail.

After some testing I found that dtmf=info for VT trunk works perfect for outgoing but my IVR won't see any incoming digits.

So by advice of VT support I've tried the following:

[ext-did]
...
exten => s,n,SIPDtmfMode(inband) ;
...


Since my call flow is:
Viatalk Trunk >>> context [from-pstn] >>> [ext-did]

And that was it. Callers could get through my IVR without any problem.

I've also set up speed dial on my server to access VT voicemail and support:
*Please note that I send PIN number out as well

[ext-local-custom]
;ViaTalk voicemail number
exten => 555,1,Dial(SIP/ViaTalk/*123,120,tD(w1234))
exten => 555,2,Hangup

;ViaTalk support number
exten => 556,1,Dial(SIP/ViaTalk/*4378,120,t)
exten => 556,2,Hangup

rvtango
02-13-2007, 05:36 PM
And here are my configs (only related stuff):

sip.conf
;**********
[general]

port = 5060 ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
disallow=all
allow=ulaw ; G711 required for inband DTMF
allow=alaw ;
relaxdtmf=yes ; sometime it makes a difference

sip_additional.conf
;****************
register=1XXXYYYZZZZ:xzxzxzxzx@sanjose-1.vtnoc.net/1XXXYYYZZZZ

[ViaTalk]
username=1XXXYYYZZZZ
type=peer ; user type
secret=xxxxxxxxxxxx
qualify=yes ; require password (we do require this)
nat=no ; network address translation (set to yes if you have problems)
insecure=very ; security level
host=sanjose-1.vtnoc.net ;host to contact
fromuser=1XXXYYYZZZZ ; callerid number
fromdomain=1XXXYYYZZZZ ; domain you're on
dtmfmode=info
context=from-pstn ;context that call will go to
canreinvite=yes
authuser=1XXXYYYZZZZ

extensions_additional.conf
; we want Inband DTMF setting for incoming calls
; please note that I have a catch-all context, and you might want to
; differentiate incoming trunks to handle them different
; ********************
[ext-did]
include => ext-did-custom
exten => s,1,Set(FROM_DID=s)
exten => s,n,Set(FAX_RX=system)
exten => s,n,SIPDtmfMode(inband)
exten => s,n,Macro(privacy-mgr,)
exten => s,n,Goto(ivr-2,s,1)
exten => _X.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.)
exten => _X.,n,Goto(ext-did,s,1)

************************
extensions_custom.conf
;* change PIN to your setting in Dial string
;***************
[ext-local-custom]
;ViaTalk voicemail number
exten => 555,1,Dial(SIP/ViaTalk/*123,120,tD(w1234))
exten => 555,2,Hangup

;ViaTalk support number
exten => 556,1,Dial(SIP/ViaTalk/*4378,120,t)
exten => 556,2,Hangup