I am confused!
It appears that since Asterisk 1.8 MySQL CDRs are native to Asterisk. Am I right?
This page (https://wiki.asterisk.org/wiki/display/AST/MySQL+CDR+Backend?src=search) suggests that cdr_mysql.so is deprecated yet posts on here continue to refer to it and menuselect’ing cdr_mysql thought menuselect shows it as deprecated as well. This tells me I don’t need to find a module. Nor do I have to load one. What do I have to do to make it work?
The page above suggests all one need do is configure cdr_mysql.conf and away we go. There must be more to it than that. I have a table in MySql. I have cdr_mysql.conf configured. BUT I get no CDRs. I have created a [mysql] backend in cdr.conf to no avail. What am I missing? If I do CLI>cdr show status there is no reference to mySQL.
You may write to MySQL throught ODBC. A little bit more difficult to configure but more flexible.
I know I can use ODBC. If MySQL is native I’d prefer to use that. It is just unclear whether Asterisk does MySQL directly or ONLY through ODBC.
There’s a cdr_mysql module, as you note, but it’s deprecated. It became this way because of the Asterisk development community’s desire not to have to support myriad database connectors; rather, it’s less burdensome to support ODBC alone, and let it be the bridge to any number of backend DBs.
So, you’re welcome to use cdr_mysql, but note that any bugs that might arise from its use won’t be accepted onto the issue tracker.
Thanks. Exactly what I needed to know. The documentation online and in comments in the config files is ambiguous. You might consider clarifying the status of MySQL in the docs. I will now go implement ODBC for my CDRs.