<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2172/18/9/_/styles/combined.css?spaceKey=AST&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_CDR">Asterisk 11 Function_CDR</a></h2>
    <h4>Page  <b>added</b> by             <a href="https://wiki.asterisk.org/wiki/display/~wikibot">Wiki Bot</a>
    </h4>
         <br/>
    <div class="notificationGreySide">
         <h1><a name="Asterisk11Function_CDR-CDR%28%29"></a>CDR()</h1>

<h3><a name="Asterisk11Function_CDR-Synopsis"></a>Synopsis</h3>

<p>Gets or sets a CDR variable.</p>
<h3><a name="Asterisk11Function_CDR-Description"></a>Description</h3>



<p>All of the CDR field names are read-only, except for <tt>accountcode</tt>, <tt>userfield</tt>, and <tt>amaflags</tt>. 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.</p>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/information.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>Note</b><br />For setting CDR values, the <tt>l</tt> flag does not apply to setting the <tt>accountcode</tt>, <tt>userfield</tt>, or <tt>amaflags</tt>.

<p>CDRs can only be modified before the bridge between two channels is torn down. For example, CDRs may not be modified after the <tt>Dial</tt> application has returned.</p></td></tr></table></div>


<p>Raw values for <tt>disposition</tt>:</p>
<ul>
        <li>0 - NO ANSWER</li>
        <li>1 - NO ANSWER (NULL record)</li>
        <li>2 - FAILED</li>
        <li>4 - BUSY</li>
        <li>8 - ANSWERED</li>
</ul>


<p>Raw values for <tt>amaflags</tt>:</p>
<ul>
        <li>1 - OMIT</li>
        <li>2 - BILLING</li>
        <li>3 - DOCUMENTATION</li>
</ul>


<p>Example: exten =&gt; 1,1,Set(CDR(userfield)=test)</p>

<h3><a name="Asterisk11Function_CDR-Syntax"></a>Syntax</h3>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>CDR(name[,options])</pre>
</div></div>
<h5><a name="Asterisk11Function_CDR-Arguments"></a>Arguments</h5>


<ul>
        <li>name - CDR field name:
        <ul>
                <li>clid - Caller ID.</li>
                <li>lastdata - Last application arguments.</li>
                <li>disposition - ANSWERED, NO ANSWER, BUSY, FAILED.</li>
                <li>src - Source.</li>
                <li>start - Time the call started.</li>
                <li>amaflags - DOCUMENTATION, BILL, IGNORE, etc.</li>
                <li>dst - Destination.</li>
                <li>answer - Time the call was answered.</li>
                <li>accountcode - The channel's account code.</li>
                <li>dcontext - Destination context.</li>
                <li>end - Time the call ended.</li>
                <li>uniqueid - The channel's unique id.</li>
                <li>dstchannel - Destination channel.</li>
                <li>duration - Duration of the call.</li>
                <li>userfield - The channel's user specified field.</li>
                <li>lastapp - Last application.</li>
                <li>billsec - Duration of the call once it was answered.</li>
                <li>channel - Channel name.</li>
                <li>sequence - CDR sequence number.</li>
        </ul>
        </li>
        <li>options
        <ul>
                <li>f - Returns billsec or duration fields as floating point values.</li>
                <li>l - Uses the most recent CDR on a channel with multiple records</li>
                <li>r - Searches the entire stack of CDRs on the channel.</li>
                <li>s - Skips any CDR's that are marked 'LOCKED' due to forkCDR() calls. (on setting/writing CDR vars only)</li>
                <li>u - Retrieves the raw, unprocessed value.For example, 'start', 'answer', and 'end' will be retrieved as epoch values, when the <tt>u</tt> option is passed, but formatted as YYYY-MM-DD HH:MM:SS otherwise. Similarly, disposition and amaflags will return their raw integral values.</li>
        </ul>
        </li>
</ul>



<h3><a name="Asterisk11Function_CDR-ImportVersion"></a>Import Version</h3>

<p>This documentation was imported from Asterisk Version SVN-trunk-r370322</p>
    </div>
    <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;" class="grey">
                        <a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
       <a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_CDR">View Online</a>
              |
       <a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Function_CDR?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>