[asterisk-commits] mmichelson: branch group/CCSS r247912 - /team/group/CCSS/main/ccss.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Feb 19 11:31:00 CST 2010
Author: mmichelson
Date: Fri Feb 19 11:30:56 2010
New Revision: 247912
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=247912
Log:
Add doxygen to the ast_control_cc_payload structure to better explain the components.
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=247912&r1=247911&r2=247912
==============================================================================
--- team/group/CCSS/main/ccss.c (original)
+++ team/group/CCSS/main/ccss.c Fri Feb 19 11:30:56 2010
@@ -136,8 +136,23 @@
char cc_agent_dialstring[AST_MAX_EXTENSION];
};
+/*!
+ * \brief The payload for an AST_CONTROL_CC frame
+ *
+ * \details
+ * This contains all the necessary data regarding
+ * a called device so that the CC core will be able
+ * to allocate the proper monitoring resources.
+ */
struct ast_control_cc_payload {
/*!
+ * \brief The type of monitor to allocate.
+ *
+ * \details
+ * The type of monitor to allocate. This is a string which corresponds
+ * to a set of monitor callbacks registered. Examples include "generic"
+ * and "SIP"
+ *
* \note This really should be an array of characters in case this payload
* is sent accross an IAX2 link. However, this would not make too much sense
* given this type may not be recognized by the other end.
@@ -148,11 +163,70 @@
* 2) Alignment padding issues for the element types.
*/
const char *monitor_type;
+ /*!
+ * \brief Private data allocated by the callee
+ *
+ * \details
+ * All channel drivers that monitor endpoints will need to allocate
+ * data that is not usable by the CC core. In most cases, some or all
+ * of this data is allocated at the time that the channel driver offers
+ * CC to the caller. There are many opportunities for failures to occur
+ * between when a channel driver offers CC and when a monitor is actually
+ * allocated to watch the endpoint. For this reason, the channel driver
+ * must give the core a pointer to the private data that was allocated so
+ * that the core can call back into the channel driver to destroy it if
+ * a failure occurs. If no private data has been allocated at the time that
+ * CC is offered, then it is perfectly acceptable to pass NULL for this
+ * field.
+ */
void *private_data;
+ /*!
+ * \brief Service offered by the endpoint
+ *
+ * \details
+ * This indicates the type of call completion service offered by the
+ * endpoint. This data is not crucial to the machinations of the CC core,
+ * but it is helpful for debugging purposes.
+ */
enum ast_cc_service_type service;
+ /*!
+ * \brief Configuration parameters used by this endpoint
+ *
+ * \details
+ * Each time an endpoint offers call completion, it must provide its call
+ * completion configuration parameters. This is because settings may be different
+ * depending on the circumstances.
+ */
struct ast_cc_config_params config_params;
+ /*!
+ * \brief ID of parent extension
+ *
+ * \details
+ * This is the only datum that the CC core derives on its own and is not
+ * provided by the offerer of CC. This provides the core with information on
+ * which extension monitor is the most immediate parent of this device.
+ */
int parent_interface_id;
+ /*!
+ * \brief Name of device to be monitored
+ *
+ * \details
+ * The device name by which this monitored endpoint will be referred in the
+ * CC core. It is highly recommended that this device name is derived by using
+ * the function ast_channel_get_device_name.
+ */
char device_name[AST_CHANNEL_NAME];
+ /*!
+ * \brief Recall dialstring
+ *
+ * \details
+ * Certain channel drivers (DAHDI in particular) will require that a special
+ * dialstring be used to indicate that the outgoing call is to interpreted as
+ * a CC recall. If the channel driver has such a requirement, then this is
+ * where that special recall dialstring is placed. If no special dialstring
+ * is to be used, then the channel driver must provide the original dialstring
+ * used to call this endpoint.
+ */
char dialstring[AST_CHANNEL_NAME];
};
More information about the asterisk-commits
mailing list