Como montar una centralita IP paso a paso: Parte 3

Antes de comenzar…

Debes tener por lo menos 2 centrales IP (con las mismas herramientas instaladas en la parte 1) para el correcto desarrollo. Sin olvidar que ambos deben tener diferente extensión.

Para fines prácticos de la guía se utilizará una maquina virtual junto a la Raspberry.


Conectando centrales IP a través de Dundi.

A la maquina virtual la llamaremos «VM» y a la Raspberry «RPI». Ademas, se recomienda asignar IP estática a ambos equipos.

Paso 1: Obtener los datos de ambos equipos.

Necesitamos la dirección ip estática así como la dirección MAC de la conexión de cada equipo hacia el router y sus correspondientes extensiones.

Sin importar el tipo de conexión hacia el router, la dirección MAC se obtiene de la siguiente manera.

Ejecutar en la terminal:

ifconfig
# En caso de no funcionar, se puede utilizar
ip addr

Aparecerá la siguiente información (similar):

Tomar nota de la dirección correspondiente (En nuestro caso para la conexion «enp0s3»).

Resumen de los equipos utilizados:

Maquina virtual
Nombre: VM
IP: 192.168.10.20
Extension: 7XXX
MAC: XX:XX:XX:XX

Raspberry
Nombre: RPI
IP: 192.168.10.3
Extension: 8XXX
MAC: XX:XX:XX:XX

Paso 2: Generación de llaves publicas y privadas.

Para utilizar el protocolo Dundi se necesitan llaves de encriptación en cada servidor tanto publicas como privadas.

En ambos servidores:

Cambiamos el directorio:

cd /var/lib/asterisk/keys

Generamos las llaves:

#Para VM
astgenkey -n VM
#Para RPI
astgenkey -n RPI

Al presionar Enter. El resultado sera:

Para VM:
VM.key
VM.pub

Para RPI:
RPI.key
RPI.pub

Paso 3: Intercambiar las llaves publicas.

Se recomienda utilizar uno de los siguientes metodos:

Necesitamos copiar la llave «.pub» de ambos servidores e intercambiarlas. Colocandolas en el directorio /var/lib/asterisk/keys.

De tal manera que el resultado sea el siguiente:

Para VM:
VM.key
VM.pub
RPI.pub


Para pbx 2:
RPI.key
RPI.pub
VM.pub

Antes del siguiente paso necesitamos otorgar permisos de las llaves al usuario Asterisk. Ejecutamos:

chown asterisk:asterisk *

Paso 4: Configurar los enlaces IAX.

[Si tienes dudas sobre lo que es un enlace IAX, puedes consultarlo ACÁ.]

Paso esencial para la comunicación de ambos servidores, ya que de esta forma le indicaremos a los servidores hacia adonde redirigir el trafico (Las llamadas).

En VM:
Modificar el archivo.

nano /etc/asterisk/iax_custom.conf

Colocando en el, lo siguiente:

[dundi-usuario]
type=user
trunk=yes
username=dundi-usuario
dbsecret=dundi/secret
qualify=yes
host=192.168.10.3
allow=all
context=dundi-digium-local

Hacemos lo mismo en RPI:

nano /etc/asterisk/iax_custom.conf

Y colocamos:

[dundi-usuario]
type=user
trunk=yes
username=dundi-usuario
dbsecret=dundi/secret
qualify=yes
host=192.168.10.20
allow=all
context=dundi-digium-local

Guardamos los cambios.

Paso 5: Crear las extensiones y contextos para Dundi.

Hacemos esto para que Asterisk sepa que hacer cuando se digite un numero que corresponde a las extensiones del otro servidor.

En VM:

Modificamos el archivo:

nano /etc/asterisk/extensions_custom.conf

Con lo siguiente:

[dundi-digium-local]
include => dundi-conexion

[dundi-conexion]
exten => _4XXX,1,Goto(from-internal,${EXTEN},1)

Lo mismo en RPI:

nano /etc/asterisk/extensions_custom.conf

Pero con la diferencia que agregaremos una linea extra para permitirle la salida PSTN al servidor en la VM

