mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-17 07:18:15 +00:00
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
This commit is contained in:
@@ -1832,6 +1832,7 @@ int main(int argc, char *argv[])
|
|||||||
printf(term_quit());
|
printf(term_quit());
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
ast_channels_init();
|
||||||
if (init_manager()) {
|
if (init_manager()) {
|
||||||
printf(term_quit());
|
printf(term_quit());
|
||||||
exit(1);
|
exit(1);
|
||||||
|
|||||||
@@ -50,5 +50,7 @@ extern int reload_logger(int);
|
|||||||
extern int term_init(void);
|
extern int term_init(void);
|
||||||
/* Provided by db.c */
|
/* Provided by db.c */
|
||||||
extern int astdb_init(void);
|
extern int astdb_init(void);
|
||||||
|
/* Provided by channel.c */
|
||||||
|
extern void ast_channels_init(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
32
channel.c
32
channel.c
@@ -29,6 +29,7 @@
|
|||||||
#include <asterisk/logger.h>
|
#include <asterisk/logger.h>
|
||||||
#include <asterisk/say.h>
|
#include <asterisk/say.h>
|
||||||
#include <asterisk/file.h>
|
#include <asterisk/file.h>
|
||||||
|
#include <asterisk/cli.h>
|
||||||
#include <asterisk/translate.h>
|
#include <asterisk/translate.h>
|
||||||
#include <asterisk/manager.h>
|
#include <asterisk/manager.h>
|
||||||
#include <asterisk/chanvars.h>
|
#include <asterisk/chanvars.h>
|
||||||
@@ -49,6 +50,7 @@
|
|||||||
#error "You need newer zaptel! Please cvs update zaptel"
|
#error "You need newer zaptel! Please cvs update zaptel"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
#include "asterisk.h"
|
||||||
|
|
||||||
/* uncomment if you have problems with 'monitoring' synchronized files */
|
/* uncomment if you have problems with 'monitoring' synchronized files */
|
||||||
#if 0
|
#if 0
|
||||||
@@ -78,6 +80,32 @@ struct ast_channel *channels = NULL;
|
|||||||
|
|
||||||
AST_MUTEX_DEFINE_STATIC(chlock);
|
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)
|
int ast_check_hangup(struct ast_channel *chan)
|
||||||
{
|
{
|
||||||
time_t myt;
|
time_t myt;
|
||||||
@@ -3011,3 +3039,7 @@ void ast_moh_cleanup(struct ast_channel *chan)
|
|||||||
ast_moh_cleanup_ptr(chan);
|
ast_moh_cleanup_ptr(chan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ast_channels_init(void)
|
||||||
|
{
|
||||||
|
ast_cli_register(&cli_show_channeltypes);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user