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

Rich Adamson radamson at routers.com
Fri Apr 15 08:03: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.

Based on my 20+ years of detailed hands-on telephony engineering experience,
your logic is correct. However, I wouldn't doubt that someone suggests
that * doesn't have to comply with telephony standards.

Go for it.





More information about the asterisk-dev mailing list