Etiqueta: Asterisk

  • Descubre la fecha en la que se publicó tu Asterisk

    Descubre la fecha en la que se publicó tu Asterisk

    Events-Calendar

    Cuando entro en un sistema Asterisk, lo primero que intento ver es la versión que utiliza ya que, en función de esta versión, los comandos que hay que utilizar en el CLI varían de una versión a otra, los archivos de configuración varían, tienen más parámetros o menos y sus valores difieren considerablemente. Cuando antes para definir un usuario que se encontraba detrás de un router había que poner nat=yes, a partir de Asterisk 1.8 empezó a ser nat=force_rport y en Asterisk 10 ya era nat=force_rport,comedia. El famoso canreinvite dejó de ser utilizable en Asterisk 11 y dio paso al directrtpsetup y posteriormente al directmedia, por lo que conocer la versión con la que estamos trabajando es muy importante siempre.

    No obstante, también hay una rama que dice algo como: -«Si algo funciona, no lo toques«, motivo por el cual existen instalaciones antiguas que funcionan con Asterisk 1.4.18, Asterisk 1.4-RSP, e incluso hay fabricantes que, de forma completamente transparente para el usuario, trabajan con versiones de Asterisk 1.2 o incluso anteriores porque, en boca de sus propios ingenieros: -«… no necesitamos más nuevo.»

    Considero importante saber que si tenemos (por ejemplo) un Asterisk 1.4.21, saber cuánto tiempo llevamos con ese Asterisk, cuántos años llevamos de desfase y cuándo fue la fecha en la que esa versión salió para poder hacer búsqueda de bugs utilizando fechas como parámetro de búsqueda y así poder concretar algo más, por esa razón, y tras un poco de investigación, he elaborado esta tabla con todas las versiones de Asterisk y el año en el que se publicaron que espero les sea tan interesante y curioso como a mí. 😉

    (más…)

  • Explicación sobre la arquitectura de Asterisk 13

    Explicación sobre la arquitectura de Asterisk 13

    El proyecto Asterisk también estuvo presente durante el KamailioWorld de la mano del actual lider del proyecto con una conferencia que, si bien podemos clasificar como «muy técnica», Matthew Jordan consigue hacerla más amena y divertida, a la vez que muestra los entresijos de los cambios en el código fuente de Asterisk para poder continuar creciendo sin que el proyecto se convierta en un castillo de naipes.

    Con la frase ¿Cómo justificar 10 años de desarrollo y cambios en algo que el usuario final jamás va a notar? Matt empieza explicando las diferentes APIs que se han desarrollado en Asterisk y las ventajas de Asterisk 13 y posteriores gracias a dichas APIs.

    Una explicación muy técnica pero que explica muy bien los grandes cambios que se han hecho en Asterisk 13 y el enorme esfuerzo que representa para poder continuar el proyecto Asterisk como algo con vistas a seguir creciendo y mejorando.

    Por si a alguien le interesa, el vídeo soporta subtítulos automáticos, así como traducción automática de dichos subtítulos.

    Además, en la cuenta de Youtube de KamailioWorld podemos encontrar todos los vídeos de las conferencias que se están impartiendo, la mayoría de ellas muy interesantes.

  • Asterisk 14 mejorará el soporte de DNS en PJSIP

    Asterisk 14 mejorará el soporte de DNS en PJSIP

    Con Asterisk 13 ya pudimos disfrutar de PJSIP de forma estable, es cierto que nos costó acostumbrarnos (tras tantos años trabajando con chan_sip) pero al final las ventajas superan a los inconvenientes y PJSIP se está haciendo un hueco en muchos sistemas nuevos, pero el equipo de desarrolladores de Asterisk no se para ahí y quiere seguir mejorándolo.

    Mira nuestro paso a paso para instalar y configurar Asterisk con PJSIP.

    Una de los cambios que quieren hacer para Asterisk 14 es mejorar el soporte de DNS creando para ello una API especial utilizable por todo Asterisk y que sea «todo lo que siempre hemos querido que Asterisk hiciera con los DNS». Para ello, se está desarrollando lo que se va a llamar «Core DNS API», un sistema que gestionará las peticiones DNS en condiciones de una vez por todas aunque de momento ya han adelantado que no soportará DNSSEC sí que soportarán características «básicas» como NAPTR y SRV de una forma mucho mejor que como actualmente lo hace.

    (más…)

  • Cómo instalar y configurar PJSIP en Asterisk 13

    Cómo instalar y configurar PJSIP en Asterisk 13

    Somos muchos los que esperábamos con ansia la llegada de PJSIP en Asterisk como «sustituto» de chan_sip por varias razones. El gran problema era que, pese a que chan_pjsip es un conector hacia PJProject, tras hacer un par de pruebas, uno descubre que no todo es tan fácil como esperaba y que utilizar PJSIP en lugar de chan_sip se hace más cuesta arriba, por lo que al final el 99% de los usuarios siguen utilizando chan_sip. Resultado: frustrante.

    La primera cuesta arriba que nos encontramos cuando trabajamos con PJSIP es la instalación. Hay que compilar previamente PJPROJECT, por lo que descargamos la última versión, la instalamos y una vez finalizado correctamente (y sin que nos de ningún error) al compilar Asterisk, este falla por alguna razón. ¿qué hemos hecho mal? ni idea… como todo buen usuario, vamos al wiki de Asterisk y seguimos las instrucciones paso a paso… vemos que la versión que aparece en el wiki no es la última, así que vamos a probar por si la última versión no fuera todo lo estable que pensábamos y volvemos a intentarlo… utilizamos una línea mágica que viene en el wiki:

    ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'

    Con esto, parece que debería funcionar bien… volvemos a compilar… vuelve a fallar… ¿puede ser porque hemos instalado antes la versión más moderna? Eliminamos las librerías que tenemos para asegurarnos que no tenemos nada de PJ… instalado previamente y volvemos a recompilar… y así, durante un par de horas más.

    Finalmente encontramos las versiones correctas de PJSIP, PJProyect, Asterisk 13 y demás lindezas, con la línea correcta de ./configure y parece que por fin compila y tenemos nuestro PJSIP configurado y funcionando. Vamos a configurar ahora nuestras cuentas SIP…

    (más…)

  • Publicada la versión Asterisk 11.21.0

    Publicada la versión Asterisk 11.21.0

    asterisk-lupaEl equipo de desarrolladores de Asterisk acaba de publicar la nueva versión Asterisk 11.21.0

    Puedes ver la lista de cambios de esta versión en el siguiente enlace:
    Descargar Changelog

    También puedes descargar esta versión en el siguiente enlace:
    Descargar Asterisk

    (más…)

  • Usando Docker con sistemas Asterisk

    La conferencia que dimos durante el VoIP2DAY fue el fruto de varios meses de investigación, más que nada porque Docker es una herramienta bastante nueva y que avanza día a día… prueba de ello es que la versión 1.9 de Docker apareció una semana antes del VoIP2DAY que era la que incluía soporte estable de SWARM (el sistema para crear clusters), por lo que tras pelearnos durante tiempo, llegamos por los pelos para enseñar qué es Docker y poder hacer una demostración interesante montando  un cluster de sistemas corriendo varios Asterisk en varias máquinas de forma simultánea.

    La idea de montar un cluster de sistemas con Docker era buena, pero era inviable llevar varios ordenadores, de ahí que preparásemos una torre de sistemas Raspberry PI 2 conectados en un switch, y así se pudiera ver cómo conectarlos con Docker SWARM y poder ejecutar varias instancias de Asterisk en dicho cluster.

    Desde el principio supimos que Docker y el uso de contenedores es una tecnología muy interesante para los usuarios de la VoIP, que tiene muchas posibilidades tanto para alta disponibilidad como aprovechamiento de recursos, balanceo de carga y repartición geográfica de equipos e instancias.

    Creamos varios contenedores disponibles para pruebas:

    Y con eso, pudimos dar la conferencia que ganó el premio a la mejor ponencia del VoIP2DAY 2015 gracias a la gente que nos votó a Rosa Atienza y a mí. 🙂

    Aquí tenéis la presentación por si queréis verla y pronto pondremos el enlace al vídeo con la presentación grabada.

    usando-docker-con-sistemas-asterisk-1-638

    Esperamos que os guste! (más…)

  • Todo listo para el VoIP2DAY 2015

    santiago-bernabeuEs el último de los grandes eventos del año cuya organización comenzó hace varios meses y en unos días da comienzo: VoIP2DAY es uno de los grandes eventos VoIP de Europa y el más grande de España donde se dan cita las principales empresas de VoIP del país y los fabricantes más importantes del mundo de las telecomunicaciones IP. Este año ha cambiado de fecha a Noviembre

    Como ocurre todos los años desde sus inicios, el VoIP2DAY está listo para comenzar en unos días, concretamente los próximos días 11 y 12 de Noviembre en un lugar muy especial: en las instalaciones del Santiago Bernabeu, un lugar muy especial por lo que significa a nivel deportivo pero también muy especial ya que ha sido sede de muchos eventos relacionadas con las comunicaciones.

    Al igual que el año pasado, se darán cita tanto expositores como ponentes que impartirán charlas sobre temas de actualidad del mundo de la VoIP como WebRTC, reconocimiento de voz, cloud, Asterisk, y mucho más.

    La principal ventaja de este tipo de eventos es la de disponer de una fecha y un lugar en común en la que poder encontrarnos con personas con gustos e intereses similares, que raramente podemos coincidir y poder hablar, conversar y debatir con ellas. También puede ser una excusa perfecta para hacer algo de turismo por Madrid o alrededores. (más…)

  • Publicada la versión Asterisk 11.19.0

    Publicada la versión Asterisk 11.19.0

    asterisk-lupaEl equipo de desarrolladores de Asterisk acaba de publicar la nueva versión Asterisk 11.19.0 

    Puedes ver la lista de cambios de esta versión en el siguiente enlace:
    Descargar Changelog

    También puedes esta versión en el siguiente enlace:
    Descargar Asterisk

    (más…)

  • Cómo utilizar variables JSON en el dialplan de Asterisk

    Cómo utilizar variables JSON en el dialplan de Asterisk

    coding-header

    Nuestro amigo Diogo Serra nos enseña un proyecto muy interesante para trabajar con variables en el dialplan. Consiste en una función que interpreta una cadena JSON obtenida tras consultar un servicio web (utilizando la función CURL o similar) y lo convierte en variables de canal, permitiendo hacer uso de ellas en nuestro dialplan.

    Aquí podéis ver una idea básica de esta función:

    exten => s,n,set(json=${CURL(http://api.dataprovider.com/somefunction?param=value)})
    exten => s,n,set(myvariable=${JSONELEMENT(json,path/to/element)})

     

    La función CURL devuelve una cadena JSON del tipo: {«nombre»:»Elio Rojano», «role»:»usuario»} y con la función JSONELEMENT podemos preguntar por los campos del JSON y asignarlo a variables de canal que pueden ser utilizadas en nuestro dialplan.

    Gracias a esta función (que tiene ya su tiempo) y que está disponible en Github, podemos crear dialplan algo más complejos de los habituales y personalizados para determinados usuarios consultando esta información en servicios web que serán las que nos devuelvan el JSON adecuado en cada momento.

    Más información: https://github.com/drivefast/asterisk-res_json

     

  • Asterisk se prepara para un aluvión de novedades

    Avances-tecnologicos-actuales-3Siempre he sido de los que intentan llevar las novedades de Asterisk más o menos al día… hasta Asterisk 13. En ese momento, las novedades se agolpaban en la lista del «To-Do» a la espera de poder sacar un hueco y hacer pruebas. Poco a poco voy avanzando, pero me doy cuenta que esto no es algo particular de esta versión que incluye muchas novedades, si no que Asterisk 13 es el fruto de cambios internos que venían a anunciar eso mismo: que los nuevos Asterisk están preparados para incluir muchas y grandes novedades.

    Con la creación de ARI (Asterisk Restful Interface) se abre un abanico de posibilidades para los desarrolladores de aplicaciones e interfaces permitiendo interactuar con Asterisk de la mejor manera, utilizando un único interfaz de transmisión de datos. De esta manera las posibilidades no solo aumentan, si no que se multiplican.

    No sólo podemos conectarnos al ARI de Asterisk para hacer peticiones (como cuando nos conectamos con el Manager de Asterisk -AMI-) si no que también podemos crear nuestras propias aplicaciones de Asterisk (como el GotoIfTime, Record, etc…) utilizando Stasis (aunque esto aún está por documentar).

    astricon-asterisk13El nuevo sistema de «Bridges de Asterisk» son el encargado de conectar canales entre sí y establecer algo tan básico como una comunicación entre dos teléfonos, o un teléfono y un gateway, o dos gateways entre sí, lo han mejorado haciéndolo modular.

    El hecho de incluir un nuevo Stack SIP como PJSIP ha hecho que Asterisk pueda avanzar a pasos agigantados hacia un mejor comportamiento de dispositivos y software SIP, así como acercarse a nuevas características hasta ahora solo conocidas «en la teoría».

    Estas cosas solo son algunos ejemplos de lo que se nos viene encima y eso que aún Asterisk 14 no ha salido (que será una nueva versión de Desarrollo y que traerá muchas nuevas novedades…)

    Sin duda, la Astricon de este año va a ser una de las más interesantes de los últimos años.

    Hay que sacar tiempo de donde sea.

    ¿y tú? ¿has experimentado con algo de esto?