#!/bin/bash # # CREATE TABLE forward ( # context VARCHAR(250) NOT NULL, # extension INTEGER(11) NOT NULL, # ringtype INTEGER(1), # number VARCHAR(100), # PRIMARY KEY(context, extension) # ); # MYSQL_HOME="/opt/mysql-4.1.10" PATH="${PATH}:${MYSQL_HOME}/bin" export MYSQL_HOME PATH DBHOST="localhost" DATABASE="asterisk" USERNAME="asterisk" PASSWORD="asterisk" function _ltrim() { echo $( echo "${1}" | sed -e 's/^\s+//' ) return 0 } function _checkBlank() { if [ "${1}x" = "x" ]; then echo "SET VARIABLE agiResult 0" exit 0 fi } context=$( _ltrim "${1}" ) exten=$( _ltrim "${2}" ) ringtype=$( _ltrim "${3}" ) number=$( _ltrim "${4}" ) _checkBlank "${context}" _checkBlank "${exten}" _checkBlank "${ringtype}" _checkBlank "${number}" RETVAL=1 # if we have a * erase if [ "x${number}" = "x-" ]; then mysql -N -B -q \ -h ${DBHOST} -u ${USERNAME} \ --password="${PASSWORD}" ${DATABASE} \ -e "delete from forward where extension = '${exten}' and context = '${context}'" > /dev/null 2>&1 RETVAL=$? # otherwise update or set else # see what we currently have current=$( mysql -N -B -q \ -h ${DBHOST} -u ${USERNAME} \ --password="${PASSWORD}" ${DATABASE} \ -e "select extension from forward where extension = '${exten}' and context = '${context}'" 2> /dev/null ) # no record do an insert if [ "x${current}" = "x" ]; then mysql -N -B -q \ -h ${DBHOST} -u ${USERNAME} \ --password="${PASSWORD}" ${DATABASE} \ -e "insert into forward values( '${context}', '${exten}', '${ringtype}', '${number}')" > /dev/null 2>&1 RETVAL=$? # otherwise update else mysql -N -B -q \ -u asterisk \ --password="asterisk" \ asterisk \ -e "update forward set ringtype = '${ringtype}', number = '${number}' where extension = '${exten}' and context = '${context}'" > /dev/null 2>&1 RETVAL=$? fi fi # check our return result if [ "${RETVAL}" = "0" ]; then echo "SET VARIABLE agiResult 1" else echo "SET VARIABLE agiResult 0" fi exit 0