[asterisk-users] Overlap dialing via SIP

Ben Thompson bt4 at york.ac.uk
Mon Jul 21 11:10:15 CDT 2008


Hi

I have set up an asterisk system which allows the use of Overlap Dialing from
SIP handsets. In order to do this I had to list the various patterns of numbers
which can be dialed in the UK. We also dial with a prefix of '9' for and outside
line so much of my dialplan looks like this :-

[084x]
exten => _9084XXXXXXXX,1,Macro(dialout-pstn)

[outbound-national]
exten => _90[1-2]XXXXXXXXX,1,Macro(dialout-pstn)

[087x]
exten => _9087XXXXXXXX,1,Macro(dialout-pstn)

[0906]
exten => _90906XXXXXXX,1,Macro(dialout-pstn)

...


I was able to download the mappings for 0800 numbers and other special ranges
from the ofcom website and I have incorporated these. For international dialing
I have not been able to find an easy way of doing this so I created the folling
contexts whcih make use of the WaitExten feature :-

[outbound-international]
exten => _900XXXXXXXXXX,1,Set(oldexten=${EXTEN})
exten => _900XXXXXXXXXX,2,Goto(international-number-length-check,s,1)

[international-number-length-check]
exten => s,1,Answer
exten => s,2,WaitExten(8)

exten => _X,1,Set(enddigits=${EXTEN})
exten => _X,2,NoOp(${TIMESTAMP} ok 13 digits - we dial ${oldexten}${enddigits})
exten => _X,3,Dial(${OUTBOUNDTRUNK}/${oldexten}${enddigits})
exten => _X,4,Congestion()
exten => _X,104,Busy()

exten => _XX,1,Set(enddigits=${EXTEN})
exten => _XX,2,NoOp(${TIMESTAMP} ok 14 digits - we dial ${oldexten}${enddigits})
exten => _XX,3,Dial(${OUTBOUNDTRUNK}/${oldexten}${enddigits})
exten => _XX,4,Congestion()
exten => _XX,104,Busy()

exten => _XXX,1,Set(enddigits=${EXTEN})
exten => _XXX,2,NoOp(${TIMESTAMP} ok 15 digits - we dial ${oldexten}${enddigits})
exten => _XXX,3,Dial(${OUTBOUNDTRUNK}/${oldexten}${enddigits})
exten => _XXX,4,Congestion()
exten => _XXX,104,Busy()

exten => t,1,Dial(${OUTBOUNDTRUNK}/${oldexten})
exten => t,2,Congestion()
exten => t,102,Busy()


This works fairly well but I have noticed that occasionally the WaitExten feature does
not seem to catch the first digits if they are dialed too quickly. It is almost as if
there is a some sort of delay and the thirteenth digit is sometimes missed.

Can anyone suggest why WaitExten might be ocasionally missing a digit or can anyone think
of a better way of doing this?

Thanks

Ben Thompson





More information about the asterisk-users mailing list