Búsqueda de sitios web

Cómo instalar FreeSwitch PBX en Ubuntu 20.04|18.04 |


PBX es la abreviatura de Private Branch Exchange. Es un sistema telefónico privado utilizado dentro de una organización y personalizado para satisfacer las necesidades de una organización en particular. Los usuarios de PBX de una organización pueden comunicarse internamente entre ellos y también externamente con el mundo exterior. La comunicación externa se facilita mediante canales como VoIP (Voz sobre IP), RDSI (Red Digital de Servicios Integrados) o analógico.

Las ventajas de utilizar sistemas telefónicos PBX son que puede obtener más teléfonos que las líneas físicas, llamadas gratuitas entre usuarios y funciones masivas como colas de llamadas, recepcionista digital, desvío de llamadas, correo de voz y grabación de llamadas, entre otras. Algunos ejemplos de sistemas telefónicos PBX incluyen FreeSwitch, 3cx, Elastix, FreePBX y Asterisk.

En esta guía, veremos cómo instalar FreeSwitch PBX en Ubuntu 20.04/18.04

¿Qué es la centralita FreeSwitch?

FreeSwitch es una plataforma de comunicación gratuita de código abierto. Permite comunicación en tiempo real, vídeo y Voz sobre IP y WebRTC. Se ejecuta en Windows, MacOS, Linux y FreeBSD. Se utiliza en la construcción de un sistema PBX con funcionalidades como conferencias web con chats y pantalla compartida, IVR, controlador de borde de sesión, enrutamiento mayorista de menor costo, entre otras.

¿Cuáles son algunas de las características del sistema FreeSwitch PBX?

  • Se ejecuta en Windows, Linux y FreeBSD
  • API IVR
  • Soporte WebRTC
  • Grabación de llamadas (en estéreo, llamante/llamado izquierda/derecha)
  • Motor de núcleo multiproceso de alto rendimiento
  • Caza paralela
  • Caza en serie
  • Operadora automatizada
  • Funciones básicas de IP/PBX
  • Tonos de llamada personalizados (primeros medios)

Instale FreeSwitch PBX en Ubuntu 20.04/18.04

Primero actualice los paquetes de su sistema

sudo apt -y update

A continuación, instale las dependencias necesarias para ejecutar FreeSwitch PBX en Ubuntu 20.04/18.04

sudo apt install -y git subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev libtool libtool-bin libsqlite3-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev yasm liblua5.2-dev libopus-dev cmake

Los siguientes paquetes son opcionales pero podemos instalarlos.

sudo apt install -y libcurl4-openssl-dev libexpat1-dev libgnutls28-dev libtiff5-dev libx11-dev unixodbc-dev libssl-dev python-dev zlib1g-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev uuid-dev libsndfile1-dev

Instale libks y cable de señal

sudo apt install -y cmake
cd /usr/src
sudo git clone https://github.com/signalwire/libks.git
cd libks
sudo cmake .
sudo make
sudo make install

cd /usr/src
git clone https://github.com/signalwire/signalwire-c.git
cd signalwire-c
sudo cmake .
sudo make
sudo make install

A continuación, obtenga la última versión de FreeSwitch desde la página de lanzamientos usando wget:

cd /usr/src
sudo wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.zip
sudo apt -y install unzip
sudo unzip freeswitch-1.10.3.-release.zip
cd freeswitch-1.10.3.-release/

Tenga en cuenta que si no tiene instalado unzip, instálelo ejecutando apt -y install unzip

sudo apt -y install unzip

Ahora ejecute el proceso de instalación estándar

sudo ./configure -C
sudo make

Si encuentra errores durante la compilación, puede comentar cualquier módulo que arroje el error o instalar las dependencias que faltan. En mi caso, inicialmente había comentado idiomas/mod_lua y aplicaciones/mod_signalwire pero puedes comentar más dependiendo de los errores que obtengas. Después de lo cual reinicia la compilación como se muestra a continuación:

sudo ./configure && sudo make clean && sudo make

Para una compilación exitosa, verá el resultado siguiente:

A continuación, instale freeswitch:

sudo make install

Producción

Ahora compila sonidos

sudo make all cd-sounds-install cd-moh-install

Cree enlaces sim para utilizar los servicios fácilmente.

sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin

Agregue un nuevo grupo y usuario con menos privilegios para ejecutar el servicio FreeSWITCH.

cd /usr/local
sudo groupadd freeswitch
sudo adduser --disabled-password  --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup freeswitch freeswitch
sudo chown -R freeswitch:freeswitch /usr/local/freeswitch/
sudo chmod -R ug=rwX,o= /usr/local/freeswitch/
sudo chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/

Necesitamos agregar FreeSwitch como un archivo de unidad systemd. Abra un nuevo archivo /etc/systemd/system/freeswitch.service usando su editor favorito y pegue el siguiente contenido:

sudo vim /etc/systemd/system/freeswitch.service

Pega el siguiente contenido

[Unit]
Description=freeswitch
Wants=network-online.target
Requires=syslog.socket network.target local-fs.target
After=syslog.socket network.target network-online.target local-fs.target

[Service]
Type=forking
Environment="DAEMON_OPTS=-nonat"
EnvironmentFile=-/etc/default/freeswitch
ExecStartPre=/bin/chown -R freeswitch:freeswitch /usr/local/freeswitch
ExecStart=/usr/bin/freeswitch -u freeswitch -g freeswitch -ncwait $DAEMON_OPTS
TimeoutSec=45s
Restart=always
RestartSec=90
StartLimitInterval=0
StartLimitBurst=6

User=root
Group=daemon
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
LimitSTACK=250000
LimitRTPRIO=infinity
LimitRTTIME=infinity
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007
NoNewPrivileges=false

[Install]
WantedBy=multi-user.target

Inicie el servicio FreeSwitch y habilítelo al arrancar

sudo chmod ugo+x freeswitch.service
sudo systemctl start freeswitch.service
sudo systemctl enable freeswitch.service

Ahora verifique el estado del servicio FreeSWITCH

sudo systemctl status freeswitch.service

Si freeswitch está correctamente instalado y ejecutándose, la salida debería ser como se muestra

Ahora puede conectarse a FreeSWITCH usando el cliente como se muestra a continuación

# fs_cli -r

Verá un resultado como el siguiente:

Esta ha sido una guía sobre cómo instalar FreeSwitch PBX en Ubuntu 20.04/18.04. ¡Consulta más guías a continuación!

  • Cómo instalar y configurar 3CX PBX en Debian
  • Cómo instalar FreePBX en CentOS 8
  • Cómo instalar FreePBX en CentOS 7
  • Cómo instalar FreePBX en Debian