[asterisk-users] SLA: Handling of errors in outgoing call

Steve Langstaff steve.langstaff at citel.com
Mon Dec 3 04:44:57 CST 2007


> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com 
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of 
> Russell Bryant
> Sent: 01 December 2007 00:08
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: Re: [asterisk-users] SLA: Handling of errors in outgoing call
> 
> Steve Langstaff wrote:
> > [line1_outbound]
> > exten => disa,1,Disa(no-password|line1_outbound)
> > exten => _XXXX,1,Dial(SIP/${EXTEN}@vsp5000)
> > exten => _XXXX,2,Hangup
> 
> > So to summarise:
> > 	if I seize the line and dial a number known at vsp5000 
> then I get 
> > ringing etc - good.
> > 	if I seize the line and dial a number unknown at 
> vsp5000 then the 
> > call drops silently - not good.
> 
> Your issue is actually in the [line1_outbound] context that I 
> have quoted above.
>  Here is what happens:
> 
> As far as Disa() is concerned, any 4 digit number is a valid 
> extension.  Once you dial something (whether is valid at the 
> other end or not), the call goes on and executes Dial().  
> However, since the number you have dialed is not valid,
> Dial() immediately returns and then Hangup is executed.  That 
> is when the call is dropping.
> 
> So, I can think of a few different ways to solve this issue.  
> The first couple involve using an IAX2 or DUNDi switch 
> statement in the line1_outbound context.
> That would allow Asterisk to query the remote server as to 
> what extensions are valid.  However, I won't get into the 
> details of how that is configured right now ...
> 
> The other alternative is to solve it in the dialplan, with 
> something like this:
> 
> [line1_outbound]
> exten => disa,1,Disa(no-password|line1_outbound)
> exten => _XXXX,1,Dial(SIP/${EXTEN}@vsp5000)
> exten => _XXXX,n,Congestion
> exten => _XXXX,n,Wait(10) ; Give Congestion for 10 seconds 
> exten => _XXXX,n,Hangup
> 
> You could improve this even further by checking the 
> DIALSTATUS and playing different tones, or just hanging up, 
> accordingly.
> 
> I hope this helps,

Thanks Russell...

> exten => _XXXX,n,Congestion

didn't work, but 

> exten => _XXXX,n,Playtones(congestion)

did.




More information about the asterisk-users mailing list