[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