From 111545a7b4d799a3fd65a2e6985e36d0235c5ba2 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Sun, 1 Jul 2018 08:42:49 -0600 Subject: [PATCH] Create dsn.sh --- freebsd/resources/postgresql/dsn.sh | 70 +++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 freebsd/resources/postgresql/dsn.sh diff --git a/freebsd/resources/postgresql/dsn.sh b/freebsd/resources/postgresql/dsn.sh new file mode 100644 index 0000000..7728d1d --- /dev/null +++ b/freebsd/resources/postgresql/dsn.sh @@ -0,0 +1,70 @@ +#!/bin/sh + +#move to script directory so all relative paths work +cd "$(dirname "$0")" + +#includes +. ../config.sh + +#set the date +now=$(date +%Y-%m-%d) + +#get the database password +if [ .$database_password = .'random' ]; then + read -p "Enter the database password: " database_password +fi + +#whether to load the schema +read -p "Auto create schemas (y/n): " auto_create_schema + +#whether to load the schema +read -p "Load schema with primary keys (y/n): " load_schema + +#set PGPASSWORD +export PGPASSWORD=$database_password + +#disable auto create schemas +if [ .$auto_create_schema = ."n" ]; then + sed -i /etc/freeswitch/autoload_configs/switch.conf.xml -e s:'::' +fi + +#load the schema +if [ .$load_schema = ."y" ]; then + sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d freeswitch -c "create extension pgcrypto;"; + sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d freeswitch -f /var/www/fusionpbx/resources/install/sql/switch.sql -L /tmp/schema.log; +fi + +#enable odbc-dsn in the xml +sed -i /etc/freeswitch/autoload_configs/db.conf.xml -e s:'::' +sed -i /etc/freeswitch/autoload_configs/fifo.conf.xml -e s:'::' +sed -i /etc/freeswitch/autoload_configs/switch.conf.xml -e s:'::' + +#enable odbc-dsn in the sip profiles +sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d fusionpbx -c "update v_sip_profile_settings set sip_profile_setting_enabled = 'true' where sip_profile_setting_name = 'odbc-dsn';"; + +#add the dsn variables +sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d fusionpbx -c "insert into v_vars (var_uuid, var_name, var_value, var_category, var_enabled, var_order, var_description, var_hostname) values ('785d7013-1152-4a44-aa15-28336d9b36f9', 'dsn_system', 'pgsql://hostaddr=$database_host port=$database_port dbname=fusionpbx user=fusionpbx password=$database_password options=', 'DSN', 'true', '0', null, null);"; +sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d fusionpbx -c "insert into v_vars (var_uuid, var_name, var_value, var_category, var_enabled, var_order, var_description, var_hostname) values ('0170e737-b453-40ea-99f2-f1375474e5ce', 'dsn', 'pgsql://hostaddr=$database_host port=$database_port dbname=freeswitch user=fusionpbx password=$database_password options=', 'DSN', 'true', '0', null, null);"; +sudo -u postgres psql -h $database_host -p $database_port -U freeswitch -d fusionpbx -c "insert into v_vars (var_uuid, var_name, var_value, var_category, var_enabled, var_order, var_description, var_hostname) values ('32e3e364-a8ef-4fe0-9d02-c652d5122bbf', 'dsn_callcenter', 'sqlite:///var/lib/freeswitch/db/callcenter.db', 'DSN', 'true', '0', null, null);"; + +#add the +echo "" >> /etc/freeswitch/vars.xml +echo "" >> /etc/freeswitch/vars.xml +echo "" >> /etc/freeswitch/vars.xml +echo "" >> /etc/freeswitch/vars.xml + +#remove the sqlite database files +dbs="/var/lib/freeswitch/db/core.db /var/lib/freeswitch/db/fifo.db /var/lib/freeswitch/db/call_limit.db /var/lib/freeswitch/db/sofia_reg_*" +for db in ${dbs}; +do + if [ -f $db ]; then + echo "Deleting $db"; + rm $db + fi +done + +#flush memcache +/usr/bin/fs_cli -x 'memcache flush' + +#restart freeswitch +service freeswitch restart