<p>If I remember correctly you should do CDR(flavor)=&quot;cherry&quot; and it should work. I have added custom fields in my CDR table in the past and didn&#39;t need triggers.</p>
<p><blockquote type="cite">On 2010-03-29 3:40 AM, &quot;Robert Price&quot; &lt;<a href="mailto:robert@proxims.com">robert@proxims.com</a>&gt; wrote:<br><br>Hello Alex,<br>
<br>
I&#39;m struggling with the same problem and, not wanting to modify the CDR<br>
backend, I just put in a workaround in the form of a MySQL trigger.<br>
I&#39;ll describe what I did in case it helps someone, though I&#39;m very<br>
inexperienced at making compound procedures in MySQL.<br>
<br>
In my extensions.conf, I can do something like this:<br>
<br>
   exten =&gt; s,1,Set(CDR(userfield)=&quot;flavor=cherry|color=maroon&quot;<br>
<br>
The result is that my CDR(userfield) is a pipe-delimited list of<br>
key=value pairs.  In my MySQL 5.0.45 database, I have altered my cdr<br>
table with a column called &#39;flavor&#39; and another called &#39;color&#39;.  I have<br>
also created a trigger thus:<br>
<br>
DELIMITER //<br>
<br>
CREATE TRIGGER cdr_insert BEFORE INSERT ON cdr<br>
FOR EACH ROW<br>
   BEGIN<br>
     SET @numidx = LENGTH(NEW.userfield)<br>
          - LENGTH(REPLACE(NEW.userfield, &#39;|&#39;, &#39;&#39;)) + 1;<br>
     SET @idx = 0;<br>
     WHILE @idx + 1 &lt;= @numidx DO<br>
       SET @idx = @idx + 1;<br>
       SET @param = SUBSTRING_INDEX(<br>
                   SUBSTRING_INDEX(NEW.userfield, &#39;|&#39;, @idx), &#39;|&#39;, -1);<br>
       SET @pos = LOCATE(&#39;=&#39;, @param);<br>
       IF @pos &gt; 0 THEN<br>
         SET @key = SUBSTRING(@param, 1, @pos - 1);<br>
         SET @value = SUBSTRING(@param, @pos + 1);<br>
<br>
         CASE @key<br>
           WHEN &#39;flavor&#39; THEN SET NEW.flavor = @value;<br>
           WHEN &#39;color&#39; THEN SET NEW.color = @value;<br>
         END CASE;<br>
<br>
       END IF;<br>
     END WHILE;<br>
     SET NEW.userfield = &#39;&#39;;<br>
   END<br>
//<br>
<br>
DELIMITER ;<br>
<br>
You can omit SET NEW.userfield = &#39;&#39; if you want to retain the userfield<br>
to prevent data loss.  Expand the CASE statement as necessary to<br>
enumerate all the fields you want to be able to specify via userfield,<br>
and make sure you&#39;ve created the appropriate columns beforehand.  You<br>
can even specify things like &#39;dst&#39; and &#39;dcontext&#39;, which you wouldn&#39;t<br>
normally be able to control.  The loop silently ignores elements of the<br>
pipe-delimited list that it does not recognize.  In particular, if the<br>
value of CDR(userfield) begins with a pipe, that doesn&#39;t create a problem.<br>
<br>
So far, it appears to work.<br>
<br>
Cheers,<br>
Robert<br>
<br>
 &gt;     Hi all,<br>
 &gt;<br>
 &gt;     I&#39;ve been trying to add a custom mysql field to my CDR&#39;s, but I<br>
 &gt;     must be doing something wrong.<br>
 &gt;<br>
 &gt;     I am using asterisk 1.4 and asterisk 1.6, in extensions.conf I<br>
 &gt;     add:<br>
 &gt;<br>
 &gt;     exten =&gt; h,1,Set(CDR(q931)=${HANGUPCAUSE})<br>
 &gt;<br>
 &gt;     This extension is executed, I can see it in the asterisk console.<br>
 &gt;<br>
 &gt;     I have added a new column in my MySQL database called q931.<br>
 &gt;     However,<br>
 &gt;     the new field does not show up in my database or in the Master.csv<br>
 &gt;     file.<br>
 &gt;<br>
 &gt;     Any help would be greatly appreciated.<br>
 &gt;     Regards,<br>
 &gt;<br>
 &gt;     Alex<br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
New to Asterisk? Join us for a live introductory webinar every Thurs:<br>
               <a href="http://www.asterisk.org/hello" target="_blank">http://www.asterisk.org/hello</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br>
</blockquote></p>