[Asterisk-Users] Corrupt CDR records in Asterisk 1.2.x
Jeroen Zwarts
bdjeroen at xs4all.nl
Tue Mar 14 04:40:07 MST 2006
Reply to self:
Last week I had some time to figure out a workaround for the CDR logging
problem. I used an AGI-script together with de Mysql CLI application. It is
far from perfect, and I want to spend some more time to figure out a better
way, but this seems to be working OK on my testmachine:
This is what I do:
I run a DeadAGI script in the Hangup extension like this:
-------------------------------
exten => h,1,Deadagi (fixcdr.sh)
exten => h,2,Hangup()
-------------------------------
The /var/lib/asterisk/agi-bin/fixcdr.sh looks like this:
------------------------------
#!/bin/bash
read agi_request
read agi_channel
read agi_language
read agi_type
read agi_uniqueid
read agi_callerid
read agi_calleridname
read agi_callingpres
read agi_callingani2
read agi_callington
read agi_callingtns
read agi_dnid
read agi_rdnsid
read agi_context
read agi_extension
read agi_priority
read agi_enhanced
read agi_accountcode
set -- $agi_uniqueid
uniqueid="'"$2"'"
set -- $agi_callerid
telefoonnummer="'"$2"'"
echo -e "mysql --user=asterisk --password=asterisk --exec='use cdr;UPDATE
cdr SET src=\042$telefoonnummer\042 WHERE uniqueid=\042$uniqueid\042'" >>
/test/runthis.sh
echo -e "mysql --user=asterisk --password=asterisk --exec='use cdr;UPDATE
cdr SET clid=\042$telefoonnummer\042 WHERE uniqueid=\042$uniqueid\042'" >>
/test/runthis.sh
------------------------------
And then I let cron run the runthis.sh script. And the runthis.sh executes
the SQL strings in the file with the mysql monitor application.
The place where you put the runthis.sh must be writeable for the user that
Asterisk runs on (in my situation running Gentoo it is the user asterisk
with group asterisk)
As I already told, it is far from perfect (I have to find a way to empty the
runthis.sh file after cron has taken care of the CDR updates, and it would
be nicer to put the 2 SQL statements together).
I don't think you can use this in a high volume environment too, because of
the possible load increase on your database when running the runthis.sh.
But still I wanted to share this with you, I hope it may be helpful to you
people having problem with BRIStuff/CDR.
Jeroen
----- Original Message -----
From: "Jeroen Zwarts" <bdjeroen at xs4all.nl>
To: <asterisk-users at lists.digium.com>
Sent: Thursday, February 09, 2006 11:05 AM
Subject: [Asterisk-Users] Corrupt CDR records in Asterisk 1.2.x
> I have a problem with CDR recording in Asterisk 1.2.x. This is the
> situation:
>
> An Asterisk 1.2.0 (BRIstuffed-0.3.0-PRE-1 with florz) machine with a
single
> HFC-S ISDN BRI card. I log the call records to both the Master.csv and
> MySQL.
>
> The problem is that when an incoming call from the ISDN line is logged to
> the CDR, the "src" and the "clid" field show up as something like 'h?
'
> (random weird ASCII characters). This is in the MySQL table as well as the
> Master.csv, so my guess is that it is not a MySQL problem. Furthermore, I
> don't think it is a zaptel/bristuff problem, because my AGI scripts get
the
> incoming number without problems all the time.
> The internal SIP calls are logged without a problem all the time. It's
only
> ISDN calls from the outside world that are corrupt.
>
>
> When I stop Asterisk with "stop now" and restart it, the "src" and "clid"
> fields are OK for a while, but after a few calls, or as some time passes
by
> (I don't know what triggers it), it goes back to the 'random ASCII
> weirdness'.
>
> I also tested this with Asterisk 1.2.4 (BRIstuffed-0.3.0-PRE-1h with
florz)
> and I have the same problem. Again, when I start Asterisk, everything is
OK
> for a while, and then suddenly, the src and clid fields are like 'ÀÜ'
>
> Anybody has a clue as where to start looking for a solution for this
> problem? I can't seem to find a single post, list e-mail or bug related to
> this problem.
>
> Thanks,
>
> Jeroen Zwarts
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
More information about the asterisk-users
mailing list