On 12/7/2021 2:25 PM, TTT wrote:
I was actually referring to FreeSWITCH core. I'm reading a book on FreeSwitch (https://www.amazon.ca/FreeSWITCH-1-8-Anthony-Minessale-II-ebook/dp/B071ZZBH8...) and it mentions that FreeSWITCH keeps its operating information in a database at runtime. I think it's PostgreSQL
I was wondering if/how I could switch that to MySQL. I thought there might be a DSN setting in the XML registry that affects this. This books says you can setup ODBC providers but it's not clear how, or if this applies to "core".
I believe you can. The module in question is mod_mariadb, but that's because it uses the mariadb shared library rather than the mysql shared library, not because it only works with mariadb. Those two use compatible over-the-wire protocols, so using it to talk to mysql shouldn't be an issue. I haven't tested this with mysql itself, however. At any rate, these are the steps it took for me using MariaDB. Much simpler than ODBC in my opinion. You will want to make sure that mod_mariadb is installed and preloaded. I'm not certain that preloaded is necessary, but it was specified in the writeup I found. So this is the file autoload_configs/pre_load_modules.xml from my server. <configuration name="pre_load_modules.conf" description="Modules"> <modules> <!-- Databases --> <load module="mod_mariadb" /> <!-- <load module="mod_pgsql"/> --> </modules> </configuration> Then, you need to set the core-db-dsn param in switch.conf.xml as mentioned above. In the case of a mariadb dsn, it would look like this. <param name="core-db-dsn" value="mariadb://Socket=/var/run/mysqld/mysqld.sock;Database=FreeSWITCH;uid=FreeSWITCH;Pwd=XXXXXXXXXXXX"/> If you're using TCP instead of a unix socket, replace the "Socket=[socket name]" with "Host=[host name]" and a setting for Port if you're not using the default port. Also, change the Database and uid parameter to suit your setup. Oh, and as an FYI, the default storage provider that FreeSWITCH uses is SQLLite, not PGSQL.