@ -812,6 +812,49 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
< para > Send a reload event . < / para >
< / description >
< / manager >
< managerEvent language = " en_US " name = " CoreShowChannel " >
< managerEventInstance class = " EVENT_FLAG_CALL " >
< synopsis > Raised in response to a CoreShowChannels command . < / synopsis >
< syntax >
< xi : include xpointer = " xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID']) " / >
< channel_snapshot / >
< parameter name = " BridgeId " >
< para > Identifier of the bridge the channel is in , may be empty if not in one < / para >
< / parameter >
< parameter name = " Application " >
< para > Application currently executing on the channel < / para >
< / parameter >
< parameter name = " ApplicationData " >
< para > Data given to the currently executing application < / para >
< / parameter >
< parameter name = " Duration " >
< para > The amount of time the channel has existed < / para >
< / parameter >
< / syntax >
< see - also >
< ref type = " manager " > CoreShowChannels < / ref >
< ref type = " managerEvent " > CoreShowChannelsComplete < / ref >
< / see - also >
< / managerEventInstance >
< / managerEvent >
< managerEvent language = " en_US " name = " CoreShowChannelsComplete " >
< managerEventInstance class = " EVENT_FLAG_CALL " >
< synopsis > Raised at the end of the CoreShowChannel list produced by the CoreShowChannels command . < / synopsis >
< syntax >
< xi : include xpointer = " xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID']) " / >
< parameter name = " EventList " >
< para > Conveys the status of the command reponse list < / para >
< / parameter >
< parameter name = " ListItems " >
< para > The total number of list items produced < / para >
< / parameter >
< / syntax >
< see - also >
< ref type = " manager " > CoreShowChannels < / ref >
< ref type = " managerEvent " > CoreShowChannel < / ref >
< / see - also >
< / managerEventInstance >
< / managerEvent >
< manager name = " CoreShowChannels " language = " en_US " >
< synopsis >
List currently active channels .
@ -822,6 +865,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
< description >
< para > List currently defined channels and some information about them . < / para >
< / description >
< responses >
< list - elements >
< xi : include xpointer = " xpointer(/docs/managerEvent[@name='CoreShowChannel']) " / >
< / list - elements >
< xi : include xpointer = " xpointer(/docs/managerEvent[@name='CoreShowChannelsComplete']) " / >
< / responses >
< / manager >
< manager name = " LoggerRotate " language = " en_US " >
< synopsis >
@ -5509,18 +5558,37 @@ static int action_coreshowchannels(struct mansession *s, const struct message *m
for ( ; ( msg = ao2_iterator_next ( & it_chans ) ) ; ao2_ref ( msg , - 1 ) ) {
struct ast_channel_snapshot * cs = stasis_message_data ( msg ) ;
struct ast_str * built = ast_manager_build_channel_state_string_prefix ( cs , " " ) ;
char durbuf [ 10 ] = " " ;
if ( ! built ) {
continue ;
}
if ( ! ast_tvzero ( cs - > creationtime ) ) {
int duration , durh , durm , durs ;
duration = ( int ) ( ast_tvdiff_ms ( ast_tvnow ( ) , cs - > creationtime ) / 1000 ) ;
durh = duration / 3600 ;
durm = ( duration % 3600 ) / 60 ;
durs = duration % 60 ;
snprintf ( durbuf , sizeof ( durbuf ) , " %02d:%02d:%02d " , durh , durm , durs ) ;
}
astman_append ( s ,
" Event: CoreShowChannel \r \n "
" %s "
" %s "
" Application: %s \r \n "
" ApplicationData: %s \r \n "
" Duration: %s \r \n "
" BridgeId: %s \r \n "
" \r \n " ,
idText ,
ast_str_buffer ( built ) ) ;
ast_str_buffer ( built ) ,
cs - > appl ,
cs - > data ,
durbuf ,
cs - > bridgeid ) ;
numchans + + ;