[Asterisk-Dev] Dialplan 'i' and DIALSTATUS bugs

Andrew Kohlsmith akohlsmith-asterisk at benshaw.com
Fri Apr 15 06:48:08 MST 2005


ast-one dial(IAX2/)'s ast-two.  Both are CVS HEAD within a week of today.

ast-two's context for ast-one's type=user is somecontext.

[somecontext]
exten => 100,1,NoOp(One)
exten => 100,2,Hangup

exten => 200,1,NoOp(Two)
exten => 200,2,Hangup

exten => i,1,Wait(1)
exten => i,2,Playback(tt-somethingwrong)
exten => i,3,Hangup

Now, when ast-one Dial(IAX2/ast-one at ast-two/300) I get an immediate failure 
with DIALSTATUS set to NOANSWER.

This is bad.  Why?  Because I cannot tell the difference between dialing a 
valid extension that does not answer, and dialing an invalid extension, and 
thus it is impossible to provide a failover scenario.  Further, extension 'i' 
is not being triggered even though it should.

Similarly, I have a PRI and DIDs from 555-0001 thorugh 555-0030 inclusive.  My 
23 Zap channels dump into the pri context:

[pri]
exten => 555-0001,1,NoOp(0001)
exten => 555-0001,2,Hangup

exten => 555-0002,1,NoOp(0002)
exten => 555-0002,2,Hangup

exten => i,1,Wait(1)
exten => i,2,Playback(tt-somethingwrong)
exten => i,3,Hangup

Now when someone calls 555-0003 the call gets routed to be.  However, the 'i' 
extension again does not get triggered, Asterisk refuses the call and the 
Telco sends back a "number not in service" message.

If I did NOT have 'i' in there I would agree with this behaviour.  However, 
since the extension is invalid, I should be triggering 'i'.

Can anyone refute this logic?  I want to get everyone's opinion before I start 
an attempt to fix this.

-A.



More information about the asterisk-dev mailing list