So many of you may be already aware of that from FreeSWITCH 1.10.x it is possible to connect directly to MariaDB (and MySQL) without using ODBC. I am trying right now with a customer's server, and so far it is working very nicely. So, I will describe how to make it work.
Load mod_mariadb
Edit your /etc/freeswitch/autoload_configs/pre_load_modules.conf.xml and put the content as follows:
<configuration name="pre_load_modules.conf" description="Modules">
<modules>
<!-- Databases -->
<load module="mod_mariadb"/>
</modules>
</configuration>
Don't forget to make sure you have compiled mod_mariadb.
Generate your MariaDB DSN String
This is the tricky part, it took me a while to figure it out. MariaDB DSN strings are not as standard as PostgreSQL. The syntax is:
dsn=mariadb://Server=IP;Database=DATABASENAME;Uid=USERNAME;Pwd=PASSWORD
Save your DSN
The best place to put this string is in the vars.xml file. Like this:
<X-PRE-PROCESS cmd="set" data="dsn=mariadb://Server=IP;Database=DATABASENAME;Uid=USERNAME;Pwd=PASSWORD" />
From this point, you can use it in any FreeSWITCH module, you just refer to it as $${dsn}, double $ sign is important to tell FreeSWITCH not to try to resolve the string each time it finds it. Think of it as if it was a constant.
Notes about using MySQL
Please note that the module is called mod_mariadb, not mod_mysql. It is thought to work with MariaDB. In some cases, you will need to make some database changes if you still want to use MySQL with it.
Good Luck!