[asterisk-bugs] [Asterisk 0014810]: [patch] channel-specific hangupcauses

Asterisk Bug Tracker noreply at bugs.digium.com
Fri Aug 7 14:33:18 CDT 2009


The following issue is now READY FOR TESTING. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14810 
====================================================================== 
Reported By:                fnordian
Assigned To:                tilghman
====================================================================== 
Project:                    Asterisk
Issue ID:                   14810
Category:                   Core/Channels
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     ready for testing
Target Version:             1.6.x Version Tracker
Asterisk Version:           SVN 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): 1.6.1 
SVN Revision (number only!): 185949 
Request Review:              
====================================================================== 
Date Submitted:             2009-04-02 06:05 CDT
Last Modified:              2009-08-07 14:33 CDT
====================================================================== 
Summary:                    [patch] channel-specific hangupcauses
Description: 
Hi,
regarding the discussion on asterisk-user
(http://lists.digium.com/pipermail/asterisk-users/2009-January/224721.html)
I want to suggest a solution for this problem.

At the moment, channels store their general asterisk hangupcause in the
channel which is hung up. Let's store some more channel-specific data about
the cause in there, too. The connected channel could then get the
information from the channel and make it available to the dialplan and it's
own hangup-routine.

My implementation uses two channel-variables to store the cause:
HANGUP_TECH and *_CAUSE, where *_CAUSE is compounded of the value of
HANGUP_TECH + '_CAUSE'. E.g. HANGUP_TECH=SIP, SIP_CAUSE=404 not found.

Currently app_dial takes care of propagating the hangupcause. In the case
of multiple channels with different causes, it chooses one of them using a
priority-scheme. This mechanism is enhanced by handling the HANGUP_TECH +
*_CAUSE variables to achieve that these are passed to the calling channel.

Please find my implementation attached as a patch. It's still proof of
concept but seems to work ;-)
======================================================================
Relationships       ID      Summary
----------------------------------------------------------------------
related to          0013140 [patch] Setting up a HANGUPCAUSETEXT va...
====================================================================== 

---------------------------------------------------------------------- 
 (0108790) tilghman (administrator) - 2009-08-07 14:33
 https://issues.asterisk.org/view.php?id=14810#c108790 
---------------------------------------------------------------------- 
Also, the patch for 13140 has been updated to fix the chan_local
deficiency. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-08-07 14:33 tilghman       Note Added: 0108790                          
2009-08-07 14:33 tilghman       Status                   assigned => ready for
testing
======================================================================




More information about the asterisk-bugs mailing list