Asterisk vs Elastix vs Trixbox vs AsteriskNow vs FreePBX: Explicando la diferencia

31 Jul

Actualizado el 2016-01-15 para reflejar los cambios más recientes a las distribuciones.

Una de las actividades más importantes en mi vida profesional es la de capacitar sobre el uso de la plataforma Asterisk®, y durante los cursos que doy recibo frecuentemente preguntas como estas:

¿Cuál es la diferencia entre Asterisk y Elastix? Tengo sistemas basados en Trixbox. ¿Puedo migrarlos a Asterisk? ¿Es lo mismo Asterisk que AsteriskNow?

Cuando escucho estas preguntas es fácil darme cuenta que hay mucha diferencia entre los productos que reciben una promoción comercial contra los que son el proyecto base sobre el que se construye el producto comercial, y por eso quiero establecer la diferencia.

 

Asterisk “puro”

Asterisk es software open source, hecho en lenguaje C y creado originalmente por Mark Spencer (actual CTO de Digium, empresa que patrocina la mayor parte del desarrollo de Asterisk). Este software, por si solo, no … Continuar leyendo

Las extensiones internas se bloquean cuando el acceso a internet se cae. ¿Cómo resolverlo?

29 Jul

Este es un problema viejo y aunque la solución puede encontrarse buscando por internet, quise tomarme unos minutos para escribir un breve post que habla del problema y como resolverlo.

Estoy seguro que a varios les ha pasado: tienes tu conmutador configurado perfectamente y todo marcha bien. De pronto, de la nada, tus extensiones internas se caen: no haces ni recibes llamadas. Revisas un poco y te das cuenta de que no tienes internet. ¿Pero para que necesito internet si mis extensiones son internas? ¿Qué tiene que ver una cosa con la otra? Es ahí donde entramos.

El problema radica en la manera en como Asterisk resuelve los dominios de las troncales SIP a donde necesita conectarse. El canal SIP utiliza un método de consulta de DNS síncrono, lo que quiere decir que cuando llega una petición de resolver un DNS (ej. siptrunk.alianza.com) el canal SIP le pregunta al … Continuar leyendo

Sistema de Atención al Cliente con WebRTC y Elastix-CallCenter.

26 Jul

Hola, en este artículo vamos a crear un sistema de atención a cliente usando las herramientas WebRTC-SIPML5 y Elastix junto con su addon de Call Center. La idea general es generar 0 costos entre el usuario y nuestro centro de atención. Es por esto que vamos a usar WebRTC y Elastix dos herramientas open source las cuales van a interactuar usando nuestra conexión de internet.

Paso 1.

Instalar el soporte de WebRTC para el módulo de Call Center de Elastix que publiqué anteriormente.

Paso 2.

Crear una cola de atención:

Crear al menos 2 dispositivos SIP. Menú PBX—>Extensions. Crear una cola de atención. Menú PBX—>Queue. Asignar a la nueva cola de atención uno de los dispositivos SIP como miembro dinámico y usando el prefijo S, por ejemplo, para el dispositivo 1500 quedará de la siguiente manera: S1500,0 Seleccionar el ‘ring strategy'(estrategia de timbrado) con ‘fewestcalls'(menos llamadas recibidas). Añadir los Anuncios… Continuar leyendo

Integrando WebRTC al módulo de call center de Elastix

27 Jun

Hola, quienes me conocen saben que yo prefiero usar Asterisk Plano sobre cualquier cosa. Cuando la gente me dice que quieren usar sí o sí una GUI para administrar su asterisk porque no se quieren meter en líos, recomiendo FreePBX. Son pocas las veces que me veo en la necesidad de usar Elastix o recomendarlo de hecho me puedo considerar hasta cierto punto un ‘hater’ de esa Distro; sin embargo, como dice la canción: “…No todo es blanco, O negro: es gris Todo depende del matiz…“, debo decir que una de las cualidades más atractivas de Elastix es su Módulo de Call Center. El cual permite crear campañas de Salida o de Entrada de manera más que sencilla y que su operación es muy pulcra, sin contar además que, integrar nuestro propio CRM es sumamente sencillo.

Este año vendrá de nueva cuenta el ElastixWorld a México y esta vez si … Continuar leyendo

Versión mejorada del mensaje “all circuits are busy” de Elastix/FreePBX (v4)

8 Abr

Actualización 2016-01-13: La liga de los archivos de sonido ya está disponible nuevamente.

Hace casi 2 años escribí un artículo sobre como mejorar los mensajes de código de error en llamadas por E1 para Elastix. El tiempo ha pasado y han habido cambios tanto en Asterisk como en Elastix, ocasionando que algunas partes de ese viejo post ya no funcionen, por lo que decidí reescribirlo y mejorarlo.

Este código les permitirá dar mensajes más descriptivos para los códigos de error Q931 que los enlaces digitales arrojan al momento en que una llamada sale mal. Con respecto del post anterior, estas son las mejoras:

Existen más códigos de error documentados. Las voces son sintetizadas con acento neutro (para todos los que nos leen en América Latina, esto es más cómodo que el acento español que se tenía antes) Ya solo se requiere meter el código en un único archivo .conf, no… Continuar leyendo

Restringe el acceso a carpetas específicas usando Apache

18 Dic

