[svn-commits] eliel: branch group/appdocsxml r145748 - /team/group/appdocsxml/funcs/func_cdr.c

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Oct 2 09:03:53 CDT 2008


Author: eliel
Date: Thu Oct  2 09:03:52 2008
New Revision: 145748

URL: http://svn.digium.com/view/asterisk?view=rev&rev=145748
Log:
Introduce CDR() function XML documentation.

Modified:
    team/group/appdocsxml/funcs/func_cdr.c

Modified: team/group/appdocsxml/funcs/func_cdr.c
URL: http://svn.digium.com/view/asterisk/team/group/appdocsxml/funcs/func_cdr.c?view=diff&rev=145748&r1=145747&r2=145748
==============================================================================
--- team/group/appdocsxml/funcs/func_cdr.c (original)
+++ team/group/appdocsxml/funcs/func_cdr.c Thu Oct  2 09:03:52 2008
@@ -35,6 +35,77 @@
 #include "asterisk/utils.h"
 #include "asterisk/app.h"
 #include "asterisk/cdr.h"
+
+/*** DOCUMENTATION
+	<function name="CDR" language="en_US">
+		<synopsis>
+			Gets or sets a CDR variable.
+		</synopsis>	
+		<syntax>
+			<parameter name="name" required="true">
+				<para>CDR field name:</para>
+				<para><literal>clid</literal>: Caller ID.</para>
+				<para><literal>lastdata</literal>: Last application arguments.</para>
+				<para><literal>disposition</literal>: ANSWERED, NO ANSWER, BUSY.</para>
+				<para><literal>src</literal>: Source.</para>
+				<para><literal>start</literal>:Time the call started.</para>
+				<para><literal>amaflags</literal>: DOCUMENTATION, BILL, IGNORE, etc.</para>
+				<para><literal>dst</literal>: Destination.</para>
+				<para><literal>answer</literal>: Time the call was answered.</para>
+				<para><literal>accountcode</literal>: The channel's account code.</para>
+				<para><literal>dcontext</literal>: Destination context.</para>
+				<para><literal>end</literal>: Time the call ended.</para>
+				<para><literal>uniqueid</literal>: The channel's unique id.</para>
+				<para><literal>dstchannel</literal>: Destination channel.</para>
+				<para><literal>duration</literal>: Duration of the call.</para>
+				<para><literal>userfield</literal>: The channel's user specified field.</para>
+				<para><literal>lastapp</literal>: Last application.</para>
+				<para><literal>billsec</literal>: Duration of the call once it was answered.</para>
+				<para><literal>channel</literal>: Channel name.</para>
+			</parameter>
+			<parameter name="options" required="false">
+				<optionlist>
+					<option name="l">
+						<para>Uses the most recent CDR on a channel with multiple records</para>
+					</option>
+					<option name="r">
+						<para>Searches the entire stack of CDRs on the channel.</para>
+					</option>
+					<option name="s">
+						<para>Skips any CDR's that are marked 'LOCKED' due to forkCDR() calls.
+						(on setting/writing CDR vars only)</para>
+					</option>
+					<option name="u">
+						<para>Retrieves the raw, unprocessed value.</para>
+						<para>For example, 'start', 'answer', and 'end' will be retrieved as epoch
+						values, when the <literal>u</literal> option is passed, but formatted as YYYY-MM-DD HH:MM:SS
+						otherwise.  Similarly, disposition and amaflags will return their raw
+						integral values.</para>
+					</option>
+				</optionlist>
+			</parameter>
+		</syntax>
+		<description>
+			<para>All of the CDR field names are read-only, except for <literal>accountcode</literal>,
+			<literal>userfield</literal>, and <literal>amaflags</literal>. You may, however, supply
+			a name not on the above list, and create your own variable, whose value can be changed
+			with this function, and this variable will be stored on the cdr.</para>
+			<note><para>For setting CDR values, the <literal>l</literal> flag does not apply to
+			setting the <literal>accountcode</literal>, <literal>userfield</literal>, or
+			<literal>amaflags</literal>.</para></note>
+			<para>Raw values for <literal>disposition</literal>:</para>
+			<para>1 = NO ANSWER</para>
+			<para>2 = BUSY</para>
+			<para>3 = FAILED</para>
+			<para>4 = ANSWERED</para>
+			<para>Raw values for <literal>amaflags</literal>:</para>
+			<para>1 = OMIT</para>
+			<para>2 = BILLING</para>
+			<para>3 = DOCUMENTATION</para>
+			<para>Example: exten => 1,1,Set(CDR(userfield)=test)</para>
+		</description>
+	</function>
+ ***/
 
 enum {
 	OPT_RECURSIVE = (1 << 0),
@@ -128,44 +199,8 @@
 
 static struct ast_custom_function cdr_function = {
 	.name = "CDR",
-	.synopsis = "Gets or sets a CDR variable",
-	.syntax = "CDR(<name>[,options])",
 	.read = cdr_read,
 	.write = cdr_write,
-	.desc =
-"Options:\n"
-"  'l' uses the most recent CDR on a channel with multiple records\n"
-"  'r' searches the entire stack of CDRs on the channel\n"
-"  's' skips any CDR's that are marked 'LOCKED' due to forkCDR() calls.\n"
-"      (on setting/writing CDR vars only)\n"
-"  'u' retrieves the raw, unprocessed value\n"
-"  For example, 'start', 'answer', and 'end' will be retrieved as epoch\n"
-"  values, when the 'u' option is passed, but formatted as YYYY-MM-DD HH:MM:SS\n"
-"  otherwise.  Similarly, disposition and amaflags will return their raw\n"
-"  integral values.\n"
-"  Here is a list of all the available cdr field names:\n"
-"    clid          lastdata       disposition\n"
-"    src           start          amaflags\n"
-"    dst           answer         accountcode\n"
-"    dcontext      end            uniqueid\n"
-"    dstchannel    duration       userfield\n"
-"    lastapp       billsec        channel\n"
-"  All of the above variables are read-only, except for accountcode,\n"
-"  userfield, and amaflags. You may, however,  supply\n"
-"  a name not on the above list, and create your own\n"
-"  variable, whose value can be changed with this function,\n"
-"  and this variable will be stored on the cdr.\n"
-"  For setting CDR values, the 'l' flag does not apply to\n"
-"  setting the accountcode, userfield, or amaflags.\n"
-"   raw values for disposition:\n"
-"       1 = NO ANSWER\n"
-"       2 = BUSY\n"
-"       3 = FAILED\n"
-"       4 = ANSWERED\n"
-"    raw values for amaflags:\n"
-"       1 = OMIT\n"
-"       2 = BILLING\n"
-"       3 = DOCUMENTATION\n",
 };
 
 static int unload_module(void)




More information about the svn-commits mailing list