Etiqueta: Programacion

  • Webminar sobre programación Ruby y Asterisk

    Como Telefónica me ha dejado sin conexión en el servidor, no he podido compartir la noticia que publicó Bytecoders y es que Jay Phillips, principal desarrollador del proyecto Adhearsion framework para facilitar la programación en Asterisk con el lenguaje Ruby además de hacerse aún más conocido si cabe por sus cartas abiertas dirigidas a Mark Spencer, ofrecerá un webminar sobre la programación de aplicaciones nativas VoIP a través de Asterisk en Ruby.

    Para más información:
    http://www.voipphreak.ca/webinar-jay-phillips-adhearsion

    P.D. Es esta noche a las 0:30 am, para que el que quiera asistir. 🙂

  • Asterisk 1.6 en sistemas clusters

    Cuando adelantamos las novedades que incorporaría Asterisk 1.6, comentamos que los desarrolladores se habían propuesto varios objetivos entre los que se encontraban:

    Un menor consumo de memoria

    Capacidad para funcionar en entornos realmente grandes

    Cualquiera que haya seguido el desarrollo de las versiones betas que hay actualmente y que compruebe el consumo de memoria de Asterisk 1.2, Asterisk 1.4 y las betas de Asterisk 1.6, podría descubrir que Asterisk 1.2 únicamente cargaba en memoria los módulos que utiliza mientras que Asterisk 1.4 los carga todos aunque solo habilita aquellos que utiliza (una prueba de ello podeis tenerla si provocais un crash en algún módulo y con el servicio Asterisk activado, reescribis el módulo en el directorio /usr/lib/asterisk/modules, vereis como de inmediato, el sistema completo explota sin haber cargado a mano el nuevo módulo). Asterisk 1.6 vuelve a sus orígenes en cuanto a la carga de módulos y únicamente consume memoria por los módulos que realmente se utilizan (algo que era evidentemente necesario).

    Ahora parece que se están centrando en mejorar la integración de Asterisk en sistemas clusterizados (varios sistemas que virtualmente se comportan como uno solo multiplicando sus capacidades de procesador, memoria, espacio, y un largo etcétera.)

    Concretamente, uno de los primeros objetivos en este sentido es el de propagar la información de los usuarios (libres, ocupados, hablando, no disponible, etc.) entre los distintos servidores que forman el cluster.

    Para ello, el equipo de desarrolladores de Asterisk están utilizando un framework especial para programar en este tipo de infraestructuras llamada OpenAIS y así han creado un nuevo módulo llamado res_ais que permite controlar el estado de una extensión situada en otro Asterisk perteneciente a uno de los nodos del cluster.

    El siguiente paso será propagar esta información a través de Asterisk conectados entre sí por el protocolo DUNDi.

    Más información: http://lists.digium.com/pipermail/asterisk-commits/2008-June/023400.html

    (más…)

  • Cómo crear IVR complicados con Asterisk (y con vídeo 3G)

    En las empresas pequeñas no suele ser lo habitual tener un IVR, aunque en empresas medianas o grandes es recomendable e incluso muy necesario disponer de un sistema que permita al llamante seleccionar el departamento, la persona o incluso acceder a información personal a través de lo que se llama «IVR» aunque comúnmente también se denomina «menú». IVR (Interactive Voice Response) en español (Respuesta de voz interactiva).

    Asterisk, al disponer de una programación del dialplan totalmente personalizable gracias a la infinidad de métodos disponibles para gestionar una llamada, dispone de un potencial asombroso para crear menús tan sencillo o complicados como uno quiera.

    A medida que la empresa va creciendo o dispone de más servicios de cara al cliente, va aumentando el tamaño del menú de entrada de su sistema, así por ejemplo todos conocemos los IVR de las operadoras de telecomunicaciones que interactúan con la voz (ni siquiera es necesario pulsar un dígito) y nos llevan a diferentes menús según la opción elegida.

    Cuando programamos en el ‘extensions.conf’ un IVR por lo general suele ser sencillo, ya que más de tres submenús empieza a parecer bastante tedioso hacer modificaciones y si tenemos que añadir una opción al segundo submenú con otro menú incluida las locuciones correspondientes, puede llegar a convertirse en todo un desafío.

    A medida que el menú en el dialplan se va complicando, uno empieza a ver con buenos ojos algo que escuchó sobre el VoiceXML que permitía programar menús IVR de una forma bastante más sencilla y segura.

    El VoiceXML no únicamente sirve para gestionar menús, también sirve para conectar a un TextToSpeech y a un ASR de manera que pueda hablar y escuchar a la persona que está al otro lado de la línea y poder realizar acciones y comandos en base a lo que diga o haga, pero esto es otro tema del que ya hablaré en otro momento.

    Si además de permitirnos menús más serios, disponemos de un Asterisk con soporte de Videollamada 3G conectado a una línea RDSI (Básica o Primaria), entonces los resultados son altamente espectaculares.

    Podeis ver más demostraciones en:
    http://www.i6net.com/support/video-demos/

    y cómo instalarlo y configurarlo con Asterisk, en:
    http://www.i6net.com/support/install/

  • Asterisk 1.6.0 congelada

    En la lista de desarrolladores de Asterisk, Russell Bryant acaba de enviar la noticia de que acaba de crearse la rama de Asterisk 1.6.0 en el servidor de Subversion, por lo que no se admitirán más novedades de momento hasta que se terminen de solucionar algunos bugs que se han encontrado (12130 y 11972)  tras lo cual empezarán las versiones candidatas a ser estables RC (release candidates).

    Por lo que tenemos una versión pre-release-candidate (vaya nombre)  que será revisada una y otra vez solucionando tantos bugs como se pueda y se encuentren para que la primera versión estable de Asterisk 1.6 sea realmente estable y no haya que esperar a versiones posteriores para empezar a implementarlas en sistemas en producción. 🙂

    De momento lo podeis encontrar aquí:
    http://svn.digium.com/view/asterisk/branches/1.6.0/

    Cuantos más bugs se encuentren más estable será, así que animo desde aquí a todos los que puedan que la prueben y envíen log bugs a http://bugs.digium.com para colaborar en la estabilidad de esta nueva versión.

  • AsteriskManagerSuite: Programar el Manager de Asterisk en C

    queuesLeyendo la lista de Asterisk-Dev he visto una referencia a una librería que puede ser muy interesante para aquellos que quieran realizar aplicaciones en C que interactúen con el Manager de Asterisk.

    La librería en cuestión se llama libami, y aunque la conexión con el AMI sea tan sencillo como conectarse a un puerto TCP, la utilización de este tipo de librerías puede facilitar bastante su programación y la gestión de eventos.

    Podeis descargarlo desde su web:
    http://www.intuitivecreations.com/contributions/AMS/shots.php

  • SDK para programar tu softphone en Visual Studio

    pressreleasedPortSIP es una empresa que ha desarrollado unas librerías para que cualquier programador de Visual Studio (Visual Basic, Visual C++), Delphi C# o incluso JavaScript/HTML, pueda programarse su propio softphone de una manera mucho más sencilla y cómoda.

    Estas librerías soportan:

    • Códecs G.711a, G.711u, iLBC, G.723, G.729 y GSM 6.10.
    • Videoconferencia con H.263 y H.264.
    • DTMF2833 y SIP INFO

    NewShot

    Las SDK de PortSIP son comerciales, aunque podemos descargar una versión limitada para hacer nuestras pruebas. Esta limitación consiste en que únicamente permiten 3 minutos de audio/video y que el software no podrá ser distribuido, vendido, etc…

    Más información: http://www.portsip.com/