#!/bin/bash

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"

FS_DIR="/usr/local/freeswitch"
FS_CORE_DB=$FS_DIR/db/core.db

FPBX_DIR="/var/www/html/fusionpbx"
FPBX_DB=$FPBX_DIR/secure/fusionpbx.db

# sql function
function exec_sql() {
        echo "  - exec_sql(\"$2\")"
        echo "$2" | sqlite3 $1
}

instance_id=`curl -s http://169.254.169.254/latest/meta-data/instance-id`
salt=`echo "select salt from v_users where username='admin';" | sqlite3 $FPBX_DB`
password=`echo "select password from v_users where username='admin';" | sqlite3 $FPBX_DB`
password1=`echo -n "$salt$instance_id" | md5sum | sed -e "s#  -##"`

echo "salt:       $salt"
echo "inst_id:    $instance_id"
echo "pass in db: $password"
echo "pass gen:   $password1"

if [[ $password == $password1 ]]; then
	echo "passwords match - GOOD!"
else
	echo "passwords mismatch - BAD!"
fi

# check domain matching
public_ip=`curl http://169.254.169.254/latest/meta-data/public-ipv4 2>/dev/null`
domains=`echo "select domain_name from v_domains;" | sqlite3 $FPBX_DB`
echo
echo "public IP : $public_ip"
echo "domains   : $domains"
if [[ $domains =~ $public_ip ]]; then
	echo "Public IP is in domain list - GOOD!"
else
	echo "Public IP is NOT in domain list. You may have stopped and restarted the instance"
	echo "If you have login issues, try to login with user admin@$domains"
	echo "However, existing extensions will not work anymore"
fi
