[svn-commits] mmichelson: branch group/CCSS r246379 - /team/group/CCSS/main/ccss.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Feb 11 18:36:40 CST 2010


Author: mmichelson
Date: Thu Feb 11 18:36:36 2010
New Revision: 246379

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=246379
Log:
Only call kill_duplicate_offers when a generic agent is in use.

The problem here is that when a native agent is used, just because
a calling channel appears to be the same as one that previously had
CC offered to it, this is not always the case.


Modified:
    team/group/CCSS/main/ccss.c

Modified: team/group/CCSS/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=246379&r1=246378&r2=246379
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Thu Feb 11 18:36:36 2010
@@ -2247,15 +2247,17 @@
 	long agent_count;
 	int recall_core_id;
 
+	cc_params = ast_channel_get_cc_config_params(caller_chan);
 	ast_channel_get_device_name(caller_chan, caller, sizeof(caller));
 	/* First, we need to kill off other pending CC offers from caller. If the caller is going
 	 * to request a CC service, it may only be for the latest call he made.
 	 */
-	kill_duplicate_offers(caller);
+	if (ast_get_cc_agent_policy(cc_params) == AST_CC_AGENT_GENERIC) {
+		kill_duplicate_offers(caller);
+	}
 
 	ast_cc_is_recall(caller_chan, &recall_core_id, NULL);
 
-	cc_params = ast_channel_get_cc_config_params(caller_chan);
 	if (!cc_params) {
 		ast_log_dynamic_level(cc_logger_level, "Could not get CC parameters for %s\n",
 			caller);




More information about the svn-commits mailing list