From fd0ac387a9683572ee28cc61038b0480938906d3 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" <kpfleming@digium.com> Date: Sat, 19 Aug 2006 17:05:43 +0000 Subject: [PATCH] deprecate chan_agent callback mode git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40521 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- UPGRADE.txt | 9 ++++++++- channels/chan_agent.c | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/UPGRADE.txt b/UPGRADE.txt index 1c572cbcb2..09ba006eaa 100644 --- a/UPGRADE.txt +++ b/UPGRADE.txt @@ -293,6 +293,13 @@ The Zap channel: * Support for MFC/R2 has been removed, as it has not been functional for some time and it has no maintainer. +The Agent channel: + +* Callback mode (AgentCallbackLogin) is now deprecated, since the entire function + it provided can be done using dialplan logic, without requiring additional + channel and module locks (which frequently caused deadlocks). An example of + how to do this using AEL dialplan is in doc/queues-with-callback-members.txt. + The G726-32 codec: * It has been determined that previous versions of Asterisk used the wrong codeword @@ -360,5 +367,5 @@ Music on Hold: starting music on hold on the channel. An example for how this would be useful is in an enterprise network of Asterisk servers. When one phone on one server puts a phone on a different server on hold, the remote server will be - responsibile for playing the hold music to its local phone that was put on + responsible for playing the hold music to its local phone that was put on hold instead of the far end server across the network playing the music. diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 1c3f8d8df1..b8a54e74b0 100644 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -2137,6 +2137,19 @@ 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). * @@ -2147,6 +2160,8 @@ static int login_exec(struct ast_channel *chan, void *data) */ static int callback_exec(struct ast_channel *chan, void *data) { + callback_deprecated(); + return __login_exec(chan, data, 1); } @@ -2168,6 +2183,8 @@ static int action_agent_callback_login(struct mansession *s, struct message *m) 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; -- GitLab