[asterisk-users] Overlap dialing via SIP

Ben Thompson bt4 at york.ac.uk
Wed Jul 23 03:22:56 CDT 2008


On Mon, Jul 21, 2008 at 05:10:15PM +0100, Ben Thompson wrote:

> [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.


In answer to my own email I have found that the Background() function
works slightly better :-

[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,Background()

exten => _X,1,Set(enddigits=${EXTEN})
exten => _X,2,NoOp(${TIMESTAMP} ok 13 digits - we dial ${oldexten}${enddigits})
exten => _X,3,Goto(international-dialout,${oldexten}${enddigits},1)

exten => _XX,1,Set(enddigits=${EXTEN})
exten => _XX,2,NoOp(${TIMESTAMP} ok 14 digits - we dial ${oldexten}${enddigits})
exten => _XX,3,Goto(international-dialout,${oldexten}${enddigits},1)

exten => _XXX,1,Set(enddigits=${EXTEN})
exten => _XXX,2,NoOp(${TIMESTAMP} ok 15 digits - we dial ${oldexten}${enddigits})
exten => _XXX,3,Goto(international-dialout,${oldexten}${enddigits},1)

exten => t,1,NoOp(timeout so dial just 12 digits ${oldexten})
exten => t,2,Goto(international-dialout,${oldexten}${enddigits},1)

[international-dialout]
exten => _900XXXXXXXXXX,1,Macro(dialout-pstn)
exten => _900XXXXXXXXXXX,1,Macro(dialout-pstn)
exten => _900XXXXXXXXXXXX,1,Macro(dialout-pstn)
exten => _900XXXXXXXXXXXXX,1,Macro(dialout-pstn)


In general I have found that Overlap Dialing works very well and it is
a worthwhile feature to have. If there are any others in the UK
who would like to collaborate with me on maintaining an up to date list
of UK mappings please let me know. I would be happy to maintain a
webpage or somthing like that where people could access the info in an
asterisk friendly format.

Ben Thompson



More information about the asterisk-users mailing list