[asterisk-commits] kpfleming: trunk r40521 - in /trunk: UPGRADE.txt channels/chan_agent.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Sat Aug 19 10:05:44 MST 2006


Author: kpfleming
Date: Sat Aug 19 12:05:43 2006
New Revision: 40521

URL: http://svn.digium.com/view/asterisk?rev=40521&view=rev
Log:
deprecate chan_agent callback mode

Modified:
    trunk/UPGRADE.txt
    trunk/channels/chan_agent.c

Modified: trunk/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/trunk/UPGRADE.txt?rev=40521&r1=40520&r2=40521&view=diff
==============================================================================
--- trunk/UPGRADE.txt (original)
+++ trunk/UPGRADE.txt Sat Aug 19 12:05:43 2006
@@ -293,6 +293,13 @@
 * 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 @@
   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.

Modified: trunk/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_agent.c?rev=40521&r1=40520&r2=40521&view=diff
==============================================================================
--- trunk/channels/chan_agent.c (original)
+++ trunk/channels/chan_agent.c Sat Aug 19 12:05:43 2006
@@ -2137,6 +2137,19 @@
 	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 callback_exec(struct ast_channel *chan, void *data)
 {
+	callback_deprecated();
+
 	return __login_exec(chan, data, 1);
 }
 
@@ -2167,6 +2182,8 @@
 	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");



More information about the asterisk-commits mailing list