Added 'skinny show lines verbose'

This will print the subs and their status for every line (if any).

wedhorn did most of the work with his patch which introduced
'skinny show debug' but a discussion on IRC stated that it should be
added to 'skinny show lines'

Input on the output format by Qwell on IRC.

(closes issue #13344)
Reported by: wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Michiel van Baak
2008-09-03 18:06:35 +00:00
parent 2ec51f4ed5
commit cb5824d995
2 changed files with 25 additions and 3 deletions

View File

@@ -2847,20 +2847,32 @@ static char *handle_skinny_show_lines(struct ast_cli_entry *e, int cmd, struct a
{
struct skinny_device *d;
struct skinny_line *l;
struct skinny_subchannel *sub;
int verbose = 0;
switch (cmd) {
case CLI_INIT:
e->command = "skinny show lines";
e->command = "skinny show lines [verbose]";
e->usage =
"Usage: skinny show lines\n"
" Lists all lines known to the Skinny subsystem.\n";
" Lists all lines known to the Skinny subsystem.\n"
" If 'verbose' is specified, the output includes\n"
" information about subs for each line.\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
if (a->argc != 3)
if (a->argc == e->args) {
if (!strcasecmp(a->argv[e->args-1], "verbose")) {
verbose = 1;
} else {
return CLI_SHOWUSAGE;
}
} else if (a->argc != e->args - 1) {
return CLI_SHOWUSAGE;
}
ast_cli(a->fd, "Device Name Instance Name Label \n");
@@ -2873,6 +2885,15 @@ static char *handle_skinny_show_lines(struct ast_cli_entry *e, int cmd, struct a
l->instance,
l->name,
l->label);
if (verbose) {
AST_LIST_TRAVERSE(&l->sub, sub, list) {
ast_cli(a->fd, " %s> %s to %s\n",
(sub == l->activesub?"Active ":"Inactive"),
sub->owner->name,
(ast_bridged_channel(sub->owner)?ast_bridged_channel(sub->owner)->name:"")
);
}
}
}
}
AST_LIST_UNLOCK(&devices);