[dundi-digium-local]
include => dundi-conexion
include => dundi-pstn

[dundi-conexion]
exten => _5XXX,1,Goto(from-internal,${EXTEN},1)

[dundi-pstn]
exten => _7XXXXXXX,1,Goto(outbound-allroutes,${EXTEN},1)

Paso 6: Configurar dundi.conf

En ambos servidores:

Abrir el archivo dundi.conf, ejecutando:

nano /etc/asterisk/dundi.conf

Ya en el archivo, nos dirigimos a la sección que se muestra en la imagen y quitamos el punto y coma (;) de la lineas.

En el dado caso que se requieran otros valores, los modificamos ( Para el desarrollo de la guía no será necesario):

Ejemplo:

department=Informatica
organization=Comunicaciones, Inc.
locality=San Salvador
stateprov=SS
country=SV
email=cos115@ues.edu.sv
phone=+12565551212

Luego, buscamos la sección [mappings] y debajo de esta colocamos:

Para VM:

       
digium => dundi-conexion,0,IAX2,dundi-usuario:${SECRET}@192.168.10.20/${NUMBER},nopartial

Para RPI:

  
digium => dundi-conexion,0,IAX2,dundi-usuario:${SECRET}@192.168.10.3/${NUMBER},nopartial
digium => dundi-pstn,100,IAX2,dundi-usuario:${SECRET}@192.168.10.3/${NUMBER},nopartial
  

Por ultimo necesitamos agregar la información (IP, llaves y dirección MAC) de VM en RPI y viceversa.

OJO: La dirección MAC debe ser la que se obtuvo en el paso 1.

Siempre en el mismo archivo, dirigirse al final y agregar lo siguiente:

Para VM:

[XX:XX:XX:XX:XX:XX] ;DIRECCION MAC DEL RPI
model=symmetric
host=192.168.10.3
auth=rsa
inkey=RPI
outkey=VM
include=all
permit=all
qualify=yes
order=primary

Para RPI:

[b8:27:eb:12:91:77] ;DIRECCION MAC DE LA VM
model=symmetric
host=192.168.10.20
auth=rsa
inkey=VM
outkey=RPI
include=all
permit=all
qualify=yes
order=primary

Guardamos los cambios y reiniciamos los servidores.

Extra: Comprobar la comunicación de las centrales.

Iniciamos Asterisk en la terminal:

asterisk -rvvvvv

Y dentro de la consola de Asterisk escribimos:

dundi show peers

Deberá aparecer la información del servidor conectado via Dundi:

VM:

RPI:


Configurando trunk y rutas para Dundi en FreePBX.

Paso 1: Agregar un trunk DUNDi.

Para ambos servidores:

En el menú «Connectivity» seleccionar «Trunks»:

Luego en el menú desplegable «Add Trunk» elegimos «Add DUNDi Trunk»:

Llenamos los campos «Trunk name» y «Outbound CallerID» de la siguiente manera:

Cambiamos a la pestaña «dundi Settings» y colocamos «digium» en el campo correspondiente:

Guardamos y aplicamos los cambios.

Paso 2: Crear la ruta de salida.

Seleccionamos «Outbound Routers» en el menu «Connectivity»:

En MV:

Introducimos la información como aparece en la imagen:

En la sección «Trunk Sequence for Matched Routes» seleccionamos «digium»:

Cambiamos a la pestaña «Dial patterns».

Y agregamos el patrón 7XXXXXXX correspondiente al formato PSTN local y la extensión de RPI 8XXX.

En RPI:

Mismo procedimiento:

En «Dial patterns» agregamos el patrón 7XXX que corresponde a las extensiones de MV:

Finalmente, guardamos y aplicamos los cambios.


¡Listo. Ya tienes tu red de centralitas IP!

Lo que marca el fin de la tercera parte y de la guía «Como montar una centralita IP paso a paso».

¡Gracias por leerla!


Grupo: Central IP #4

Integrantes:

Barahona Ramos, Adonay AbsalónBR15007
Calzadilla Ramos, Andrea María CR15089

Como montar una centralita IP paso a paso: Parte 2

