[Asterisk-Users] wm_w DTMF solution for T1 tie line losing deigits.

Steven asterisk at tescogroup.com
Thu Oct 20 05:17:22 MST 2005


I assume the real fix is to alter some DTMF setting in my Panasonic DBS576, 
but I have yet to find it.

I was using a PRI card in my panasonic, but it broke, so I switched to a 
spare T1 card.
I set it up for em_w, but asterisk was dialing before it recieved all of the 
digits.

I saw a few suggestions in the WIKI and mailing list, but none worked as is.

The issue that complicated the exaples the most was the fact that sometimes 
I would recieve 1 digit and sometimes 4 or 6 etc.
If dialed fast enough, I would get the whole number in the fist pass.

[panasonic-catchall] is included last because it is the catchall for all non 
found numbers.
I am using this T1 for both 4 digit extension and as a trunk in the 
panasonic, so I do not have my 9 to route with.

exten => _X, is catching if only 1 digit is passed.
exten => _X., is catching if it is more than one.
exten => _X,5,GotoIf($["${Predigits1}" = ""]?s-gathermoredigits,1) ; this 
was the trick to make sure I didn't loop from the WaitExten() .

Here is the solution that I found that works 100% for me:


-----------
[panasonic]

include => ext-local
include => outbound-allroutes
; include => outrt-005-tollfree
; include => outrt-004-dial911
; include => outrt-003-dial9
; include => outrt-002-fwd
include => panasonic-catchall

[panasonic-catchall]

exten => _1XXXXXXXXX.,2,Dial(Zap/g0/${EXTEN},,r)
exten => _1XXXXXXXXX.,3,Congestion

exten => _X,1,NoOp( only got a few digit. It was ${EXTEN})
exten => _X,2,SetVar(Predigits1=${Predigits2})
exten => _X,3,SetVar(Predigits2=${EXTEN})
exten => _X,4,GotoIf($["${Predigits1}" = ""]?s-gathermoredigits,1)
exten => _X,5,NoOp(${TIMESTAMP} ok, now we're going to dial 
${Predigits1}${Predigits2}${EXTEN})
exten => _X,6,Dial(Zap/g0/${Predigits1}${Predigits2}${EXTEN},,r)
exten => _X,7,Congestion

exten => _X.,1,NoOp( only got a few digit. It was ${EXTEN})
exten => _X.,2,SetVar(Predigits1=${Predigits2})
exten => _X.,3,SetVar(Predigits2=${EXTEN})
exten => _X.,4,GotoIf($["${Predigits1}" = ""]?s-gathermoredigits,1)
exten => _X.,5,NoOp(${TIMESTAMP} ok, now we're going to dial 
${Predigits1}${Predigits2}${EXTEN})
exten => _X.,6,Dial(Zap/g0/${Predigits1}${Predigits2}${EXTEN},,r)
exten => _X.,7,Congestion

exten => t,1,NoOp( timed out dialing ${Predigits1}${Predigits2})
exten => t,2,Dial(Zap/g0/${Predigits1}${Predigits2},,r)
exten => t,3,Congestion

exten => s-gathermoredigits,1,NoOp( users have slow fingers - lets increase 
the DigitTimeout and try again)
exten => s-gathermoredigits,2,DigitTimeout,5    ; Increase the 'finished 
dialing' timeout to 5 seconds
exten => s-gathermoredigits,3,WaitExten(4)      ; and give the caller 8 
seconds overall to do their thing
--------------------


-- 
-- 
Steven

May you have the peace and freedom that come from abandoning all hope of 
having a better past.
---    -      ---  - - -       -    -     -   -   --  - - - --- - ------   - 
 - --- - - -- -  -    - --   -   -    - 






More information about the asterisk-users mailing list