[asterisk-users] Overlap SIP dialing

Daniel Tryba daniel at tryba.nl
Wed Sep 7 11:06:17 CDT 2011


On Wed, Sep 07, 2011 at 10:20:40AM -0400, Andrew Latham wrote:
> > To add to your question: Does anyone have a phone that supports this
> > properly?
> >
> 
> Yup, I have a few...  http://wiki.snom.com/Settings/overlap_dialing
> 

I'm using a Grandstream (GXP2000) to test.

What I got so far:
Overlap works IF you know *ALL* patterns available. Which is ofcourse
impossible to get into a dialplan.

Example (partial Dutch dialplan):

exten => _11X,1,Dial(${TRUNK}/${EXTEN})
exten => _1[46]XXX,1,Dial(${TRUNK}/${EXTEN})
exten => _1[46]XXXX,1,Dial(${TRUNK}/${EXTEN})
exten => _0[1-8]XXXXXXXX,1,Dial(${TRUNK}/${EXTEN})
exten => _0[89]0XXXXX,1,Dial(${TRUNK}/${EXTEN})
exten => _0[89]0XXXXXXXX,1,Dial(${TRUNK}/${EXTEN})

Dialing a "normal" 10 digit number works with overlap. When the 10th
digit is touched the destination rings immediate.

But calling service numbers is impossible, these numbers exists in 8 and
11 digit lengths, eg. 08001234 08001234567. Calling the 11 digit variant
is impossible since as soon as the 8th digit is entered the Asterisk
dials the 8 digit number.

=> SIP Request: ACK sip:080004 at ouzo.pocos.nl
=> SIP/SDP Request: INVITE sip:0800042 at ouzo.pocos.nl, with session description
<= SIP Status: 484 Address Incomplete
=> SIP Request: ACK sip:0800042 at ouzo.pocos.nl
=> SIP/SDP Request: INVITE sip:08000429 at ouzo.pocos.nl, with session description
<= SIP Status: 100 Trying
<= SIP Status: 100 Trying
<= SIP Status: 180 Ringing
<= SIP/SDP Status: 200 OK, with session description

For internation calls this gets worse. For example Germany uses variable
length domestic numbers.

The possible (but hopefully avoidable) workarounds are:
-DISA
-Answering the call, Dial(${TRUNK}) and let the user enter the destination 
 by DTMF

The aim of the quest for overlap dialing is to let the user enter a
number at their own pace but immediatly dial when all digits are
received (just like plain old ISDN does). My trunk is a bunch of E1 PRIs
in overlap mode. The following just works for any SIP client (without
overlap dialing):
exten => _X.,1,Answer()
exten => _X.,n,Dial(${TRUNK})

But this affects CDRs.

-- 

   Daniel Tryba



More information about the asterisk-users mailing list