mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +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