Servidor Asterisk casero: Configuración básica de 2 anexos

Asterisk es un software libre que permite convertir una computadora común y corriente en una pequeña centralita de telefonia, es decir, en una PBX (Private Branch Exchange).

Voy a mostrar lo fácil que puede ser configurar 2 anexos caseros, utilizando la red de mi casa :)

La idea será, dado que es algo casero, NO HAY télefono IP ni varios teléfonos analógicos, solo se cuenta con uno, por lo que dejaré sin línea a mi casa por un buen rato :P

Saquen el teléfono que les ha instalado su compañía de telefonía y conectenlo un ATA cualquiera, en este caso utilizaré el SPA3102 de Linksys dado que es el que tengo a la mano:

conexionATA

Se conecta el cable del puerto del teléfono al puerto FXS del ATA

ATAyfono

El ATA y el teléfono analógico

Para poder jugar con las llamadas de un lugar a otro, necesitamos otro de alguien que haga las llamadas al teléfono analógico, lo más práctico es un sofphone como el Zoiper (www.zoiper.com/), que corre sobre linux y windows, en este caso utilizaré la versión para linux ;=)

Lo pueden descargar de:
http://www.zoiper.com/downloads/free/linux/zoiper201-linux.tar.gz

Ubican el archivo y le hacen un:
tar zxf zoiper201-linux.tar.gz
./zoiper

Debo mencionar que si no cuentan con la posibilidad de tener un ATA para esta prueba pueden utilizar un sofphone más en otra PC, el procedimiento es el mismo que el de registrar un ATA en el Asterisk.

Verfican las conexiones en el switch y manos a la obra …

switch

Switch con mucho cableado …

Para instalar Asterisk, utilizamos apt-get, caso estés en Debian, ó también un sudo apt-get caso estés en Ubuntu:

apt-get update
apt-get install asterisk

Por otro lado, si deseas compilar tú mismo el Asterisk, aquí están los pasos: http://blog.pucp.edu.pe/item/29066

Ahora, debes saber que en la carpeta /etc/asterisk/ se encuentran los principales archivos de configuración para los distintos servicios que ofrece Asterisk.

También es importante saber que dentro de dicha carpeta se encuentran los siguientes archivos de configuración que vamos a utilizar:

sip.conf, archivo que configura los clientes SIP.
extensions.conf, archivo donde se configura el funcionamiento de los servicios implementados para los distintos anexos.

En mi caso, voy a tener el siguiente Dial Plan:
Anexo 80 -> 192.168.1.4 (es mi computadora con un sofphone)
Anexo 81 -> 192.168.1.10 (es el ATA con el telefono analogico)

asterisk

Es importante saber que en Asterisk se utiliza actualmente los protocolos iax y sip, el primero es para la comunicación entre distintas centrales Asterisk y el segundo es para la comunicación entre Asterisk y sus clientes. A pesar de que iax es un protocolo que hace un uso más eficiente del ancho de banda que sip, la mayoría de clientes VoIP solo soportan sip y es imposible, por lo tanto, utilizar iax para dichos clientes. Asterisk funciona como proxy siempre registra a sus clientes y entabla un protocolo de comunicación con ellos.

Los pasos para la instalación via software de los 2 anexos serán:
1. Configuración de Asterisk
2. Configuración del ATA SPA3102
3. Configuración del Sofphone Zoiper
4. Levantar Asterisk
5. Llamada entre los anexos

1. Configuración de Asterisk:

El primer archivo a configurar, como ya se lo debian imaginar si es que han leido lo anterior, es el sip.conf, dicho archivos si no ha sufrido ninguna modificacion esta hecho como para rellenarlo, puesto que es una plantilla. Solo deben agregar los siguientes datos:

Edito el archivo sip.conf


;########################################
; sip.conf
; configuracion de los clientes sip
; servidor asterisk >p3dRø<
;
;########################################
[general]
;
port=5060
disallow=all
allow=g726
allow=ulaw
allow=alaw
;
;=========================================
;
[80]
type=friend
host=dynamic
language=es
context=internal
secret=80
username=80
callerid=80
dtmfmode=rfc2833
qualify=yes
;
[81]
type=friend
host=dynamic
language=es
context=internal
secret=81
username=81
callerid=81
dtmfmode=rfc2833
qualify=yes
;

Edito el archivo extensions.conf:


;#########################################
; dialplan
; configuracion del dialplan para los anexos sip
; servidor asterisk >p3dRø<
;
;#########################################
;
[general]
;
[internal]
;
exten => 80,1,Dial(SIP/80,26)
exten => 80,n,Hangup
;
exten => 81,1,Dial(SIP/81,26)
exten => 81,n,Hangup
;

2. Configuración del ATA SPA3102

La configuración del ATA SPA3102 lo pueden encontrar en:
http://www.3cx.com/voip-gateways/linksys-3102.html
En la seccion How to configure a LINKSYS SPA-3102 (ATA Functionality) with 3CX, solo que en vez de pensar que se esta configurando con la central 3CX se lo plantea para el Asterisk, que es el mismo procedimiento al final de cuentas.

Solo un detalle, deben conectar el puerto ‘Internet’ del ATA al switch previamente habiéndole configurado una IP para el puerto WAN que esté en red con el resto de los equipos, en mi caso para mi red le puse la 192.168.1.10 como pueden verificar:

ATAconfig

3. Configuración del Sofphone Zoiper

Por otro lado, se debe registrar también el sofphone Zoiper con Asterisk, para esto damos clic en configuración:

zoiperInicio

En este caso configuración es el último botón de la derecha

