miércoles, abril 09, 2008

AsteriskNow

Asterisk es un software que permite crear una central telefónica a partir de una computadora, además se pueden agregar características especiales que lo hacen una solución completa de telefonía empresarial por una pequeña fracción del costo que supondría hacer lo mismo con PBX privativos. Esta es una mini-guia de configuración de AsteriskNow...


AsteriskNow es una distribución GNU/Linux basada en Slax una pequeña distro basada a su vez en Slackware que incluye Asterisk y sus principales componentes auspiciada por Digium la empresa que desarrolla Asterisk y vende tarjetas y artículos de telefonía VoIP para el Asterisk y otros PBX.


Además de AsteriskNow existe otra distribución llamada Trixbox (anteriormente llamada Asterisk@Home), esta distribución está basada en Fedora y por lo tanto la instalación de paquetes es muy sencilla utilizando yum y demás herramientas propias de esta distribución.


Una de las principales ventajas de utilizar estas distribuciones en lugar de hacer una instalación de cualquier otra y en ella instalar Asterisk es que estas solo instalan los componentes más necesarios para el correcto funcionamiento y administración de Asterisk, se recomienda que el servidor de Asterisk sea exclusivo para este fin, sin embargo nada impide que la misma computadora ejecute otras aplicaciones y/o servicios, incluso, Trixbox instala SugarCRM un administrador de relaciones con los clientes que se integra muy bien con Asterisk.


En mi caso decidí instalar AsteriskNow debido a que soportaba mejor la tarjeta FXS/FXO que se instaló en el servidor, aunque la instalación de cualquiera de las dos distribuciones es muy similar entre sí e incluso no es muy diferente a la instalación de cualquier otra distribución GNU/Linux, en el caso de AsertiskNow ni siquiera da la opción de particionar el disco de forma personalizada así que se debe de tener cuidado por que eliminará TODOS los datos en el disco duro que se destine para la instalación de AsteriskNow.


Es digno de mención que Trixbox instala FreePBX que es un administrador gráfico de Asterisk via web (o navegador no se como es correcto decirlo) y que AsteriskNow instala Asterisk-GUI que realmente es mucho más limitado de que FreePBX, sin embargo se dice que la próxima versión de Trixbox también instalará por defecto Asterisk-GUI (realmente ignoro por qué, a mi me parece retroceso) y como punto a favor de AsteriskNow está el que su instalación se parece más a una instalación manual, ya que trixbox instala Asterisk con una serie de archivos enlazados que lo hacen más difícil de entender o manipular desde los archivos de configuración.


Bueno de cualquier forma son dos opciones muy buenas, en mi modesta opinión recomiendo Trixbox para aquellos entornos en donde las necesidades de características especiales sean más grandes, y AsteriskNow en ambientes en los que se necesite un servicio “básico” y lo pongo entre comillas por que como veremos a continuación lo básico es muy relativo ya que provee características que muchos PBX privativos o por hardware envidiarían o bien su implementación resulta de un costo infranqueable para empresas medianas, ya no digamos pequeñas o micro-empresas.


Después de esta introducción algo extensa voy a tratar de explicar cuales son las características de AsteriskNow y como ponerlo a funcionar en un entorno modesto.


La instalación de AsteriskNow no es muy complicada ni diferente a la instalación de otras distribuciones GNU/Linux, además es completamente gráfica e incluso no permite particionado (o particionamiento ¿como es más correcto? ) manual del disco así que obviaré esta parte.


Al terminar la instalación nos presenta un asistente de configuración de Asterisk muy sencillo, en la primer pantalla muestra las tarjetas de telefonía análoga que tenemos instaladas, es decir la capacidad que tenemos de comunicarnos con teléfonos normales.

Imagen:1-asistente-asterisk.png

La segunda pantalla es para configurar la fecha y hora no hay más que explicar salvo que si la fecha y la hora de la tarjeta madre corresponden a UTC en la instalación esta pantalla no se presentará.


La siguiente pantalla es más importante, se refiere a las extensiones que tendremos, los campos que nos presenta son:

   * La cantidad de dígitos que poseerán las extensiones
