[asterisk-commits] pcadach: branch pcadach/chan_h323-live r43222 - in /team/pcadach/chan_h323-li...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Mon Sep 18 13:25:53 MST 2006


Author: pcadach
Date: Mon Sep 18 15:25:52 2006
New Revision: 43222

URL: http://svn.digium.com/view/asterisk?rev=43222&view=rev
Log:
Merged revisions 43212-43216 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
r43212 | kpfleming | 2006-09-19 01:54:18 +0600 (Втр, 19 Сен 2006) | 2 lines

merge qwell's CLI verbification work

........
r43213 | kpfleming | 2006-09-19 01:54:46 +0600 (Втр, 19 Сен 2006) | 2 lines

revert this since, since some unnamed platforms are silly about it :-)

........
r43214 | oej | 2006-09-19 01:56:44 +0600 (Втр, 19 Сен 2006) | 2 lines

Issue #7351 - sending CANCEL when the call at some point has been in UP state is wrong.

........
r43215 | qwell | 2006-09-19 01:57:09 +0600 (Втр, 19 Сен 2006) | 4 lines

We have autoconf...let's actually use it.

(note, M4 wasn't used, so...bye)

........
r43216 | kpfleming | 2006-09-19 01:58:27 +0600 (Втр, 19 Сен 2006) | 2 lines

always use fork() when available

........

Modified:
    team/pcadach/chan_h323-live/   (props changed)
    team/pcadach/chan_h323-live/Makefile
    team/pcadach/chan_h323-live/Makefile.moddir_rules
    team/pcadach/chan_h323-live/apps/app_meetme.c
    team/pcadach/chan_h323-live/apps/app_mixmonitor.c
    team/pcadach/chan_h323-live/apps/app_osplookup.c
    team/pcadach/chan_h323-live/apps/app_playback.c
    team/pcadach/chan_h323-live/apps/app_queue.c
    team/pcadach/chan_h323-live/apps/app_realtime.c
    team/pcadach/chan_h323-live/apps/app_rpt.c
    team/pcadach/chan_h323-live/apps/app_voicemail.c
    team/pcadach/chan_h323-live/channels/chan_agent.c
    team/pcadach/chan_h323-live/channels/chan_alsa.c
    team/pcadach/chan_h323-live/channels/chan_features.c
    team/pcadach/chan_h323-live/channels/chan_h323.c
    team/pcadach/chan_h323-live/channels/chan_iax2.c
    team/pcadach/chan_h323-live/channels/chan_local.c
    team/pcadach/chan_h323-live/channels/chan_mgcp.c
    team/pcadach/chan_h323-live/channels/chan_misdn.c
    team/pcadach/chan_h323-live/channels/chan_oss.c
    team/pcadach/chan_h323-live/channels/chan_sip.c
    team/pcadach/chan_h323-live/channels/chan_skinny.c
    team/pcadach/chan_h323-live/channels/chan_zap.c
    team/pcadach/chan_h323-live/channels/iax2-provision.c
    team/pcadach/chan_h323-live/configure
    team/pcadach/chan_h323-live/configure.ac
    team/pcadach/chan_h323-live/include/asterisk/cli.h
    team/pcadach/chan_h323-live/main/asterisk.c
    team/pcadach/chan_h323-live/main/astmm.c
    team/pcadach/chan_h323-live/main/cdr.c
    team/pcadach/chan_h323-live/main/channel.c
    team/pcadach/chan_h323-live/main/cli.c
    team/pcadach/chan_h323-live/main/config.c
    team/pcadach/chan_h323-live/main/db.c
    team/pcadach/chan_h323-live/main/dnsmgr.c
    team/pcadach/chan_h323-live/main/file.c
    team/pcadach/chan_h323-live/main/frame.c
    team/pcadach/chan_h323-live/main/http.c
    team/pcadach/chan_h323-live/main/image.c
    team/pcadach/chan_h323-live/main/logger.c
    team/pcadach/chan_h323-live/main/manager.c
    team/pcadach/chan_h323-live/main/pbx.c
    team/pcadach/chan_h323-live/main/rtp.c
    team/pcadach/chan_h323-live/main/translate.c
    team/pcadach/chan_h323-live/main/udptl.c
    team/pcadach/chan_h323-live/makeopts.in
    team/pcadach/chan_h323-live/pbx/pbx_ael.c
    team/pcadach/chan_h323-live/pbx/pbx_config.c
    team/pcadach/chan_h323-live/pbx/pbx_dundi.c
    team/pcadach/chan_h323-live/res/res_agi.c
    team/pcadach/chan_h323-live/res/res_clioriginate.c
    team/pcadach/chan_h323-live/res/res_config_pgsql.c
    team/pcadach/chan_h323-live/res/res_convert.c
    team/pcadach/chan_h323-live/res/res_crypto.c
    team/pcadach/chan_h323-live/res/res_features.c
    team/pcadach/chan_h323-live/res/res_indications.c
    team/pcadach/chan_h323-live/res/res_jabber.c
    team/pcadach/chan_h323-live/res/res_musiconhold.c
    team/pcadach/chan_h323-live/res/res_odbc.c

Propchange: team/pcadach/chan_h323-live/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/pcadach/chan_h323-live/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Sep 18 15:25:52 2006
@@ -1,1 +1,1 @@
-/trunk:1-43208
+/trunk:1-43219

Modified: team/pcadach/chan_h323-live/Makefile
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/Makefile?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/Makefile (original)
+++ team/pcadach/chan_h323-live/Makefile Mon Sep 18 15:25:52 2006
@@ -140,13 +140,6 @@
       endif
     endif
   endif
-endif
-
-ID=id
-
-ifeq ($(OSARCH),SunOS)
-  M4=/usr/local/bin/m4
-  ID=/usr/xpg4/bin/id
 endif
 
 ASTCFLAGS+=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)

