I have a legacy Asterisk system (v13) that we’ve inherited from a previous IT manager, it still works but the hardware it’s on is old, and the company also want new features adding. I want to migrate it to a new v20 install.
I’ve got a clean v20 installation and i’ve copied all the old config files into /etc/asterisk
The extensions.conf file has entries like this:
[incoming]
switch => Realtime/@
It’s using the realtime feature and this is where i’ve got stuck. On the old server is a local MySQL DB called asterisk with tables including extensions and sipfriends. There is a seperate UI which writes into these tables.
First question is does this DB have to be local on the asterisk server or can it be external (preferred if possible) If it’s external does MySQL still have to be installed on the asterisk server?
On the new server i’m seeing this error in the logs which I guess is relevent.
WARNING[1007]: config.c:3150 find_engine: Realtime mapping for ‘extensions’ found to engine ‘mysql’, but the engine is not available
It doesn’t HAVE to be local - but realize that tightly coupling your Asterisk to a database has consequences, for example network latency or issues then impact call routing.
The MySQL server doesn’t have to be installed, but the MySQL client library has to be installed.
The package isn’t just that. The MySQL client development library is different, I don’t know what it is on your distribution. Asterisk also has to be rebuilt after running configure to pick up its existence.
You also have to enable the res_config_mysql module in “make menuselect” to have it be built.