[asterisk-users] How to propagate NOANSWER up through a Local channel?

Chad Wallace cwallace at lodgingcompany.com
Thu Nov 8 11:29:52 CST 2012


On Thu, 8 Nov 2012 16:44:32 +0000 (UTC)
tony at softins.co.uk (Tony Mountifield) wrote:

> Here is a simplified example:
> 
> [test]
> exten => _X.,1,Dial(Local/${EXTEN}@outbound)
> exten => _X.,n,NoOp(${CONTEXT}:DIALSTATUS=${DIALSTATUS})
> 
> [outbound]
> exten => _X.,1,Dial(SIP/ext${EXTEN},30)
> exten => _X.,n,NoOp(${CONTEXT}:DIALSTATUS=${DIALSTATUS})
> 
> So if I don't answer within 30 sec, I see outbound:DIALSTATUS=NOANSWER
> but test:DIALSTATUS=CHANUNAVAIL
> 
> If instead I put the timeout on the outer Dial instead, I see
> test:DIALSTATUS=NOANSWER and outbound:DIALSTATUS=CANCEL, because the
> Local channel hung up the inner Dial while it was still ringing.
> 
> So I understand the reasons for the above behaviours, but my question
> is: How can I propagate the NOANSWER status upwards from the inner
> Dial, so that the Local channel also returns NOANSWER?

Try Hangup(NO_ANSWER) if DIALSTATUS is NOANSWER after the Dial in the
Local channel.

-- 

C. Chad Wallace, B.Sc.
The Lodging Company
http://www.lodgingcompany.com/
OpenPGP Public Key ID: 0x262208A0




More information about the asterisk-users mailing list