Index: main/cli.c =================================================================== --- main/cli.c (revision 84150) +++ main/cli.c (working copy) @@ -375,9 +375,13 @@ static int handle_logger_mute(int fd, int argc, char *argv[]) { - if (argc != 2) + if (argc < 2 || argc > 3) return RESULT_SHOWUSAGE; - ast_console_toggle_mute(fd); + + if (argc == 3 && !strcasecmp(argv[2], "silent")) + ast_console_toggle_mute(fd, 1); + else + ast_console_toggle_mute(fd, 0); return RESULT_SUCCESS; } Index: main/asterisk.c =================================================================== --- main/asterisk.c (revision 84630) +++ main/asterisk.c (working copy) @@ -805,16 +805,18 @@ /*! * \brief mute or unmute a console from logging */ -void ast_console_toggle_mute(int fd) { +void ast_console_toggle_mute(int fd, int silent) { int x; for (x = 0;x < AST_MAX_CONNECTS; x++) { if (fd == consoles[x].fd) { if (consoles[x].mute) { consoles[x].mute = 0; - ast_cli(fd, "Console is not muted anymore.\n"); + if (!silent) + ast_cli(fd, "Console is not muted anymore.\n"); } else { consoles[x].mute = 1; - ast_cli(fd, "Console is muted.\n"); + if (!silent) + ast_cli(fd, "Console is muted.\n"); } return; } @@ -970,7 +972,7 @@ flags = fcntl(consoles[x].p[1], F_GETFL); fcntl(consoles[x].p[1], F_SETFL, flags | O_NONBLOCK); consoles[x].fd = s; - consoles[x].mute = ast_opt_mute; + consoles[x].mute = 1; /* Default is muted, we will un-mute if necessary */ if (ast_pthread_create_detached_background(&consoles[x].t, NULL, netconsole, &consoles[x])) { ast_log(LOG_ERROR, "Unable to spawn thread to handle connection: %s\n", strerror(errno)); close(consoles[x].p[0]); @@ -2201,13 +2203,15 @@ pid = atoi(cpid); else pid = -1; - snprintf(tmp, sizeof(tmp), "core set verbose atleast %d", option_verbose); - fdprint(ast_consock, tmp); - snprintf(tmp, sizeof(tmp), "core set debug atleast %d", option_debug); - fdprint(ast_consock, tmp); - if (ast_opt_mute) { - ast_copy_string(tmp, "log and verbose output currently muted ('logger unmute' to unmute)", sizeof(tmp)); + if (!data) { + snprintf(tmp, sizeof(tmp), "core set verbose atleast %d", option_verbose); fdprint(ast_consock, tmp); + snprintf(tmp, sizeof(tmp), "core set debug atleast %d", option_debug); + fdprint(ast_consock, tmp); + if (!ast_opt_mute) + fdprint(ast_consock, "logger mute silent"); + else + printf("log and verbose output currently muted ('logger mute' to unmute)\n"); } ast_verbose("Connected to Asterisk %s currently running on %s (pid = %d)\n", version, hostname, pid); remotehostname = hostname; Index: include/asterisk/logger.h =================================================================== --- include/asterisk/logger.h (revision 84149) +++ include/asterisk/logger.h (working copy) @@ -85,7 +85,7 @@ void ast_console_puts(const char *string); void ast_console_puts_mutable(const char *string); -void ast_console_toggle_mute(int fd); +void ast_console_toggle_mute(int fd, int silent); #define _A_ __FILE__, __LINE__, __PRETTY_FUNCTION__