[asterisk-dev] Asterisk start handle a call after 3 seconds

asterisk at nicox.org asterisk at nicox.org
Thu Jan 24 04:04:24 CST 2008


Now i tried this out and made some other tests.

I have seen, asterisk does not make overlap dial?
If overlap dial is activated, asterisk waits for digits before it resolve 
the dialed string in extension.
If i try it with !, overlap is no longer working.

In my mind, overlap has to be forwarded to the dialed destination, and not 
waiting before do anything.

thanks for help.


On Thu, 24 Jan 2008, Michael Neuhauser wrote:

> On Thu, 2008-01-24 at 08:55 +0100, asterisk at nicox.org wrote:
>> I See the incoming Call as:
>> "Accepting overlap call from '43123456789' to '0043987654321' on
>> channel 0/15, span 4"
> chan_zap.c tells us that he started the simple switch to gather digits.
>> After 3 seconds Asterisk search the dialplan if there is anything to do.
>> So i think its not possible that there is a problem with the extension in
>> the dialplan.
> That's were you are wrong. The zap module uses the patterns/extensions
> in the dial plan to determine if it needs to wait for more digits before
> sending the channel to a specific extension: it calls
> ast_matchmore_extension() in ss_thread() and then ast_waitfordigit()
> which creates the delay. (I'm talking about the SIP_PRI case in
> chan_zap.c:ss_thread().)
> To make it clear: Having '!' at the end of patterns is a necessary
> requirement for delay free overlap dial (but it is not sufficient, there
> are other things to consider). There is no way around this.
>> On Wed, 23 Jan 2008, Michael Neuhauser wrote:
>>> On Thu, 2008-01-17 at 15:29 +0100, asterisk at nicox.org wrote:
>>>> I'm using asterisk as a Voice Gateway and i will optimize the speed of the
>>>> Gateway.
>>>> I seen that asterisk waits 3 seconds to start handle a call, defined in
>>>> the matchdigittimeout variable.
>>>> I can not cahnge this variable, because if i change it, also the timeout
>>>> for overlap digits changed.
>>>> Any idea i can sovle this?
>>> Could it be that you just need to end you patterns with '!' instead of
>>> '.'?
>>> exten => _012.,1,...
>>>        This will wait matchdigittimeout (for a ZAP channel) after '012'
>>>        was seen to gather all digits for a complete number and then
>>>        continue in the dial plan.
>>> exten => _012!,1,...
>>>        This will continue in the dial plan as soon as '012' was seen
>>>        (if there are no longer patterns in the dial plan that match
>>>        "012"). Typically a Dial() will be done a little later -
>>>        Asterisk then forwards the already known digits and the ones
>>>        arriving later on to the outgoing channel.
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev

More information about the asterisk-dev mailing list