[asterisk-bugs] [Asterisk 0011268]: [patch] Context tracing for channels

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Dec 27 12:40:29 CST 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11268 
====================================================================== 
Reported By:                moy
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   11268
Category:                   Core/PBX
Reproducibility:            N/A
Severity:                   feature
Priority:                   normal
Status:                     feedback
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  trunk 
SVN Revision (number only!): 89277 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             11-15-2007 21:11 CST
Last Modified:              12-27-2007 12:40 CST
====================================================================== 
Summary:                    [patch] Context tracing for channels
Description: 
Once in a while I find myself wondering how a channel got to X context when
is in the middle of a call or in a queue. I have added an option to allow
tracing of contexts where the channel has been. Kind of a backtrace.

exten => _X.,n,Set(CHANNEL(trace)=1) //1 enable anything else stop
tracing

core show channel tech/blah

will show at the end the backtrace

This has been useful to me, I hope I can stop patching my Asterisk in
future releases if this is included in trunk.

Thanks
====================================================================== 

---------------------------------------------------------------------- 
 Corydon76 - 12-27-07 12:40  
---------------------------------------------------------------------- 
There is some really poor encapsulation here.

1) The contents of the datastore should be kept in a .c file, not in a
publically accessible header file.  APIs should be added as necessary so
that the encapsulation is kept.

2) ast_channel_update_trace() should take only the channel as an argument
and find the datastore itself and update if necessary.

3) All of the code should be enabled by a define, selectable from
menuselect, default off.  The reason is that this code adds a fair amount
of overhead, which would be preferable to be non-existent, especially on
slow or low memory systems. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
12-27-07 12:40  Corydon76      Note Added: 0076053                          
======================================================================




More information about the asterisk-bugs mailing list