aboutsummaryrefslogtreecommitdiffstats
path: root/pbx
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-02-08 21:26:32 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-02-08 21:26:32 +0000
commite9d6c2ff9b22167c463b055b65e8351dc0a4cc0c (patch)
tree425b3dafd75451669e2311d091127fe03d3c9693 /pbx
parent381f0dce1439f8c5344300a846760ea930987ed3 (diff)
Merge changes from team/mvanbaak/cli-command-audit
(closes issue #8925) About a year ago, as Leif Madsen and Jim van Meggelen were going over the CLI commands in Asterisk 1.4 for the next version of their book, they documented a lot of inconsistencies. This set of changes addresses all of these issues and has been reviewed by Leif. While this does introduce even more changes to the CLI command structure, it makes everything consistent, which is the most important thing. Thanks to all that helped with this one! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103171 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'pbx')
-rw-r--r--pbx/pbx_ael.c41
-rw-r--r--pbx/pbx_dundi.c139
2 files changed, 120 insertions, 60 deletions
diff --git a/pbx/pbx_ael.c b/pbx/pbx_ael.c
index cffa65f40..fa4b7d516 100644
--- a/pbx/pbx_ael.c
+++ b/pbx/pbx_ael.c
@@ -146,7 +146,7 @@ static int pbx_load_module(void)
}
/* CLI interface */
-static char *handle_cli_ael_debug_multiple(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+static char *handle_cli_ael_debug_multiple_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
switch (cmd) {
case CLI_INIT:
@@ -180,6 +180,40 @@ static char *handle_cli_ael_debug_multiple(struct ast_cli_entry *e, int cmd, str
return CLI_SUCCESS;
}
+static char *handle_cli_ael_set_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "ael set debug {read|tokens|macros|contexts|off}";
+ e->usage =
+ "Usage: ael debug {read|tokens|macros|contexts|off}\n"
+ " Enable AEL read, token, macro, or context debugging,\n"
+ " or disable all AEL debugging messages. Note: this\n"
+ " currently does nothing.\n";
+ return NULL;
+ case CLI_GENERATE:
+ return NULL;
+ }
+
+ if (a->argc != e->args)
+ return CLI_SHOWUSAGE;
+
+ if (!strcasecmp(a->argv[3], "read"))
+ aeldebug |= DEBUG_READ;
+ else if (!strcasecmp(a->argv[3], "tokens"))
+ aeldebug |= DEBUG_TOKENS;
+ else if (!strcasecmp(a->argv[3], "macros"))
+ aeldebug |= DEBUG_MACROS;
+ else if (!strcasecmp(a->argv[3], "contexts"))
+ aeldebug |= DEBUG_CONTEXTS;
+ else if (!strcasecmp(a->argv[3], "off"))
+ aeldebug = 0;
+ else
+ return CLI_SHOWUSAGE;
+
+ return CLI_SUCCESS;
+}
+
static char *handle_cli_ael_reload(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
switch (cmd) {
@@ -199,9 +233,10 @@ static char *handle_cli_ael_reload(struct ast_cli_entry *e, int cmd, struct ast_
return (pbx_load_module() ? CLI_FAILURE : CLI_SUCCESS);
}
+static struct ast_cli_entry cli_ael_debug_multiple_deprecated = AST_CLI_DEFINE(handle_cli_ael_debug_multiple_deprecated, "Enable AEL debugging flags");
static struct ast_cli_entry cli_ael[] = {
- AST_CLI_DEFINE(handle_cli_ael_reload, "Reload AEL configuration"),
- AST_CLI_DEFINE(handle_cli_ael_debug_multiple, "Enable AEL debugging flags")
+ AST_CLI_DEFINE(handle_cli_ael_reload, "Reload AEL configuration"),
+ AST_CLI_DEFINE(handle_cli_ael_set_debug, "Enable AEL debugging flags", .deprecate_cmd = &cli_ael_debug_multiple_deprecated)
};
static int unload_module(void)
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index 9d30fe24f..b5bd58de3 100644
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -2179,42 +2179,106 @@ static int start_network_thread(void)
return 0;
}
-static char *dundi_do_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+static char *dundi_do_debug_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
switch (cmd) {
case CLI_INIT:
- e->command = "dundi debug";
+ e->command = "dundi [no] debug";
e->usage =
- "Usage: dundi debug\n"
- " Enables dumping of DUNDi packets for debugging purposes\n";
+ "Usage: dundi [no] debug\n"
+ " Enables/Disables dumping of DUNDi packets for debugging purposes\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
- if (a->argc != 2)
+ if (a->argc < 2 || a->argc > 3)
return CLI_SHOWUSAGE;
- dundidebug = 1;
- ast_cli(a->fd, "DUNDi Debugging Enabled\n");
+ if (a->argc == 2) {
+ dundidebug = 1;
+ ast_cli(a->fd, "DUNDi Debugging Enabled\n");
+ } else {
+ dundidebug = 0;
+ ast_cli(a->fd, "DUNDi Debugging Disabled\n");
+ }
+ return CLI_SUCCESS;
+}
+
+static char *dundi_set_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "dundi set debug {on|off}";
+ e->usage =
+ "Usage: dundi set debug {on|off}\n"
+ " Enables/Disables dumping of DUNDi packets for debugging purposes\n";
+ return NULL;
+ case CLI_GENERATE:
+ return NULL;
+ }
+
+ if (a->argc != e->args)
+ return CLI_SHOWUSAGE;
+
+ if (!strncasecmp(a->argv[e->args -1], "on", 2)) {
+ dundidebug = 1;
+ ast_cli(a->fd, "DUNDi Debugging Enabled\n");
+ } else {
+ dundidebug = 0;
+ ast_cli(a->fd, "DUNDi Debugging Disabled\n");
+ }
return CLI_SUCCESS;
}
-static char *dundi_do_store_history(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+static char *dundi_do_store_history_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
switch (cmd) {
case CLI_INIT:
- e->command = "dundi store history";
+ e->command = "dundi [no] store history";
e->usage =
- "Usage: dundi store history\n"
- " Enables storing of DUNDi requests and times for debugging\n"
+ "Usage: dundi [no] store history\n"
+ " Enables/Disables storing of DUNDi requests and times for debugging\n"
"purposes\n";
return NULL;
case CLI_GENERATE:
return NULL;
}
- if (a->argc != 3)
+ if (a->argc < 3 || a->argc > 4)
return CLI_SHOWUSAGE;
- global_storehistory = 1;
- ast_cli(a->fd, "DUNDi History Storage Enabled\n");
+
+ if (a->argc == 3) {
+ global_storehistory = 1;
+ ast_cli(a->fd, "DUNDi History Storage Enabled\n");
+ } else {
+ global_storehistory = 0;
+ ast_cli(a->fd, "DUNDi History Storage Disabled\n");
+ }
+ return CLI_SUCCESS;
+}
+
+static char *dundi_store_history(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "dundi store history {on|off}";
+ e->usage =
+ "Usage: dundi store history {on|off}\n"
+ " Enables/Disables storing of DUNDi requests and times for debugging\n"
+ "purposes\n";
+ return NULL;
+ case CLI_GENERATE:
+ return NULL;
+ }
+
+ if (a->argc != e->args)
+ return CLI_SHOWUSAGE;
+
+ if (!strncasecmp(a->argv[e->args -1], "on", 2)) {
+ global_storehistory = 1;
+ ast_cli(a->fd, "DUNDi History Storage Enabled\n");
+ } else {
+ global_storehistory = 0;
+ ast_cli(a->fd, "DUNDi History Storage Disabled\n");
+ }
return CLI_SUCCESS;
}
@@ -2263,45 +2327,6 @@ static char *dundi_flush(struct ast_cli_entry *e, int cmd, struct ast_cli_args *
return CLI_SUCCESS;
}
-static char *dundi_no_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- switch (cmd) {
- case CLI_INIT:
- e->command = "dundi no debug";
- e->usage =
- "Usage: dundi no debug\n"
- " Disables dumping of DUNDi packets for debugging purposes\n";
- return NULL;
- case CLI_GENERATE:
- return NULL;
- }
- if (a->argc != 3)
- return CLI_SHOWUSAGE;
- dundidebug = 0;
- ast_cli(a->fd, "DUNDi Debugging Disabled\n");
- return CLI_SUCCESS;
-}
-
-static char *dundi_no_store_history(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- switch (cmd) {
- case CLI_INIT:
- e->command = "dundi no store history";
- e->usage =
- "Usage: dundi no store history\n"
- " Disables storing of DUNDi requests and times for debugging\n"
- "purposes\n";
- return NULL;
- case CLI_GENERATE:
- return NULL;
- }
- if (a->argc != 4)
- return CLI_SHOWUSAGE;
- global_storehistory = 0;
- ast_cli(a->fd, "DUNDi History Storage Disabled\n");
- return CLI_SUCCESS;
-}
-
static char *model2str(int model)
{
switch(model) {
@@ -2817,11 +2842,11 @@ static char *dundi_show_precache(struct ast_cli_entry *e, int cmd, struct ast_cl
#undef FORMAT2
}
+static struct ast_cli_entry cli_dundi_do_debug_deprecated = AST_CLI_DEFINE(dundi_do_debug_deprecated, "Enable/Disable DUNDi debugging");
+static struct ast_cli_entry cli_dundi_do_store_history_deprecated = AST_CLI_DEFINE(dundi_do_store_history_deprecated, "Enable/Disable DUNDi historic records");
static struct ast_cli_entry cli_dundi[] = {
- AST_CLI_DEFINE(dundi_do_debug, "Enable DUNDi debugging"),
- AST_CLI_DEFINE(dundi_no_debug, "Disable DUNDi debugging"),
- AST_CLI_DEFINE(dundi_do_store_history, "Enable DUNDi historic records"),
- AST_CLI_DEFINE(dundi_no_store_history, "Disable DUNDi historic records"),
+ AST_CLI_DEFINE(dundi_set_debug, "Enable/Disable DUNDi debugging", .deprecate_cmd = &cli_dundi_do_debug_deprecated),
+ AST_CLI_DEFINE(dundi_store_history, "Enable/Disable DUNDi historic records", .deprecate_cmd = &cli_dundi_do_store_history_deprecated),
AST_CLI_DEFINE(dundi_flush, "Flush DUNDi cache"),
AST_CLI_DEFINE(dundi_show_peers, "Show defined DUNDi peers"),
AST_CLI_DEFINE(dundi_show_trans, "Show active DUNDi transactions"),