* En qué número iniciarán y si a las extensiones análogas se les puede asignar múltiples extensiones, esto es útil en el caso de que no sean muchos teléfonos y queramos dar la impresión de múltiples departamentos o bien para dar a los supervisores de distintos departamentos un solo teléfono que lo conecte a la linea de los departamentos que supervisa.

Imagen:2-asistente-asterisk.png


La pantalla de proveedores de servicios es la siguiente pantalla que nos muestra el asistente esta nos sirve para configurar las formas en las que nuestro servidor Asterisk puede comunicarse con “el mundo exterior”. Existen dos tipos de proveedores de servicios los análogos o PSTN es decir el proveedor de telefonía común Ejemplo: Telmex, Telefonica, Alestra, etc. Y los proveedores de VoIP de los cuales AsteriskNow posee dos preconfigurados que son IAXTEL y Voicepulse, no se si tengan relación personal con Digium o le hallan pagado algo para aparecer ahí pero la idea es que su configuración debería ser más sencilla aunque de IAXTEL no se nada ya que no he podido acceder a su sitio si alguien lo logra haga favor de avisarme ( http://www.iaxtel.com/ ) por su parte Voicepulse ofrece buenas tarifas en llamadas a México aunque existen otros proveedores que las mejoran, ya es cuestión de que busquen las mejores tarifas o su conveniencia porque también existe la posibilidad de configurar un proveedor VoIP personalizado y los campos son:

   * Un comentario.
* El protocolo a utilizar (IAX o SIP) .
* Si necesita identificación de usuario.
* La dirección de el proveedor.
* Nuestro usuario.
* Nuestra contraseña.

Imagen:3-asistente-asterisk.png

Tengo que decir, que yo intenté configurar de esta manera el proveedor de servicio Broadvoice y no tuve éxito y lo tuve que hacer de forma “manual”, más adelante hablaremos de esto.


La siguiente etapa es configurar las reglas de marcación, ya existen algunas reglas de marcación definidas sin embargo estas son validas para EEUU y además no tienen asignado ningún proveedor por lo tanto no se pueden utilizar, sin embargo es muy sencillo configurar las reglas de marcación aunque estas reglas pueden ser tan complejas como nuestro gusto o necesidades lo dicten, al solicitar agregar una regla de marcación nos pide varios datos:

Imagen:4-asistente-asterisk.png

   * Nombre de la regla: es solo para identificarla y debe ser una cadena con signos estándar.
* El siguiente campo configura hacia que proveedor enviaremos la llamada cuando se cumpla la regla
* Los campos que siguen forman la regla propiamente dicha; existen dos modos de definirla:
* El modo fácil; que consiste en completar la oración: “Si el número comienza por ____ y es seguido de ____ dígitos (o más) quitar ___ dígitos y anteponer _______”
* Y el modo personalizado: que consiste en escribir una cadena en la cual existen los siguientes comodines:
+ N -> Cualquier dígito desde 2 hasta 9
+ X -> Cualquier dígito desde 0 hasta 9
+ . -> Cualquier cantidad de dígitos ( es un punto “.” )


Un ejemplo muy simple de esta forma sería 01XXXXXXXXXX (marcación larga distancia lada), otra forma es poner todos los números tal cual de esta forma podemos establecer que a través de determinada linea (proveedor) solo se puedan hacer llamadas a un solo número (0444641035409 mi celular :-D ). Espero disculpen lo simples de los ejemplos pero en realidad pueden ser tan complejos como gusten. Esta forma de establecer la regla de marcado también incluye la opción de quitar dígitos y agregar otros como en el caso anterior, lo cual nos puede dar la posibilidad incluso de crear claves de acceso a las lineas o lo que su imaginación y necesidades dicten.


Tenemos la oportunidad de configurar un buzón de mensajes en la siguiente etapa del asistente de configuración inicial, en este caso la información necesaria incluye:

Imagen:5-asistente-asterisk.png

   * Extensión para revisar mensajes (debe contener la cantidad de dígitos que se estableció en un paso anterior ).
* Si se van a enviar por correo-e los mensajes que lleguen a la extensión.
* El buzón maneja carpetas para administrar los mensajes de como configurar las carpetas hablaremos después ya que son muy flexibles, la idea en este caso es que nos pide una cantidad máxima de mensajes por carpeta.
* La duración de cada mensaje.
* El tiempo que debe timbrar el teléfono antes de enviar a la llamada entrante al buzón.


El último paso de el asistente de configuración es el establecimiento de las extensiones, en caso de querer agregar extensiones de usuarios tendremos que llenar algunos campos como son:

Imagen:6-asistente-asterisk.png

   * El número de extensión (obligatorio) este debe ser de la longitud que establecimos y por defecto nos pone el número inicial y este se incrementa automáticamente con cada nueva entrada.
* Nombre completo (opcional) no es necesario que sea real pero nos puede servir para identificar la cuenta.
* Contraseña (obligatorio) no es necesario ponerla para Asterisk, sin embargo muchos clientes necesitan enviar una contraseña y si el servidor tiene establecido NONE como contraseña y se envía pues no nos dará acceso.
* e-mail (opcional) el correo del titular de la extensión para recibir sus mensajes de voz o algún comunicado del administrador.
* Id de llamada (caller id) (opcional) es lo que se mostrará en las pantallas de los clientes cuando se llame desde esa extensión, es como el nombre del identificador de llamadas, si no se establece se enviará el número de extensión hay una cosa que hay que considerar; se puede poner cualquier cosa y de un tamaño máximo de 999 caracteres, sin embargo, los teléfonos normales solo pueden presentar 8 caracteres y solo simbolos US-ASCII o ASCII extendido así que no conviene abusar ni siquiera de los espacios
* Teléfono análogo (analog phone) en caso de que el teléfono sea análogo y esté conectado directamente a un puerto análogo de Asterisk.
* Reglas de marcado: define cual regla de marcado de las establecidas se utilizará al llamar desde esa extensión.
* Si va a estar en el directorio de Asterisk.
* Si posee un correo de voz.
* Si es un cliente que admita SIP.
* Si es un cliente que admita IAX.
* Si esa extensión puede enviar señales para conectar con una aplicación cliente en el servidor Asterisk (opción por demás interesante que después explicaremos).
* Si es un “agente” (un usuario miembro de un grupo predefinido).
* Si soporta llamada en espera para poder poner en el fondo a sus llamantes.
* Si soporta desvío de llamada y llamada en conferencia.


La última pantalla del asistente es la de rutas de entrada, en esta parte podremos definir hacia donde se encaminarán las llamadas entrantes tomando como referencia el proveedor (linea) del cual vienen y el número que llama, para crear la configuración de esta característica necesitamos llenar los siguientes datos:

Imagen:7-asistente-asterisk.png

   * Ruta: aquí tenemos dos opciones:
o Todas las llamadas entrantes que no coincidan con otra ruta de entrada establecida
o Las llamadas entrantes que coincidan con el siguiente patrón; en caso de seleccionar esta se abrirá automáticamente un campo para establecer el patrón.
* Desde el proveedor: esto es desde cual linea tendría que entrar la llamada esto incluye por supuesto proveedores o lineas VoIP sean internas o externas.
* A la extensión: el número de extensión al que timbrará al recibir la llamada que coincida con las directivas de la ruta.


Al terminar de rellenar estos datos y pasar a la siguiente vista nos dará un mensaje de felicitación por tener un servidor Asterisk listo y trabajando en (créanme) 50 minutos (en la publicidad dice 30 pero dependerá de su equipo y rapidez para teclear y rellenar radio-buttons y check-boxes), ok admito que es un cliente muy básico pero con esto ya podemos empezar a trabajar.

Algunos enlaces interesantes de este tema son:

   http://www.asterisk.org/
http://www.asterisk-es.org
http://www.asterisknow.org/
http://www.trixbox.org/
http://www.asterisk-latam.com/

Próximamente enviaré la segunda parte de está mini-guia de AsteriskNow espero que les guste y más que eso, que se útil para alguien.


Este documento está disponible bajo los términos de la GNU Free Documentation License 1.2

1 comentario:

Anónimo dijo...

Hola, soy un usuario novato en esto de asterisk, y me estoy empapando de todos los contenidos que circulan por internet, gracias. Mi pregunta es que si conces algun manual que explique como configurar asterisknow ya que en mi caso (no se porque) no se ejecuta el asistente. Un saludo