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

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Jun 16 15:35:21 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14810 
====================================================================== 
Reported By:                fnordian
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   14810
Category:                   Core/Channels
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
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-06-16 15:35 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 ;-)
====================================================================== 

---------------------------------------------------------------------- 
 (0106511) lmadsen (administrator) - 2009-06-16 15:35
 https://issues.asterisk.org/view.php?id=14810#c106511 
---------------------------------------------------------------------- 
Just wanted to comment that it looks like you have this diff'd against
1.6.1, whereas you should really be diff'ing this against trunk since this
is a new feature.

If you can update the patch, we can see what we want to do about it, and
see if it can make it in for 1.6.3 or 1.6.4. Thanks! 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-06-16 15:35 lmadsen        Note Added: 0106511                          
======================================================================




More information about the asterisk-bugs mailing list