Instalación FreeSWITCH en Debian 12 (bookworm)
[video]
1. Preparativos
1.1 Obtner token
Para realizar la instalacion de freeswitch se requiere un token, mismo que se puede obtener creando una cuenta gratuita en la pagina de signalwire.
Una vez que obtenemos el token, lo seteamos en una variable de ambiente
export TOKEN=XXXXXXXXXXXXXXXXXXXXXX
1.2 Instalar dependencias basicas
Instalamos los paquetes necesarios previo a la instalación de freeswitch.
apt-get update && apt-get install -y gnupg2 wget lsb-release sngrep iproute2 net-tools less vim nano tcpdump cmake git
1.3 Configurar repositorios
Descargamos la llave gpg del repositorio de freeswitch
wget --http-user=signbalwire \
--http-password=$TOKEN \
-O /usr/share/keyrings/signalwire-freeswitch-repo.gpg \
https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpg
Agregamos al archivo auth.conf nuestro TOKEN para que las descargas que hagamos con apt-get se autentiquen en el portal de signalwire
echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
Configuramos el repositorio freeswitch.list en nuestro directorio /etc/apt/sources.list.d/
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list
2. Instalacion de FreeSWITCH
2.1 Instalacion de dependencias
Instalamos todas las dependencias que requiere freeswitch
apt-get update && apt-get build-dep freeswitch -y
2.2 Descarga de FreeSWITCH
Descargamos de github el código fuente de freeswitch
git clone https://github.com/signalwire/freeswitch.git /usr/src/freeswitch
Nos desplazamos al directorio donde descargamos los fuentes, y configuramos nuestra instalación
cd /usr/src/freeswitch \
&& git config pull.rebase true \
&& ./bootstrap.sh -j \
&& ./configure
Compilamos e instalamos
make && make install
2.3 Pos instalación
Agregamos el grupo y usuario freeswitch
groupadd freeswitch
adduser --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH" --ingroup freeswitch freeswitch --disabled-password
Otorgamos permisios y privilegios a los directorios
chown -R freeswitch:freeswitch /usr/local/freeswitch/
chmod -R ug=rwX,o= /usr/local/freeswitch/
chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/*
Copiamos el archivo service y lo ponemos en el directorio systemd
cp /usr/src/freeswitch/debian/freeswitch-systemd.freeswitch.service /etc/systemd/system/freeswitch.service
editar: /etc/systemd/system/freeswitch.service
PIDFile=/usr/local/freeswitch/run/freeswitch.pid
Creamos los directorios requeridos
mkdir /var/log/freeswitch
mkdir /var/lib/freeswitch
mkdir /var/run/freeswitch
mkdir /usr/share/freeswitch
Y creamos las ligas simbólicas a los directorios estándar (etc, bin, sbin)
ln -s /usr/local/freeswitch/conf/ /etc/freeswitch
ln -s /usr/local/freeswitch/bin/freeswitch /usr/sbin/freeswitch
ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/freeswitch
ln -s /usr/local/freeswitch/bin/fs_cli /sbin/fs_cli
Por ultimo recargamos systemd e iniciamos el servicio
systemctl daemon-reload
systemctl start freeswitch
Conclusión
Siguiendo estos pasos tendremos nuestra instalación de freeswitch funcionando, para mas opciones de instalación o versión de linux puedes consultar la guía oficial de instalación de freeswitch.
Julio Carranza