url7[1]Nosotros nunca recomendamos exponer la interfaz web de tu conmutador (entiéndase: FreePBX/Elastix/Trixbox) bajo ningún motivo. Sin embargo, hay casos específicos en los cuales puede existir la necesidad de abrir el puerto HTTP/HTTPS para algunos servicios (ej. un CRM o alguna aplicación in house). Si esto debe de hacerse, es mejor hacerlo teniendo en cuenta algunas funciones básicas de seguridad.

Si aplicáramos lo que vimos en nuestros artículos del modelo de seguridad en Asterisk veremos que no es posible defender a nivel de firewall externo/iptables, ya que no hay una manera de permitir el paso solamente a ciertas carpetas. Para lograrlo, debemos hacer uso de la configuración de Apache la cual nos permite aplicar un mini firewall interno que solo permitirá a ciertas IPs ver ciertas páginas.

Primero, localicemos el archivo /etc/httpd/conf/httpd.conf (en algunos casos cambia de nombre a /etc/apache2/httpd.conf, así que hay que buscarlo con calma). Lo que buscamos … Continuar leyendo

Recibe notificaciones push en tu móvil de llamadas hechas en Asterisk

13 Dic
pushover

Pushover está disponible para iOS y Android

Hace unos cuantos meses empecé a probar una aplicación para iOS/Android llamada Pushover que te permite crear notificaciones personalizadas de tipo push en tu móvil. El servicio es gratuito (solo debes comprar la aplicación que cuesta $4 USD) y te permite recibir hasta 7500 notificaciones al mes (suficientes creo yo). La aplicación es muy fácil de configurar: tras darte de alta solo debes registrar una aplicación (se te proporcionará un token al registrarla) y tomar nota de tu user key. Tras obtener esos datos, crea un script como el que sigue (puedes ponerlo en /sbin/push.php):

#!/usr/bin/php <?php// Reemplaza este valor por tu verdadero userKey de Pushover $userKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";/************************************************** Reemplaza este valor con el de tu propia aplicación. Si no lo cambias recibirás notificaciones de parte de "Asterisk México" (según la cantidad de usuarios que usen este token, pueden acabarse las… Continuar leyendo

Asterisk con Alta-Disponibilidad + MySQL

10 Dic

Este tutorial fue escrito por uno de los participantes de nuestro foro: navaismo. El artículo original lo pueden encontrar aquí.

En algunas ocasiones nos vemos en la necesidad de crear un Cluster de alta disponibilidad para nuestros servicios de Asterisk. A continuación se describen los pasos necesarios para llevar esto acabo en nuestros servidores usando Asterisk y Mysql(por si queremos usar Asterisk Realtime Architechture).

Algunas indicaciones iniciales:

Estos pasos están basados en las instrucciones que brinda Digium y los tutoriales de DRBD para Mysql. Este tutorial no esta hecho para hacer copy&paste. El color verde indica que son pasos para realizar en ambos servidores. El color Naranja indica que son pasos para realizar en el servidor primario. El color Rojo indica que son pasos para realizar en el servidor secundario. El Hostname del Servidor primario es “node1“. El Hostname del Servidor secundario es “node2“. La dirección… Continuar leyendo

Como bloquear extensiones al final del día (cerrar extensión cuando el trabajador se retira)

3 Dic

En ocasiones en nuestras oficinas (sobretodo en grandes corporativos), estamos sujetos a presupuestos de llamadas por mes. Esto quiere decir que recibimos una bolsa de minutos a ciertos destinos (para control de gastos) y debemos cuidarlos, ya que si nos los agotamos tendremos que hacer solicitudes de “crédito” interno y ante nuestros superiores parecería como que estamos desperdiciando dinero (llamadas) de la empresa.

Contemplando escenarios similares a este, podemos configurar Asterisk para que las extensiones de cada persona sean bloqueadas al momento en que la persona se retira a su casa. De esta manera, si alguien se queda cercano a su área de trabajo no podrá tomar su teléfono y hacer llamadas al exterior, reduciendo el crédito del trabajador que ya se fue (y ahorrándose el suyo). Al día siguiente, cuando el trabajador regresa, marca un código de desbloqueo junto con su contraseña y su teléfono vuelve a estar habilitado.… Continuar leyendo

Interconexión de Asterisk con otros conmutadores por R2 modificado

29 Nov

En el mundo del VoIP, todos los que nos dedicamos a esto nos hemos encontrado con clientes que poseen conmutadores convencionales que les han representado una inversión de la que no quieren deshacerse tan pronto. Tan solo imaginen haber gastado $30K+ USD hace apenas un par de años y que ahora deban reemplazarlo para acceder a funcionalidades que no estaban incluidas (IVRs, buzón de voz, llamadas por VoIP, etc). Muchos clientes no están dispuestos a dejarlo atrás, por lo que es necesario sacarle más jugo a lo que ya tienen.

Soluciones como Nortel/Avaya, Ericsson, Panasonic y otras, son muy buenas, pero también pueden resultar muy caras cuando agregas todas las bondades que Asterisk en comparación puede ofrecer de manera gratuita. Algunas requieren comprar tarjetas adicionales para soportar las nuevas funcionalidades, mientras que otras requieren de el pago de alguna licencia (y aún así, muchas veces con limitaciones). La solución que … Continuar leyendo