From c720dc8f9e7f155ef0a082cd7e4ea03057c209da Mon Sep 17 00:00:00 2001 From: mattf Date: Thu, 2 Nov 2006 16:50:55 +0000 Subject: [PATCH] Changes to show blocked/unblocked states, as well as in service, out of service state git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46939 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_zap.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/channels/chan_zap.c b/channels/chan_zap.c index f94aaff07..75dccf3d9 100644 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -10644,10 +10644,12 @@ static int action_zaprestart(struct mansession *s, struct message *m) static int zap_show_channels(int fd, int argc, char **argv) { -#define FORMAT "%7s %-10.10s %-15.15s %-10.10s %-20.20s\n" -#define FORMAT2 "%7s %-10.10s %-15.15s %-10.10s %-20.20s\n" +#define FORMAT "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s\n" +#define FORMAT2 "%7s %-10.10s %-15.15s %-10.10s %-20.20s %-10.10s %-10.10s\n" struct zt_pvt *tmp = NULL; char tmps[20] = ""; + char statestr[20] = ""; + char blockstr[20] = ""; ast_mutex_t *lock; struct zt_pvt *start; #ifdef HAVE_PRI @@ -10683,9 +10685,9 @@ static int zap_show_channels(int fd, int argc, char **argv) ast_mutex_lock(lock); #ifdef HAVE_PRI - ast_cli(fd, FORMAT2, pri ? "CRV" : "Chan", "Extension", "Context", "Language", "MOH Interpret"); + ast_cli(fd, FORMAT2, pri ? "CRV" : "Chan", "Extension", "Context", "Language", "MOH Interpret", "Blocked", "State"); #else - ast_cli(fd, FORMAT2, "Chan", "Extension", "Context", "Language", "MOH Interpret"); + ast_cli(fd, FORMAT2, "Chan", "Extension", "Context", "Language", "MOH Interpret", "Blocked", "State"); #endif tmp = start; @@ -10694,7 +10696,22 @@ static int zap_show_channels(int fd, int argc, char **argv) snprintf(tmps, sizeof(tmps), "%d", tmp->channel); } else ast_copy_string(tmps, "pseudo", sizeof(tmps)); - ast_cli(fd, FORMAT, tmps, tmp->exten, tmp->context, tmp->language, tmp->mohinterpret); + + if (tmp->locallyblocked) + blockstr[0] = 'L'; + else + blockstr[0] = ' '; + + if (tmp->remotelyblocked) + blockstr[1] = 'R'; + else + blockstr[1] = ' '; + + blockstr[2] = '\0'; + + snprintf(statestr, sizeof(statestr), "%s", tmp->inservice ? "In Service" : "Out of Service"); + + ast_cli(fd, FORMAT, tmps, tmp->exten, tmp->context, tmp->language, tmp->mohinterpret, blockstr, statestr); tmp = tmp->next; } ast_mutex_unlock(lock);