Modified: team/pcadach/chan_h323-live/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/Makefile.moddir_rules?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/Makefile.moddir_rules (original)
+++ team/pcadach/chan_h323-live/Makefile.moddir_rules Mon Sep 18 15:25:52 2006
@@ -34,7 +34,7 @@
 
 define module_so_template
 $(1)=$(1).so
-$(1).so: CFLAGS+=-fpic
+$(1).so: CFLAGS+=-fPIC
 $(1).so: LIBS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LIB))
 $(1).so: LDFLAGS+=$(foreach dep,$(MENUSELECT_DEPENDS_$(1)),$$(value $(dep)_LDFLAGS))
 $(1).so: $(2)

Modified: team/pcadach/chan_h323-live/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_meetme.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_meetme.c (original)
+++ team/pcadach/chan_h323-live/apps/app_meetme.c Mon Sep 18 15:25:52 2006
@@ -661,13 +661,6 @@
 	return cnf;
 }
 
-static int confs_show(int fd, int argc, char **argv)
-{
-	ast_cli(fd, "Deprecated! Please use 'meetme' instead.\n");
-
-	return RESULT_SUCCESS;
-}
-
 /*! \brief CLI command for showing SLAs */
 static int sla_show(int fd, int argc, char *argv[]) 
 {
@@ -693,23 +686,7 @@
 	return RESULT_SUCCESS;
 }
 
-static char show_confs_usage[] =
-"Deprecated! Please use 'meetme' instead.\n";
-
-static struct ast_cli_entry cli_show_confs = {
-	{ "show", "conferences", NULL }, confs_show,
-	"Show status of conferences", show_confs_usage, NULL };
-
-
-static char sla_show_usage[] =
-"Usage: sla show\n"
-"       Lists status of all shared line appearances\n";
-
-static struct ast_cli_entry cli_sla_show = {
-	{ "sla", "show", NULL }, sla_show,
-	"Show status of Shared Line Appearances", sla_show_usage, NULL };
-
-static int conf_cmd(int fd, int argc, char **argv) 
+static int meetme_cmd(int fd, int argc, char **argv) 
 {
 	/* Process the command */
 	struct ast_conference *cnf;
@@ -853,7 +830,7 @@
 	return 0;
 }
 
-static char *complete_confcmd(const char *line, const char *word, int pos, int state)
+static char *complete_meetmecmd(const char *line, const char *word, int pos, int state)
 {
 	static char *cmds[] = {"lock", "unlock", "mute", "unmute", "kick", "list", NULL};
 
@@ -915,13 +892,23 @@
 	return NULL;
 }
 	
-static char conf_usage[] =
-"Usage: meetme  (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>\n"
+static char meetme_usage[] =
+"Usage: meetme (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>\n"
 "       Executes a command for the conference or on a conferee\n";
 
