Merge OEJ's channel type listing (bug #3187) with slight modifications

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2-netsec
Mark Spencer 21 years ago
parent 91e1317f4a
commit ce2e6b28e8

@ -1832,6 +1832,7 @@ int main(int argc, char *argv[])
printf(term_quit());
exit(1);
}
ast_channels_init();
if (init_manager()) {
printf(term_quit());
exit(1);

@ -50,5 +50,7 @@ extern int reload_logger(int);
extern int term_init(void);
/* Provided by db.c */
extern int astdb_init(void);
/* Provided by channel.c */
extern void ast_channels_init(void);
#endif

@ -29,6 +29,7 @@
#include <asterisk/logger.h>
#include <asterisk/say.h>
#include <asterisk/file.h>
#include <asterisk/cli.h>
#include <asterisk/translate.h>
#include <asterisk/manager.h>
#include <asterisk/chanvars.h>
@ -49,6 +50,7 @@
#error "You need newer zaptel! Please cvs update zaptel"
#endif
#endif
#include "asterisk.h"
/* uncomment if you have problems with 'monitoring' synchronized files */
#if 0
@ -78,6 +80,32 @@ struct ast_channel *channels = NULL;
AST_MUTEX_DEFINE_STATIC(chlock);
static int show_channeltypes(int fd, int argc, char *argv[])
{
#define FORMAT "%-7.7s %-50.50s\n"
struct chanlist *cl = backends;
ast_cli(fd, FORMAT, "Type", "Description");
ast_cli(fd, FORMAT, "------", "-----------");
if (ast_mutex_lock(&chlock)) {
ast_log(LOG_WARNING, "Unable to lock channel list\n");
return -1;
}
while (cl) {
ast_cli(fd, FORMAT, cl->type, cl->description);
cl = cl->next;
}
ast_mutex_unlock(&chlock);
return RESULT_SUCCESS;
}
static char show_channeltypes_usage[] =
"Usage: show channeltypes\n"
" Shows available channel types registred in your Asterisk server.";
static struct ast_cli_entry cli_show_channeltypes =
{ { "show", "channeltypes", NULL }, show_channeltypes, "Show available channel types", show_channeltypes_usage };
int ast_check_hangup(struct ast_channel *chan)
{
time_t myt;
@ -3011,3 +3039,7 @@ void ast_moh_cleanup(struct ast_channel *chan)
ast_moh_cleanup_ptr(chan);
}
void ast_channels_init(void)
{
ast_cli_register(&cli_show_channeltypes);
}

Loading…
Cancel
Save