Etiqueta: tutorial

  • Probando y explicando CEL en Asterisk 1.8

    Una de las grandes novedades que traía Asterisk 1.6.2 y que forman parte del gran número de novedades de Asterisk 1.8 es el soporte de un nuevo sistema de logueo de eventos llamado CEL (Channel Event Logging) que, supuestamente viene a solucionar los grandes problemas que tiene el CDR de Asterisk, como cuando se utilizan transferencias SIP en lugar de las transferencias nativas de Asterisk.

    Esta característica es seguramente, una de las mejores razones por las que actualizar nuestro Asterisk de 1.4 o Asterisk 1.6.0 a la nueva versión de Asterisk 1.8. ya que son muchas las empresas que utilizan a diario el listado de llamadas realizadas junto con toda la información que suele incluir el CDR y necesitan aún más información o por lo menos, que esta se muestre adecuadamente.

    Para que el no lo sepa, el CDR (Call Detail Record) es un registro «log» que gestiona y almacena todo el detalle de llamadas que se realizan a través de Asterisk por lo que, tanto para las empresas que necesitan llevar un control riguroso de llamadas, como para los proveedores que utilizan el CDR de Asterisk para poder facturar a sus clientes, este registro es de vital importancia.

    La mayoría de las centralitas traen integrado un sistema que permite extraer el listado de llamadas, así como el resto de sus datos: fecha y hora de inicio de la llamada, duración, origen, destino, si la llamada se ha podido realizar correctamente o si ha ocurrido algún error, etc. Aunque la principal diferencia es que para acceder al CDR, o bien hay que pagar un ‘extra’, necesitar de otro sistema independiente que se conecta a la PBX mediante un puerto serie, y además no es todo lo fiable que debería ser.

    El CDR que incluye Asterisk tampoco es una maravilla (aunque en comparación con el resto de sistemas PBX comerciales, es la mayor joya jamás inventada), y es que cuando se realizan llamadas que queremos monitorizar, existen algunas ciscustancias en las que el CDR no sabe interpretar correctamente: Por ejemplo, una transferencia realizada mediante la función SIP REFER (Transferencias SIP) que trae el propio terminal SIP, es algo que el CDR no implementa bien y en estos casos (y más aún si necesitamos facturar dicha llamada) se puede complicar bastante y para estos casos y muchos otros aparece CEL del que vamos a explicaros qué es y cómo funciona…

    (más…)

  • Como convertir audio con sox compatible con Asterisk

    En muchas ocasiones, necesitamos utilizar diferentes locuciones creadas por nosotros para nuestro Asterisk o bien un archivo creado por un locutor profesional que generalmente tiene una gran calidad de audio pero que no es compatible con Asterisk.

    Asterisk soporta muchos tipos de archivos de audio, tan solo tienes que echarle un vistazo a la cantidad de módulos de formatos y codecs que puedes encontrar en el directorio /usr/lib/asterisk/modules y te darás cuenta que tienes bastantes disponibles. No obstante, siempre se recomienda utilizar un formato y un códec que evite cargar al sistema cada vez que se reproduzca.

    Por ejemplo, si nuestro terminal IP utiliza códec Alaw, no es práctico que el archivo de audio se encuentre en GSM, ya que Asterisk tendrá que «traducir» el archivo codificado como ‘gsm’ a ‘alaw’ para que nuestro terminal pueda reproducirlo y nosotros escucharlo. Esto consume procesador y memoria que, multiplicado por el número de archivos que se pueden llegar a reproducir a la vez, pueden causar una carga excesiva y nada justificada.

    Para evitar esto, se suelen convertir los archivos de audio al códec que vamos a utilizar: si nuestro teléfono está configurado como ‘alaw’, nuestra locución puede estar codificada en ‘alaw’ también y así evitar la conversión. Lo mismo ocurre si nuestro terminal utiliza ‘G.729’ (cuya trascodificación requiere de licencias) por lo que si convertimos las locuciones a G.729, además de ahorrarnos procesamiento del sistema, también nos ahorraremos utilizar las licencias del códec G.729 que tengamos.

    Para convertir el audio de un formato a otro, la consola de Asterisk dispone de un comando que puede ayudarnos:

    *CLI> help file convert
    Usage: file convert <file_in> <file_out>
    Convert from file_in to file_out.
    If an absolute path is not given, the default Asterisk sounds directory will be used.
    Example:
    file convert tt-weasels.gsm tt-weasels.ulaw

    Esta herramienta puede ser útil en muchos casos, aunque lo cierto es que no es todo lo buena que debería ser, ya que para convertir archivos en formato ‘wav’ deben estar con los parámetros estándar de audio para telefonía:

    Signed 16 bits PCM
    Big Endian
    Mono
    8000 Hz

    Lo que puede llevarnos a necesitar alguna aplicación para convertir nuestro archivo ‘wav’ o ‘mp3’ a otro formato más compatible con Asterisk.

    No obstante, en Linux disponemos de una herramienta fundamental que debe estar incluido en cualquier servidor de Asterisk: sox (http://sox.sourceforge.net/)

    Esta herramienta (y más en sus últimas versiones) dispone de mejoras tanto de rendimiento como de calidad que la hacen una de las más útiles, fáciles y rápidas de todas las existentes y únicamente deberemos conocer qué parámetros debemos utilizar para convertir nuestro archivo a cualquier otro.
    Pese a que la utilidad sox puede compilarse, también admite módulos lo que nos facilitará su instalación mediante los paquetes que provee nuestra distribución, algo sencillamente ideal cuando necesitamos algo rápido y fácil.

    Una de las mayores ventajas, es que la extensión que utilicemos como ‘archivo de salida’ marcará la cabecera de esta, por lo que no tenemos que preocuparnos por indicar una gran parte de los detalles que incluyen los archivos de audio.

    Por este motivo y para poder recordarlo en un futuro, he recopilado una serie de comandos que nos permita convertir cualquier archivo de los formatos más básicos a otros más compatibles con Asterisk y que pueda reproducir de una forma nativa, así que aquí los tenéis:

    (más…)

  • Tutorial para interconectar Asterisk 1.6 con Kamailio 3.0

    A traves de Manwe veo un fantástico tutorial paso a paso sobre cómo integrar Asterisk 1.6.2 con Kamailio 3.0 escrito por Daniel Constantin Mierla en la que nos explica cómo configurar Kamailio para registrar y gestionar las llamadas entre usuarios SIP mientras que reenvía ciertas peticiones SIP a Asterisk (para acceder a la red telefónica, por ejemplo).

    El tutorial está hecho realmente para torpes y es que siguiendo los pasos cualquiera puede instalar su propio OpenSER como servidor de registro y conectarlo a Asterisk para utilizarlo como gateway o servidor de aplicaciones de voz, aunque lo verdaderamente interesante es que seguro que esto hará que muchos que ya conocéis Asterisk y queréis aprender cómo funciona una aplicación como  Kamailio servirá como punto de partida para algo práctico para continuar aprendiendo.

    Seguramente, muchos lectores estarán deseando poner en práctica este tutorial, aunque debemos recordar que, de poco sirve hacer copy+paste de los comandos y de la configuración si no se entiende lo que se está haciendo y aunque parezca sencillo, realmente lo es, tan sólo hay que dedicarle su tiempo para leer la documentación y entender qué hace y porqué.

    (más…)

  • Cómo organizar y controlar los logs de Asterisk

    logsJon Bonilla ha publicado un estupendo tutorial sobre cómo organizar el log de Asterisk, realmente imprescindible para sistemas de alta carga o que generan muchos mensajes y que necesitamos controlar para saber qué está haciendo Asterisk en ese momento.

    Asterisk incluye un archivo de configuración llamado logger.conf donde podemos decirle qué tipo de mensajes queremos que almacene y dónde, pero esta herramienta se nos puede quedar pequeña en ciertos momentos, así que este tutorial es realmente interesante en esos casos.

    Podeis ver el tutorial aquí:
    http://blog.voz-ip.com/2009/log-en-asterisk/

  • Cómo instalar una tarjeta RDSI BRI con DAHDI

    Un poco de Historia …

    Billion RDSI

    Las líneas RDSI Básicas siempre han sido una gran alternativa a las líneas analógicas por muchos motivos: flexibilidad, calidad de audio, ausencia de ruidos, ausencia de problemas de eco, y un largo etcétera que forman una de las mejores alternativas calidad-precio para aquellas empresas que quieren tener varias líneas con el mismo número.

     

    No obstante, el hecho que en EEUU y en algunos países de sudamérica las RDSI Básicas (también conocidas como BRI) no sea un tipo de línea muy extendido ha hecho que muchos fabricantes no lo hayan tomado en serio a la hora de desarrollar sus soluciones hardware, es por esto por lo que los primeros fabricantes que ofrecieron tarjetas RDSI Básicas compatibles con Asterisk a bajo coste fueron justamente los alemanes Junghanns y Beronet, un país donde las líneas BRI son tan habituales como las analógicas en cualquier otro país.

     

    Estos fabricantes no sólo crearon el hardware necesario si no también desarrollaron los drivers necesarios para utilizar dichas tarjetas con Asterisk. Así Junghanns creó su famoso paquete BriStuff y Beronet se centró en otro sistema llamado mISDN.

    Cuando Digium lanzó su conocida tarjeta B410P, se tuvo que decantar por utilizar el sistema de Junghanns o el de Beronet y finalmente se decidió por mISDN, un controlador RDSI BRI basado en estándares abiertos y compatible no únicamente con Asterisk si no con otras aplicaciones.

    Sangoma también creó su tarjeta A500 para RDSI BRI y en lugar de utilizar las opciones disponibles, continuaron utilizando su propio paquete de drivers basados en la idea de que sirviera no solo para voz, si no también para datos: wanpipe.

    Junghanns dejó de ofrecer actualizaciones de su BriStuff tan habitualmente como lo venía haciendo y se echaba en falta drivers para utilizar sus tarjetas con las últimas versiones de Asterisk. Beronet por contra utiliza mISDN que actualmente no tiene apenas actualizaciones y tras las últimas versiones de Kernel de Linux (los kernels superiores al 2.6.18) ha perdido la compatibilidad y no funciona como se espera.

    En este momento de incertidumbre, varios desarrolladores Digium, Xorcom, y algunos más empezaron a desarrollar los nuevos drivers para tarjetas BRI bajo DAHDI basándose en el driver de Junghanns (qozap y zaphfc) para crear el nuevo driver para la B410P bajo el nombre wcb410x dentro del paquete DAHDI.

    Pero ocurre que este añadido, suponía darle soporte de BRI también al Asterisk 1.4 cuando esta versión había sido «congelada» y únicamente se puede modificar para solucionar bugs y no para añadir nuevas características, así que el soporte BRI de DAHDI sólo está disponible para Asterisk 1.6.

    Entonces ahora mismo nos encontramos con un kernel >2.6.18, Qozap con una versión para Asterisk 1.2 o Asterisk 1.4 compatible sólo para tarjetas Junghanns, mISDN que no funciona corréctamente y el soporte BRI en DAHDI sólo para Asterisk 1.6. ¿Qué hacemos si queremos instalar una tarjeta RDSI BRI en 1.4?

    Ahí es donde buscamos las soluciones y hay dos posibilidades:

    – Actualizar a Asterisk 1.6.0.
    Con lo que ya tendríamos soporte BRI con DAHDI y las tarjetas BRI serían dispositivos del mismo tipo que cualquier tarjeta analógica.

    – Actualizar a Asterisk-ES-RSP 1.4.
    Con lo que tendremos una versión de Asterisk 1.4 modificado con el soporte para tarjetas y señalización BRI.

    Esta es sin duda la elección a tener en cuenta ya que el resto de opciones son bastante más complicadas (como por ejemplo desactualizar el kernel para que mISDN siga funcionando, o utilizar una versión antigua de Asterisk para utilizar BriStuff).

    La pega de estas soluciones es que el soporte de BRI en DAHDI, tanto en 1.6 como en 1.4 es que cada fabricante utiliza un identificador para cada versión de su tarjeta, y DAHDI aún no las tiene todas, de manera que, aunque DAHDI sea compatible con Junghanns y Beronet, puede que haya una versión de la tarjeta que aún no haya sido incluida como soportada.

     

    Dando soporte a una tarjeta BRI no reconocida por DAHDI…

    Para ello, si disponemos de una tarjeta con chipset HFC y DAHDI no la reconoce podemos añadirle nosotros mismos el soporte de manera temporal editando el código fuente del driver y haciendo una simple modificación:
    (Odicha tiene una explicación bastante más técnica en su página)

    En el directorio del código fuente de DAHDI:

    root@localhost:/usr/src/dahdi-linux-2.x.x.x/# cd drivers/dahdi/wcb4xx
    root@localhost:/usr/src/dahdi-linux-2.x.x.x/drivers/dahdi/wcb4xx/# ls -la
    total 132
    drwxr-xr-x  3 root root  4096 2009-08-25 12:40 .
    drwxr-xr-x 15 root root  4096 2009-08-25 12:40 ..
    -rw-r--r--  1 root root 83581 2009-08-25 12:40 base.c
    -rw-r--r--  1 root root   116 2009-08-25 12:40 Kbuild
    -rw-r--r--  1 root root   181 2009-08-25 12:40 Makefile
    -rw-r--r--  1 root root 20494 2009-08-25 12:40 wcb4xxp.h

    Con el comando de Linux ‘lspci -vb‘ buscamos nuestra tarjeta:

    02:0b.0 ISDN controller: Digium, Inc. Unknown device b410 (rev 01)
         Subsystem: Digium, Inc. Unknown device b410
         Flags: medium devsel, IRQ 10
         I/O ports at e400
         Memory at fbffb000 (32-bit, non-prefetchable) [disabled]
         Capabilities: [40] Power Management version 2

    Nos fijamos en la posición que ocupa esta tarjeta (02:0b.0) y volvemos a ejecutar el comando con otros parámetros ‘lspci -vn’:

    02:0b.0 0204: d161:b410 (rev 01)
         Subsystem: d161:b412
         Flags: medium devsel, IRQ 10
         I/O ports at e400 [size=8]
         Memory at fbffb000 (32-bit, non-prefetchable) [disabled] [size=4K]
         Capabilities: [40] Power Management version 2

    Apuntamos el texto marcado en ‘azul’ y el ‘verde’ nos fijamos en el archivo base.c y casi por el final del archivo nos encontraremos con unas líneas como estas:

    static struct pci_device_id b4xx_ids[] __devinitdata =
    {
    { 0x1397, 0x16b8, 0x1397, 0xb552, 0, 0, (unsigned long)&hfc8s },
    { 0x1397, 0x08b4, 0x1397, 0xb520, 0, 0, (unsigned long)&hfc4s },
    { 0x1397, 0x08b4, 0x1397, 0xb556, 0, 0, (unsigned long)&hfc2s },

    Cada línea representa el identificador que buscará el driver para reconocerlo como una tarjeta compatible de manera que creamos una nueva línea con la misma forma que las anteriores y colocamos los valores que nos han salido en el ‘lspci’ en las posiciones correctas.

    static struct pci_device_id b4xx_ids[] __devinitdata =
    {
    { 0xd161, 0xb410, 0xd161, 0xb412, 0, 0, (unsigned long)&wcb4xxp },
    { 0x1397, 0x16b8, 0x1397, 0xb552, 0, 0, (unsigned long)&hfc8s },
    { 0x1397, 0x08b4, 0x1397, 0xb520, 0, 0, (unsigned long)&hfc4s },
    { 0x1397, 0x08b4, 0x1397, 0xb556, 0, 0, (unsigned long)&hfc2s },

    El último campo (el de color violeta) corresponde al tipo de tarjeta que vamos a configurar:

    – Las Digium: ‘wcb4xxp
    – Las Junghanns 2 puertos: ‘hfc2s‘, Junghanns 4 puertos: ‘hfc4s‘, Junghanns 8 puertos: ‘hfc8s
    – Las Beronet 2 puertos: ‘hfc2s_BN‘,  Beronet 4 puertos: ‘hfc4s_BN‘, Beronet 8 puertos: ‘hfc8s_BN
    – Las Openvox 2 puertos: ‘hfc2s_OV‘, 4 puertos: ‘hfc4s_OV‘, 8 puertos ‘hfc8s_OV
    – etc.

    De esta manera, ya sea la versión de la tarjeta que queramos añadir (siempre que el fabricante esté soportado) podemos modificar el driver para darle soporte.

    Para terminar, tan solo debemos compilar DAHDI y probar a cargar el módulo:

    /etc/init.d/dahdi restart

    Y al ejecutar el comando ‘dmesg’ debemos ver que la tarjeta ha sido encontrada corréctamente:

    [122429.745539] wcb4xxp 0000:09:01.0: Identified Wildcard B410P (controller rev 1)
    [122429.745539] wcb4xxp 0000:09:01.0: VPM 0/1 init: chip ver 33
    [122429.759405] wcb4xxp 0000:09:01.0: VPM 1/1 init: chip ver 33
    [122429.771406] wcb4xxp 0000:09:01.0: Hardware echo cancellation enabled.
    [122429.771406] wcb4xxp 0000:09:01.0: Port 1: TE mode
    [122429.771406] wcb4xxp 0000:09:01.0: Port 2: TE mode
    [122429.771406] wcb4xxp 0000:09:01.0: Port 3: TE mode
    [122429.771406] wcb4xxp 0000:09:01.0: Port 4: TE mode

    Mi idea no es dar un curso sobre programación ni sobre DAHDI, tan solo mostrar cómo saltar un pequeño obstáculo que puede complicar la existencia a más de uno.

    Configurando DAHDI para utilizar la tarjeta con Asterisk …

    Una vez que veamos en el ‘dmesg’ que la tarjeta ha sido reconocida corréctamente, necesitamos configurarla, para ello vamos a editar el archivo ‘/etc/dahdi/system.conf’ y añadir las siguientes líneas para una tarjeta de 4 puertos:

    span=1,1,0,ccs,ami
    span=2,2,0,ccs,ami
    span=3,3,0,ccs,ami
    span=4,4,0,ccs,ami
    
    bchan=1,2
    hardhdlc=3
    
    bchan=4,5
    hardhdlc=6
    
    bchan=7,8
    hardhdlc=9
    
    bchan=10,11
    hardhdlc=12
    
    loadzone = es
    defaultzone = es

    Si tuviesemos una tarjeta con 2 puertos, sería más simple:

    span=1,1,0,ccs,ami
    span=2,2,0,ccs,ami
    bchan=1,2
    hardhdlc=3
    
    bchan=4,5
    hardhdlc=6
    loadzone = es
    defaultzone = es

    Para una OctoBRI pues puedes usar el sentido común para averiguar cómo sería el system.conf. ;P

    El archivo /etc/asterisk/chan_dahdi.conf  es prácticamente igual que cualquier zapata pero con algunas diferencias:

    Para crear un grupo con nuestros canales ya configurados tan solo debemos añadir algo como esto:

    group=1
    switchtype=euroisdn
    signalling=bri_cpe  ;; bri_cpe si son punto-a-punto ó bri_cpe_ptmp si son punto-multi-punto.
    context=default
    callgroup=1
    pickupgroup=1
    channel => 1,2,4,5,7,8,10,11

    Fácil ¿verdad? 🙂

    Reiniciamos de nuevo DAHDI y Asterisk y deberíamos tener ya la tarjeta perféctamente configurada y funcionando. 😀

    Puedes probarlo entrando en la consola de Asterisk y escribiendo…

    asterisk*CLI> dahdi show status
    Description                 Alarms IRQ
    B4XXP (PCI) Card 0 Span 1   OK     0
    B4XXP (PCI) Card 0 Span 2   OK     0
    B4XXP (PCI) Card 0 Span 3   RED    0
    B4XXP (PCI) Card 0 Span 4   RED    0

    Si teneis algún problema, no dudeis en dejar un comentario.

  • Por qué decimos GUI cuando queremos decir Front-end

    En ocasiones, dos palabras cuyo significado se parecen, a menudo es utilizado por distintas personas como si fueran sinónimos, lo que puede llevar a dos posibles interpretaciones: Que habla de algo que no es, o que no tiene ni idea. Esto es lo que a veces pienso cuando leo algunas noticias y artículos, publicidad variada y abundante por no tildarla de SPAM-consentido.

    En este artículo voy a referirme principalmente a dos conceptos que se parecen, pero no son lo mismo y la diferencia puede llegar a ser realmente abrumadora e incluso, viéndolo desde un punto de vista objetivo, casi insultante.

    GUI son unas siglas que vienen a significar Graphical User Interface (o en español: Interfaz gráfica para el usuario).
    FRONT-END es un término inglés que viene a señalar un «frontal» para utilizar una aplicación final «fín«.

    Estos dos conceptos son muy parecidos, y de hecho, cualquiera sin experiencia pensaría que es lo mismo (siempre y cuando haya utilizado alguna vez ambos términos) pero nada más lejos de la realidad y para mostrarlo pondré un ejemplo bastante curioso y didáctico para el que no lo conozca:

    Cuando una persona instala Debian por primera vez, una de las primeras cosas que aprende, es que los paquetes donde se encuentran las aplicaciones, utilidades, librerías y todo, viene en archivos con extensión .deb la forma de instalar dichos paquetes (archivos paquetizadores) se hace SIEMPRE mediante una aplicación llamada dpkg. (des-packager) y mediante esta herramienta con una serie de parámetros, descomprimirá el paquete .deb y colocará cada archivo en el directorio donde debe estar.

    Con un simple vistazo a la herramienta dpkg podemos ver estos parámetros (he puesto la letra muy pequeña para que ocupe lo mínimo posible).

    dpkg-help
    Click para ampliar

    Se podría decir que trabajar con esta aplicación puede llegar a ser algo tedioso cuando para instalar un paquete, antes debemos instalar otros, y para instalar estos otros, antes hay que instalar otros… un usuario novato puede llegar a perder la paciencia.

    Para ello, se inventó una aplicación front-end llamada dselect. Esta aplicación tenía como objetivo facilitar el uso de la herramienta dpkg a los usuarios de manera que se simplificara su utilización y no tuvieran que estar peleándose con los distintos parámetros, a la vez que se automatizaba la búsqueda e instalación de dependencias (de manera que solo había que indicar qué paquete querías instalar y él instalaba sólo y automáticamente todos los paquetes que eran necesarios tener instalado previamente). El front-end en el fondo hace uso de la aplicación final: dpkg y sólo utiliza unos pocos parámetros.

    El comando dselect para muchos se convirtió en una bendición, para otros… en un doble suplicio. Como se solía decir, a veces era más difícil aprender a utilizar el front-end que la propia aplicación ‘end’.

    dselect-help
    Click para ampliar

    La herramienta dselect fue rechazada por gran parte de los usuarios de Debian por ser un front-end al que le faltaba una característica esencial: la aplicación Front-end debe ser INTUITIVA (Del lat. mediev. intuitĭo). Así que, como este front-end no terminó de satisfacer a los usuarios de Debian, se creó una herramienta nueva: apt-get que, no únicamente era mucho más sencilla de utilizar, si no que realmente eran tan útil, fácil y rápida de aprender que hoy día es la herramienta por excelencia que todo usuario de Debian conoce a la perfección.

    apt-get-help
    Click para ampliar

    Por ahora tenemos que dpkg es la herramienta principal y apt-get un front-end del dpkg que facilita la instalación de paquetes.
    Como aún así, el apt-get puede llegar a ser difícil de utilizar para alguien nuevo, se crearon otras herramientas: aptitude y una GUI llamada synaptic.
    Si uno se fija en las opciones de synaptic, puede ver que están TODAS y cada una de las opciones de la herramienta apt-get (NO una simplificación de los parámetros del apt-get).

    synaptic
    Click para ampliar

    Bien, después de este rollo, ¿que intento sacar en claro?

    – Una GUI es una transformación de una aplicación a un entorno gráfico.
    – Un Front-End es una simplificación para facilitar el uso de una aplicación. Un requisito de los Front-End es que deben ser INTUITIVOS.

    Ahora una reflexión:

    – Cuando un cliente dice que quiere una GUI, realmente quiere un Front-End?, un Front-End no tiene porqué ser gráfico, simplemente debe ser más sencillo, intuitivo para no tener que esforzarse en aprender todos los parámetros de la aplicación final.
    – Un Front-end no suele incluir todas las ventajas que la aplicación final por lo tanto, su uso generalmente está limitado.

    ¿Eso significa que si alguien utiliza un Front-End no puede hacer lo mismo que alguien que utilice una aplicación final?
    – No, si alguien utiliza una aplicación final de forma tan simple que hasta lo podría hacer con un Front-end.
    – Si, si alguien utiliza la aplicación final para hacer cosas complejas y más profesionales y no simplemente a nivel ‘usuario’.

    ¿Qué pasa si alguien no sabe manejar una herramienta Front-end?
    – No pasa nada, solo que si esa persona no sabe manejar una herramienta intuitiva, imaginate algo más complicado.

    ¿Qué pasa si alguien quiere hacer cosas complejas con un Front-end?
    – Pues, evidentemente hay cosas que el front-end no podrá hacer y tendrá que utilizar la aplicación final.

    Así que, chicos, chicas, espero que hayais entendido la diferencia entre GUI y FRONT-END a partir de ahora hablemos con propiedad conociendo la diferencia. 😀

  • Alternativa al AgentCallBackLogin en Asterisk 1.6

    Uno de los cambios más dramáticos de Asterisk 1.6 es sin duda la desaparición del comando AgentCallBackLogin, este comando sirve para loguear y desloguear agentes en una cola permitiendo al agente colgar el teléfono sin que este se desloguee (como ocurre con el AgentLogin) y así los usuarios pueden recibir llamadas enviadas a una cola y utilizar el terminal como si fueran usuarios normales y no exclusivamente agentes de recepción de llamadas.

    En Asterisk 1.6 este comando desapareció como por arte de magia (sin llegar al punto ‘deprecated’) y era debido a que «supuestamente» la misma lógica que se conseguía hacer mediante esta aplicación de Asterisk, se podía hacer con un poco de programación de dialplan.

    Kevin P. Flemming comentaba esto en la lista:
    «We have already been discussing the idea of just turning chan_agent into only ‘always connected’ mode, and removing all support for callback mode. It seems on the surface that everything that chan_agent does in ‘callback’ mode can be accomplished using dialplan logic and dynamic queue members (which did not exist when chan_agent was created).»

    Esto no gustó a muchos ya que este comando es básico y fundamental cuando alguien configura un «callcenter» con Asterisk y mucho menos cuando decide leer la «alternativa» que proponen los desarrolladores a esa «lógica de dialplan».

    Para aquellos que utilicen el AgentCallBackLogin en 1.4, al pasar a 1.6 deben leer este documento que explica qué hay que hacer:
    http://svn.digium.com/svn/asterisk/branches/1.4/doc/queues-with-callback-members.txt

    Si después de leer este documento os habeis quedado igual que yo, intentaré explicar cómo se puede hacer para que sea menos traumático el cambio a continuación: (más…)

  • Cómo pasar de Zaptel a DAHDI sin esfuerzo

    Digium acaba de enviar un email a todos los usuarios registrados con un documento bastante interesante para los administradores e implementadores de Asterisk, un manual explicativo donde define detalladamente todos los cambios de Zaptel a DAHDI especialmente pensado para evitar los problemas clásicos a la hora de modificar una tecnología a otra. También trae una explicación de cada herramienta, módulos y parámetros para este último:

    El documento está dividido en dos y lo podeis encontrar en estos enlaces y aquellos que todavía sigais con Zaptel, os recomiendo que le echeis un vistazo ya que vienen varios trucos muy interesantes:

    Asterisk/DAHDI/LipPri – Guía Rápida

    Actualizando Zaptel a DAHDI

  • Resumen de la VoIP en este 2008

    El 2007 fue un año bastante plagado de novedades, un gran boom que sirvió para dar a conocer a muchísima gente los beneficios de la VoIP, pero el 2008 tampoco se ha quedado atrás y pese a que muchas empresas no han anunciado muchas novedades por culpa de la crisis mundial, no ha dejado de ser un año con bastantes novedades.

    Enero:
    –  Asterisk 1.4.17
    VicidialNOW, la distribución de Vicidialer
    Zoiper pasa a soportar T.38
    Monitorizando Asterisk con Monit
    Zaptel soporta 120 canales G729 en la TC400B
    – Digium: Nuevas tarjetas PCIe de primarios y analógicas.
    Publicado AstJaBot v.0.1
    GrandStream lanza sus gateway 24 FXS

    Febrero:
    – Digium: Lanzamiento de la TDM410P
    Digium y Sangoma aumentan la garantía de sus tarjetas
    – Asterisk 1.4.18
    FreeSwitch soporta SIP bajo TCP
    Siemens abandona la fabricación de centralitas

    Marzo:
    Ericsson deja la fabricación de centralitas
    Diferencia entre G729 comercial y el G729 gratis
    Elastix lanza su propia appliance

    Abril:
    – Tutorial: Analizando datos con Wireshark
    – Asterisk 1.4.19
    Curso de Asterisk en la Bootcamp Bilbao
    Asterisk-ES en LinkedIn
    Elastix 1.0 por fin estable

    Mayo:
    Comparación entre H264 y Theora
    Curso de Asterisk y OpenSer en la SIP MasterClass en Barcelona
    – Tutorial: Grabando tráfico RTP con RTPBreak
    LibPri soporta ISDN Básicas (BRI)
    – OpenSER 1.3.2
    Se anuncia la desaparición de Zaptel en favor de DAHDI
    TrixBox deja FreePBX
    Nortel se pasa al Software Libre
    – Asterisk 1.4.20
    Lanzamiento del Snom m3
    FreeSwitch 1.0 por fín estable

    Junio:
    Mark Spencer en Bilbao
    Celebración del Asterisk-Tag en Berlín
    – Asterisk 1.4.21
    Malos tiempos para TrixBox y Fonality
    – Tutorial: Cómo testear una tarjeta de primarios
    Curso de Asterisk en Madrid (Bootcamp Madrid 2008)
    – Elastix 1.1

    Julio:
    – Tutorial: Cómo configurar exim con Asterisk
    II Premios Digium a la innovación
    – FreeSwitch 1.0.1
    – Tutorial: Cómo configurar Asterisk con T.38
    OpenSer pasa a llamarse Kamailio

    Agosto:
    – Tutorial: Cómo instalar Asterisk y Asterisk-GUI en 20 minutos
    – Asterisk-GUI 2.0
    El interés por Asterisk se duplica

    Septiembre:
    – Elastix 1.2
    Skype contrata a Digium para desarrollar un Chan_Skype oficial
    Curso de Asterisk en la Bootcamp Lisboa
    Cisco compra Jabber Inc.

    Octubre:
    Asterisk 1.6 por fin ve la luz
    – Tutorial: Todo lo que siempre has querido saber de DAHDI (I)
    Primeros tropiezos con DAHDI y Asterisk 1.4
    Fring para el iPhone
    Adiós SIMO, hola VoIP2DAY
    Snom presenta Snom 820
    – Tutorial: Todo lo que siempre has querido saber de DAHDI (II)
    Monitorizar Asterisk con Nagios
    Sinologic celebra su 2º aniversario 

    Noviembre:
    mISDN 2.0 Released
    GMail se pasa a la VideoConferencia
    Primer libro dedicado a Elastix y gratuito
    Primer curso de Asterisk Advanced en Europa y en Madrid
    Celebración del VoIP2DAY
    Sinologic regala a sus visitantes por su 2º aniversario

    Diciembre:
    – Tutorial: Instalando Asterisk+FoneBridge2+Asterisk-GUI
    Asterisk cumple 9 años
    – Tutorial: Todo lo que siempre has querido saber de DAHDI (III)
    Nuevos libros sobre Asterisk
    – DAHDI 2.1.0
    Fin del Año para Sinologic

    Este año, no ha sido tan abundante en noticias como los anteriores pero no obstante nos hemos divertido viendo la evolución de Asterisk, DAHDI, los constantes cambios de nombres de OpenSER y cómo las empresas de telefonía tradicional cierran y las grandes empresas se reposicionan ante lo que se podría considerar una partida de ajedrez donde todo apoyo es necesario y solo cuenta una cosa: La VoIP.

    Veremos qué novedades trae el 2009 para la VoIP, pero lo que es seguro (confío, espero y deseo) es que este año sea recordado, entre otras cosas por el año en que acabó la crisis y las empresas puedan sacar nuevos productos, invertir en mejoras y novedades y poder disfrutar viendo cómo son.

    No obstante, como todo, siempre hay algunos perjudicados y parece que todo se normaliza bastante bien, donde podemos conocer uniones de empresas, compañeros que se «mudan» y un movimiento bastante sano en esto de la VoIP, por lo que mis deseos para este año que entra es que sea mucho mejor que este, que nos traiga salud para todos nuestras personas queridas, que la gente vuelva a continuar con su trabajo o se recicle para continuar avanzando, y que haya trabajo y dinero para todos.

    Empezaremos el año con un par de cosillas que he ido preparando y que tengo en el tintero desde hace algún tiempo, pero eso son sorpresas que me gusta dar poco a poco y que habrá que esperar un poco para conocerlas.

    Así que, no me enrollo más, y desearos a todos, una muy buena entrada de año y un feliz y próspero Año Nuevo 2009.

     

  • Cómo instalar Asterisk, Asterisk-GUI y un foneBridge2

    Instalar un foneBridge2 de Red-fone es bastante sencillo, basta con seguir cualquiera de los tutoriales que uno se puede encontrar en internet o bien la ayuda oficial que siempre está mejor, scripts de auto-instalación o ambas cosas, pero Carlos Alberto me envía un email con un tutorial bastante interesante que ha hecho sobre cómo instalar, configurar y dejar funcionando un Asterisk, un foneBridge2 y lo más curioso: configurado mediante el Asterisk-GUI, paso a paso y sin atragantarse. 😀

    Lo podeis ver aquí: http://www.estodopornada.com/html/node/1

    Como única crítica al tutorial, evitaría utilizar el switch entre la red de VoIP y la conexión TDMoE que une el Asterisk y el foneBridge2, ya que la cantidad de tráfico entre estos es tan grande y constante que suelen volver loco a los switches normales, y además, conviertes al switch en un punto de fallo innecesario.

    Por lo demás, muy bueno el tutorial, altamente recomendable. 😀

    P.D.: Mark, apúntatelo. ;D