Etiqueta: tips

  • Cómo hacer tu Asterisk «más original»

    Descuelgo el teléfono, marco un número y de repente empiezo a escuchar una musica típica de Asterisk

    De entre las miles de millones de canciones que hay disponibles, y tengo que llamar a un número que tiene un Asterisk instalado con la configuración por defecto.
    De repente la música se corta y aparece una voz de una chica preguntándome sobre el motivo de mi llamada, momento en que informo que deseo hablar con una persona y ella procede a transferirme, pero algo hace mal y acabo en el limbo… un lugar oscuro, tenebroso en el que no escucho música, no hablo con nadie, y lo peor, nadie puede recuperarme. La única alternativa que tengo es colgar y volver a llamar.
    No obstante, aprovechando que he llamado a un Asterisk con soporte de «limbo» (así que calculo que sería una versión 1.2 como mucho), decidí hacer una prueba y marcar un número de móvil.
    Funciona… el móvil suena y el número que aparece es el de la empresa en cuestión. ¿que hubiera pasado si hubiera marcado un número de coste premium y hubiera mantenido la llamada en funcionamiento durante varias horas?

    Este tipo de situaciones son muy raras, la probabilidad que una persona conozca Asterisk para reconocer su música de espera, que utilicen una versión tan antigua que no tenga habilitado el parámetro autofallthrough y la llamada no cuelgue automáticamente si el destinatario no existe, y que al hacer la transferencia a una extensión del dialplan comentan el fallo garrafal de incluir patrones para salida a la red telefónica, puede pasar en un caso tan único que me extrañaría volver a encontrarlo de nuevo.

    No obstante, es común encontrar fallos garrafales en otras configuraciones de Asterisk, más aún desde que una configuración correcta es algo exclusivo «para expertos», mientras que una gran cantidad de usuarios utilizan sistemas cuya configuración se deja a cargo de cómodos y atractivos interfaces, más preocupados por el aspecto visual que por si el código que genera es seguro, rápido y fácil de depurar.

    Aprovechando que la mayoría de los lectores de Sinologic utilizan Asterisk y además lo configuran a su gusto, voy a dar una serie de ideas/consejos para mejorar la configuración de un Asterisk, tanto desde el punto de vista del usuario final, como desde el punto de vista de cualquiera que llame.

    (más…)

  • Como ejecutar aplicaciones durante una llamada

    En la lista de Asterisk-ES a veces se comenta una utilidad que parece que no mucha gente conoce llamada «dynamic features». Oficialmente esta característica forma parte del conjunto de «recursos» que componen Asterisk y que, como su nombre indica, son añadidos dinámicos, lo que realmente significan, recursos que pueden ser accedidos dinámicamente durante una llamada.

    Estos añadidos son por ejemplo, las transferencias, el parking de llamadas y el mapa de aplicaciones (applicationmap), entre otros, y se definen en el archivo features.conf donde vamos a encontrar opciones y una serie de parámetros junto con un código de tecla que debemos pulsar para poder utilizarlos.

    Como ejemplo de estos añadidos encontramos los básicos como:

    • blindxfer (transferencia ciega)
    • atxfer (transferencia atendida)
    • automon (grabación bajo demanda)
    • pickupexten (captura de llamadas que suenan en los terminales del «grupo»)
    • automixmon (grabación bajo demanda y posterior mezcla de las locuciones)

    Hay una parte muy interesante llamada applicationmap que consiste en una serie de combinaciones que podemos modificar para ejecutar aplicaciones básicas de dialplan, durante una conversación.

    Por ejemplo: testfeature => #9,peer,Playback,tt-monkeys

    Este comando permitirá que cuando el llamante como el llamado durante una conversación, pulse las teclas # y 9, se reproduzca la locución tt-monkeys, algo muy gracioso, pero muy interesante en ciertos momentos.

    Existe una limitación para este tipo de comandos, y es que no es recomendable utilizarlo para ejecutar aplicaciones relacionadas con el dialplan directo, es decir: Macro, Goto, Background, WaitExten y algunas de este tipo, pero en cambio sí que se puede ejecutar un «AGI(aplicacion.agi)» 😛

    Para evitar el uso accidental de este tipo de comandos on-line, se hace necesario habilitar dicho comando mediante una variable llamada DYNAMIC_FEATURES justo antes de hacer la llamada: Set(DYNAMIC_FEATURES=testfeature)

    En Asterisk 1.6, nos encontramos algunas novedades bastante interesantes, como:

    • atxferdropcall (permite no perder la llamada en caso de que la transferencia no se realice corréctamente, en cuyo caso volvería a sonar en el usuario que inició la transferencia)
    • atxfernoanswertimeout (permite cambiar el timeout que una llamada transferida esté a la espera antes de volver a la extensión que inició la transferencia)
    • Grupos para habilitar varios applicationmaps sin necesidad de definirlos todos:
      Set(DYNAMIC_FEATURES=grupo)

      donde:
      [grupo]
      testfeature=>#9

    Grandes cosas se pueden llegar a hacer utilizando estas ventajas de Asterisk que son poco conocidas pero muy, muy útiles si se conocen.

    Que lo disfruteis. 😀