[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