[asterisk-bugs] [Asterisk 0009785]: [patch] Add 'e' extension to handle application errors

noreply at bugs.digium.com noreply at bugs.digium.com
Wed Oct 3 11:58:31 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=9785 
====================================================================== 
Reported By:                mnicholson
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   9785
Category:                   Core/General
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     ready for testing
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 65675 
Disclaimer on File?:        Yes 
Request Review:              
====================================================================== 
Date Submitted:             05-23-2007 14:10 CDT
Last Modified:              10-03-2007 11:58 CDT
====================================================================== 
Summary:                    [patch] Add 'e' extension to handle application
errors
Description: 
Currently when an application encounters an error asterisk hangs up the
channel.  This patch adds a special 'e' extension (like the 'i' extension)
to gracefully handle these errors instead of hanging up the channel.

This patch defines three new macros: AST_PBX_HANGUP (-1), AST_PBX_OK (0),
and AST_PBX_ERROR (1).  If an application returns AST_PBX_ERROR then the
'e' extension is triggered.

If an application executing on the 'e' exten encounters an error, the call
is terminated similar to how errors are handled now.
====================================================================== 

---------------------------------------------------------------------- 
 Corydon76 - 10-03-07 11:58  
---------------------------------------------------------------------- 
I have revised the code a bit.  I really didn't like the datastore
functions being public, so I have changed the code to properly encapsulate
those functions and made a single function to create the exception
condition.

Also, I have added a dialplan function EXCEPTION, which I think was an
oversight:  while you had code to go to the "e" extension, there was no way
to query the type of error or where the exception came from. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
10-03-07 11:58  Corydon76      Note Added: 0071398                          
======================================================================




More information about the asterisk-bugs mailing list