PBX virtual. Parte 1: Fácil instalación de Asterisk en Ubuntu 20.04





Debido a la transición al teletrabajo en las pequeñas empresas, a menudo surgen problemas de comunicación telefónica. Por lo general, estas empresas se sientan en oficinas alquiladas y un centro de negocios ofrece servicios de telefonía. Tendrá que ocuparse de conectar a los empleados desde casa: la forma más económica de hacerlo es implementar el servidor VoIP de código abierto gratuito Asterisk en una máquina virtual. En el artículo, usamos Ubuntu 20.04 como ejemplo, pero esta receta también es adecuada para otras versiones de la distribución popular: 18.04 y 18.10, así como (en teoría, no lo hemos probado) para las versiones actuales de Debian.



Asterisco + Ubuntu + VDS = IP-PBX



Hay otros servidores VoIP disponibles y algunos productos comerciales son de uso gratuito durante un tiempo limitado. Se considera que son mucho más fáciles de configurar, pero requieren que Windows se ejecute o se instale desde su propia distribución de Linux. Esto corta inmediatamente la mayoría de los VDS económicos, y su propio hardware con un canal de transmisión de datos o alquilar un servidor de hardware dedicado es más caro. Free Asterisk se puede implementar en cualquier máquina virtual y no es tan difícil de implementar. Esto ni siquiera requiere ensamblaje desde la fuente. Con la ayuda de Asterisk, es fácil establecer una conexión telefónica entre teléfonos IP (hardware y software), y si te conectas a un proveedor de VoIP externo, por una pequeña cantidad de dinero recibirás un IP PBX (IP-PBX) completo. Si la necesidad de ella desaparecePuede rechazarlo en cualquier momento: el alquiler es más rentable que las inversiones en hardware y software.



Instalación de Asterisk



Para las pruebas, tomamos una máquina virtual económica , pero la configuración de combate depende de las necesidades del cliente. Aquí es donde se manifiesta la principal ventaja de VDS: los recursos se pueden pedir como mínimo y luego agregarlos si es necesario. Por lo general, para el funcionamiento completo de un PBX, necesita al menos 2 GB de RAM, pero si hay muchos, no es difícil renunciar a recursos innecesarios.







Instalar un servidor VoIP en Ubuntu 20.04 es la parte más fácil de la búsqueda. Los paquetes requeridos están en el repositorio de distribución oficial y se agregan al sistema con un par de comandos. En Ubuntu usamos el mecanismo de escalada de privilegios sudo, y en Debian probablemente no lo necesitemos, ya que allí se practican sesiones interactivas con derechos de root:



sudo apt-get update
sudo apt-get install asterisk asterisk-dahdi


El servicio Asterisk se inicia y detiene a través de systemd, y puede ver su estado después de la instalación usando el comando systemctl:



sudo systemctl status asterisk


Si todo salió bien, el resultado será algo como esto:







Para iniciar / detener / reiniciar (por ejemplo, después de cambiar los archivos de configuración) del servicio en modo manual, use los siguientes comandos:



sudo systemctl start asterisk
sudo systemctl stop asterisk
sudo systemctl restart asterisk


Hasta ahora, todo es estándar, pero la parte más emocionante de nuestra aventura está por venir. Es necesario configurar el servidor VoIP.



Configurando Asterisk



Los archivos de configuración se encuentran en el directorio / etc / asterisk, y hay una gran cantidad de ellos allí.



ls /etc/asterisk






El producto es muy flexible y tiene muchas posibilidades, pero no necesitaremos la mayoría de ellas para resolver tareas simples. En este artículo, nos limitaremos a editar dos archivos de configuración: /etc/asterisk/sip.conf y /etc/asterisk/extensions.conf. Primero debe hacer copias de seguridad de ellos:



sudo mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.b
sudo mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.b


Pasemos a editar nuevos archivos de configuración (los más curiosos pueden estudiar las copias de seguridad de la distribución, hay muchas cosas interesantes):



sudo nano /etc/asterisk/sip.conf


Debe agregar al menos dos usuarios (extensiones) con los números 1001 y 1002 al archivo, y también establecer contraseñas para ellos (el parámetro secreto). En su servidor, los números internos y las contraseñas serán diferentes: De manera similar, creamos un nuevo archivo extensions.conf:



[general]

context=default

allowoverlap=no

udpbindaddr=0.0.0.0

tcpenable=no

tcpbindaddr=0.0.0.0

transport=udp

srvlookup=yes



[1001]

type=friend

host=dynamic

secret=1234



[1002]

type=friend

host=dynamic

secret=5678








sudo nano /etc/asterisk/extensions.conf


Su contenido será el siguiente: Cambiar el propietario y los derechos de acceso a los archivos, ya que existen, en particular, las contraseñas de los usuarios de nuestra PBX



[general]

static=yes

writeprotect=no

priorityjumping=no

autofallthrough=yes

clearglobalvars=no



[default]

exten => 1001,1,Dial(SIP/1001,10)

exten => 1002,1,Dial(SIP/1002,10)








sudo chown asterisk:asterisk /etc/asterisk/sip.conf /etc/asterisk/extensions.conf
sudo chmod 640 /etc/asterisk/sip.conf /etc/asterisk/extensions.conf


Ahora solo tenemos que reiniciar el servicio y comprobar su rendimiento:



sudo systemctl restart asterisk
sudo systemctl status asterisk


Esto completa la configuración de IP PBX con la posibilidad de comunicación telefónica entre abonados internos. Pasemos a comprobar su rendimiento.



Conexión de suscriptor



La mayoría de las veces, los teléfonos de software para sistemas operativos móviles y de escritorio se utilizan para conectarse a un PBX virtual. Hay muchos de ellos, para las pruebas tomamos el Linphone gratuito para iOS y Android . Al principio, deberá seleccionar la opción "USAR USUARIO SIP", y luego especificar el nombre de usuario y la contraseña en la configuración de IP de nuestro servidor. No necesita crear una cuenta de servicio de Linphone, tenemos la nuestra.







Después de conectarse a nuestro PBX, los clientes están listos para comunicarse entre sí. En una estación de trabajo Linux con un entorno gráfico, puede usar el mismo Linphone disponible en el repositorio de distribución oficial:



sudo apt-get install linphone


Está configurado aproximadamente de la misma manera. Ahora tenemos un PBX virtual que proporciona comunicación entre suscriptores internos. Dios no sabe qué logro, pero los costos laborales para su implementación también son bajos. En el próximo artículo, aprenderemos cómo conectarnos a un proveedor SIP, llamar a través de él a redes de telefonía móvil y de cable, recibir llamadas externas entrantes, así como realizar desvíos y otras cosas interesantes.










All Articles