Asterisk 19 Released
Asterisk 19 no es LTS, pero aún así es una versión importante debido a que incluyen numerosas mejoras y añadidos como las que vamos a ver en este artículo. Muchas de estas funciones son curiosas pero otras son muy interesantes.
Recordamos que para sistemas en producción se recomienda Asterisk 18 por ser LTS y por que va a tener más tiempo de soporte y actualizaciones. Otro día podremos hablar de las ventajas que tiene mantener un sistema actualizado, pero es interesante saber que un Asterisk 11 sólo es posible ser instalado en una Debian 9 (una versión de Debian de hace 6 años), lo cual implica unas versiones muy antiguas de librerías y servicios, seguramente obsoletas y con fallos de seguridad, por lo que siempre es importante tener el sistema operativo actualizado y las versiones de Asterisk también acorde al sistema operativo.
Vamos a ver las ventajas que tiene esta nueva versión de Asterisk 19 que se ha presentado en la Astricon que está teniendo lugar ahora mismo.
Debug de parámetros de audio
El famoso ‘core set debug rtp’ para ver si hay audio en ambos sentidos ha quedado obsoleto y ahora tenemos muchos más controles para ver si hay audio o no y por qué al poder utilizar parámetros como:
dtls, dtps_packet, ice, rtcp, rtcp_packet, rtp, rtp_packet, stun, stun_packet
core set debug category <category>[:<sublevel>] [category[:<sublevel] ...]
core set debug category off [<category> [<category>] ...]
Nuevos eventos
Mixmonitor envía nuevos eventos: MixMonitorStart, MixMonitorStop y MixMonitorMute
Eventos en el mánager cuando se envía un Hook Flash (una pulsación del botón Flash de un teléfono analógico)
Aplicación StoreDTMF
Una vez que llamamos a esta aplicación, Asterisk escuchará el audio de un canal buscando DTMF y lo almacenará en una variable que puede ser consultada (no confundir con la aplicación Read).
[Synopsis] Stores DTMF digits transmitted or received on a channel. [Description] The StoreDTMF function can be used to obtain digits sent in the 'TX' or 'RX' direction of any channel. The arguments are: <var_name>: Name of variable to which to append digits. <max_digits>: The maximum number of digits to store in the variable. Defaults to 0 (no maximum). After reading ' maximum' digits, no more digits will be stored. For example: StoreDTMF(TX,CDR(digits)) StoreDTMF(RX,testvar,24) StoreDTMF(remove) [Syntax] StoreDTMF(direction) [Arguments] direction Must be 'TX' or 'RX'.
Originate ya puede forzar un códec
Antes ya se podía hacer con una variable, pero ahora ya se puede seleccionar directamente en la petición de Originate.
core show application Originate ... C: Comma-separated list of codecs to use for this call. Default is 'slin'.
Función para dropear audio
Curiosa funcionalidad para eliminar paquetes de audio en una dirección determinada a discrección. Algo útil si queremos, no se… eliminar el tono de ring, los DTMF o algo así.
Examples:
exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END); drop only DTMF frames
towards this channel.
exten => 1,1,Set(FRAME_DROP(TX)=ANSWER); drop only ANSWER CONTROL frames
towards this channel.
exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END); drop only DTMF frames
received on this channel.
Función Scramble
Función típica que aparece en las películas para distorsionar una voz y así que no se reconozca la voz. Ideal si eres un secuestrador y quieres pedir un rescate.
[Synopsis] Scrambles audio on a channel. [Description] Scrambles audio on a channel using whole spectrum inversion. This is not intended to be used for securely scrambling audio. It merely renders obfuscates audio on a channel to render it unintelligible, as a privacy enhancement. [Syntax] SCRAMBLE([direction]) [Arguments] direction Must be 'TX' or 'RX' to limit to a specific direction, or 'both' for both directions. 'remove' will remove an existing scrambler.
Mejoras en la gestión de logs.
En sistemas con más de 1000 llamadas simultaneas, la gestión de logs es un infierno. Una gran cantidad de información necesaria pero que ocupa mucho espacio y al ser modo texto, es bastante inmanejable debido al tamaño de los archivos donde se guardan. Así que esta mejora para poder seleccionar el formato que queremos guardar la información, es bastante interesante.
Mejoras varias en opciones de aplicaciones
Como suele ser habitual en todas las versiones nuevas, se añaden nuevas opciones a distintas aplicaciones que dotan a estas de una mejora en la funcionalidad:
- Opción ‘A’ en el Dial para reproducir una locución en el llamante o en el llamado.
- MorseCode ahora añade soporte para código morse americano. (WTF!?)
- Aplicación ConfKick para expulsar a alguien (un canal) de un canal de conferencias.
- Función MATH ahora añade las operaciones ABS, MIN y MAX.
- Mejoras en la gestión de cadenas de texto.
Adiós al soporte nativo de MySQL
No significa que Asterisk deje de soportar MySQL, simplemente que eliminan oficialmente las aplicaciones/funciones que trabajan nativamente con MySQL. (app_mysql y cdr_mysql) por lo que si quieres trabajar con MySQL necesitarás usar el conector ODBC ( func_odbc, adaptative_odbc, etc.)
Asterisk 19.0.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. =========================================================================
Por supuesto, como siempre, para descargar esta versión, en su página web:
https://downloads.asterisk.org/pub/telephony/