-static struct ast_cli_entry cli_conf = {
-	{"meetme", NULL, NULL }, conf_cmd,
-	"Execute a command on a conference or conferee", conf_usage, complete_confcmd};
+static char sla_show_usage[] =
+"Usage: sla show\n"
+"       Lists status of all shared line appearances\n";
+
+static struct ast_cli_entry cli_meetme[] = {
+	{ { "sla", "show", NULL },
+	sla_show, "Show status of Shared Line Appearances",
+	sla_show_usage, NULL },
+
+	{ { "meetme", NULL, NULL },
+	meetme_cmd, "Execute a command on a conference or conferee",
+	meetme_usage, complete_meetmecmd },
+};
 
 static void conf_flush(int fd, struct ast_channel *chan)
 {
@@ -3072,10 +3059,8 @@
 {
 	int res = 0;
 	
-	res |= ast_cli_unregister(&cli_show_confs);
-	res |= ast_cli_unregister(&cli_sla_show);
-	res |= ast_cli_unregister(&cli_conf);
-	res |= ast_manager_unregister("MeetmeMute");
+	ast_cli_unregister_multiple(cli_meetme, sizeof(cli_meetme) / sizeof(struct ast_cli_entry));
+	res = ast_manager_unregister("MeetmeMute");
 	res |= ast_manager_unregister("MeetmeUnmute");
 	res |= ast_unregister_application(app3);
 	res |= ast_unregister_application(app2);
@@ -3095,10 +3080,8 @@
 	int res;
 
 	ASTOBJ_CONTAINER_INIT(&slas);
-	res = ast_cli_register(&cli_show_confs);
-	res |= ast_cli_register(&cli_sla_show);
-	res |= ast_cli_register(&cli_conf);
-	res |= ast_manager_register("MeetmeMute", EVENT_FLAG_CALL, action_meetmemute, "Mute a Meetme user");
+	ast_cli_register_multiple(cli_meetme, sizeof(cli_meetme) / sizeof(struct ast_cli_entry));
+	res = ast_manager_register("MeetmeMute", EVENT_FLAG_CALL, action_meetmemute, "Mute a Meetme user");
 	res |= ast_manager_register("MeetmeUnmute", EVENT_FLAG_CALL, action_meetmeunmute, "Unmute a Meetme user");
 	res |= ast_register_application(app3, admin_exec, synopsis3, descrip3);
 	res |= ast_register_application(app2, count_exec, synopsis2, descrip2);

Modified: team/pcadach/chan_h323-live/apps/app_mixmonitor.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_mixmonitor.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_mixmonitor.c (original)
+++ team/pcadach/chan_h323-live/apps/app_mixmonitor.c Mon Sep 18 15:25:52 2006
@@ -421,22 +421,21 @@
 	return ast_complete_channels(line, word, pos, state, 2);
 }
 
-static struct ast_cli_entry cli_mixmonitor = {
-	{ "mixmonitor", NULL, NULL },
-	mixmonitor_cli, 
-	"Execute a MixMonitor command.",
+static struct ast_cli_entry cli_mixmonitor[] = {
+	{ { "mixmonitor", NULL, NULL },
+	mixmonitor_cli, "Execute a MixMonitor command.",
 	"mixmonitor <start|stop> <chan_name> [args]\n\n"
 	"The optional arguments are passed to the\n"
 	"MixMonitor application when the 'start' command is used.\n",
-	complete_mixmonitor_cli
+	complete_mixmonitor_cli },
 };
 
 static int unload_module(void)
 {
 	int res;
 
-	res = ast_cli_unregister(&cli_mixmonitor);
-	res |= ast_unregister_application(stop_app);
+	ast_cli_unregister_multiple(cli_mixmonitor, sizeof(cli_mixmonitor) / sizeof(struct ast_cli_entry));
+	res = ast_unregister_application(stop_app);
 	res |= ast_unregister_application(app);
 	
 	ast_module_user_hangup_all();
@@ -448,8 +447,8 @@
 {
 	int res;
 
-	res = ast_cli_register(&cli_mixmonitor);
-	res |= ast_register_application(app, mixmonitor_exec, synopsis, desc);
+	ast_cli_register_multiple(cli_mixmonitor, sizeof(cli_mixmonitor) / sizeof(struct ast_cli_entry));
+	res = ast_register_application(app, mixmonitor_exec, synopsis, desc);
 	res |= ast_register_application(stop_app, stop_mixmonitor_exec, stop_synopsis, stop_desc);
 
 	return res;

Modified: team/pcadach/chan_h323-live/apps/app_osplookup.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_osplookup.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_osplookup.c (original)
+++ team/pcadach/chan_h323-live/apps/app_osplookup.c Mon Sep 18 15:25:52 2006
@@ -1596,11 +1596,10 @@
 "Usage: osp show\n"
 "       Displays information on Open Settlement Protocol support\n";
 
-static struct ast_cli_entry osp_cli = {
-	{"osp", "show", NULL}, 
-	osp_show, 
-	"Displays OSP information", 
-	osp_usage 
+static struct ast_cli_entry cli_osp[] = {
+	{ { "osp", "show", NULL},
+	osp_show, "Displays OSP information",
+	osp_usage },
 };
 
 static int load_module(void)
@@ -1610,8 +1609,8 @@
 	if(!osp_load())
 		return AST_MODULE_LOAD_DECLINE;
 
-	res = ast_cli_register(&osp_cli);
-	res |= ast_register_application(app1, ospauth_exec, synopsis1, descrip1);
+	ast_cli_register_multiple(cli_osp, sizeof(cli_osp) / sizeof(struct ast_cli_entry));
+	res = ast_register_application(app1, ospauth_exec, synopsis1, descrip1);
 	res |= ast_register_application(app2, osplookup_exec, synopsis2, descrip2);
 	res |= ast_register_application(app3, ospnext_exec, synopsis3, descrip3);
 	res |= ast_register_application(app4, ospfinished_exec, synopsis4, descrip4);
@@ -1627,7 +1626,7 @@
 	res |= ast_unregister_application(app3);
 	res |= ast_unregister_application(app2);
 	res |= ast_unregister_application(app1);
-	res |= ast_cli_unregister(&osp_cli);
+	ast_cli_unregister_multiple(cli_osp, sizeof(cli_osp) / sizeof(struct ast_cli_entry));
 	osp_unload();
 
 	ast_module_user_hangup_all();

Modified: team/pcadach/chan_h323-live/apps/app_playback.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_playback.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_playback.c (original)
+++ team/pcadach/chan_h323-live/apps/app_playback.c Mon Sep 18 15:25:52 2006
@@ -371,8 +371,10 @@
 	return RESULT_SUCCESS;
 }
 
-static struct ast_cli_entry myclis[] = {
-        { { "say", "load", NULL }, __say_init, "set/show the say mode", "say load new|old" },
+static struct ast_cli_entry cli_playback[] = {
+        { { "say", "load", NULL },
+	__say_init, "set/show the say mode",
+	"say load new|old" },
 };
 
 static int playback_exec(struct ast_channel *chan, void *data)
@@ -478,7 +480,7 @@
 static int load_module(void)
 {
 	reload();
-        ast_cli_register_multiple(myclis, sizeof(myclis)/sizeof(struct ast_cli_entry));
+        ast_cli_register_multiple(cli_playback, sizeof(cli_playback) / sizeof(struct ast_cli_entry));
 	return ast_register_application(app, playback_exec, synopsis, descrip);
 }
 

Modified: team/pcadach/chan_h323-live/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_queue.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_queue.c (original)
+++ team/pcadach/chan_h323-live/apps/app_queue.c Mon Sep 18 15:25:52 2006
@@ -3941,7 +3941,7 @@
 	return RESULT_SUCCESS;
 }
 
-static int queues_show(int fd, int argc, char **argv)
+static int queue_list(int fd, int argc, char **argv)
 {
 	return __queues_show(NULL, 0, fd, argc, argv, 0);
 }
@@ -3975,7 +3975,7 @@
  */
 static int manager_queues_show( struct mansession *s, struct message *m )
 {
-	char *a[] = { "show", "queues" };
+	char *a[] = { "queue", "list" };
 
 	__queues_show(s, 1, -1, 2, a, 0);
 	astman_append(s, "\r\n\r\n");	/* Properly terminate Manager output */
@@ -4175,7 +4175,7 @@
 	return 0;
 }
 
-static int handle_add_queue_member(int fd, int argc, char *argv[])
+static int handle_queue_add_member(int fd, int argc, char *argv[])
 {
 	char *queuename, *interface;
 	int penalty;
@@ -4222,9 +4222,9 @@
 	}
 }
 
-static char *complete_add_queue_member(const char *line, const char *word, int pos, int state)
-{
-	/* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - to; 5 - <queue>; 6 - penalty; 7 - <penalty> */
+static char *complete_queue_add_member(const char *line, const char *word, int pos, int state)
+{
+	/* 0 - queue; 1 - add; 2 - member; 3 - <member>; 4 - to; 5 - <queue>; 6 - penalty; 7 - <penalty> */
 	switch (pos) {
 	case 3:	/* Don't attempt to complete name of member (infinite possibilities) */
 		return NULL;
@@ -4249,7 +4249,7 @@
 	}
 }
 
-static int handle_remove_queue_member(int fd, int argc, char *argv[])
+static int handle_queue_remove_member(int fd, int argc, char *argv[])
 {
 	char *queuename, *interface;
 
@@ -4280,13 +4280,13 @@
 	}
 }
 
-static char *complete_remove_queue_member(const char *line, const char *word, int pos, int state)
+static char *complete_queue_remove_member(const char *line, const char *word, int pos, int state)
 {
 	int which = 0;
 	struct call_queue *q;
 	struct member *m;
 
-	/* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
+	/* 0 - queue; 1 - remove; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
 	if (pos > 5 || pos < 3)
 		return NULL;
 	if (pos == 4)	/* only one possible match, 'from' */
@@ -4312,44 +4312,64 @@
 	return NULL;
 }
 
-static char show_queues_usage[] =
-"Usage: show queues\n"
+static char queue_list_usage[] =
+"Usage: queue list\n"
 "       Provides summary information on call queues.\n";
 
-static struct ast_cli_entry cli_show_queues = {
-	{ "show", "queues", NULL }, queues_show,
-	"Show status of queues", show_queues_usage, NULL };
-
-static char show_queue_usage[] =
-"Usage: show queue\n"
+static char queue_show_usage[] =
+"Usage: queue show\n"
 "       Provides summary information on a specified queue.\n";
 
-static struct ast_cli_entry cli_show_queue = {
-	{ "show", "queue", NULL }, queue_show,
-	"Show status of a specified queue", show_queue_usage, complete_queue };
-
-static char aqm_cmd_usage[] =
-"Usage: add queue member <channel> to <queue> [penalty <penalty>]\n";
-
-static struct ast_cli_entry cli_add_queue_member = {
-	{ "add", "queue", "member", NULL }, handle_add_queue_member,
-	"Add a channel to a specified queue", aqm_cmd_usage, complete_add_queue_member };
-
-static char rqm_cmd_usage[] =
-"Usage: remove queue member <channel> from <queue>\n";
-
-static struct ast_cli_entry cli_remove_queue_member = {
-	{ "remove", "queue", "member", NULL }, handle_remove_queue_member,
-	"Removes a channel from a specified queue", rqm_cmd_usage, complete_remove_queue_member };
+static char qam_cmd_usage[] =
+"Usage: queue add member <channel> to <queue> [penalty <penalty>]\n";
+
+static char qrm_cmd_usage[] =
+"Usage: queue remove member <channel> from <queue>\n";
+
+static struct ast_cli_entry cli_show_queues_deprecated = {
+	{ "show", "queues", NULL },
+	queue_list, NULL,
+	NULL, NULL };
+
+static struct ast_cli_entry cli_show_queue_deprecated = {
+	{ "show", "queue", NULL },
+	queue_show, NULL,
+	NULL, complete_queue };
+
+static struct ast_cli_entry cli_add_queue_member_deprecated = {
+	{ "add", "queue", "member", NULL },
+	handle_queue_add_member, NULL,
+	NULL, complete_queue_add_member };
+
+static struct ast_cli_entry cli_remove_queue_member_deprecated = {
+	{ "remove", "queue", "member", NULL },
+	handle_queue_remove_member, NULL,
+	NULL, complete_queue_remove_member };
+
+static struct ast_cli_entry cli_queue[] = {
+	{ { "queue", "list", NULL },
+	queue_list, "Show status of queues",
+	queue_list_usage, NULL, &cli_show_queues_deprecated },
+
+	{ { "queue", "show", NULL },
+	queue_show, "Show status of a specified queue",
+	queue_show_usage, complete_queue, &cli_show_queue_deprecated },
+
+	{ { "queue", "add", "member", NULL },
+	handle_queue_add_member, "Add a channel to a specified queue",
+	qam_cmd_usage, complete_queue_add_member, &cli_add_queue_member_deprecated },
+
+	{ { "queue", "remove", "member", NULL },
+	handle_queue_remove_member, "Removes a channel from a specified queue",
+	qrm_cmd_usage, complete_queue_remove_member, &cli_remove_queue_member_deprecated },
+};
 
 static int unload_module(void)
 {
 	int res;
 
-	res = ast_cli_unregister(&cli_show_queue);
-	res |= ast_cli_unregister(&cli_show_queues);
-	res |= ast_cli_unregister(&cli_add_queue_member);
-	res |= ast_cli_unregister(&cli_remove_queue_member);
+	ast_cli_unregister_multiple(cli_queue, sizeof(cli_queue) / sizeof(struct ast_cli_entry));
+	res = ast_manager_unregister("QueueStatus");
 	res |= ast_manager_unregister("Queues");
 	res |= ast_manager_unregister("QueueStatus");
 	res |= ast_manager_unregister("QueueAdd");
@@ -4360,11 +4380,11 @@
 	res |= ast_unregister_application(app_pqm);
 	res |= ast_unregister_application(app_upqm);
 	res |= ast_unregister_application(app_ql);
+	res |= ast_unregister_application(app);
 	res |= ast_custom_function_unregister(&queueagentcount_function);
 	res |= ast_custom_function_unregister(&queuemembercount_function);
 	res |= ast_custom_function_unregister(&queuememberlist_function);
 	res |= ast_custom_function_unregister(&queuewaitingcount_function);
-	res |= ast_unregister_application(app);
 
 	ast_module_user_hangup_all();
 
@@ -4380,21 +4400,18 @@
 		return AST_MODULE_LOAD_DECLINE;
 	if (queue_persistent_members)
 		reload_queue_members();
+	ast_cli_register_multiple(cli_queue, sizeof(cli_queue) / sizeof(struct ast_cli_entry));
 	res = ast_register_application(app, queue_exec, synopsis, descrip);
-	res |= ast_cli_register(&cli_show_queue);
-	res |= ast_cli_register(&cli_show_queues);
-	res |= ast_cli_register(&cli_add_queue_member);
-	res |= ast_cli_register(&cli_remove_queue_member);
+	res |= ast_register_application(app_aqm, aqm_exec, app_aqm_synopsis, app_aqm_descrip);
+	res |= ast_register_application(app_rqm, rqm_exec, app_rqm_synopsis, app_rqm_descrip);
+	res |= ast_register_application(app_pqm, pqm_exec, app_pqm_synopsis, app_pqm_descrip);
+	res |= ast_register_application(app_upqm, upqm_exec, app_upqm_synopsis, app_upqm_descrip);
+	res |= ast_register_application(app_ql, ql_exec, app_ql_synopsis, app_ql_descrip);
 	res |= ast_manager_register("Queues", 0, manager_queues_show, "Queues");
 	res |= ast_manager_register("QueueStatus", 0, manager_queues_status, "Queue Status");
 	res |= ast_manager_register("QueueAdd", EVENT_FLAG_AGENT, manager_add_queue_member, "Add interface to queue.");
 	res |= ast_manager_register("QueueRemove", EVENT_FLAG_AGENT, manager_remove_queue_member, "Remove interface from queue.");
 	res |= ast_manager_register("QueuePause", EVENT_FLAG_AGENT, manager_pause_queue_member, "Makes a queue member temporarily unavailable");
-	res |= ast_register_application(app_aqm, aqm_exec, app_aqm_synopsis, app_aqm_descrip);
-	res |= ast_register_application(app_rqm, rqm_exec, app_rqm_synopsis, app_rqm_descrip);
-	res |= ast_register_application(app_pqm, pqm_exec, app_pqm_synopsis, app_pqm_descrip);
-	res |= ast_register_application(app_upqm, upqm_exec, app_upqm_synopsis, app_upqm_descrip);
-	res |= ast_register_application(app_ql, ql_exec, app_ql_synopsis, app_ql_descrip);
 	res |= ast_custom_function_register(&queueagentcount_function);
 	res |= ast_custom_function_register(&queuemembercount_function);
 	res |= ast_custom_function_register(&queuememberlist_function);

Modified: team/pcadach/chan_h323-live/apps/app_realtime.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_realtime.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_realtime.c (original)
+++ team/pcadach/chan_h323-live/apps/app_realtime.c Mon Sep 18 15:25:52 2006
@@ -69,7 +69,7 @@
 "updated or -1 if an error occurs.\n";
 
 
-static int cli_load_realtime(int fd, int argc, char **argv) 
+static int cli_realtime_load(int fd, int argc, char **argv) 
 {
 	char *header_format = "%30s  %-30s\n";
 	struct ast_variable *var=NULL;
@@ -94,7 +94,7 @@
 	return RESULT_SUCCESS;
 }
 
-static int cli_update_realtime(int fd, int argc, char **argv) {
+static int cli_realtime_update(int fd, int argc, char **argv) {
 	int res = 0;
 
 	if(argc<7) {
@@ -115,21 +115,23 @@
 	return RESULT_SUCCESS;
 }
 
-static char cli_load_realtime_usage[] =
+static char cli_realtime_load_usage[] =
 "Usage: realtime load <family> <colmatch> <value>\n"
 "       Prints out a list of variables using the RealTime driver.\n";
 
-static struct ast_cli_entry cli_load_realtime_cmd = {
-        { "realtime", "load", NULL, NULL }, cli_load_realtime,
-        "Used to print out RealTime variables.", cli_load_realtime_usage, NULL };
-
-static char cli_update_realtime_usage[] =
+static char cli_realtime_update_usage[] =
 "Usage: realtime update <family> <colmatch> <value>\n"
 "       Update a single variable using the RealTime driver.\n";
 
-static struct ast_cli_entry cli_update_realtime_cmd = {
-        { "realtime", "update", NULL, NULL }, cli_update_realtime,
-        "Used to update RealTime variables.", cli_update_realtime_usage, NULL };
+static struct ast_cli_entry cli_realtime[] = {
+	{ { "realtime", "load", NULL, NULL },
+	cli_realtime_load, "Used to print out RealTime variables.",
+	cli_realtime_load_usage, NULL },
+
+	{ { "realtime", "update", NULL, NULL },
+	cli_realtime_update, "Used to update RealTime variables.",
+	cli_realtime_update_usage, NULL },
+};
 
 static int realtime_update_exec(struct ast_channel *chan, void *data) 
 {
@@ -236,9 +238,8 @@
 {
 	int res;
 
-	res = ast_cli_unregister(&cli_load_realtime_cmd);
-	res |= ast_cli_unregister(&cli_update_realtime_cmd);
-	res |= ast_unregister_application(uapp);
+	ast_cli_unregister_multiple(cli_realtime, sizeof(cli_realtime) / sizeof(struct ast_cli_entry));
+	res = ast_unregister_application(uapp);
 	res |= ast_unregister_application(app);
 
 	ast_module_user_hangup_all();
@@ -250,9 +251,8 @@
 {
 	int res;
 
-	res = ast_cli_register(&cli_load_realtime_cmd);
-	res |= ast_cli_register(&cli_update_realtime_cmd);
-	res |= ast_register_application(uapp, realtime_update_exec, usynopsis, udesc);
+	ast_cli_register_multiple(cli_realtime, sizeof(cli_realtime) / sizeof(struct ast_cli_entry));
+	res = ast_register_application(uapp, realtime_update_exec, usynopsis, udesc);
 	res |= ast_register_application(app, realtime_exec, synopsis, desc);
 
 	return res;

Modified: team/pcadach/chan_h323-live/apps/app_rpt.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_rpt.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_rpt.c (original)
+++ team/pcadach/chan_h323-live/apps/app_rpt.c Mon Sep 18 15:25:52 2006
@@ -726,29 +726,30 @@
 "Usage: rpt restart\n"
 "       Restarts app_rpt\n";
 
-static struct ast_cli_entry  cli_debug =
-        { { "rpt", "debug", "level" }, rpt_do_debug, 
-		"Enable app_rpt debugging", debug_usage };
-
-static struct ast_cli_entry  cli_dump =
-        { { "rpt", "dump" }, rpt_do_dump,
-		"Dump app_rpt structs for debugging", dump_usage };
-
-static struct ast_cli_entry  cli_stats =
-        { { "rpt", "stats" }, rpt_do_stats,
-		"Dump node statistics", dump_stats };
-
-static struct ast_cli_entry  cli_lstats =
-        { { "rpt", "lstats" }, rpt_do_lstats,
-		"Dump link statistics", dump_lstats };
-
-static struct ast_cli_entry  cli_reload =
-        { { "rpt", "reload" }, rpt_do_reload,
-		"Reload app_rpt config", reload_usage };
-
-static struct ast_cli_entry  cli_restart =
-        { { "rpt", "restart" }, rpt_do_restart,
-		"Restart app_rpt", restart_usage };
+static struct ast_cli_entry cli_rpt[] = {
+	{ { "rpt", "debug", "level" },
+	rpt_do_debug, "Enable app_rpt debugging",
+	debug_usage },
+
+        { { "rpt", "dump" },
+	rpt_do_dump, "Dump app_rpt structs for debugging",
+	dump_usage },
+
+        { { "rpt", "stats" },
+	rpt_do_stats, "Dump node statistics",
+	dump_stats },
+        { { "rpt", "lstats" },
+	rpt_do_lstats, "Dump link statistics",
+	dump_lstats },
+
+        { { "rpt", "reload" },
+	rpt_do_reload, "Reload app_rpt config",
+	reload_usage },
+
+        { { "rpt", "restart" },
+	rpt_do_restart, "Restart app_rpt",
+	restart_usage },
+};
 
 /*
 * Telemetry defaults
@@ -8018,12 +8019,7 @@
 	i = ast_unregister_application(app);
 
 	/* Unregister cli extensions */
-	ast_cli_unregister(&cli_debug);
-	ast_cli_unregister(&cli_dump);
-	ast_cli_unregister(&cli_stats);
-	ast_cli_unregister(&cli_lstats);
-	ast_cli_unregister(&cli_reload);
-	ast_cli_unregister(&cli_restart);
+	ast_cli_unregister_multiple(cli_rpt, sizeof(cli_rpt) / sizeof(struct ast_cli_entry));
 
 	return i;
 }
@@ -8038,12 +8034,7 @@
 	ast_pthread_create(&rpt_master_thread,NULL,rpt_master,cfg);
 
 	/* Register cli extensions */
-	ast_cli_register(&cli_debug);
-	ast_cli_register(&cli_dump);
-	ast_cli_register(&cli_stats);
-	ast_cli_register(&cli_lstats);
-	ast_cli_register(&cli_reload);
-	ast_cli_register(&cli_restart);
+	ast_cli_register_multiple(cli_rpt, sizeof(cli_rpt) / sizeof(struct ast_cli_entry));
 
 	return ast_register_application(app, rpt_exec, synopsis, descrip);
 }

Modified: team/pcadach/chan_h323-live/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/apps/app_voicemail.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/apps/app_voicemail.c (original)
+++ team/pcadach/chan_h323-live/apps/app_voicemail.c Mon Sep 18 15:25:52 2006
@@ -6713,15 +6713,15 @@
 	return res;
 }
 
-static char show_voicemail_users_help[] =
-"Usage: show voicemail users [for <context>]\n"
+static char voicemail_show_users_help[] =
+"Usage: voicemail list users [for <context>]\n"
 "       Lists all mailboxes currently set up\n";
 
-static char show_voicemail_zones_help[] =
-"Usage: show voicemail zones\n"
+static char voicemail_show_zones_help[] =
+"Usage: voicemail list zones\n"
 "       Lists zone message formats\n";
 
-static int handle_show_voicemail_users(int fd, int argc, char *argv[])
+static int handle_voicemail_show_users(int fd, int argc, char *argv[])
 {
 	struct ast_vm_user *vmu;
 	char *output_format = "%-10s %-5s %-25s %-10s %6s\n";
@@ -6776,7 +6776,7 @@
 	return RESULT_SUCCESS;
 }
 
-static int handle_show_voicemail_zones(int fd, int argc, char *argv[])
+static int handle_voicemail_show_zones(int fd, int argc, char *argv[])
 {
 	struct vm_zone *zone;
 	char *output_format = "%-15s %-20s %-45s\n";
@@ -6800,7 +6800,7 @@
 	return res;
 }
 
-static char *complete_show_voicemail_users(const char *line, const char *word, int pos, int state)
+static char *complete_voicemail_show_users(const char *line, const char *word, int pos, int state)
 {
 	int which = 0;
 	int wordlen;
@@ -6824,15 +6824,25 @@
 	return NULL;
 }
 
-static struct ast_cli_entry show_voicemail_users_cli =
-	{ { "show", "voicemail", "users", NULL },
-	handle_show_voicemail_users, "List defined voicemail boxes",
-	show_voicemail_users_help, complete_show_voicemail_users };
-
-static struct ast_cli_entry show_voicemail_zones_cli =
-	{ { "show", "voicemail", "zones", NULL },
-	handle_show_voicemail_zones, "List zone message formats",
-	show_voicemail_zones_help, NULL };
+static struct ast_cli_entry cli_show_voicemail_users_deprecated = {
+	{ "show", "voicemail", "users", NULL },
+	handle_voicemail_show_users, NULL,
+	NULL, complete_voicemail_show_users };
+
+static struct ast_cli_entry cli_show_voicemail_zones_deprecated = {
+	{ "show", "voicemail", "zones", NULL },
+	handle_voicemail_show_zones, NULL,
+	NULL, NULL };
+
+static struct ast_cli_entry cli_voicemail[] = {
+	{ { "voicemail", "list", "users", NULL },
+	handle_voicemail_show_users, "List defined voicemail boxes",
+	voicemail_show_users_help, complete_voicemail_show_users, &cli_show_voicemail_users_deprecated },
+
+	{ { "voicemail", "list", "zones", NULL },
+	handle_voicemail_show_zones, "List zone message formats",
+	voicemail_show_zones_help, NULL, &cli_show_voicemail_zones_deprecated },
+};
 
 static int load_config(void)
 {
@@ -7362,8 +7372,7 @@
 	res |= ast_unregister_application(app2);
 	res |= ast_unregister_application(app3);
 	res |= ast_unregister_application(app4);
-	res |= ast_cli_unregister(&show_voicemail_users_cli);
-	res |= ast_cli_unregister(&show_voicemail_zones_cli);
+	ast_cli_unregister_multiple(cli_voicemail, sizeof(cli_voicemail) / sizeof(struct ast_cli_entry));
 	ast_uninstall_vm_functions();
 	
 	ast_module_user_hangup_all();
@@ -7385,8 +7394,7 @@
 		return(res);
 	}
 
-	ast_cli_register(&show_voicemail_users_cli);
-	ast_cli_register(&show_voicemail_zones_cli);
+	ast_cli_register_multiple(cli_voicemail, sizeof(cli_voicemail) / sizeof(struct ast_cli_entry));
 
 	/* compute the location of the voicemail spool directory */
 	snprintf(VM_SPOOL_DIR, sizeof(VM_SPOOL_DIR), "%s/voicemail/", ast_config_AST_SPOOL_DIR);

Modified: team/pcadach/chan_h323-live/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/channels/chan_agent.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/channels/chan_agent.c (original)
+++ team/pcadach/chan_h323-live/channels/chan_agent.c Mon Sep 18 15:25:52 2006
@@ -1682,11 +1682,11 @@
 
 
 static char show_agents_usage[] = 
-"Usage: show agents\n"
+"Usage: agent list\n"
 "       Provides summary information on agents.\n";
 
 static char show_agents_online_usage[] =
-"Usage: show agents\n"
+"Usage: agent list online\n"
 "	Provides a list of all online agents.\n";
 
 static char agent_logoff_usage[] =
@@ -1694,17 +1694,29 @@
 "       Sets an agent as no longer logged in.\n"
 "       If 'soft' is specified, do not hangup existing calls.\n";
 
-static struct ast_cli_entry cli_show_agents = {
-	{ "show", "agents", NULL }, agents_show, 
-	"Show status of agents", show_agents_usage, NULL };
-
-static struct ast_cli_entry cli_show_agents_online = {
-	{ "show", "agents", "online" }, agents_show_online,
-	"Show all online agents", show_agents_online_usage, NULL };
-
-static struct ast_cli_entry cli_agent_logoff = {
-	{ "agent", "logoff", NULL }, agent_logoff_cmd, 
-	"Sets an agent offline", agent_logoff_usage, complete_agent_logoff_cmd };
+static struct ast_cli_entry cli_show_agents_deprecated = {
+	{ "show", "agents", NULL },
+	agents_show, NULL,
+	NULL, NULL };
+
+static struct ast_cli_entry cli_show_agents_online_deprecated = {
+	{ "show", "agents", "online" },
+	agents_show_online, NULL,
+	NULL, NULL };
+
+static struct ast_cli_entry cli_agents[] = {
+	{ { "agent", "list", NULL },
+	agents_show, "Show status of agents",
+	show_agents_usage, NULL, &cli_show_agents_deprecated },
+
+	{ { "agent", "list", "online" },
+	agents_show_online, "Show all online agents",
+	show_agents_online_usage, NULL, &cli_show_agents_online_deprecated },
+
+	{ { "agent", "logoff", NULL },
+	agent_logoff_cmd, "Sets an agent offline",
+	agent_logoff_usage, complete_agent_logoff_cmd },
+};
 
 /*!
  * \brief Log in agent application.
@@ -2560,9 +2572,7 @@
 	ast_manager_register2("AgentCallbackLogin", EVENT_FLAG_AGENT, action_agent_callback_login, "Sets an agent as logged in by callback", mandescr_agent_callback_login);
 
 	/* CLI Commands */
-	ast_cli_register(&cli_show_agents);
-	ast_cli_register(&cli_show_agents_online);
-	ast_cli_register(&cli_agent_logoff);
+	ast_cli_register_multiple(cli_agents, sizeof(cli_agents) / sizeof(struct ast_cli_entry));
 
 	/* Dialplan Functions */
 	ast_custom_function_register(&agent_function);
@@ -2586,9 +2596,7 @@
 	/* Unregister dialplan functions */
 	ast_custom_function_unregister(&agent_function);	
 	/* Unregister CLI commands */
-	ast_cli_unregister(&cli_show_agents);
-	ast_cli_unregister(&cli_show_agents_online);
-	ast_cli_unregister(&cli_agent_logoff);
+	ast_cli_unregister_multiple(cli_agents, sizeof(cli_agents) / sizeof(struct ast_cli_entry));
 	/* Unregister dialplan applications */
 	ast_unregister_application(app);
 	ast_unregister_application(app2);

Modified: team/pcadach/chan_h323-live/channels/chan_alsa.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/channels/chan_alsa.c?rev=43222&r1=43221&r2=43222&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/channels/chan_alsa.c (original)
+++ team/pcadach/chan_h323-live/channels/chan_alsa.c Mon Sep 18 15:25:52 2006
@@ -841,7 +841,7 @@
 	return tmp;
 }
 
-static int console_autoanswer(int fd, int argc, char *argv[])
+static int console_autoanswer_deprecated(int fd, int argc, char *argv[])
 {
 	int res = RESULT_SUCCESS;
 
@@ -866,6 +866,26 @@
 	return res;
 }
 
+static int console_autoanswer(int fd, int argc, char *argv[])
+{
+	int res = RESULT_SUCCESS;;
+	if ((argc != 2) && (argc != 3))
+		return RESULT_SHOWUSAGE;
+	ast_mutex_lock(&alsalock);
+	if (argc == 2) {
+		ast_cli(fd, "Auto answer is %s.\n", autoanswer ? "on" : "off");
+	} else {
+		if (!strcasecmp(argv[2], "on"))
+			autoanswer = -1;
+		else if (!strcasecmp(argv[2], "off"))
+			autoanswer = 0;
+		else
+			res = RESULT_SHOWUSAGE;
+	}
+	ast_mutex_unlock(&alsalock);
+	return res;
+}
+
 static char *autoanswer_complete(const char *line, const char *word, int pos, int state)
 {
 #ifndef MIN
@@ -885,11 +905,12 @@
 }
 
 static const char autoanswer_usage[] =
-	"Usage: autoanswer [on|off]\n"
+	"Usage: console autoanswer [on|off]\n"
 	"       Enables or disables autoanswer feature.  If used without\n"
-	"       argument, displays the current on/off status of autoanswer.\n" "       The default value of autoanswer is in 'alsa.conf'.\n";
-
-static int console_answer(int fd, int argc, char *argv[])
+	"       argument, displays the current on/off status of autoanswer.\n"
+	"       The default value of autoanswer is in 'alsa.conf'.\n";
+
+static int console_answer_deprecated(int fd, int argc, char *argv[])
 {
 	int res = RESULT_SUCCESS;
 
@@ -921,9 +942,43 @@
 	return RESULT_SUCCESS;
 }
 
-static char sendtext_usage[] = "Usage: send text <message>\n" "       Sends a text message for display on the remote terminal.\n";
-
-static int console_sendtext(int fd, int argc, char *argv[])
+static int console_answer(int fd, int argc, char *argv[])
+{
+	int res = RESULT_SUCCESS;
+
+	if (argc != 2)
+		return RESULT_SHOWUSAGE;
+
+	ast_mutex_lock(&alsalock);
+
+	if (!alsa.owner) {
+		ast_cli(fd, "No one is calling us\n");
+		res = RESULT_FAILURE;
+	} else {
+		hookstate = 1;
+		cursound = -1;
+		grab_owner();
+		if (alsa.owner) {
+			struct ast_frame f = { AST_FRAME_CONTROL, AST_CONTROL_ANSWER };
+			ast_queue_frame(alsa.owner, &f);
+			ast_mutex_unlock(&alsa.owner->lock);
+		}
+		answer_sound();
+	}
+
+	snd_pcm_prepare(alsa.icard);
+	snd_pcm_start(alsa.icard);
+
+	ast_mutex_unlock(&alsalock);
+
+	return RESULT_SUCCESS;
+}
+
+static char sendtext_usage[] =
+	"Usage: console send text <message>\n"
+	"       Sends a text message for display on the remote terminal.\n";
+
+static int console_sendtext_deprecated(int fd, int argc, char *argv[])
 {
 	int tmparg = 2;
 	int res = RESULT_SUCCESS;
@@ -964,9 +1019,52 @@
 	return res;
 }
 
-static char answer_usage[] = "Usage: answer\n" "       Answers an incoming call on the console (ALSA) channel.\n";
-
-static int console_hangup(int fd, int argc, char *argv[])
+static int console_sendtext(int fd, int argc, char *argv[])
+{
+	int tmparg = 3;
+	int res = RESULT_SUCCESS;
+
+	if (argc < 3)
+		return RESULT_SHOWUSAGE;
+
+	ast_mutex_lock(&alsalock);
+
+	if (!alsa.owner) {
+		ast_cli(fd, "No one is calling us\n");
+		res = RESULT_FAILURE;
+	} else {
+		struct ast_frame f = { AST_FRAME_TEXT, 0 };
+		char text2send[256] = "";
+		text2send[0] = '\0';
+		while (tmparg < argc) {
+			strncat(text2send, argv[tmparg++], sizeof(text2send) - strlen(text2send) - 1);
+			strncat(text2send, " ", sizeof(text2send) - strlen(text2send) - 1);
+		}
+		text2send[strlen(text2send) - 1] = '\n';
+		f.data = text2send;
+		f.datalen = strlen(text2send) + 1;
+		grab_owner();
+		if (alsa.owner) {
+			ast_queue_frame(alsa.owner, &f);
+			f.frametype = AST_FRAME_CONTROL;
+			f.subclass = AST_CONTROL_ANSWER;
+			f.data = NULL;
+			f.datalen = 0;
+			ast_queue_frame(alsa.owner, &f);
+			ast_mutex_unlock(&alsa.owner->lock);
+		}
+	}
+
+	ast_mutex_unlock(&alsalock);
+
+	return res;
+}
+
+static char answer_usage[] =
+	"Usage: console answer\n"
+	"       Answers an incoming call on the console (ALSA) channel.\n";
+
+static int console_hangup_deprecated(int fd, int argc, char *argv[])
 {
 	int res = RESULT_SUCCESS;
 

[... 7375 lines stripped ...]


More information about the asterisk-commits mailing list