En este tutorial explicaremos como montar desde cero una cabina telefonica callejera de bajo coste para hacer llamadas gratuitas a telefonos fijos de mas de 40 paises utilizando Asterisk y un proveedor de telefonia SIP. Se explicara el aspecto tecnico, de hardware y software de montar la cabina.
OTROS POSTS:
Fuente: Oficina para la Liberacion Definitiva de las Telecomunicaciones
Entre enero del 2008 hasta el dia de hoy, miembros del laboratorio informatico Hamlab ( Patio Maravillas / Madrid) montamos un servicio de telefonia gratuita con llamadas internacionales y nacionales para el uso y disfrute de quien quiera utilizarlo.
Todo lo que utilizamos es facil de conseguir, excepto el adaptador ATA, aunque para utilizar Asterisk no lo necesitamos, solo se requiere si se quiere conectar a telefonos analogicos. Tambien podremos configurarlo con un telefono IP si tenemos, o bien conectarse con un softphone, es decir, un telefono por software: el Ekiga sin ir mas lejos. Con el tiempo veremos que la versatilidad del Asterisk es tal que se puede conectar de muchas formas, de hecho de las centralitas PBX es la que soporta mas protocolos y canales: desde lineas analogicas hasta clientes/servidores SIP, H323.b, IAX2, adaptadores ATA, placas FXS/FXO, e incluso hay un proyecto para que pueda anunciarse como un BTS (antena GSM–moviles!!). Para la instalación de las cabinas que tenemos en el Patio hemos utilizado:
* Ordenador: AMD Duron a 900 Mhz con 386 Mb de RAM.
* Software: Asterisk 1.6
* Software cliente: Softphone . Puede ser Ekiga o Twinkle .
* Hardware: Adaptador ATA, Linksys SPA3102.
* Proveedor de telefonia SIP: VoIPBuster.
* Cable telefonico RJ11
* Telefono
Numeros
* El total de llamadas (a 31 de Diciembre de 2009) son 10051.
* La duración media de la llamada es 01 minuto 53 segundost.
* Solo 657 son a los monos (666)
* Se consumieron mas de 18936 minutos
* Se pueden llamar a fijos de 48 paises y a moviles de 3
* Llegaron a haber 5 telefonos (3 lineas separadas) por todo el Patio.
* 3 lineas externas conectadas: VoIPBuster, 12Voip, tarifa plana de llamadas nacionales.
* Llamadas realizadas:
o España (Nacionales): 6312 (91*)
o Europa: 1088 (003*)
o America Latina: 802 (005*)
o America del Norte: 317 (001*)
o Oceania/Asia: 54 (006*)
Conceptos
Telefono es un dispositivo de telecomunicación diseñado para transmitir señales acústicas por medio de señales eléctricas a distancia. Muy parecido al teletrófono.
RJ11 es un conector usado mayoritariamente para enlazar redes de telefonía. Es de medidas reducidas y tiene cuatro contactos como para soportar 4 vias de 2 cables. Es el conector más difundido globalmente para la conexión de aparatos telefónicos convencionales, donde se suelen utilizar generalmente sólo los dos pin es centrales para una línea simple o par telefónico. Una vez crimpado al cable, resulta casi imposible desarmar el RJ-11 sin provocar su inutilización.
Asterisk es una aplicación de software lire (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto básicos como primarios.
PBX (siglas en inglés de Private Branch Exchange y Private Automatic Branch Exchange para PABX) cuya traducción al español sería Central secundaria privada automática, es cualquier central telefónica conectada directamente a la red pública de teléfono por medio de líneas troncales para gestionar, además de las llamadas internas, las entrantes y/o salientes con autonomía sobre cualquier otra central telefónica. Este dispositivo generalmente pertenece a la empresa que lo tiene instalado y no a la compañía telefónica, de aquí el adjetivo privado a su denominación.
Softphone (en inglés combinación de Software y de Telephone) es un software que hace una simulación de teléfono convencional por computadora. Es decir, permite usar la computadora para hacer llamadas a otros softphones o a otros teléfonos convencionales usando un VSP. Ejemplos: Ekiga, Twinkle
VSP El acrónimo en inglés de VoIP Service Provider (Proveedor de Servicios de VoIP), empresa dedicada a conectar por teléfono los usuarios de Software VoIP, los usuarios de teléfonos convencional y celular usando un software de centralita telefónica (PBX). Ejemplos: VoIPBuster, 12Voip (Betamax) Bonus!!: Comparacion de costes en proveedores de Betamax: http://backsla.sh/betamax
Adaptador ATA Un adaptador analogico telefonico (ATA por sus siglas en ingles, Analog Telephony Adapter) es un dispositivo utilizado para conectar una o mas lineas telefónicas estandar a una digital y/o sistema de telefonia no estadar, como una red basada en Voz sobre IP. Ejemplo: Linksys SPA3102.
PSTN / RTB Se define la Red Telefónica Básica (RTB) como los conjuntos de elementos constituido por todos los medios de transmisión y conmutación necesarios que permite enlazar a voluntad dos equipos terminales mediante un circuito físico que se establece específicamente para la comunicación y que desaparece una vez que se ha completado la misma. Se trata por tanto, de una red de telecomunicaciones conmutada.
SIP Session Initiation Protocol (SIP o Protocolo de Inicio de Sesiones) es un protocolo desarrollado por el IETF MMUSIC Working Group con la intención de ser el estándar para la iniciación, modificación y finalización de sesiones interactivas de usuario donde intervienen elementos multimedia como el video, voz, mensajería instantánea, juegos online y realidad virtual.
IAXIAX (Inter-Asterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk, un servidor PBX (central telefónica) de código abierto patrocinado por Digium. Es utilizado para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que también utilizan protocolo IAX.
¿Que es Asterisk?
Asterisk es una aplicación de software libre (bajo licencia GPL) que proporciona funcionalidades de una central telefónica (PBX). Como cualquier PBX, se puede conectar un número determinado de teléfonos para hacer llamadas entre sí e incluso conectar a un proveedor de VoIP o bien a una RDSI tanto básicos como primarios. Wikipedia
¿Como se instala?
Lo instalaremos en Debian, una distribucion GNU/Linux. Para empezar actualizaremos los repositorios al listado mas reciente de paquetes e instalaremos las actualizaciones pendientes.
dijo:
# apt-get update
dijo:
# apt-get dist-upgrade
La forma mas facil y rapida de instalarlo, es con el siguiente comando:
dijo:# aptitude install asterisk
Para inciar el Asterisk como demonio basta hacerlo con el siguiente comando:
dijo:# /etc/init.d/asterisk start
Luego para pararlo:
dijo:
# /etc/init.d/asterisk stop
Por ultimo, para reiniciarlo:
dijo:
# /etc/init.d/asterisk restart
En caso de que queramos iniciarlo solo por un tiempo determinado y no todo el tiempo, debemos iniciarlo con el comando:
dijo:
# /usr/sbin/asterisk -vvvvc
Con esto iniciaremos la aplicacion e ingresaremos a la consola, [*CLI>]. Puedes ver como manejarte en ella en la seccion “Consola y Logs“. En caso de que lo hayamos iniciado como demonio, para conectarnos a la consola deberemos hacerlo con el mismo comando pero la opcion -r en vez de -c:
dijo:
# /usr/sbin/asterisk -vvvvr
Si queremos que inicie cada vez que arranque el ordenador tendremos que modificar el siguiente fichero:
dijo:
# nano /etc/default/asterisk
La siguiente linea:
dijo:
# RUNASTERISK=yes
¿Y como se configura esto?
Una vez que tengamos todo instalado podremos ojear los ficheros de configuracion de ejemplo que nos instalamos en los ultimos pasos:
dijo:# less /etc/asterisk/sip.conf
# less /etc/asterisk/extension.conf
Estos ficheros son los que mas veremos en este tutorial. En sip.conf configuraremos los clientes, peers o amigos (en jerga asteriskiana) que tendremos y en extensions.conf nuestro DialPlan. Este es nuestro plan de llamadas: que hara cuando reciba una llamada a tal extension, o que hara cuando un usuario intente llamar a alguna otra.
Los otros ficheros que hay en la carpeta /etc/asterisk son para todas las otras funcionalidades que nos ofrece. Esta es la principal ventaja de Asterisk frente a las otras centralitas (PBX), que desde el principio y modificando solo alguna linea de los ficheros podremos tener funcionalidades impresionantes, como salas de conferencias (meetme.conf), buzon de voz (voicemail.conf) y conexion con diferentes tipos de protocolos VoIP como SIP (en el sip.conf) e IAX2 (iax.conf) . Vamos a ponernos a manos a la obra, para esto haremos una copia de seguridad de los ficheros que ya tenemos.
dijo:
# mv /etc/asterisk/sip.conf /etc/asterisk/sip.conf.old
# mv /etc/asterisk/extensions.conf /etc/asterisk/extensions.conf.old
sip.conf
Como ya dijimos, en este se configuran los diferentes usuarios, clientes y peers. Aqui es donde puede diferir mas nuestra configuracion. Todos los ficheros de configuracion de Asterisk comienzan con la etiqueta [general], con las opciones globales y luego cada etiqueta servira para cada uno de los clientes. Estos pueden ser desde clientes SIP de software aka softphone (como el Ekiga o el Twinkle para GNU/Linux), un telefono SIP fisico, un adaptador ATA o un proveedor de telefonia SIP. Si tenemos una tarjeta PCI FXS o FXO haremos las configuraciones en zapata.conf. En nuestro caso el hardware con el que contamos es un adaptador ATA Linksys SPA302, Este se configura en la etiqueta [patio]. Tambien lo conectamos a un proveedor de telefonia SIP llamado VoIPBuster, en la etiqueta [voipbuster] (si conoces uno con mejores precios dimelo a [email protected] ;D) y creamos un usuario preparado para conectarlo por softphone (tanto con twinkle como con ekiga) en la etiqueta [isaac]
dijo:[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
register = isaac.hacksimov:[email protected]:5060
[patio]
type=friend
host=dynamic
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canrein invite=no
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
mailbox=3000@default
qualify=yes
Vamos paso por paso:
dijo:[general]
context=default
useragent=
disallow=all
allow=gsm
allow=alaw
allow=ulaw
language=es
srvlookup=yes
tos_sip = cs3
tos_audio = ef
tos_video = af41
allowguest = yes
dijo:register = isaac.hacksimov:[email protected]:5060
Aqui le estamos diciendo el contexto en el que se encuentra esta etiqueta (esto lo volveremos a ver en el extensions.conf), tambien que tipo de codecs estamos permitiendo (gsm, alaw, ulaw) y el idioma (espaniol, mas tarde instalaremos los sonidos), La linea de register tiene los mismos datos que en la etiqueta [voipbuster]. Es necesario en algunos proveedores. El adaptador ATA:
dijo:[patio]
type=friend
host=dynamic
username=patio
secret=CONTRASENA
callerid="Patio Maravillas"
context=patio
qualify=yes
En esta seccion le tendremos que poner la IP del adaptador, junto con el nombre y la contraseñOtro dato importante es el contexto, en este caso es “patio”.
dijo:
[voipbuster]
type=peer
host=sip1.voipbuster.com
username=isaac.hacksimov
fromuser=isaac.hacksimov
secret=CONTRASENA
context=voipbuster
insecure=port,invite
qualify=yes
canrein invite=no
En esta etiqueta lo importante es el host, que es la URL que nos da nuestro proveedor cuando nos registramos. Elegimos VoIPBuster por permitirnos hacer llamadas gratuitas a los siguientes paises por un plazo de 120 dias pagando 10 euros:
Andorra Australia Austria Belgica Canada Checa, Chile Chipre Dinamarka España, Estonia Eu Estados Unidos (+mobile) Finlandia Francia Guam Hong – Kong (+mobile) Hungria Irlanda Islandia Israel Italia Japon Luxemburgo Malasia Noruega Nueva Zelanda Paises Bajos Panama Portugal Puerto Rico (+mobile) Rusia [moscow] Rusia [st Petersburg] Singapur Sudcorea Suiza Taiwan
Cual es el problema con VoIPBuster? Van cambiando el listado de paises sin avisar, por lo que es posible que nos quiten algo de credito Si conoces uno mejor, dimelo a [email protected]. Por ultimo configuramos otro usuario mas. Lo unico que difiere con los anteriores es el host, que es dinamico, esto es decir que puede tener cualquier IP:
dijo:
[isaac]
type=friend
host=dynamic
username=isaac
secret=CONTRASENA
callerid="Dr. Isaac Hacksimov"
context=patio
mailbox=3000@default
qualify=yes
extensions.conf
dijo:[general]
static=yes
writeprotect=yes
dijo:
[globals]
CABINA=SIP/patio
VOIPBUSTER=SIP/voipbuster
ISAAC=SIP/isaac
Este es nuestro pequeño huevo de pascua. Aqui le decimos que atienda, que espere por 2 segundos, que reproduzca unos sonidos (la “introduccion a los monos” y “algo va muy mal”), espere 2 segundos mas, reproduzca otro sonido (“monos” !!!!) y por ultimo cuelgue. El unico contexto que falta poner en esta configuracion es [internacionales]. Al ser una configuracion tan larga y que tanta gente le puede dar uso decidimos liberarlo en una wiki dedicada al mundo VoIP: voip-info.org. El link donde pueden ver las extensiones actualizadas para hacer llamadas a telefonos fijos (landlines/fixed lines) esta aqui: LINKVOIPINFOINTERNACIONALES Todo eso se agregaria en el extensions.conf y tambien como includes del usuario al que queremos habilitar las llamadas internacionales.
Configuracion del cliente Softphone
Veremos como conectarnos con dos clientes de software: Ekiga y Twinkle.
ekiga
Por defecto muchas distribuciones GNU/Linux ya vienen instaladas con un cliente SIP, el Ekiga. En Ubuntu, este se encuentra en Aplicaciones -> Internet -> Softphone Ekiga,
Crearemos una cuenta con lo que hemos puesto en sip.conf, junto con la IP del servidor. En caso de tener que conectarse desde internet deberan abrirse los puertos necesarios y poner la IP publica o el dominio que tengamos asociado a esta.
dijo:
Nombre de la cuenta: isaac
Protocolo: SIP
Registrador: 192.168.10.1
Usuario: isaac ContraseñCONTRASENA
tiwnkle
Conectarse a traves de Twinkle es muy sencillo, solo hace falta instalarlo. Para Ubuntu/Debian basta con # sudo aptitude install twinkle Aparecera en Aplicaciones -> Internet -> Twinkle. Lo abriremos y crearemos un perfil nuevo utilizando la configuracion que hemos puesto en el fichero sip.conf. El Domain debe ser la IP donde esta nuestro servidor. Siguiendo el ejemplo asi seria nuestra configuracion:
dijo:
Your name: isaac
User name: isaac
Domain: 192.168.10.1
Realm: isaac
Authentication name: isaac
Password: CONTRASENA
Luego deberemos ver lo siguiente en el log del Twinkle:
dijo:isaac, registration succeeded (expires = 3600 seconds)
Esto significa que ya estamos conectados
Para configurar el SPA-3102, con una linea de salida para hacer llamadas y otra de entrada/salida PSTN, es decir una linea telefonica normal, vamos a hacer lo siguiente:
1. En un navegador ingresamos la IP del adaptador.
2. Nos dira “spa user” y nos pedira usuario y contraseñPondremos usuario “user” y sin contraseñEntraremos una pagina que nos muestra informacióe la configuracióctual.
3. Vamos a la seccion de Administracion, en “Admin login”. Nos pedira nuevamente usuario y contraseñ”admin user”). Esta vez ponemos como usuario “admin” y sin contraseñ/li>
4. Ya aqui nos pondemos a configurarlo:
* En Voice -> System podremos cambiar la contraseñe acceso (User Passwondole a “Advanced” podremos tambien cambiar la contraseñel usuario Admin (Admin Password)
* En Router -> Wan Setup le pondremos una IP estatica dentro de nuestro rango de red. Aqui podremos tambien configurarlo como router (“PPPoE Settings”)
* En Voice -> Line 1 configuraremos nuestra linea para hacer llamadas.
Hacia el infinito y mas alla
Algo que queda por ver y resulta muy entretenido es configurar el fichero voicemail.conf y el meetme.conf, y poner los sonidos en Españ Puedes ver mas informacion del Asterisk en las siguientes paginas:
* Sitio oficial de Asterisk
* Comunidad Asterisk-ES
Una de las mejores paginas para leer documentacion es la wiki VoIP-Info. Aqui encontraremos documentacion detallada de muchos ficheros de configuracion y proveedores, asi como tambien conectar distintos dispositivos y aplicaciones al Asterisk. Por supuesto, si te interesa ampliar tus conocimientos en este mundo de la telefonia IP libre, lo recomendable es leer el libro Asterisk: The Future of Telephony con licencia CC-by-sa,
Repercusion
1.
2.
3.
4.
5.
6. http://www.madridiario.es/2009/Septiembre/madrid/madrid/171534/queman-tercera-vez-cabina-telefono-patio-maravillas.html
7.
8.
9. http://cosasdelordenata.blogspot.com/2009/08/cabinas-telefonicas-gratuitas-en-la.html
10.
Fotos
1.
2.
3.
4.
5.
6.
7.
8.
9.
10. http://1.bp.blogspot.com/_KywxsNy_1tQ/Ssr3G0IZeoI/AAAAAAAAADY/Thf_PeAAGp4/s400/cabina.jpg
11.
12.
13.
14.
15.
16.