# Mysql-CDR Logging

**URL:** <https://community.asterisk.org/t/mysql-cdr-logging/25704>\
**Category:** Asterisk Support\
**Created:** [February 24, 2009, 10:15am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704 "2009-02-24T10:15:58Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [February 24, 2009, 10:15am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/1 "2009-02-24T10:15:58Z")

</div>

Hi There Everyone

Can anybody help me in setting up CDR logging with MYSQL or provide a step by step method on doing so  
I have Asterisk Version 1.4.23.1 running on a Eneteprise Linux 5

and if possible please post the config files too !

quick replies will b appreciated because i need a quick solution  
Thanks in advance 😄

---

<div class="post-metadata">

**Author:** ![Mark\_Logan](https://avatars.discourse-cdn.com/v4/letter/m/dec6dc/32.png) [@Mark\_Logan](https://community.asterisk.org/u/Mark_Logan)\
**Post date:** [February 24, 2009, 4:04pm UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/2 "2009-02-24T16:04:39Z")

</div>

I think you’ll find your new best friend… [here](http://www.voip-info.org/wiki-Asterisk+cdr+mysql)

---

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [February 25, 2009, 3:42am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/3 "2009-02-25T03:42:16Z")

</div>

Ive Tried that already !  
not workin for me ! ☹

---

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [February 25, 2009, 6:00am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/4 "2009-02-25T06:00:54Z")

</div>

Ive been going crazy since 2 days  
please help me out guys

Give me a step by step method on enabling cdr-mysl on asterisk 1. 4.23 EL5

here is my cli

localhost\*CLI\> cdr status  
CDR logging: enabled  
CDR mode: simple  
CDR output unanswered calls: yes  
CDR registered backend: cdr\_manager

---

<div class="post-metadata">

**Author:** ![bwilks](https://avatars.discourse-cdn.com/v4/letter/b/e274bd/32.png) [@bwilks](https://community.asterisk.org/u/bwilks)\
**Post date:** [February 25, 2009, 11:33am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/5 "2009-02-25T11:33:46Z")

</div>

Hi,

Have you looked at this post?

[forums.digium.com/viewtopic.php?t=21911](http://forums.digium.com/viewtopic.php?t=21911)

Cheers

Brett

---

<div class="post-metadata">

**Author:** ![Mark\_Logan](https://avatars.discourse-cdn.com/v4/letter/m/dec6dc/32.png) [@Mark\_Logan](https://community.asterisk.org/u/Mark_Logan)\
**Post date:** [February 25, 2009, 3:34pm UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/6 "2009-02-25T15:34:47Z")

</div>

What do the commands

```auto

```

and

```auto

```

show you?

---

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [February 26, 2009, 4:21pm UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/7 "2009-02-26T16:21:14Z")

</div>

ok now i have the modules registered  
i noticed i didnt have unixodbc installed for that

neway

cdr mysql status show me that i was connected to the mysql server  
but now when i restarted asterisk

it says not connect to a MYSQL server ???

y is that so ?

---

<div class="post-metadata">

**Author:** ![wimnat](https://avatars.discourse-cdn.com/v4/letter/w/c5a1d2/32.png) [@wimnat](https://community.asterisk.org/u/wimnat)\
**Post date:** [March 5, 2009, 2:11am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/8 "2009-03-05T02:11:45Z")

</div>

You only need unixODBC if you’re going to be connecting to your MySQL db through ODBC rather than using the cdr\_mysql module.

Anyway, can you start asterisk with ‘asterisk -cvvvvv’. You should see a bunch of lines scroll by. Find the bit relating to your cdr and paste it here.

---

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [March 5, 2009, 10:16am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/9 "2009-03-05T10:16:33Z")

</div>

What Would i have to do if i have a scenario like

I want to Subtract the ${CDR(duration)} time from the ${CDR(billsec)} time and display the result time in the ${CDR(userfield)}.

???  
😉

---

<div class="post-metadata">

**Author:** ![wimnat](https://avatars.discourse-cdn.com/v4/letter/w/c5a1d2/32.png) [@wimnat](https://community.asterisk.org/u/wimnat)\
**Post date:** [March 5, 2009, 10:36pm UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/10 "2009-03-05T22:36:42Z")

</div>

Easy.

[voip-info.org/wiki/view/Asterisk+func+math](http://www.voip-info.org/wiki/view/Asterisk+func+math)

CDR(userfield)=MATH(${CDR(duration)}-${CDR(billsec)});

Although this seems like a bit of a waste of the userfield. If you’re going to be showing the CDR on the web using PHP or something you’re better off letting PHP calc the result.

Or just get something that does it for you [areski.net/asterisk-stat-v2/about.php](http://www.areski.net/asterisk-stat-v2/about.php)

---

<div class="post-metadata">

**Author:** ![djmeer](https://avatars.discourse-cdn.com/v4/letter/d/c89c15/32.png) [@djmeer](https://community.asterisk.org/u/djmeer)\
**Post date:** [March 6, 2009, 10:13am UTC](https://community.asterisk.org/t/mysql-cdr-logging/25704/11 "2009-03-06T10:13:27Z")

</div>

[code][ani-callback]

exten =\> s,1,Background(vm-enter-num-to-call)  
exten =\> s,2,Read(NUMBER,1)  
exten =\> s,n,Set(exten=${exten}${NUMBER})  
exten =\> s,n,GosubIf($["${NUMBER:-1}" != “”]?2:5)  
exten =\> s,5,Playback(/var/lib/asterisk/sounds/followme/pls-hold-while-try)  
exten =\> s,n,MixMonitor(wav,f-${exten})  
exten =\> s,n,Dial(SIP/${exten},g)  
exten =\> s,n,Set(CDR(userfield)=MATH(${CDR(duration)}-${CDR(billsec)})) [/code]

is this context correct ?  
will it set the userfield to as i want it to ?  
if not please let me know how it will !  
thanks for the replies !

This is the CLI Output

```auto
 == Begin MixMonitor Recording SIP/1111-084782a0
    -- Called 2222
    -- SIP/2222-08473708 is ringing
    -- SIP/2222-08473708 answered SIP/1111-084782a0
    -- Executing [s@ani-callback:8] Set("SIP/1111-084782a0", "CDR(userfield)=MATH(0-0") in new stack
```

the billsec and duration are showing times as 0 . ??[/quote]
