[svn-commits] mmichelson: branch mmichelson/queue-log-atxfer r121991 - /team/mmichelson/que...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Jun 11 17:46:48 CDT 2008


Author: mmichelson
Date: Wed Jun 11 17:46:47 2008
New Revision: 121991

URL: http://svn.digium.com/view/asterisk?view=rev&rev=121991
Log:
Add doxygen to new functions


Modified:
    team/mmichelson/queue-log-atxfer/apps/app_queue.c

Modified: team/mmichelson/queue-log-atxfer/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/mmichelson/queue-log-atxfer/apps/app_queue.c?view=diff&rev=121991&r1=121990&r2=121991
==============================================================================
--- team/mmichelson/queue-log-atxfer/apps/app_queue.c (original)
+++ team/mmichelson/queue-log-atxfer/apps/app_queue.c Wed Jun 11 17:46:47 2008
@@ -3049,12 +3049,23 @@
 	int starttime;
 };
 
+/*! \brief a datastore used to help correctly log attended transfers of queue callers
+ */
 static const struct ast_datastore_info queue_transfer_info = {
 	.type = "queue_transfer",
 	.destroy = queue_transfer_destroy,
 	.chan_fixup = queue_transfer_fixup,
 };
 
+/*! \brief Log an attended transfer when a queue caller channel is masqueraded
+ *
+ * When a caller is masqueraded, we want to log a transfer. Fixup time is the closest we can come to when
+ * the actual transfer occurs. This happens during the masquerade after datastores are moved from old_chan
+ * to new_chan. This is why new_chan is referenced for exten, context, and datastore information.
+ *
+ * At the end of this, we want to remove the datastore so that this does not get called on any further
+ * transfers during this call.
+ */
 static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan) 
 {
 	struct queue_transfer_ds *qtds = data;
@@ -3073,15 +3084,19 @@
 	ast_channel_datastore_remove(new_chan, datastore);
 }
 
-/* When a caller is atxferred, then the queue_transfer_info datastore
- * is removed from the channel. If it's still there, then the caller was
- * not atxferred
+/*! \brief mechanism to tell if a queue caller was atxferred by a queue member.
+ *
+ * When a caller is atxferred, then the queue_transfer_info datastore
+ * is removed from the channel. If it's still there after the bridge is
+ * broken, then the caller was not atxferred.
  */
 static int attended_transfer_occurred(struct ast_channel *chan)
 {
 	return ast_channel_datastore_find(chan, &queue_transfer_info, NULL) ? 0 : 1;
 }
 
+/*! \brief create a datastore for storing relevant info to log attended transfers in the queue_log
+ */
 static void setup_transfer_datastore(struct queue_ent *qe, struct member *member, int starttime)
 {
 	struct ast_datastore *ds;




More information about the svn-commits mailing list