[asterisk-commits] mmichelson: branch group/CCSS r234454 - in /team/group/CCSS: include/asterisk...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Dec 11 17:40:29 CST 2009


Author: mmichelson
Date: Fri Dec 11 17:40:25 2009
New Revision: 234454

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=234454
Log:
Add some XXX comments.


Modified:
    team/group/CCSS/include/asterisk/ccss.h
    team/group/CCSS/main/ccss.c

Modified: team/group/CCSS/include/asterisk/ccss.h
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/include/asterisk/ccss.h?view=diff&rev=234454&r1=234453&r2=234454
==============================================================================
--- team/group/CCSS/include/asterisk/ccss.h (original)
+++ team/group/CCSS/include/asterisk/ccss.h Fri Dec 11 17:40:25 2009
@@ -1123,6 +1123,25 @@
  */
 int ast_set_cc_interfaces_chanvar(struct ast_channel *chan, const char * const extension);
 
+/*!
+ * \since 1.6.4
+ * \brief Callback made from ast_cc_callback for certain channel types
+ *
+ * For channel types that fail ast_request when the device is busy, we call into the
+ * channel driver with ast_cc_callback. This is the callback that is called in that
+ * case for each device found which could have been returned by ast_request.
+ *
+ * This function creates a CC control frame payload, simulating the act of reading
+ * it from the nonexistent outgoing channel's frame queue. We then handle this
+ * simulated frame just as we would a normal CC frame which had actually been queued
+ * by the channel driver.
+ *
+ * XXX Currently, this function may not work all that well if dialing, say a DAHDI
+ * group. The reason is that a DAHDI group has multiple potential targets, and each
+ * will call this callback with the same interface_name parameter. The assumed result
+ * is that a bunch of duplicate interfaces will be created and a bunch of duplicated
+ * monitors would be created. Not sure of all the implications really.
+ */
 void ast_cc_busy_interface(struct ast_channel *inbound, struct ast_cc_config_params *cc_params, const char * const interface_name);
 
 /*!

Modified: team/group/CCSS/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS/main/ccss.c?view=diff&rev=234454&r1=234453&r2=234454
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Fri Dec 11 17:40:25 2009
@@ -3168,6 +3168,8 @@
 	return ast_queue_frame(chan, &frame);
 }
 
+/* XXX This function works under the assumption that it will only be called for a single interface name.
+ */
 void ast_cc_busy_interface(struct ast_channel *inbound, struct ast_cc_config_params *cc_params, const char * const interface_name)
 {
 	struct ast_control_cc_payload payload;




More information about the asterisk-commits mailing list