Bienvenido, a la segunda parte de la guía. En ella se abordará principalmente la configuración de lineas VoIP y la conexión a PSTN.

Si deseas ver la primera parte da clic AQUÍ.


Configurando Extensiones en FreePBX

Paso 1: Iniciar sesión en FreePBX

Ingresando a 192.168.10.3 desde cualquier equipo conectado a la red.

Para los siguientes pasos, ingresar a Settings -> Asterisk SIP settings.

Paso 2: Establecer la red externa y local.

En el apartado «NAT Settings» hacer click en Detect Network Settings.

Aparecerá una nueva red en «Local Networks» que corresponde a la red a que esta conectada la Raspberry Pi (se recomienda utilizar una red diferente a la que provee internet).

Si no aparece nada en el apartado «External Address» escribir el Gateway del router que se este utilizando. Para nuestro caso es: 192.168.10.1

Paso 3: Habilitar videollamadas para la central.

Al final de la misma pagina se habilita la opcion «Video Support».

Cambiar a «Enable».

Paso 4: Cambiar el puerto de Chan PJSIP y Chan SIP.

Se accede a «Chan PJSIP Settings» para cambiar el puerto de 5060 a 5X60 (X=Cualquier numero que se desee).

Ahora cambiamos el puerto de chan SIP a 5060 accediendo a la pestaña del mismo nombre.

Click en submit y luego en Apply Config

Al reiniciarse Freepbx se debe reiniciar la RPi para aplicar las configuraciones recientes.

Paso 5: Registrar extensiones de Asterisk.

En FreePBX el procedimiento es muy sencillo.

Usando el protocolo SIP.

Click en el menu «Applications» luego «Extensions».

En el menu desplegable «Add Extension» seleccionar «Add New Chan_SIP Extension».

Se mostrará el siguiente formulario.

Formulario para añadir extensión SIP en FreePBX

User Extension -> Escribir el numero de extension a utilizar (En esta guia se utilizan extensiones 8XXX)


Display name -> El nombre para la extension (Aparecera en llamadas entrantes a otras extensiones)


Outbound CID -> Lo mismo que Display name (Se utiliza para identificar extensiones en llamadas via enlaces troncales)


Secret -> Contraseña a utilizar para autentificacion en Softphones o telefonos Voip

Una vez guardados los cambios (Clic en submit), hacer clic en Apply Config para guardar todas las configuraciones.

Usando el protocolo IAX2

Click en el menu «Applications» luego «Extensions».

En el menu desplegable «Add Extension» seleccionar «Add New IAX2 Extension»

Aparecera un formulario parecido al paso anterior. Rellenar los campos y hacer clic en Submit, luego en Apply Config.

Paso Extra: Registrar extensiones de Asterisk en forma manual (Opcional).

Primero hay realizar un respaldo de los archivos sip.conf, extensions.conf

cp /etc/asterisk/sip.conf /etc/asterisk/sip.conf.bk
cp /etc/asterisk/ extensions.conf /etc/asterisk/extensions.conf.bk

Se edita el archivo /etc/asterisk/sip.conf

sudo nano  /etc/asterisk/sip.conf

Al final del archivo escriba todas las extensiones que desee agregar de la siguiente manera:

[Numero extension]
context=general
type=friend
callerid="Nombre"
username=Nombre
secret=contraseña

Luego modificamos el archivo /etc/asterisk/extensions.conf

sudo nano /etc/asterisk/extensions.conf

Escribir en el :

[general]
exten =>101,1,Dial(SIP/101,30,Ttm)
exten =>101,2,Hangup
exten =>102,1,Dial(SIP/102,30,Ttm)
exten =>102,2,Hangup

Con esto quedarían configuradas 2 extensiones.


Conexión a la PSTN

Paso 1: Crear enlace troncal (Trunk).

Siempre en FreePBX nos vamos a la opcion Conectivity y seleccionamos Trunks

Seleccionamos Add trunk y luego Add Custom Trunk

En el apartado «General» solo agregamos el nombre del Trunk y el «Outbound CallerID» (A preferencia).

Ahora en el apartado «Custom settings» en «Custom Dial String» colocamos lo siguiente.

dongle/dongle0/$OUTNUM$

Al finalizar guardamos y aplicamos los cambios.

Paso 2: Configurar la ruta de entrada.

En el menu «Connectivity» seleccionamos «Inbound Routes» y luego damos clic en «Add Inbound Route

Agregamos una descripción.
Luego en DID Number escribimos el numero del SIM que estamos utilizando en nuestro caso. 50370XXXXXX

OJO: Debe ser en formato cod. de pais + numero.

Finalmente en el apartado «Set Destination» seleccionamos «Extensions» y luego la extension de nuestra preferencia.

Resultado:

Guardamos y aplicamos los cambios.

Paso 3: Configurar la ruta de salida.

En el menu «Connectivity» seleccionamos «Outbound Routes» y luego damos clic en «Add Outbound Route»

Agregamos el nombre de la ruta y el «CallerID» de la ruta (A preferencia).

En la seccion «Trunk Sequence for Matched Routes» seleccionamos el Trunk creado en el paso 1.
en este caso PSTN_GSM.

Finalmente en la pestaña Dial Pattern agregamos los patrones usara la ruta.

En este caso se usa el patron [6-7]XXXXXXX correspondiente a los números de telefonía celular.

Guardamos y aplicamos los cambios.

Paso extra: modificar el archivo «dongle.conf»

Ejecutamos:

sudo nano /etc/asterisk/dongle.conf

Dentro del archivo modificamos la linea «context=default» por «context=from-trunk»

Guardamos el cambio y reiniciamos la Raspberry.


Listo. ¡Ya tienes tu propia central VoIP de bajo costo!


Ahora… Tenemos una sección especial si quieres llevar tu centralita al siguiente nivel. Vamos a conectar múltiples centrales VoIP a través de un protocolo llamado Dundi. Si estas interesado, puedes visitar la PARTE 3.

Como montar una centralita IP paso a paso: Parte 1

Bienvenido, en esta guía encontraras toda la información necesaria para tener tu propia central IP por una fracción de lo que normalmente cuesta.

La primera parte comprende la instalación del software que utilizaremos la central.

Antes de comenzar…

Una central ip nos permite gestionar llamadas telefónicas dentro de una empresa, pudiendo compartir las líneas de acceso a la red pública entre varios usuarios, todo esto es posible a la utilización de la tecnología opensource Asterisk, pudiendo tener comunicación aun al exterior utilizando PTSN, lo cual se agrega a la unificación de tecnologías como VoIP,  la cual es una tecnología que proporciona la comunicación de voz y sesiones multimedia como vídeo a través de IP, y GSM el cual es el sistema Global de Comunicaciones Móviles.

En esta complementación de Central IP, se utilizan dos protocolos de enrutamiento VoIP. Ayudándonos de SIP para llamadas entre extensiones de la central y de IAX para conectarnos a otros servidores Asterisk mediante DUNDi el cual proporcional información de los direccionamientos de los números.

Materiales a utilizar.

  • Raspberry Pi 3 Modelo B+
Raspberry Pi 3 B+
  • Modem Huawei E303
  • Hub USB con fuente de poder externa
  • Router Technicolor CGA0101

Software necesario:

  • Raspbian Buster
  • Asterisk 14.7
  • Free PBX 14
  • Chan_dongle

Debes asegurarte de cumplir todos los requisitos antes de comenzar.


1. Instalación de dependencias

Paso 1: Actualizar Raspbian Buster.

Solo debemos ejecutar los siguientes comandos

sudo apt-get update 
sudo apt-get upgrade 

Al finalizar la actualización reiniciar la Raspberry Pi

Paso 2: Intalar PHP 5.6.

Para que FreePBX 14 funcione bien se debe instalar la versión 5.6 de PHP.

Si intentas instalarlo desde los repositorios de Buster, te darás cuenta que no esta disponibles. Por lo tanto, debemos descargarlo usando un repositorio externo.

Antes de agregar el nuevo repositorio, debemos instalar los siguientes paquetes.

‎‏‏‎ ‎
sudo apt install wget gpg2 ca-certificates apt-transport-https 
 

Una vez los tenemos instalados, agregamos el nuevo repositorio. Ejecutando lo siguiente:

‎‏‏‎ ‎
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -

echo "deb https://packages.sury.org/php/ buster main" | sudo tee /etc/apt/sources.list.d/php.list
 

Ahora procedemos a instalar PHP. (Y actualizamos la lista de paquetes disponibles)

sudo apt update
sudo apt install php5.6

Luego que PHP este instalado procedemos a instalar las dependencias para las herramientas necesarias para montar la central ip.

‎‏‏‎ ‎
sudo apt-get install php5.6-cli php5.6-common php5.6-curl php5.6-gd php5.6-json php5.6-mbstring php5.6-mysql php5.6-xml

sudo apt-get install apache2 bison php5.6-fpm php-pear php5.6-odbc curl sox libncurses5-dev libssl-dev default-libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev default-mysql-client default-mysql-server default-mysql-client-core default-mysql-server-core bison flex mongodb dirmngr php5.6-cgi libapache2-mod-security2 libapache2-mod-php5.6 --allow-unauthenticated

apt-get install build-essential libjansson-dev
 

Cuando finalice el proceso se reinicia nuevamente la RPi.


2. Instalación de Asterisk

Si te preguntas. ¿Porque vamos a utilizar la version 14.7 de Asterisk ?

Para evitar problemas de compatibilidad con el plugin «Chan_dongle». Mas adelante te diremos para que nos será útil.

Paso 1: Descargar y descomprimir Asterisk.

Cambiamos de directorio a /usr/src/

cd /usr/src/

Para descargarlo ejecutamos el siguiente comando:

‎‏‏‎ ‎
wget http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-14.7.8.tar.gz 
‎‏‏‎ ‎

Descomprimimos el tar.gz y cambiamos al nuevo directorio

tar -zxvf asterisk-14.7.8.tar.gz
cd asterisk-14.7.8/

Paso 2: Instalar dependencias adicionales.

Dentro del directorio «asterisk-14.7.8». Ejecutamos el comando:

contrib/scripts/get_mp3_source.sh

Dicho comando nos ayuda a descargar los archivos necesarios para compilar el modulo mp3.

Luego, ejecutamos:

./contrib/scripts/install_prereq install

Nos preguntara si queremos descargar los paquetes adicionales. Aceptamos.

Y + Enter

Comenzará a descargar y configurar todo lo necesario…

Una vez instaladas todas las dependencias adicionales la terminal deberá mostrar un mensaje así:

Paso 3: Aplicar configuraciones previas a la compilación.

Para configurar Asterisk se ejecuta el comando:

sudo ./configure

Si la configuración fue un éxito, al finalizar, la terminal se verá así:

Paso 4: Agregar la extensión format_mp3.

Para agregar extensiones u configurar opciones de compilación adicionales, se ejecuta:

make menuselect

Para fines de esta guía solo será necesario marcar en la pestaña «Add-ons» la opción de «format_mp3»

Paso 5: Compilar e instalar Asterisk.

El siguiente paso es ejecutar el comando para compilar asterisk:

# Dependiendo de la cantidad de núcleos del procesador de la Raspberry.
make
#Dos núcleos
make -j2
#Cuatro núcleos
make -j4

Al terminar la compilación aparecerá en la terminal lo siguiente:

Finalmente para instalar Asterisk se debe ejecutar:

make install

Si todo ha salido bien se vera esto en la terminal:

Ahora que tenemos instalado Asterisk, necesitamos instalar los archivos de configuración de muestra.

sudo make samples

Luego se ejecuta:

sudo make config
sudo ldconfig

Para que el servicio «Asterisk» inicie automáticamente luego del reinicio de la RPi o una falla.

Finalmente.
Si se requiere iniciar el servicio al encender la RPi, se ejecuta:

sudo systemctl enable asterisk

Paso 6: Comprobando la instalación de Asterisk:

Al ejecutar:

sudo asterisk -rvvvvv

Asterisk iniciará y mostrará en pantalla lo siguiente:

Paso Extra: Creación de usuario para el uso de Asterisk

Para mayor seguridad se realiza el siguiente procedimiento.

Se crea un nuevo grupo de cuentas:

sudo groupadd asterisk

Se agrega un nuevo usuario:

sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk" asterisk

Asignamos permisos:

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

Finalmente, se modifica el archivo /etc/default/asterisk

sudo nano /etc/default/asterisk

Quitando el # a las siguientes lineas:

AST_USER=»asterisk»
AST_GROUP=»asterisk»

Reiniciar el sistema luego de completar el procedimiento.


3. Intalación de Chan_dongle

En esta sección se usará Chan_dongle, una extensión de Asterisk open source para conectarse a la red telefonía conmutada local. Sirviendo como intermediario entre la red PSTN y nuestro servidor de Asterisk.

Previo a la instalación de Chan_dongle…

Para el correcto desarrollo esta sección y la siguiente se deben cumplir los requisitos:

  • Un modulo GSM compatible con chan_dongle
  • Un hub USB con fuente de alimentación propia
  • Una tarjeta SIM (chip) de alguna compañía local

Lista de dispositivos compatibles: http://asterisk-service.com/page/chan-dongle-modems

OJO: Se debe quitar el pin de bloqueo del modem (Liberar).

Existen 2 formas de liberar el modem.

Debes de cumplir todos los requisitos antes de continuar.

Paso 1: Descargar y descomprimir el plugin.

Para descargar el plugin se ejecuta el siguiente comando:

sudo wget https://github.com/wdoekes/asterisk-chan-dongle/archive/master.zip

Una vez termine la descarga, procedemos a descomprimir el archivo «master.zip»

sudo unzip master.zip

Paso 2: Configurar el plugin.

Se entra a la carpeta del plugin.

cd asterisk-chan-dongle-master

Ejecutamos el comando:

sudo ./bootstrap

Para realizar configuración antes de instalar.

Configuramos la versión de Asterisk a usar en la instalación:

sudo ./configure --with-astversion=14.7

Paso 3: Compilar e instalar chan_dongle.

Para compilar el plugin ejecutamos:

sudo make

Si todo ha salido bien, la terminal se verá asi:

Procedemos a instalar chan_dongle:

make install

La instalación es prácticamente instantánea por lo que no veremos ningún mensaje en la terminal:


4. Comunicando Asterisk y Chan_dongle.

Paso 1: Copiar configuracion del plugin a Asterisk

Ejecutamos:

sudo cp etc/dongle.conf /etc/asterisk

Paso 2: Dar acceso a los puertos seriales al usuario «Asterisk»

Al ejecutar Asterisk con su propio usuario (Paso extra en la sección 2 de esta guía) puede que chan_dongle no detecte los módem USB correctamente. En ese caso, necesitamos otorgar permisos para puertos ttyUSB.

Primero, creamos el archivo: 92-dongle.rules con los siguientes comandos:

cd /etc/udev/rules.d/
sudo nano 92-dongle.rules

Dentro del mismo, colocar las siguientes lineas:

KERNEL=="ttyUSB", MODE="0666", OWNER="asterisk", GROUP="uucp"

También se debe modificar al archivo asterisk.conf

Ejecutamos:

nano /etc/asterisk/asterisk.conf

Y al final del archivo escribimos:

rungroup = dialout

Se reinicia el sistema nuevamente.

Paso 3: Verificar la comunicación.

Se inicia Asterisk

sudo asterisk -rvvvvv

Si chan_dongle esta correctamente cargado se mostrará el siguiente error.

De no ser asi, se debe ejecutar el comando:

 module load chan_dongle.so  

Ahora debería mostrarse el error anterior.

¿Por que se muestra este error?
Esto es porque chan_dongle busca el modulo GSM que aun no sea conectado.

Buscamos el hub USB mencionado anteriormente y lo conectamos a la RPi.
Conectamos el modem al hub y luego de unos segundos deberá quedar configurado.

Ejecutamos:

dongle show devices

Y debería aparecer nuestro modulo GSM con su respectiva información.

¿Que debo hacer si el error persiste?

Extra: Corrección de errores

Se debe verificar el directorio «dev». Ejecutamos:

cd /dev

ls

De no aparecer las interfaces ttyUSB0, ttyUSB1, ttyUSB2 en la lista:

Se modifica el archivo /etc/usb_modeswitch.conf

sudo nano /etc/usb_modeswitch.conf

Al final del arcivo se encontrará la linea «HuaweiAltModelGlobal».

Cambiamos el valor a 1.

Guardamos el archivo y reiniciamos el sistema.

Si el cambio ha funcionado al conectar el módem USB nuevamente se debe configurar sin problemas.

Y en el directorio /dev aparecerán las interfaces.

Si por el contrario, el error continua. Quiere decir que el modulo no es compatible con chan_dongle y se debe conseguir otro.


Si has llegado hasta acá, prácticamente ya tienes lo esencial para poner en marcha tu central VoIP.

Sin embargo, las secciones a continuación harán que la creación y administración de las cuentas así como la conexión al exterior sean mucho mas sencillas.


5. Preparando el sistema para FreePBX.

Antes de comenzar con la instalación se deben completar ciertos pasos:

Paso 1: Asignar mas memoria a PHP.

Se modifica el archivo de configuración «php.ini»

sudo nano /etc/php/5.6/apache2/php.ini

Presionando Crtl+W se puede buscar la linea a cambiar.

Cambiar a: memory_limit = 256M

Paso 2: Instalar el paquete mylibodbc.

El siguiente paso es instalar mylibodbc para que MySQL se comunique con PHP.

Al ejecutar: sudo apt-get install libmyodbc.
Como se observa en la imagen no existe dicho paquete en el repositorio de Raspbian:

Esto se soluciona mediante «APT Pinning» utilizando el repositorio de Raspbian 8 (Jessie)

Primero se agrega un nuevo archivo en el directorio «preferences.d» llamado jessie:

sudo nano /etc/apt/preferences.d/jessie

Dentro del mismo debemos colocar lo siguiente

Package: *
Pin: release n=buster
Pin-Priority: 900
Package:*
Pin: release n=jessie
Pin-Priority: 100

Luego, se agrega Jessie a la lista de repositorios.

sudo nano /etc/apt/sources.list

Al final archivo escribir:

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib

Luego de guardar los cambios, se ejecuta:

sudo apt-get update

Observamos que ya aparece el repositorio de Jessie

Ahora, instalamos lo necesario:

sudo apt-get install unixodbc libmyodbc sqlite3

Al finalizar la instalación se reinicia el sistema.

Paso 3: Comunicar MySQL con PHP.

Se crea un archivo nuevo:

sudo nano /etc/odbcinst.ini

Escribimos lo siguiente:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/arm-linux-gnueabihf/odbc/libmyodbc.so
Setup = /usr/lib/arm-linux-gnueabihf/odbc/libodbcmyS.so
FileUsage = 1

Guardamos el archivo.

También hay que modificar el archivo odbc.ini:

sudo nano /etc/odbc.ini

Con la siguiente información:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

Luego de guardar el archivo, se ejecutan los comandos:

a2enmod rewrite
a2enmod proxy_fcgi setenvif
# Seguido de:
service apache2 #Para aplicar los cambios

Se reinicia la Raspberry Pi.

Paso 4: Modificar la configuración de Asterisk.

Se debe acceder al archivo asterisk.conf:

nano /etc/asterisk/asterisk.conf

Solo se borra el «(!)» al final de la primera linea y se aceptan los cambios No modificar nada mas.

¡Luego de todo lo anterior se puede instalar FreePBX!

5. Instalando FreePBX.

Regresamos al directorio donde se descomprimió Asterisk.

cd /usr/src

Ejecutamos el comando:

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Se descomprime FreePBX y cambiamos al directorio:

tar vxfz freepbx-14.0-latest.tgz

cd freepbx

Se ejecuta el siguiente comando para comenzar la instalación (No olvides reiniciar el sistema al terminar la instalación). :

./install -n

Cuando termine la instalación la terminal debera verse así:

Listo, tenemos instalado FreePBX.


Con esto concluye la instalación de las herramientas.

Para la configuración de FreePBX. Ver parte 2


Diseña un sitio como este con WordPress.com
Comenzar