[asterisk-commits] mmichelson: branch group/CCSS r231615 - /team/group/CCSS/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Nov 30 15:12:01 CST 2009


Author: mmichelson
Date: Mon Nov 30 15:11:59 2009
New Revision: 231615

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=231615
Log:
Fill in the sip_cc_agent_recall function.


Modified:
    team/group/CCSS/channels/chan_sip.c

Modified: team/group/CCSS/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/channels/chan_sip.c?view=diff&rev=231615&r1=231614&r2=231615
==============================================================================
--- team/group/CCSS/channels/chan_sip.c (original)
+++ team/group/CCSS/channels/chan_sip.c Mon Nov 30 15:11:59 2009
@@ -3453,7 +3453,18 @@
 
 static int sip_cc_agent_recall(struct ast_cc_agent *agent)
 {
-	/* Here, we need to send a NOTIFY with the "open" state */
+	struct sip_cc_agent_pvt *agent_pvt = agent->private_data;
+	/* If we have received a PUBLISH beforehand stating that the caller in question
+	 * is not available, we can save ourself a bit of effort here and just report
+	 * the caller as busy
+	 */
+	if (!agent_pvt->is_available) {
+		return ast_cc_agent_caller_busy(agent->core_id, "Caller is busy, reporting to the core");
+	}
+	/* Otherwise, we transmit a NOTIFY to the caller and await either
+	 * a PUBLISH or an INVITE
+	 */
+	transmit_cc_notify(agent, agent_pvt->subscribe_pvt, CC_READY);
 	return 0;
 }
 




More information about the asterisk-commits mailing list