<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HOWTO :: VoIP: Whosesale :: Calling Card :: OpenSer :: Radius :: Asterisk :: FreeSwitch :: A2Billing :: IVR :: Colo :: Colocations :: GADGETS &#187; Asterisk CDR</title>
	<atom:link href="http://callsolutions.org/tag/asterisk-cdr/feed/" rel="self" type="application/rss+xml" />
	<link>http://callsolutions.org</link>
	<description>You can also find CCNA :: CCNAP :: Exam, Brandump, CheatSheet, Sample Exams</description>
	<lastBuildDate>Sun, 05 Feb 2012 13:16:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HOWTO: Asterisk CDR + MYSQL</title>
		<link>http://callsolutions.org/howto-asterisk-cdr-mysql/</link>
		<comments>http://callsolutions.org/howto-asterisk-cdr-mysql/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 03:31:15 +0000</pubDate>
		<dc:creator>nelson</dc:creator>
				<category><![CDATA[Asterisk CDR + MYSQL]]></category>
		<category><![CDATA[Asterisk CDR]]></category>
		<category><![CDATA[CDR + MYSQL]]></category>

		<guid isPermaLink="false">http://callsolutions.org/?p=6</guid>
		<description><![CDATA[This tutorial will teach you how to configure Asterisk to store its CDR in MYSQL Database. Im using Debian Etch as my Operating System.
Installing Mysql Server 5 and Client

apt-get install mysql-server mysql-common php5-mysql mysql-client-5.0  mysql-client libmysqlclient15-dev

Creating a Database, Tables and Permissions

asterisk88:~# mysql -u root -p &#60;enter&#62;
 Enter password:  &#60;enter&#62;
 Welcome to the MySQL [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial will teach you how to configure Asterisk to store its CDR in MYSQL Database. Im using Debian Etch as my Operating System.</p>
<p><strong>Installing Mysql Server 5 and Client</strong></p>
<blockquote><p>
apt-get install mysql-server mysql-common php5-mysql mysql-client-5.0  mysql-client libmysqlclient15-dev
</p></blockquote>
<p><strong>Creating a Database, Tables and Permissions</strong></p>
<blockquote><p>
asterisk88:~# mysql -u root -p <strong>&lt;enter&gt;</strong><br />
 Enter password:  <strong>&lt;enter&gt;</strong><br />
 Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 26<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; create database asterisk;<br />
 mysql&gt; use asterisk;<br />
 mysql&gt;   CREATE TABLE cdr (<br />
 calldate datetime NOT NULL default &#8216;0000-00-00 00:00:00&#8242;,<br />
 clid varchar(80) NOT NULL default &#8221;,<br />
 src varchar(80) NOT NULL default &#8221;,<br />
 dst varchar(80) NOT NULL default &#8221;,<br />
 dcontext varchar(80) NOT NULL default &#8221;,<br />
 channel varchar(80) NOT NULL default &#8221;,<br />
 dstchannel varchar(80) NOT NULL default &#8221;,<br />
 lastapp varchar(80) NOT NULL default &#8221;,<br />
 lastdata varchar(80) NOT NULL default &#8221;,<br />
 duration int(11) NOT NULL default &#8216;0&#8242;,<br />
 billsec int(11) NOT NULL default &#8216;0&#8242;,<br />
 disposition varchar(45) NOT NULL default &#8221;,<br />
 amaflags int(11) NOT NULL default &#8216;0&#8242;,<br />
 accountcode varchar(20) NOT NULL default &#8221;,<br />
 userfield varchar(255) NOT NULL default &#8221;,<br />
 uniqueid varchar(32) NOT NULL default &#8221;<br />
 );</p>
<p>ALTER TABLE cdr ADD INDEX ( calldate );<br />
 ALTER TABLE cdr ADD INDEX ( dst );<br />
 ALTER TABLE cdr ADD INDEX ( uniqueid );</p>
<p>You can add more indices if you want.</p>
<p>mysql&gt;  \q</p>
<p><span id="more-6"></span></p>
<p>asterisk88:~# mysql_setpermission <strong>&lt;enter&gt;</strong><br />
 Password for user  to connect to MySQL: <strong>&lt;enter&gt;</strong><br />
 ######################################################################<br />
 ## Welcome to the permission setter 1.3 for MySQL.<br />
 ## made by Luuk de Boer<br />
 ######################################################################<br />
 What would you like to do:<br />
 1. Set password for an existing user.<br />
 2. Create a database + user privilege for that database<br />
 and host combination (user can only do SELECT)<br />
 3. Create/append user privilege for an existing database<br />
 and host combination (user can only do SELECT)<br />
 4. Create/append broader user privileges for an existing<br />
 database and host combination<br />
 (user can do SELECT,INSERT,UPDATE,DELETE)<br />
 5. Create/append quite extended user privileges for an<br />
 existing database and host combination (user can do<br />
 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,<br />
 LOCK TABLES,CREATE TEMPORARY TABLES)<br />
 6. Create/append database administrative privileges for an<br />
 existing database and host combination (user can do<br />
 SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,<br />
 CREATE TEMPORARY TABLES,SHOW DATABASES,PROCESS)<br />
 7. Create/append full privileges for an existing database<br />
 and host combination (user has FULL privilege)<br />
 8. Remove all privileges for for an existing database and<br />
 host combination.<br />
 (user will have all permission fields set to N)<br />
 0. exit this program</p>
<p>Make your choice [1,2,3,4,5,6,7,0]: <strong>5</strong> <strong>&lt;enter&gt;</strong></p>
<p>Which database from existing databases would you like to select:<br />
 You can choose from:<br />
 &#8211; information_schema<br />
 &#8211; asterisk<br />
 &#8211; mysql<br />
 Which database will it be (case sensitive). Type * for any:<br />
 asterisk <strong>&lt;type &#8216;asterisk&#8217; then &lt;enter&gt; &gt;</strong><br />
 The database asterisk will be used.</p>
<p>What username is to be created: administrator<br />
 Username = administrator <strong>&lt;username to be created&gt; &lt;enter&gt;</strong><br />
 Would you like to set a password for administrator [y/n]: <strong>y &lt;enter&gt;</strong><br />
 What password do you want to specify for administrator:  <strong>&lt;enter password then enter&gt;</strong><br />
 Type the password again: <strong>&lt;retype password then enter&gt;</strong><br />
 We now need to know from what host(s) the user will connect.<br />
 Keep in mind that % means &#8216;from any host&#8217; &#8230;<br />
 The host please: <strong>% &lt;type &#8216;%&#8217; for anyhost&gt;</strong><br />
 Would you like to add another host [yes/no]: <strong>no</strong> <strong>&lt;enter&gt;</strong><br />
 Okay we keep it with this &#8230;<br />
 The following host(s) will be used: %.<br />
 ######################################################################</p>
<p>That was it &#8230; here is an overview of what you gave to me:<br />
 The database name       : asterisk<br />
 The username            : administrator<br />
 The host(s)             : %<br />
 ######################################################################</p>
<p>Are you pretty sure you would like to implement this [yes/no]: <strong>yes &lt;enter&gt;</strong><br />
 Okay &#8230; let&#8217;s go then &#8230;</p>
<p>Everything is inserted and mysql privileges have been reloaded.</p>
<p>Make your choice [1,2,3,4,5,6,7,0]:  <strong>0</strong> <strong>&lt;enter&gt;</strong>
</p></blockquote>
<p><strong>Now lets test the connection:</strong></p>
<blockquote><p>
asterisk88:~# mysql -h localhost -u administrator -p asterisk</p>
<p>Enter password: <strong>&lt;enter newly created password for &#8216;administrator&#8217;&gt;</strong></p>
<p>Reading table information for completion of table and column names<br />
 You can turn off this feature to get a quicker startup with -A</p>
<p>Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 29<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; show tables;<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | Tables_in_asterisk |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | cdr                |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 1 row in set (0.00 sec)</p>
<p>mysql&gt; desc cdr;<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 | Field       | Type         | Null | Key | Default             | Extra |<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 | calldate    | datetime     | NO   | MUL | 0000-00-00 00:00:00 |       |<br />
 | clid        | varchar(80)  | NO   |     |                     |       |<br />
 | src         | varchar(80)  | NO   |     |                     |       |<br />
 | dst         | varchar(80)  | NO   | MUL |                     |       |<br />
 | dcontext    | varchar(80)  | NO   |     |                     |       |<br />
 | channel     | varchar(80)  | NO   |     |                     |       |<br />
 | dstchannel  | varchar(80)  | NO   |     |                     |       |<br />
 | lastapp     | varchar(80)  | NO   |     |                     |       |<br />
 | lastdata    | varchar(80)  | NO   |     |                     |       |<br />
 | duration    | int(11)      | NO   |     | 0                   |       |<br />
 | billsec     | int(11)      | NO   |     | 0                   |       |<br />
 | disposition | varchar(45)  | NO   |     |                     |       |<br />
 | amaflags    | int(11)      | NO   |     | 0                   |       |<br />
 | accountcode | varchar(20)  | NO   |     |                     |       |<br />
 | userfield   | varchar(255) | NO   |     |                     |       |<br />
 | uniqueid    | varchar(32)  | NO   | MUL |                     |       |<br />
 +&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;-+<br />
 16 rows in set (0.00 sec)</p>
<p>mysql&gt;
</p></blockquote>
<p>Our database is now ready for use with Asterisk. Now, Let&#8217;s configure Asterisk to save its CDR to this database:</p>
<p><strong>Download Asterisk-addons from Digium:</strong></p>
<blockquote><p>
<script type="text/javascript"><!--
google_ad_client = "pub-0448452892049658";
/* 468x60, created 7/4/08 */
google_ad_slot = "4595393016";
google_ad_width = 468;
google_ad_height = 60;
//-->
// --&gt;</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>cd /usr/src<br />
 wget http://downloads.digium.com/pub/asterisk/releases/asterisk-addons-1.4.7.tar.gz<br />
 tar xvfz asterisk-addons-1.4.7.tar.gz<br />
 cd asterisk-addons-1.4.7/cdr/<br />
 vi cdr_addon_mysql.c<br />
 add <strong>#define MYSQL_LOGUNIQUEID</strong> after <strong>#define DATE_FORMAT &#8220;%Y-%m-%d %T&#8221;</strong></p>
<p>cd ..<br />
 ./configure<br />
 make menuselect</p>
<p>Check the following if selected:</p>
<p>&#8212;&gt; 1.  Applications<br />
 [*] 1.  app_addon_sql_mysql<br />
 2.  Call Detail Recording<br />
 [*] 1.  cdr_addon_mysql<br />
 3.  Channel Drivers<br />
 4.  Format Interpreters<br />
 5.  Resource Mod</p>
<p>then <strong>q (quit) and S (save)</strong>
</p></blockquote>
<blockquote><p>
make &amp;&amp; make install
</p></blockquote>
<p>Edit /etc/asterisk/cdr.conf</p>
<blockquote><p>
vi /etc/asterisk/cdr.conf</p>
<p>[general]<br />
 enable=yes
</p></blockquote>
<p>Edit /etc/asterisk/cdr_mysql.conf</p>
<blockquote><p>
[global]<br />
 hostname=localhost<br />
 dbname=asterisk<br />
 table=cdr<br />
 password=need2fix<br />
 user=admin<br />
 port=3306<br />
 ;sock=/tmp/mysql.sock<br />
 ;userfield=1
</p></blockquote>
<p>Edit /etc/asterisk/modules.conf</p>
<blockquote><p>
vi /etc/asterisk/modules.conf</p>
<p>add the entry below:</p>
<p>load =&gt; cdr_addon_mysql.so
</p></blockquote>
<p>We&#8217;re finished! Restart asterisk and check if mysql module is loaded</p>
<blockquote><p>
asterisk88# <strong>asterisk -r</strong><br />
 Asterisk 1.4.20, Copyright (C) 1999 &#8211; 2008 Digium, Inc. and others.<br />
 Created by Mark Spencer &lt;markster@digium.com&gt;<br />
 Asterisk comes with ABSOLUTELY NO WARRANTY; type &#8216;core show warranty&#8217; for details.<br />
 This is free software, with components licensed under the GNU General Public<br />
 License version 2 and other licenses; you are welcome to redistribute it under<br />
 certain conditions. Type &#8216;core show license&#8217; for details.<br />
 =========================================================================<br />
 Connected to Asterisk 1.4.20 currently running on asterisk88 (pid = 26648)<br />
 Verbosity is at least 3<br />
 asterisk88*CLI&gt; <strong>stop now</strong><br />
 asterisk88*CLI&gt;<br />
 Disconnected from Asterisk server<br />
 asterisk88# <strong>safe_asterisk</strong><br />
 asterisk88# <strong>asterisk -r</strong><br />
 Asterisk 1.4.20, Copyright (C) 1999 &#8211; 2008 Digium, Inc. and others.<br />
 Created by Mark Spencer &lt;markster@digium.com&gt;<br />
 Asterisk comes with ABSOLUTELY NO WARRANTY; type &#8216;core show warranty&#8217; for details.<br />
 This is free software, with components licensed under the GNU General Public<br />
 License version 2 and other licenses; you are welcome to redistribute it under<br />
 certain conditions. Type &#8216;core show license&#8217; for details.<br />
 =========================================================================<br />
 Connected to Asterisk 1.4.20 currently running on asterisk88 (pid = 26880)<br />
 Verbosity is at least 3<br />
 asterisk88*CLI&gt; <strong>cdr mysql status </strong><br />
 Connected to asterisk@localhost, port 3306 using table cdr for 15 seconds.<br />
 Wrote 0 records since last restart.<br />
 asterisk88*CLI&gt; <strong>quit</strong>
</p></blockquote>
<p>Make a successful test call and see if it CDR is placed in DB:</p>
<p>To check:</p>
<blockquote><p>
asterisk88:/usr/src/asterisk-addons-1.4.7# mysql -u administrator -p asterisk<br />
 Enter password:<br />
 Reading table information for completion of table and column names<br />
 You can turn off this feature to get a quicker startup with -A</p>
<p>Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
 Your MySQL connection id is 32<br />
 Server version: 5.0.32-Debian_7etch5 Debian etch distribution</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the buffer.</p>
<p>mysql&gt; select * from cdr;<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | calldate            | clid                      | src        | dst         | dcontext | channel              | dstchannel  | lastapp | lastdata                 | duration | billsec | disposition | amaflags | accountcode | userfield | uniqueid     |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 | 2008-07-08 05:03:25 | &#8220;XXXXXXXXXX&#8221; &lt;XXXXXXXXXX&gt; | 0117913501 | 12127773456 | default  | IAX2/0117913501-8484 | H323/CARRIER-1 | Dial    | H323/XXXXXXXXXX@Carrier||R |       19 |       0 | NO ANSWER   |        3 |             |           | 1215518605.1 |<br />
 +&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8211;+<br />
 1 row in set (0.00 sec)</p>
<p>mysql&gt;
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://callsolutions.org/howto-asterisk-cdr-mysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

