summaryrefslogtreecommitdiff
path: root/channels/chan_agent.c
diff options
context:
space:
mode:
authorTilghman Lesher <tilghman@meg.abyt.es>2006-09-21 21:59:12 +0000
committerTilghman Lesher <tilghman@meg.abyt.es>2006-09-21 21:59:12 +0000
commit6ae874151842eef4da11c870c418dc4b2b6c9d4b (patch)
treef166bba69d92b06b74ab2323297f68cfcd7789fb /channels/chan_agent.c
parentf1d824aabacb3dfbda8c406e0d4e22c279cf2638 (diff)
Lots more removal of deprecated things
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43452 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_agent.c')
-rw-r--r--channels/chan_agent.c139
1 files changed, 2 insertions, 137 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 92027fb5e..42d795a06 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -77,11 +77,9 @@ static const char tdesc[] = "Call Agent Proxy Channel";
static const char config[] = "agents.conf";
static const char app[] = "AgentLogin";
-static const char app2[] = "AgentCallbackLogin";
static const char app3[] = "AgentMonitorOutgoing";
static const char synopsis[] = "Call agent login";
-static const char synopsis2[] = "Call agent callback login";
static const char synopsis3[] = "Record agent's outgoing call";
static const char descrip[] =
@@ -93,14 +91,6 @@ static const char descrip[] =
"The option string may contain zero or more of the following characters:\n"
" 's' -- silent login - do not announce the login ok segment after agent logged in/off\n";
-static const char descrip2[] =
-" AgentCallbackLogin([AgentNo][|[options][|[exten]@context]]):\n"
-"Asks the agent to login to the system with callback.\n"
-"The agent's callback extension is called (optionally with the specified\n"
-"context).\n"
-"The option string may contain zero or more of the following characters:\n"
-" 's' -- silent login - do not announce the login ok segment agent logged in/off\n";
-
static const char descrip3[] =
" AgentMonitorOutgoing([options]):\n"
"Tries to figure out the id of the agent who is placing outgoing call based on\n"
@@ -1733,24 +1723,14 @@ static char agent_logoff_usage[] =
" 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_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 },
+ show_agents_usage },
{ { "agent", "list", "online" },
agents_show_online, "Show all online agents",
- show_agents_online_usage, NULL, &cli_show_agents_online_deprecated },
+ show_agents_online_usage },
{ { "agent", "logoff", NULL },
agent_logoff_cmd, "Sets an agent offline",
@@ -2200,117 +2180,6 @@ static int login_exec(struct ast_channel *chan, void *data)
return __login_exec(chan, data, 0);
}
-static void callback_deprecated(void)
-{
- static int depwarning = 0;
-
- if (!depwarning) {
- depwarning = 1;
-
- ast_log(LOG_WARNING, "AgentCallbackLogin is deprecated and will be removed in a future release.\n");
- ast_log(LOG_WARNING, "See doc/queues-with-callback-members.txt for an example of how to achieve\n");
- ast_log(LOG_WARNING, "the same functionality using only dialplan logic.\n");
- }
-}
-
-/*!
- * Called by the AgentCallbackLogin application (from the dial plan).
- *
- * \param chan
- * \param data
- * \returns
- * \sa login_exec(), agentmonitoroutgoing_exec(), load_module().
- */
-static int callback_exec(struct ast_channel *chan, void *data)
-{
- callback_deprecated();
-
- return __login_exec(chan, data, 1);
-}
-
-/*!
- * Sets an agent as logged in by callback in the Manager API.
- * It is registered on load_module() and it gets called by the manager backend.
- * \param s
- * \param m
- * \returns
- * \sa action_agents(), action_agent_logoff(), load_module().
- */
-static int action_agent_callback_login(struct mansession *s, struct message *m)
-{
- char *agent = astman_get_header(m, "Agent");
- char *exten = astman_get_header(m, "Exten");
- char *context = astman_get_header(m, "Context");
- char *wrapuptime_s = astman_get_header(m, "WrapupTime");
- char *ackcall_s = astman_get_header(m, "AckCall");
- struct agent_pvt *p;
- int login_state = 0;
-
- callback_deprecated();
-
- if (ast_strlen_zero(agent)) {
- astman_send_error(s, m, "No agent specified");
- return 0;
- }
-
- if (ast_strlen_zero(exten)) {
- astman_send_error(s, m, "No extension specified");
- return 0;
- }
-
- AST_LIST_LOCK(&agents);
- AST_LIST_TRAVERSE(&agents, p, list) {
- if (strcmp(p->agent, agent) || p->pending)
- continue;
- if (p->chan) {
- login_state = 2; /* already logged in (and on the phone)*/
- break;
- }
- ast_mutex_lock(&p->lock);
- login_state = 1; /* Successful Login */
-
- if (ast_strlen_zero(context))
- ast_copy_string(p->loginchan, exten, sizeof(p->loginchan));
- else
- snprintf(p->loginchan, sizeof(p->loginchan), "%s@%s", exten, context);
-
- if (!ast_strlen_zero(wrapuptime_s)) {
- p->wrapuptime = atoi(wrapuptime_s);
- if (p->wrapuptime < 0)
- p->wrapuptime = 0;
- }
-
- if (ast_true(ackcall_s))
- p->ackcall = 1;
- else
- p->ackcall = 0;
-
- if (p->loginstart == 0)
- time(&p->loginstart);
- manager_event(EVENT_FLAG_AGENT, "Agentcallbacklogin",
- "Agent: %s\r\n"
- "Loginchan: %s\r\n",
- p->agent, p->loginchan);
- ast_queue_log("NONE", "NONE", agent, "AGENTCALLBACKLOGIN", "%s", p->loginchan);
- if (option_verbose > 1)
- ast_verbose(VERBOSE_PREFIX_2 "Callback Agent '%s' logged in on %s\n", p->agent, p->loginchan);
- ast_device_state_changed("Agent/%s", p->agent);
- ast_mutex_unlock(&p->lock);
- if (persistent_agents)
- dump_agents();
- }
- AST_LIST_UNLOCK(&agents);
-
- if (login_state == 1)
- astman_send_ack(s, m, "Agent logged in");
- else if (login_state == 0)
- astman_send_error(s, m, "No such agent");
- else if (login_state == 2)
- astman_send_error(s, m, "Agent already logged in");
-
- return 0;
-}
-
/*!
* \brief Called by the AgentMonitorOutgoing application (from the dial plan).
*
@@ -2602,13 +2471,11 @@ static int load_module(void)
reload_agents();
/* Dialplan applications */
ast_register_application(app, login_exec, synopsis, descrip);
- ast_register_application(app2, callback_exec, synopsis2, descrip2);
ast_register_application(app3, agentmonitoroutgoing_exec, synopsis3, descrip3);
/* Manager commands */
ast_manager_register2("Agents", EVENT_FLAG_AGENT, action_agents, "Lists agents and their status", mandescr_agents);
ast_manager_register2("AgentLogoff", EVENT_FLAG_AGENT, action_agent_logoff, "Sets an agent as no longer logged in", mandescr_agent_logoff);
- 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_multiple(cli_agents, sizeof(cli_agents) / sizeof(struct ast_cli_entry));
@@ -2638,12 +2505,10 @@ static int unload_module(void)
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);
ast_unregister_application(app3);
/* Unregister manager command */
ast_manager_unregister("Agents");
ast_manager_unregister("AgentLogoff");
- ast_manager_unregister("AgentCallbackLogin");
/* Unregister channel */
AST_LIST_LOCK(&agents);
/* Hangup all interfaces if they have an owner */