Skip to content
Snippets Groups Projects
Commit 77098851 authored by Alexandr Anikin's avatar Alexandr Anikin
Browse files

Introdue 'ooh323 show gk' cli command that show status of connection

to H.323 Gatekeeper (GkClient state)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@371043 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 6153aceb
No related branches found
No related tags found
No related merge requests found
......@@ -3371,6 +3371,65 @@ static int ooh323_show_channels(int fd, int argc, char *argv[])
}
#endif
static char *handle_cli_ooh323_show_gk(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
char value[FORMAT_STRING_SIZE];
extern OOH323EndPoint gH323ep;
switch (cmd) {
case CLI_INIT:
e->command = "ooh323 show gk";
e->usage =
"Usage: ooh323 show gk\n"
" Shows Gatekeeper connection state\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
if (a->argc != 3)
return CLI_SHOWUSAGE;
ast_cli(a->fd, "\nGateKeeper connection state:\n");
if (!gH323ep.gkClient) {
ast_cli(a->fd, "No Gatekeeper is configured\n");
return CLI_SUCCESS;
}
if (gRasGkMode == RasNoGatekeeper) {
snprintf(value, sizeof(value), "%s", "No Gatekeeper");
} else if (gRasGkMode == RasDiscoverGatekeeper) {
snprintf(value, sizeof(value), "%s", "Discover");
} else {
snprintf(value, sizeof(value), "%s", gGatekeeper);
}
ast_cli(a->fd, "%-20s%s\n", "Gatekeeper:", value);
switch(gH323ep.gkClient->state) {
case GkClientIdle:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Idle");
break;
case GkClientDiscovered:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Discovered");
break;
case GkClientRegistered:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Registered");
break;
case GkClientUnregistered:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Unregistered");
break;
case GkClientGkErr:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Error");
break;
case GkClientFailed:
ast_cli(a->fd, "%-20s%s\n", "GK state:", "Failed");
break;
default:
break;
}
return CLI_SUCCESS;
}
static char *handle_cli_ooh323_show_config(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
char value[FORMAT_STRING_SIZE];
......@@ -3488,6 +3547,7 @@ static char *handle_cli_ooh323_show_config(struct ast_cli_entry *e, int cmd, str
static struct ast_cli_entry cli_ooh323[] = {
AST_CLI_DEFINE(handle_cli_ooh323_set_debug, "Enable/Disable OOH323 debugging"),
AST_CLI_DEFINE(handle_cli_ooh323_show_config, "Show details on global configuration of H.323 channel driver"),
AST_CLI_DEFINE(handle_cli_ooh323_show_gk, "Show OOH323 Gatekeeper connection status"),
AST_CLI_DEFINE(handle_cli_ooh323_show_peer, "Show details on specific OOH323 peer"),
AST_CLI_DEFINE(handle_cli_ooh323_show_peers, "Show defined OOH323 peers"),
AST_CLI_DEFINE(handle_cli_ooh323_show_user, "Show details on specific OOH323 user"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment