Você está na página 1de 6

CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 1

UNIVERSIDAD SURCOLOMBIANA
INGENIERIA ELECTRÓNICA
CONMUTACIÓN
INFORME FINAL
CENTRAL TELEFÓNICA CON ASTERISK
DAIRO LIZCANO SANCHEZ
CODIGO 2008275508
DIEGO FERNANDO ORTIZ
CODIGO 20141126514
OSCAR ORIOL TOLEDO
CODIGO 2002200952
JUAN DAVID MURILLO
CODIGO 20132121802

  Configurar en Asterisk clientes desde un teléfono IP,


en celulares y en computadores con el fin de que se
Resumen— En el siguiente informe se presenta la configuración de puedan comunicar entre sí. 
una central telefónica, por medio del programa de software libre  Configurar en Asterisk servicios telefónicos como
asterisk, explicando claramente la configuración de una central llamadas de voz, buzón de voz, mensajería
telefónica privada PBX, con el fin de brindar servicios como VoIP, instantánea, sala de conferencias de voz e identificador
mensajería instantánea, identificador de llamadas, buzon de
de llamadas.
mensajes y sala de conferencias de voz. Haciendo uso de la
configuración de los codecs G.711(A-law), G.711(u-law), GSM.  Reconocer posibles mejoras y alternativas a problemas
que se presentaron en el desarrollo del proyecto. 

Palabras claves—. Ubuntu, asterisk, telefonía IP, central


telefónica, Zoiper.
II. MARCO TEORICO
I. OBJETIVOS
Objetivo general:
¿Qué es asterisk?
 Configurar e implementar un servidor de VoIP desde el
sistema operativo Linux bajo la plataforma Asterisk,
usando el Protocolo de Iniciación de Sesión (SIP) para Asterisk es el mayor proyecto de software libre diseñado para
crear una central telefónica privada, que brinde sus propios la integración y unificación de los sistemas de comunicaciones
servicios de comunicación. conocidos

Objetivos especificos Originalmente fue concebido como una plataforma para la


 generación de un sistema PBX, pero con el tiempo ha ido
 Familiarizarse con el entorno de Asterisk para conocer evolucionando a otro tipo de usos, como Pasarelas VoIP,
sus funcionalidades y características, con el fin de sistemas integrales para call-centers, salas de conferencias,
adquirir habilidades en la programación de scripts.  buzones de voz, y todo tipo de aplicaciones que tengan relación
 Identificar las generalidades para configurar un con las comunicaciones en tiempo real.
computador como Servidor VoIP con Asterisk usando Asterisk es una plataforma de comunicaciones basada en la
protocolo SIP para prestar servicios multimedia.  filosofia Open Source, es capaz de convertir una computadora
comun en un completo servidor de comunicaciones.
CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 2

apt-get install openssl libxml2-dev libncurses5-dev uuid-dev


Como Configuración del Servidor de VoIP sqlite3 libsqlite3-dev pkg-config libjansson-dev
Este comando instalará las bibliotecas en las que Asterisk
Asterisk es un programa de software libre (bajo licencia GPL) necesitará trabajar y para CDR hay muchas opciones
que proporciona funcionalidades de una central telefónica disponibles. Por el momento, instalaremos SQLite también, ya
(PBX). Asterisk convierte una computadora normal en un que aún no hemos decidido que usaremos Mysql o SQLite.
servidor de comunicaciones donde se permite conectar un
número determinado de dispositivos a los que se les prestan descargamos una versión de asterisk de su sitio web con el
diferentes servicios entre sí dentro de una misma red. A siguiente comando:
continuación, se presenta un procedimiento detallado del
desarrollo y resultados del proyecto, que conlleva a cumplir con wgethttp://downloads.asterisk.org/pub/telephony/asterisk/aste
éxito los objetivos de este. risk-13-current.tar.gz
Ahora hemos descargado exitosamente Asterisk 13 en nuestro
Historia de asterisk
servidor.
Asterisk fue iniciado en el año 1999 por Mark Spencer. En
Para instalarlo desde la fuente que hemos descargado tenemos
aquel momento ya existían otros proyectos de telefonía basados
que extraerlo. Usa el siguiente comando para extraer:
en la ideología Open Source. Pero esos proyectos estaban
realmente enfocados a la telefonía a nivel software, basados en
tar xvf asterisk-13-current.tar.gz
la búsqueda de establecer comunicaciones entre ordenadores a
través de los sistemas de audio. La diferencia de Asterisk con
Ahora ingrese la carpeta para instalar Asterisk:
estos proyectos, era la idea preconcebida, de entrelazar por
primera vez la red de telefonía común (PSTN) con un
cd asterisk -13.25.0 /
ordenador.
El propósito de asterisk, era buscar diseñar tarjetas específicas
Para compilar desde una fuente, tenemos que usar el siguiente
para convertir la señal analógica que provenía de la PSTN a una
comando que comprobará todas las dependencias instaladas
señal digital, y ahorrar costes en la construcción de dispositivos
antes de instalar el software:
de telefonía y audio avanzados (y muy costosos).
./configure
III. ELEMENTOS MATERIALES Y EQUIPOS.
Ahora iremos a la carpeta de Asterisk y ejecutaremos
 Computador. nuevamente el comando. /configure para verificar si queda
➢ Ubuntu SO. alguna otra dependencia:
➢ Asterisk 13.25.0.
➢ Smartphones.
➢ Router.

IV. PROCEDIMIENTO

Guia de instalación de asterisk para sistemas operativos


basados en Linux.

En primer lugar, utilizaremos el comando sudo su con el fin de


acceder al super usuario o usuario rut, el cual nos permite
ejecutar programas con los privilegios de seguridad de otro
usuario.

vamos a instalar el entorno de compilación:

apt-get install build-essential

Este comando instalará los paquetes básicos que se necesitan Fig 1. Icono que representa que el asterisk ha sido instalado
en un nuevo servidor para instalar Asterisk 13. exitosamente.

instalaremos algunas dependencias más que dependen Esto muestra que ahora estamos listos para instalar Asterisk ya
directamente de Asterisk 13: que se cumplen todas sus dependencias. Ahora ejecute el
CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 3

siguiente conjunto de comandos y espere un poco, ya que [5000]


tomará un tiempo ejecutar: type=friend ; se pueden llevar a cabo llamadas y se pueden
Make recibir
make install & make samples secret=8811 ; contraseña para registrarse
callerid="Diego" <5000> ;Define el identificador
Asterisk ya está instalado y listo para usar. Puede iniciar sesión context=pmg ; indica el contexto asociado en el dialplan
en la consola de asterisk con el siguiente comando: para un usuario
host=dynamic ; puede estar en cualquier ip
Asterisk –rvvv canreinvite=no ; se suele poner NO si esta detras de
undispositivo que hace NAT
Así que hemos instalado Asterisk con éxito en nuestro servidor nat=yes ;esta detras de un dispositivo NAT
Ubuntu y se puede comenzar a trabajar en Asterisk. qualify=yes ;Para determinar cuando el dispositivo puede
ser alcanzado
Apertura, modificación y guardado de los archivos. mailbox=5000@rasp ;mailbox 5000 en el contexto “rasp” del
fichero voicemail conf
Para poder modificar los archivos de asterisk primero debemos dtmfmode=rfc2833 ;modo de trasnmision de tono INFO o
tener permiso de super usuario, con el siguiente comando: rfc2833
disallow=all ;deshabilita todos los codecs
Sudo su allow=alaw
allow=ulaw
Despues d ejecutarlo nos pedirá la contraseña del usuario del accept_outofcall_message = yes ;se permite el envío de
equipo. (en caso de tenerla), después de esto, nos vamos a la mensajes instantáneos
ruta de asterisk mediante la siguiente línea: outofcall_message_context = messages ; el contexto del
dialplan donde se procesarán los mensajes enviados
Cd /etc/asterisk/ auth_message_requests = yes ;por cada mensaje enviado,
Asterisk pedirá a la extensión de autenticarse
Una vez situados en la carpeta donde se instalo asterisk se puede subscribecontext = subscribe ;contexto donde se
abrir los archivos correspondientes la configuración de asterisk configurarán las extensiones hint para permitir a las
con el editor de texto” nano”, con la siguiente línea: extensiones de subscribir el estado de las demás
allow=g729
nano sip.conf ;language=es

esto abrirá el archivo sip.conf donde podremos modificar el


archivo. Una vez se halla realizado las modificaciones esto se hara para otros tres usuarios (usuario 5001, 5002 y
necesarias para guardar los cambios se presiona las teclas Ctrl+ 5003).
o, lo cual pedirá una confirmación para guardar los cambios en
el archivo, luego presionamos la tecla Enter y se guardará los - Configuración del archivo extensions.conf
cambios en el archivo. Una vez terminado esto, se presiona las
teclas Ctrl+x para salir del archivo. El archivo extensions.conf es el más importante del Asterisk y
tiene como misión principal definir el dialplan o plan de
Este procedimiento aplica para cualquier archivo que deseemos numeración que seguirá la centralita para cada contexto y por
modificar. tanto para cada usuario. Donde el contexto del usuario se
configura el plan de marcación de la siguiente manera:
Servicio de llamadas
exten => extension , prioridad, Comando(parametros)
- Configuración del archivo sip.conf
donde:
La configuración de usuario se hace de la siguiente manera: -La extensión hace referencia al numero marcado.
NOTA: Para hacer comentarios en el código se usa “;” -La prioridad al orden en que se ejecutan las instrucciones
Primero se ejecuta la de prioridad 1, luego la 2 y
;sip.conf (usuario 5000) sucesivamente.
[general] -El Comando hace referencia a la acción a ejecutar.
context=default
allow overlap=no Luego de guardar las configuraciones del archivo sip.conf, se
bindaddr=0.0.0.0 ;Espercificar IP, vale para cualquiera procede a configura del plan de marcación, modificando el
srvlookup=yes ;Habilita servidor DNS SRV archivo 𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑠.𝑐𝑜𝑛𝑓 al que se accedera de la siguiente
;directmedia=yes ; off forma.

Cd /etc/asterisk/nano extencions.conf
CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 4

En esta parte, el encabezado[general] se deja con los valores


que viene por defecto. Después se procede a configurar las
extensiones para los usuarios, donde se tomará como ejemplo
la configuración del usuario 5000, en la cual:

[pmg]
exten => 5000,1,Dial(SIP/5000,30,Ttm)
exten => 5000,n,Voicemail(5000@rasp)
exten => 5000,n,Hangup()

Esto se hara para el resto de usuarios, lo cual solo cambiara la


numeración de identificación y el usuario. Con esto estará listo
el plan de marcación. Una vez hecho esto se guardan los
cambios como se explico previamente y se reinicia Asterisk
con los siguientes comandos:

asterisk
asterisk -rvvv
Fig 3. Interfaz de zoiper, donde se crea un usuario
una vez estamos en el cliente de asterisk, recargamos el dialplan
y el sip, mediante los siguientes comandos:

dialplan reload
sip reload

esto se hace con el fin de hacer efectivos los ultimos cambios


realizados en los archivos de configuración de asterisk, que se
vera de la siguiente forma:

Fig 4. Dode se ingresa la dirección IP del servidor

Fig 2. Consola de asterisk, después de refrescar los servicios

Con la intención de probar la configuracion se instalo una


aplicación en los Smartphones que se llama 𝑍𝑜𝑖𝑝𝑒𝑟 y en los
ordenadores se instalo xlite. Los cuales permiten ingresar
con uno de los usuarios registrados en el servidor, lo que se
hizo fue digitar el nombre de usuario y su correspondiente
contraseña (la cual esta configurada en el archivo sip.conf en
secret=8811), además de proporcionar la dirección IP que
posee el computador que se usa como servidor. Con esto ya se
pueden establecer llamadas. La configuración se hace de la
Fig 4. Se elige el tipo de comunicacion.
siguiente manera.
CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 5

exten => 30000,1,Answer()


exten => 30000,n,VoicemailMain(@rasp)
Hecho lo anterior, se guardan las modificaciones y se reinicia
el servidor.

servicio de conferencias de voz.

- Configuración de confbridge.conf

Se configura el archivo 𝑐𝑜𝑛𝑓𝑏𝑟𝑖𝑑𝑔𝑒.𝑐𝑜𝑛𝑓

user/etc/asterisk/ nano confbridge.conf

Se define una conferencia por defecto, un apartado de


administrador y un apartado de usuario:

[admin_user]

type=user
pin=1234
Fig 5. Asi se ve que ya esta conectado el usuario
marked=yes
admin=yes
Servicio de buzon de voz
music_on_hold_when_empty=yes
announce_user_count=yes
- Configuración del archivo 𝑣𝑜𝑖𝑐𝑒𝑚𝑎𝑖𝑙.𝑐𝑜𝑛𝑓
aquí se agrega un apartado general y otro apartado que
[default_user]
corresponde el buzón de voz a cada uno de los usuarios
siguiendo una determinada estructura.
type=user
Se accede al archivo de la siguiente manera:
pin=4321
wait_marked=yes
Cd /etc/asterisk/nano voicemail.conf
end_marked=yes
music_on_hold_when_empty=yes
Se le agregan las siguientes líneas al archivo.
announce_user_count=yes
[rasp]
[default_bridge]
5000 => 1234,Diego,diego@tolemail.com
5001 => 5678,Toledo,toledo@tolemail.com
type=bridge
5002 => 8765,Dairo,dairo@tolemail.com
max_members=10
5003 => 4321,Murillo,murillo@tolemail.com
language=es
Luego en el archivo sip.conf ya se tenia configurado
se guarda los cambios en el archivo confbridge.conf ,luego se
previamente el mailbox con:
le agrega la s siguientes líneas a la configuración del archivo
𝑒𝑥𝑡𝑒𝑛𝑠𝑖𝑜𝑛𝑠.𝑐𝑜𝑛𝑓 agregando el plan de marcación de la sala de
mailbox=5000@rasp
conferencias para el usuario y para el administrador.
es importante tener en cuenta que el @ debe estar seguido del
;invitado de la conferencia
nombre que se le hayan dado en el archivo 𝑣𝑜𝑖𝑐𝑒𝑚𝑎𝑖𝑙.𝑐𝑜𝑛𝑓,
exten => 666,1,Progress()
por ejemplo, si el nombre hubiese sido mail, sería 5000@mail. exten => 666,2,Wait(1)
Debido a que hace referencia al encabezado presente en el exten => 666,3,ConfBridge(1,default_bridge,default_user)
archivo voicemail.conf el cual permitirá el acceso al buzon de
voz para cada usuario.
;administrador de conferencia
exten => 777,1,Progress()
Además en el archivo extensions.conf debe estar presente la
exten => 777,2,Wait(1)
siguiente línea en cada uno de los usuarios con su respectiva exten => 777,3,ConfBridge(1,default_bridge,admin_user)
extensión :
donde se establecio que el administrador tenga la extension 777
exten => 5000,n,Voicemail(5000@rasp)
y el Usuario invitado con la extension 666.
Aparte se escribe en el plan de marcación para el buzón: Se guardan los cambios realizados en el archivo
extensions.conf . para probar la sala de conferencia primero un
CENTRAL TELEFONICA CON ASTERISK 21/02/20 19 6

usuario debe ser el administrador, para esto el usuario llama a voz percibida fue excelente. Un plus que tienen este tipo de
la extensión 777, y después digita la contraseña de sistemas es que desde un mismo menú se pueden acceder a los
administrador configurada en el archivo confbridge.con, múltiples servicios como la mensajería, vídeo llamadas, salas
después de eso se iniciará la sala de conferencia y se pasará a de voz, correo de voz, asistente virtual, etc.
modo espera hasta que, entre otro usuario, el cual debe llamar
a la extensión 666, y digitar la contraseña establecida para el Las centrales IP basadas en Asterisk son cada vez mas
usuario, y asi se inicia la conferencia. Cada usuario invitado popular, debido que la voz sobre IP tiene mucho menor coste
debe realizar el mismo proceso marcando a la extensión 666. con respecto a PSNT.

Servicio de mensajería de texto Existen formas interactivas para hacer la configuración de los
servicios mediante el uso del navegador, si bien el desarrollo
Primero se configurando 𝑠𝑖𝑝.𝑐𝑜𝑛𝑓, se le agrega a cada uno de de la central es mucho más sencillo no se recomienda porque
los usuarios lo siguiente. podrían asignarse por defecto configuraciones que son
importantes para la seguridad.
accept_outofcall_message = yes
outofcall_message_context = mensajes Asterisk requiere una implantación que en la mayoría de los
auth_message_requests = yes casos a nivel horas de trabajo requiere un mayor esfuerzo y
subscribecontext = subscribe por lo tanto mayor número de horas técnicas de instalación
con lo cual es muy fácil que comparando precios, Asterisk sea
se guarda los cambios, y despues se pasa a modificar el archivo más caro que una central telefónica de las empresas que usan
extensions.conf, agregando los siguientes contextos al archivo: servidores privados.

[subscribe] Se quiere hacer ver que asterisk es un producto gratuito pero


exten => 5000,hint,SIP/5000 que no dispone de un soporte oficial fiable fácil de utilizar o
exten => 5001,hint,SIP/5001 contratar, ¿Cómo puede una empresa basar sus sistemas de
exten => 5002,hint,SIP/5002 comunicaciones en una solución tan dinámica? Poro esto es
exten => 5003,hint,SIP/5003 que la s empresas prefieren contratar con personas
quemanejan servidores privados, pero con mas soporte.
[messages]
exten => _X.,1,Noop(Mensaje de ${MESSAGE(from)})
same => n,Noop(Mensaje para ${MESSAGE(to)})
same => n,Noop(Texto = ${MESSAGE(body)})
same => n,Messagesend(sip:${EXTEN},${MESSAGE(from)})
same => n,Noop(Estado del mensaje
${MESSAGE_SEND_STATUS}) VI. REFERENCIAS
same => n,Hangup [1]https://www.sinologic.net/2010-12/cuales-son-las-ventajas-
y-desventajas-de-asterisk.html
se guarda los cambios, y despues se refresca los archivos en la
interfaz de asterisk. Y ya tendríamos configurado los de [2] https://techexpert.tips/asterisk/asterisk-conference-bridge-
mensajería entre usuarios. configuration/

V. CONCLUSIONES [3]http://elastixtech.com/fundamentos-de-
telefonia/introduccion-a-
Asterisk demuestra ser muy util, ya que nos ofrece la asterisk/?fbclid=IwAR3Vgb8AC5MxaQ3hzC5XknfMXKm3
posibilidad de configurar un equipo de computo como D4-dyiIMOsBaB_qUNW0H312Cykmi9iQ
servidor y poder brindar los servicios de voz ip, mensajería,
llamadas en conferencia y video. [4]https://www.howtoforge.com/tutorial/how-to-install-
asterisk-on-debian/

Algo importante que se debe tener en cuenta en la central que


se cree con Asterisk es la seguridad, debido a que si no se
configura bien, el sistema sería muy vulnerable a ataques
externos, por lo que la información privada podría verse
amenazada. Existen recomendaciones específicas para realizar
estos ajustes en la seguridad y es algo que debe tenerse muy
en cuenta para las aplicaciones reales.

En las pruebas que se hicieron fue transparente la calidad de la


voz, con respecto a la telefónica tradicional. La calidad de la

Você também pode gostar