20 Commits

Author SHA1 Message Date
a15ce6fe8a merge upstream 2026-04-28 00:10:50 +00:00
FusionPBX
ba8f626058 Update call_recordings.php 2026-04-11 18:22:53 +00:00
Antonio Fernandez
f0154a9db8 Bug Fix: on $action_name = 'both' there was no comma (#466)
No command when action_name was set to 'both' causing the SQL statement to be invalid
2026-04-11 18:19:18 +00:00
Antonio Fernandez
c97579ab69 Implement move result code check for recordings (#467)
Add error handling for file move operation.
2026-04-10 22:11:43 +00:00
FusionPBX
2e68b248cb Specify full paths for wget and tar commands
Make sure wget is installed
2026-04-10 02:55:00 +00:00
FusionPBX
733a33f231 Direct install of the sounds and music 2026-04-08 10:13:38 -06:00
FusionPBX
cf10439e57 Fix the switch_branch condition 2026-04-07 17:50:53 -06:00
FusionPBX
b8666cb2bb Checkout the correct branch 2026-04-07 17:10:23 -06:00
FusionPBX
9da8998fee Add unzip package to the install 2026-04-07 12:24:27 -06:00
FusionPBX
d2e2579bdf Add unzip package to the install 2026-04-07 12:21:47 -06:00
FusionPBX
066ffe546a Use one condition to overwrite the branch
Simplifies the code by removing multiple conditions for the trixie codename
2026-04-07 18:04:34 +00:00
7c4d0d1e11 fix typo 2026-04-06 12:39:57 -04:00
adf53bb33f fix fusionpbx git repo location 2026-04-06 11:45:13 -04:00
d12a870efb revert 802f168bde
revert add prompt for install domain and admin user name.
2026-04-06 15:39:36 +00:00
28e960adef revert 787216ebff
revert add git auth block to install file.
2026-04-06 15:37:20 +00:00
78e081320d Merge pull request 'update default install options for internal development for nsi' (#1) from nsi-defaults into installer
Reviewed-on: #1
2026-04-06 12:45:06 +00:00
5db4a3f259 update fusionpbx git repo location. 2026-04-06 08:40:27 -04:00
802f168bde add prompt for install domain and admin user name. 2026-04-04 07:31:07 -04:00
787216ebff add git auth block to install file. 2026-04-04 07:22:52 -04:00
af3a9b2d16 update repository url for internal development 2026-04-04 07:03:13 -04:00
17 changed files with 99 additions and 54 deletions

View File

@@ -9,13 +9,13 @@ A quick install guide & scripts for installing FusionPBX. It is recommended to s
Debian is the preferred operating system by the FreeSWITCH developers. It supports the latest video dependencies and should be used if you want to do video mixing. Download Debian at https://cdimage.debian.org/cdimage/release/current/
```sh
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/debian/pre-install.sh | sh;
wget -O - https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh/raw/branch/installer/debian/pre-install.sh | sh;
cd /usr/src/fusionpbx-install.sh/debian && ./install.sh
```
### Ubuntu and Raspberry OS
```sh
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/ubuntu/pre-install.sh | sh;
wget -O - https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh/raw/branch/installer/ubuntu/pre-install.sh | sh;
cd /usr/src/fusionpbx-install.sh/ubuntu && ./install.sh
```
@@ -25,7 +25,7 @@ Devuan ASCII is based on Stretch, so you will find most of the same packages ava
Please note that the source installation and installation on ARM is not fully tested.
```sh
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/devuan/pre-install.sh | sh;
wget -O - https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh/raw/branch/installer/devuan/pre-install.sh | sh;
cd /usr/src/fusionpbx-install.sh/devuan && ./install.sh
```
@@ -34,7 +34,7 @@ FreeBSD is an operating system that has many great features like ZFS, HAST, CARP
```sh
pkg install --yes git
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
cd /usr/src/fusionpbx-install.sh/freebsd/
./install.sh
```
@@ -43,7 +43,7 @@ cd /usr/src/fusionpbx-install.sh/freebsd/
CentOS operating system is a requirement for some companies. Don't expect video mixing to work. It will likely be a year or more for video mixing dependencies to be updated enough to work in CentOS.
```sh
wget -O - https://raw.githubusercontent.com/fusionpbx/fusionpbx-install.sh/master/centos/pre-install.sh | sh
wget -O - https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh/raw/branch/installer/centos/pre-install.sh | sh
cd /usr/src/fusionpbx-install.sh/centos && ./install.sh
```

View File

@@ -4,7 +4,7 @@
yum -y install git
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
#change the working directory
cd /usr/src/fusionpbx-install.sh/centos

View File

@@ -24,8 +24,8 @@ if [ .$system_branch = .'master' ]; then
verbose "Using master"
BRANCH=""
else
FUSION_MAJOR=$(git ls-remote --heads https://github.com/fusionpbx/fusionpbx.git | cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
FUSION_MINOR=$(git ls-remote --tags https://github.com/fusionpbx/fusionpbx.git $FUSION_MAJOR.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
FUSION_MAJOR=$(git ls-remote --heads https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git| cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
FUSION_MINOR=$(git ls-remote --tags https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git$FUSION_MAJOR.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
FUSION_VERSION=$FUSION_MAJOR.$FUSION_MINOR
verbose "Using version $FUSION_VERSION"
BRANCH="-b $FUSION_VERSION"
@@ -36,7 +36,7 @@ mkdir -p /var/cache/fusionpbx
chown -R freeswitch:daemon /var/cache/fusionpbx
#get the source code
git clone $BRANCH https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx
git clone $BRANCH https://git.nsinnovations.net/nsinnovations/fusionpbx.gitvar/www/fusionpbx
#send a message
verbose "FusionPBX Installed"

5
debian/install.sh vendored
View File

@@ -11,8 +11,8 @@ cd "$(dirname "$0")"
# removes the cd img from the /etc/apt/sources.list file (not needed after base install)
sed -i '/cdrom:/d' /etc/apt/sources.list
#Update to latest packages
verbose "Update installed packages"
#Update to the latest packages
verbose "Update installed packages."
apt-get update && apt-get upgrade -y
#Add dependencies
@@ -25,6 +25,7 @@ apt-get install -y dialog
apt-get install -y nano
apt-get install -y net-tools
apt-get install -y gpg
apt-get install -y unzip
#SNMP
apt-get install -y snmpd

View File

@@ -10,7 +10,7 @@ apt-get update && apt-get upgrade -y
apt-get install -y git lsb-release
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
#change the working directory
cd /usr/src/fusionpbx-install.sh/debian

View File

@@ -28,5 +28,5 @@ mkdir -p /var/cache/fusionpbx
chown -R www-data:www-data /var/cache/fusionpbx
#get the source code
git clone $branch https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx
git clone $branch https://git.nsinnovations.net/nsinnovations/fusionpbx.git /var/www/fusionpbx
chown -R www-data:www-data /var/www/fusionpbx

View File

@@ -156,17 +156,26 @@ crontab -e
if (!file_exists($new_path)) { system('mkdir -p '.$new_path); }
$command = "mv ".$old_path."/".$record_name." ".$new_path."/".$record_name;
if ($debug) { echo $command."\n"; }
system($command);
system($command, $move_result_code);
//skip the database update if the move failed
if ($move_result_code !== 0) {
if ($debug) { echo "mv failed with exit code ".$move_result_code.", skipping database update.\n"; }
continue;
}
}
//set the sql update params
$sql_params = [];
if ($action_name == 'move' || $action_name == 'both') {
$sql_params[] = "record_path = '".$new_path."'";
}
if ($action_name == 'convert' || $action_name == 'both') {
$sql_params[] = "record_name = '".$path_parts['filename'].".mp3'";
}
//update the database to the new directory
$sql = "update v_xml_cdr set \n";
if ($action_name == 'move' || $action_name == 'both') {
$sql .= "record_path = '".$new_path."' \n";
}
if ($action_name == 'convert' || $action_name == 'both') {
$sql .= "record_name = '".$path_parts['filename'].".mp3'\n";
}
$sql = "update v_xml_cdr set " . implode(", ", $sql_params) . " \n";
$sql .= "where xml_cdr_uuid = '".$row['xml_cdr_uuid']."';\n";
if ($debug) { echo $sql."\n"; }
$database->execute($sql);

View File

@@ -35,6 +35,12 @@ if [ ."$os_codename" = ."trixie" ]; then
apt install -y python3-distutils-extra plocate
fi
#use master branch for Debian 13 for now
if [ ."$os_codename" = ."trixie" ]; then
switch_branch=master
switch_version=1.10.13
fi
# additional dependencies
apt install -y sqlite3 unzip
@@ -42,7 +48,7 @@ apt install -y sqlite3 unzip
CWD=$(pwd)
#install the following dependencies if the switch version is greater than 1.10.0
if [ ."$switch_version" = ."master" ] || [ $(echo "$switch_version" | tr -d '.') -gt 1100 ] || [ ."$os_codename" = ."trixie" ]; then
if [ ."$switch_branch" = ."master" ] || [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then
# libks build-requirements
apt install -y cmake uuid-dev
@@ -60,7 +66,7 @@ if [ ."$switch_version" = ."master" ] || [ $(echo "$switch_version" | tr -d '.')
# sofia-sip
cd /usr/src
if [ ."$sofia_version" = ."master" ] || [ ."$os_codename" = ."trixie" ]; then
if [ ."$sofia_version" = ."master" ]; then
git clone https://github.com/freeswitch/sofia-sip.git sofia-sip
cd sofia-sip
else
@@ -77,7 +83,7 @@ if [ ."$switch_version" = ."master" ] || [ $(echo "$switch_version" | tr -d '.')
cd /usr/src
git clone https://github.com/freeswitch/spandsp.git spandsp
cd spandsp
if [ ."$sofia_version" != ."master" ] && [ ."$os_codename" != ."trixie" ] && [ ."$switch_branch" != ."master" ]; then
if [ ."$sofia_version" != ."master" ] && [ ."$switch_branch" != ."master" ]; then
git reset --hard 0d2e6ac65e0e8f53d652665a743015a88bf048d4
fi
#/usr/bin/sed -i 's/AC_PREREQ(\[2\.71\])/AC_PREREQ([2.69])/g' /usr/src/spandsp/configure.ac
@@ -91,7 +97,7 @@ fi
cd /usr/src
#check for master
if [ ."$os_codename" = ."trixie" ] || [ ."$switch_branch" = ."master" ]; then
if [ ."$switch_branch" = ."master" ]; then
#master branch
echo "Using version master"
rm -r /usr/src/freeswitch
@@ -100,14 +106,14 @@ if [ ."$os_codename" = ."trixie" ] || [ ."$switch_branch" = ."master" ]; then
git remote add fusionpbx https://github.com/fusionpbx/freeswitch.git
git fetch fusionpbx
git checkout -b $switch_version
git checkout 1.10.12
git rebase fusionpbx/master
./bootstrap.sh -j
fi
#check for stable release
if [ ."$switch_branch" != ."master" ] && [ ."$os_codename" != ."trixie" ] && [ ."$switch_branch" = ."stable" ]; then
if [ ."$switch_branch" != ."master" ] && [ ."$switch_branch" = ."stable" ]; then
echo "Using version $switch_version"
#1.8 and older
if [ $(echo "$switch_version" | tr -d '.') -lt 1100 ]; then
@@ -116,18 +122,22 @@ if [ ."$switch_branch" != ."master" ] && [ ."$os_codename" != ."trixie" ] && [ .
cd /usr/src/freeswitch-$switch_version
# Reset repo just-in-case we are rebuilding
git reset --hard HEAD && git clean -fdx
#git reset --hard HEAD && git clean -fdx
fi
#1.10.0 and newer
if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then
# Get the source code using git
git clone https://github.com/fusionpbx/freeswitch freeswitch-$switch_version
# Change the working directory
cd /usr/src/freeswitch-$switch_version
# Get the stable branch
git checkout $switch_version
# Reset repo just-in-case we are rebuilding
git reset --hard origin/master && git clean -fdx
#git reset --hard origin/master && git clean -fdx
#wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$switch_version.-release.zip
#unzip freeswitch-$switch_version.-release.zip

View File

@@ -1,20 +1,44 @@
#!/bin/sh
#move to script directory so all relative paths work
# Move to script directory so all relative paths work
cd "$(dirname "$0")"
#includes
# Includes
. ../config.sh
. ../environment.sh
# change the working directory
cd /usr/src/freeswitch-$switch_version
# Change the working directory
cd /usr/share/freeswitch/sounds
# compile and install the sounds
make sounds-install moh-install
make hd-sounds-install hd-moh-install
make cd-sounds-install cd-moh-install
# Make sure wget is installed
apt-get install -y wget
#move the music into music/default directory
mkdir -p /usr/share/freeswitch/sounds/music/default
mv /usr/share/freeswitch/sounds/music/*000 /usr/share/freeswitch/sounds/music/default
# Array of sample rates
sample_rates="48000 32000 16000 8000"
# Loop through each sample rate
for sample_rate in $sample_rates; do
# Download the file
/usr/bin/wget "https://files.freeswitch.org/releases/sounds/freeswitch-sounds-en-us-callie-${sample_rate}-1.0.53.tar.gz"
# Extract the file
/usr/bin/tar xvzf "freeswitch-sounds-en-us-callie-${sample_rate}-1.0.53.tar.gz"
done
# Change to directory to the music directory
cd /usr/share/freeswitch/sounds/music
# Loop through each sample rate
for sample_rate in $sample_rates; do
# Download the file
/usr/bin/wget "https://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-${sample_rate}-1.0.52.tar.gz"
# Extract the file
/usr/bin/tar xvzf "freeswitch-sounds-music-${sample_rate}-1.0.52.tar.gz"
done
# Move the music to the default directory
/usr/bin/mv music default
# Remove the tar.gz files
/usr/bin/rm /usr/share/freeswitch/sounds/music/*.tar.gz

View File

@@ -7,7 +7,7 @@ apt-get -q update && apt-get upgrade -y
apt-get install -y git
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
#change the working directory
cd /usr/src/fusionpbx-install.sh/devuan

View File

@@ -19,8 +19,8 @@ if [ .$system_branch = .'master' ]; then
verbose "Using master"
branch=""
else
system_major=$(git ls-remote --heads https://github.com/fusionpbx/fusionpbx.git | cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
system_minor=$(git ls-remote --tags https://github.com/fusionpbx/fusionpbx.git $system_major.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
system_major=$(git ls-remote --heads https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git| cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
system_minor=$(git ls-remote --tags https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git$system_major.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
system_version=$system_major.$system_minor
verbose "Using version $system_version"
branch="-b $system_version"
@@ -31,5 +31,5 @@ mkdir -p /var/cache/fusionpbx
chown -R www-data:www-data /var/cache/fusionpbx
#get the source code
git clone $branch https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx
git clone $branch https://git.nsinnovations.net/nsinnovations/fusionpbx.gitvar/www/fusionpbx
chown -R www-data:www-data /var/www/fusionpbx

View File

@@ -4,7 +4,7 @@
pkg install --yes git
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
#change the working directory
cd /usr/src/fusionpbx-install.sh/freebsd/

View File

@@ -27,5 +27,5 @@ mkdir -p /var/cache/fusionpbx
chown -R www:www /var/cache/fusionpbx
#get the source code
git clone $branch https://github.com/fusionpbx/fusionpbx.git /usr/local/www/fusionpbx
git clone $branch https://git.nsinnovations.net/nsinnovations/fusionpbx.gitusr/local/www/fusionpbx
chown -R www:www /usr/local/www/fusionpbx

View File

@@ -11,8 +11,8 @@ cd "$(dirname "$0")"
# removes the cd img from the /etc/apt/sources.list file (not needed after base install)
sed -i '/cdrom:/d' /etc/apt/sources.list
#Update to latest packages
verbose "Update installed packages"
#Update to the latest packages
verbose "Update installed packages."
apt-get update && apt-get upgrade -y
#Add dependencies
@@ -25,6 +25,7 @@ apt-get install -y dialog
apt-get install -y nano
apt-get install -y nginx
apt-get install -y build-essential
apt-get install -y unzip
#SNMP
apt-get install -y snmpd

View File

@@ -10,7 +10,7 @@ apt-get update && apt-get upgrade -y
apt-get install -y git lsb-release
#get the install script
cd /usr/src && git clone https://github.com/fusionpbx/fusionpbx-install.sh.git
cd /usr/src && git clone https://git.nsinnovations.net/nsinnovations/fusionpbx-install.sh.git
#change the working directory
cd /usr/src/fusionpbx-install.sh/ubuntu

View File

@@ -19,8 +19,8 @@ if [ .$system_branch = .'master' ]; then
verbose "Using master"
branch=""
else
system_major=$(git ls-remote --heads https://github.com/fusionpbx/fusionpbx.git | cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
system_minor=$(git ls-remote --tags https://github.com/fusionpbx/fusionpbx.git $system_major.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
system_major=$(git ls-remote --heads https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git| cut -d/ -f 3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f1)
system_minor=$(git ls-remote --tags https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.git$system_major.* | cut -d/ -f3 | grep -P '^\d+\.\d+' | sort | tail -n 1 | cut -d. -f2)
system_version=$system_major.$system_minor
verbose "Using version $system_version"
branch="-b $system_version"
@@ -31,5 +31,5 @@ mkdir -p /var/cache/fusionpbx
chown -R www-data:www-data /var/cache/fusionpbx
#get the source code
git clone $branch https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx
git clone $branch https://git.nsinnovations.net/nsinnovations/fusionpbx.gitvar/www/fusionpbx
chown -R www-data:www-data /var/www/fusionpbx

View File

@@ -23,7 +23,7 @@ Function Install-FusionPBX() {
#Clone FusionPBX GIT from Master or 4.2
if ($system_branch -eq "stable") { $branch = "4.2" }
else { $branch = ""}
Start-Process "C:\Program Files\Git\bin\git.exe" "clone $branch https://github.com/fusionpbx/fusionpbx.git C:/inetpub/FusionPBX/" -Wait
Start-Process "C:\Program Files\Git\bin\git.exe" "clone $branch https://$GIT_EMAIL:$GIT_PASSWORD@git.nsinnovations.net/nsinnovations/fusionpbx.gitC:/inetpub/FusionPBX/" -Wait
#Grant permissions to FusionPBX folder
if ($iis_identity -ne "LocalSystem") {