En domain se pone la IP del servidor Asterisk, en mi red es la 192.168.1.5

zoiper1

Agregar los datos correspondientes

zoiper2

Se comprueban los datos ya registrados

4. Levantar Asterisk

Ahora para levantar el asterisk debemos asegurarnos de que Asterisk se ejecute cada vez que se carga el sistema, para esto debemos entrar a /etc/default/asterisk y poner el RUNASTERISK=yes.

Ejecutamos asterisk en modo demonio:
/etc/init.d/asterisk restart

Comprueban que asterisk esté corriendo con el comando
ps -A | grep asterisk

Les debería salir un resultado, algo parecido a esto:
2865 ? 00:00:00 asterisk

Si es así, han tenido éxito y asterisk ya está corriendo en su computador :=)

Finalmente debemos entrar al modo CLI de Asterisk, que es un modo en el cual solo puedes ejecutar comandos propios de asterisk como si estuvieras en un hardware con memoria especial, para verificar que los anexos ya esten registrados:

asterisk -vvvvr
== Parsing '/etc/asterisk/asterisk.conf': Found
== Parsing '/etc/asterisk/extconfig.conf': Found
Asterisk 1.2.13, Copyright (C) 1999 - 2006 Digium, Inc. and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'show license' for details.
==============================================
Connected to Asterisk 1.2.13 currently running on nodo-c (pid = 6780)
Verbosity was 0 and is now 4
nodo-c*CLI>

O lo que es lo mismo:

bash

Ahora, ya aca, ejecutamos el comando:

CLI> sip show peers

Name/username              Host            Dyn Nat ACL Port     Status
81/81 192.168.1.4 D 5060 OK (5 ms)
80/80 192.168.1.10 D 5060 OK (10 ms)
2 sip peers [2 online , 0 offline]

En Status, debemos fijarnos de que diga OK, de esta forma verficamos que los clientes sip 80 y 81 han sido registrados correctamente en Asterisk.

Importante: Cualquier modificación que hagan en los archivos de asterisk tales como sip.conf, extensions.conf, etc deben poner un /etc/init.d/asterisk restart

5. Llamada entre los anexos

Ahora finalmente se hace la llamada desde el Zoiper(anexo 81) al anexo 80 que es el número del ATA con el teléfono analógico:

llamando

Llamada del anexo 81 al anexo 80

Espero este pequeño tutorial les sea de ayuda para animarlos a montar su propio Asterisk casero, aquí la receta: 1 Linux + 1 ATA + 1 sofphone + ‘n’ ganas de aprender.

Más adelante veremos también tienen otras opciones de configuración más avanzadas (zapata.conf) como llamada en espera (callwaiting), llamada de tres (threewaycalling), transferencia de llamada (transfer) y buzón de voz.

Hasta otra oportunidad!
PedroImportante:
Citar las imágenes e información sacada de este artículo directamente a este link:
Blog de Pedro: http://blog.pucp.edu.pe/pedro

Info que les puede ayudar:
http://gtr.telecom.pucp.edu.pe/ftp/wifi/Asterisk.pdf
www.asteriskguru.com/tutorials/

Puntuación: 4.13 / Votos: 31

17 pensamientos en “Servidor Asterisk casero: Configuración básica de 2 anexos

  1. mauricio

    que tal pedro, me parece muy interesante este tema, tengo la inquietud de adentrarme al mismo, y asi mismo utilizarlo para mi tema de tesis, solo que en estos momentos no se me ocurre una aplicacion impactante, que rumbo o aplicacion me recomiendas? para desarrollar un buen proyecto y aun mejor con tu ayuda. gracias

    Responder
  2. Angel

    Excelente Ayuda Amigo felicitaciones lo graficaste bien solo mi duda amigo es si es con telefono analogico entonces en una red LAN donde tengo que conectar el telefono convencional si tendre anexos o que tipo de tarjetas tengo que instalar en mi anexos pues quiero llevar a varias pc por la RED LAN agradecere tu repuesta amigo

    Responder
  3. Giofran Gimenez

    Hola como estas reciba un cordial saludo desde Venezuela
    me llamo Giofran Gimenez y estoy interesado en realizar un trabajo
    de Grado acerca de un servidor asterix pero su funcionamiento seria
    un poco distinto no solamente seria como voip si no que me interesaría
    hacer un sistema de facturación y despacho que funcione atreves de SMS
    que el cliente tenga la potestad de hacer sus pedidos simplemente con enviar un
    mensaje de texto es difícil conseguir información y me pregunto si les interesaría
    en darme asesoría o indicarme cuales son los pasos a seguir o recomendaciones

    es para mi trabajo de grado soy cursaste de Ing. Telecomunicación 9no semestre
    sin mas que decir me despido y espero que lleguen a leer mi correo es daikatan_geo@hotmail.com

    Responder
  4. p-valera Autor

    @Rafael León: sí puedo dictar un curso de asterisk/elastix, me escribes al correo nomás p.valera@pucp.edu.pe

    @mauricio: sugiero puedas basarte en automatización y control de las llamadas de los clientes.

    @Giofran Gimenez: una vez que tengas el sms sería sencillo analizarlo, puedes utilizar C++ para eso.

    Saludos!

    Responder
  5. p-valera Autor

    depende…

    En primer lugar si tienes tu server tu mismo creas tu número y tus anexos… los cuales te llamarán al número que te has asignado en tu dialplan.

    En segundo lugar si quieres que te llamen desde celulares o fijos lo más práctico para ti que solo tienes internet es contratar el servicio de alguna empresa que de telefonía por Internet y ellos te asignarán tu número.

    Saludos,

    Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>