Autor: hellc2

  • 4 herramientas imprescindibles para monitorizar tu servidor

    4 herramientas imprescindibles para monitorizar tu servidor

    Vamos a ver 4 herramientas básicas que todo administrador de sistema seguramente ya conoce, pero que nunca están de más repasarlas y si da la casualidad que no conoces alguna de ellas, pues mejor que las vayas conociendo.

    Todas las herramientas suelen venir con tu distribución Linux, pero en algún caso es mejor incluso descargar el código fuente e instalarla a mano compilando para aprovechar las novedades de las últimas versiones.


    iotop

    iotop nos muestra el uso del disco duro de cada proceso del sistema.

    IOTOP es una herramienta que nos permitirá saber en tiempo real y en modo texto, qué procesos del sistema leen y escriben del disco duro, así como el ancho de banda que utilizan (cuandos bytes/segundo escriben en el disco duro) y de esta manera, saber si un proceso está haciendo un uso demasiado alto que igual podríamos reducir con un ramdisk o algo similar.


    nethogs

    Nethogs nos muestra el uso del ancho de banda de cada uno de los procesos del sistema.

    NETHOGS es otra de las herramientas ultrabásicas que nos permite saber en tiempo real y en modo texto qué procesos del sistema están enviando o recibiendo datos de la red, a qué velocidad y de esta manera tener una estimación de los recursos que necesitan.
    Esta herramienta es verdaderamente útil cuando queremos saber cuanto ancho de banda necesitamos en nuestro Asterisk cuando lleva una cantidad determinada de llamadas, ya que podemos ver exactamente el ancho de banda del proceso Asterisk y no el de todo el sistema.

    Nota importante: aunque las distribuciones suelen traer esta herramienta, si queremos monitorizar el tráfico UDP, es necesario descargarnos el código fuente y compilar. Son dos archivos, por lo que la compilación es muy sencilla, pero esta última actualización es vital para los que trabajamos en VoIP.


    perf

    perf nos mostrará un ‘top’ con el proceso pero de las funciones internas de cada proceso.

    PERF es otro de los grandes descubrimientos en herramientas básicas (No confundir con ‘iperf‘ que es para monitorizar ancho de banda), ya que si bien herramientas como ‘top’, ‘htop’, y otras de este tipo, muestran la utilización del procesador y memoria de los procesos del sistema, ‘perf’ profundiza un poco más y muestra el uso de procesador y memoria de las funciones internas de cada proceso (incluido los del kernel de Linux) por lo que es especialmente útil si alguna aplicación está consumiendo demasiado procesador, podremos ver el nombre de las funciones internas que realmente están consumiendo esa cantidad de procesador y así investigar más al investigar qué hace dicha función

    perf también permite capturar el consumo de procesador y memoria y guardarlo en un archivo para posteriormente utilizarlo para sacar gráficas de rendimiento, muy útil cuando estamos programando algo y queremos hacer una refactorización de partes del código.


    sngrep

    sngrep nos mostrará todo el tráfico SIP de una forma fácil y eficiente para entender qué ocurre.

    SNGREP es la última de las herramientas de las que hablaremos hoy, aunque es una gran conocida por los lectores de Sinologic, marcó un antes y un después en todo lo que significa monitorizar el flujo de tráfico SIP de un sistema de comunicaciones. Antes, si bien utilizábamos herramientas como ngrep o tcpdump o un simple «sip set debug on«, también había quien usaba Wireshark… pero desde la aparición de sngrep, monitorizar el tráfico SIP ha pasado a ser algo muchísimo más atractivo, eficiente y práctico.

  • PhoneLink configura tus teléfonos Snom desde tu Asterisk

    PhoneLink configura tus teléfonos Snom desde tu Asterisk

    Hace varios años, Digium sacó un sistema que permitía configurar automáticamente los teléfonos sin tener que acceder a ellos, únicamente aprovechando el propio Asterisk y un módulo propio llamado DPMA (Digium Phone Module for Asterisk), es más… Digium estaba tan convencido de la utilidad de este módulo que incluso lo incluyó como el primer tema de su famoso Asterisk Advanced. No obstante, aunque la idea en sí era buena, la implantación no lo era tanto, ya que tenía ciertos requerimientos que lo complicaban tanto que, al final, casi era mejor acceder a cada uno de los teléfonos y configurarlos a mano. Pero la idea en sí era muy buena. Las empresas que hacen instalaciones de sistemas basados en Asterisk (con teléfonos, gateways, etc.) necesitan de un sistema que les ayude a configurar todos los teléfonos de una sentada sin tener que ir uno por uno y reduciendo el tiempo necesario para configurarlos.

    La solución estándar siempre ha sido muy sencilla: servidor DHCP + servidor FTP + plantillas de configuración, de manera que creando una plantilla, el teléfono al encenderse se conecta al servidor DHCP para que éste le de una dirección IP, y además le dice la ruta donde se encuentra el firmware y su configuración. El teléfono se conecta al servidor FTP, se descarga la configuración y punto.

    Pero hoy día en el que muchos teléfonos no se encuentran dentro de la red local del servidor, muchos fabricantes han optado por un sistema más automático: El teléfono nada más encenderse, se conecta a un servidor propio del fabricante donde se le indica: o bien el servidor donde se encuentra la configuración, o bien directamente la configuración del teléfono en función de su dirección MAC.

    Esto implica que haya que acceder a un servicio del fabricante del teléfono y configurar manualmente los valores que va a tener ese teléfono. Es una ventaja frente a tener que acceder remotamente al teléfono y configurarlo, pero aún así, si tienes 15 o más teléfonos, esta solución no ayuda tampoco.

    Para ello, Snom ha creado PhoneLink para Asterisk: una herramienta que hace uso de un sistema propio y remoto donde los teléfonos se van a conectar para buscar su configuración personal (SRAPS – Secure Redirection And Provisioning Service) y un módulo de Asterisk que lee la configuración que tengamos en el módulo PJSIP y la exporte al SRAPS para generar automáticamente la configuración para los teléfonos que tengamos dados de alta.

    Esquema de cómo funciona el sistema PhoneLink de Snom

    Para que esto funcione bien y que Asterisk se pueda comunicar con el servidor SRAPS, hace falta primero una configuración propia en Asterisk que haremos gracias a un módulo para el PJSIP.

    [1000]
    type = phoneprovr
    endpoint = endpoint_1000
    MAC = 000413928b88
    IPUI = 0x0328D661AB
    PROFILE = snom
    OTHERVAR = othervalue
    Aquí un ejemplo de cómo sería la configuración que PhoneLink procesaría y sincronizaría con el SRAPS

    Como podéis ver, hace uso del res_phoneprov para crear una configuración específica para ese teléfono y subirla al servidor SRAPS con la misma configuración que le hemos configurado en el PJSIP.

    Una de las ventajas es que es compatible con los teléfonos Snom ya sea de escritorio, DECT o de conferencia (que básicamente son los que utilizaremos con Asterisk) y que podemos configurar prácticamente cualquier parámetro del teléfono (hasta los botones de monitorización BLF) por lo que la configuración SIEMPRE estará sincronizada y nos ahorrará bastante tiempo a la hora de cambiar la configuración o añadir nuevos terminales.

    Toda la información la podéis ver en su página web: https://service.snom.com/display/wiki/PhoneLink+for+Asterisk

    Y aquí la web con el código del proyecto que se encarga de «capturar» la información particular de los teléfonos y subirla al servidor SRAPS: https://gitlab.com/publ2/phonelink_for_asterisk

    Una solución mucho más efectiva, práctica y rápida que el dichoso DPMA de Digium. Cierto que sólo funciona con los teléfonos SNOM, pero es otra de las ventajas de utilizar este tipo de teléfonos. ¿o no?

  • Utilizar el Fax en la oficina podría perjudicar seriamente tu salud

    Utilizar el Fax en la oficina podría perjudicar seriamente tu salud

    Así lo han descrito los investigadores que han hecho el estudio en el que confirman que el uso de una máquina de fax podría provocar daños irreparables tanto físicos como psicológicos.

    Ya era bastante conocido por muchos los graves problemas respiratorios y cancerígenos que producen los gases que emanan algunos aparatos de faxes al utilizan un sistema de impresión basada en láser que, al ionizar el oxígeno del ambiente producen ozono, un gas beneficioso para la atmósfera ya que nos protege de los rayos infrarrojos, pero muy perjudicial si lo respiramos.

    A esto, hay que sumar su enorme daño ecológico producido por la fabricación de los componentes (circuitería, mecanismos, plásticos, etc.) como por la fabricación de la tinta necesaria así como el consumo inútil de papel para obtener imágenes y texto de baja calidad como sólo el fax es capaz de proporcionar.

    Además de todo lo anterior, disponer de una máquina de fax permanentemente encendida a la espera de recibir algún fax a la semana o al mes, es un despropósito que nos puede salir muy caro, ya que para poder imprimir un fax, la máquina debe estar encendida. Tomando en cuenta que una máquina de fax moderna, en modo standby, y con el máximo de ecológico/económico activado consume una ridiculez como 1,5W/h ( que es poco más que una bombilla led de baja potencia), mantener esa máquina encendida todo el día, haría que el consumo diario fuese de 1,5W x 24 = 36W diarios, con lo que en un año, el consumo pasa a ser 36W x 365 = 13.140W (esto son 13kWh al año) que, contando con los nuevos precios de la electricidad en España (una media anual de 0,20€ el kWh) costaría 13kWh anual x 0,20€/kWh, sería unos 2,628€ sólo por tener encendida la máquina todo el tiempo durante un año.

    Aparte de estos problemas físicos como ecológicos y económicos, pasamos a ver los problemas psicológicos que hay tras una máquina de fax, desde los pobres técnicos que tienen que configurarlo y que reciben críticas continuas por no poder contentar a todo el mundo, ya que las imágenes se ven mal, los textos a menudo no se entienden y las cantidades se vuelven completamente imposibles de entender, hay que sumar el hecho de la angustia que provoca estar esperando a que el fax envíe correctamente todas las páginas en su orden correcto, ya que en muchos de los casos, los faxes tienden a fallar estrepitosamente y fallan al entregar las últimas páginas, sobre todo cuando intentamos enviar documentos de 40 o 50 folios, lo que hace que tengamos que volver a enviarlo varias veces, con su consecuente aumento de estrés y el enfado de quien no recibe el documento completo a la primera.

    Tanto son los graves problemas que ocasionan los faxes, que desde un foro de internet tan popular como Reddit, animan desde una página especial a todos los usuarios a abandonar este dispositivo y apostar por soluciones más propias del siglo XX como pueden ser un email, un paquete postal o incluso una paloma mensajera que tenga fuerza para llevar un documento de 50 páginas.

    Hay que pensar que una línea analógica tiene un coste mensual (quieras o no) y esto es algo que prácticamente todos los operadores cobran, sólo que muchos lo ocultan en el precio mensual de otros productos como «fibra» u otros conceptos, pero al final, el precio habitual de tener una línea analógica para recibir 4 faxes al año es aproximadamente 17€/mes.

    Precios del mantenimiento de línea analógica de una famosa compañía telefónica

    Así que, sea como sea, mantener una máquina de fax, con su línea analógica, sus tóners de tinta, consumiendo papel de un grosor especial (que no suele gustarle el reciclado), electricidad por si recibimos un fax de publicidad algún día, más en consiguiente cabreo por la mala calidad del documento que recibimos, fallos al no entenderse bien los números y cantidades que se indican (personalmente he tenido problemas con esto), además del tiempo que se tarda en:

    • buscar el documento,
    • imprimirlo,
    • ir a la máquina de fax,
    • enviarlo,
    • escribir un email o una llamada para indicar que has enviado un fax,
    • volver a a ir a la máquina de fax,
    • volver a enviarlo,
    • asegurarte esta vez que se han enviado todas las páginas,
    • volver a preguntar si lo han recibido bien esta vez,

    En resumen… que enviarlo de cualquier otra forma es mucho más seguro, eficaz, económico y por supuesto y en base a todo lo que he expuesto, mucho más sano para nuestra salud física y mental.
    Si tienes que enviar un fax… di un respetuoso NO GRACIAS, ESTAMOS EN EL SIGLO XXI, y envíaselo mejor por email.

    Nota importante:
    Es obvio que este artículo es un sarcasmo / broma basado en mi propia experiencia, por lo que espero que se considere así, no obstante, y tal y como expresé en un conocido artículo llamado: El Fax debe Morir, de verdad de la buena que los faxes son a la larga y a la corta, perjudiciales en todo lo que he expuesto, así que si efectivamente quieres aprovechar el hueco que ocupa una máquina fea y ruidosa, te recomiendo que quites esa máquina, des de baja la línea analógica asociada al fax, y pongas en su lugar un bonito poto.

  • Los 5 motivos por los que recibes llamadas fantasmas en tu móvil y cómo evitarlo

    Los 5 motivos por los que recibes llamadas fantasmas en tu móvil y cómo evitarlo

    En cuanto te compras un móvil, y aunque no hayas dado a nadie tu número, empezarás a recibir llamadas de extraños, provenientes tanto de numeración geográfica como de otros móviles, aunque el origen es el mismo: una máquina.

    Vamos a ver los motivos por los que puedes recibir llamadas en tu móvil y qué hacer para evitarlo.

    Lo primero que hay que entender es que si recibes varias llamadas de uno o varias empresas, generalmente es porque te han metido en una base de datos de marketing.

    Hay empresas y personas que se dedican casi exclusivamente a vender bases de datos de formas de contacto: Teléfono+Nombre, Email+Nombre, TeléfonoMóvil+Nombre, Teléfono+Dirección, etc… Generalmente necesitan al menos un par de datos relacionados con el número de teléfono para que la base de datos sea «creíble». Ya que nadie pagaría una cantidad razonable de dinero por una lista de números sin más. Es necesario que junto con el número de teléfono venga un nombre, una dirección, o ambas.

    ¿Que de dónde sacan estos datos? Seguramente los tengan de la última vez que te apuntastes en un sorteo de un móvil, una consola o un fin de semana en un hotel, o de cuando para comprar algo, te pidieron tus datos en un formulario, o incluso cuando para darte de baja de algún producto o servicio, te volvieron a pedir los datos.
    Pues con todos esos datos que piden, hacen una lista de contactos y la venden/ceden a empresas del grupo.
    ¿Esto es legal? No… pero todo es tan opaco que nadie puede seguirle la pista de quién ha filtrado los datos.

    Si te llega spam a tu email, una posible solución es registrarte con tu email seguido de «+servicio@…«, es decir… si mi correo es «email@dominio.com«, y me quiero registrar en un servicio inventado tal que: Ualah, aprovecho una característica de algunos servidores de correo y, en lugar de usar mi cuenta de email, uso la siguiente: email+ualah@dominio.com, de esta manera me siguen llegando todos los correos a «email@dominio.com» pero con el campo «To: email+ualah@dominio.com«. De esta manera sé quién ha filtrado mi email y a quién. Las empresas son inteligentes… antes de enviar emails a veces eliminan el «+TERMINO» para ocultar quién filtró la cuenta, pero generalmente no lo hacen y sabes perfectamente quién lo ha hecho.

     

    1. Máquinas generadoras de llamadas.

    En la mayoría de países, llamar es gratis mientras nadie conteste la llamada. Por esta razón, hay mucho listo que crea una base de datos de números aleatorios o secuenciales y se inventan los nombres para poder venderla, aunque sea muy barata.
    Para ello, usan un programa que genera números de teléfono y se pone a llamar durante 10 segundos. En función de qué ocurra con esa llamada, pasará una cosa u otra:

    • Si descolgamos la llamada: Seguramente el sistema se quede escuchando un rato a la espera de detectar quién ha descolgado. Si es un fax… anotará que es un fax, si es una persona diciendo ¿diga? ¿Hola? ¿si?… entonces anotará que hay una persona detrás y tendrán un positivo.
    • Si no contestamos: Volverá a intentarlo en otro momento (puede ser dentro de unos días, una semana, o cuando se le termine la lista y vuelva a empezar.
    • Si el número devuelve un tono de congestión (triple-tono o congestion-tone) volverá a probar por si ha ocurrido un error, pero marcará ese número como fallido y que no hay que volver a llamar puesto que detrás de ese número no hay nadie.

    Para esto hay técnicas como ya explicamos en este artículo donde hablamos sobre el Zapateller.

    2. Marcadores Predictivos.

    Otro de los motivos por los que recibimos llamadas puede ser porque ya estemos en una base de datos de marketing y nos llame un «marcador predictivo». Esto es un software que llama automáticamente a un número y cuando descolgamos, contacta con el vendedor que esté libre para hablar. Esto puede ocurrir normalmente, o bien que no haya nadie disponible, en cuyo caso al descolgar no habrá nadie y tendremos una llamada fantasma sin nadie detrás. Según el tipo de «marcador predictivo» suelen mezclar tecnología con el sistema de «generador de llamadas» que he explicado antes, por lo que sólo pasará la llamada después de escuchar alguna voz humana: un «¿si?» -«¿Hola?» o -«¿Dígame?» y si no escuchan nada de eso, considerarán el número no es bueno y no hay nadie detrás.

    Por eso, aunque sea de mala educación, descolgar y quedarse en silencio puede ser una buena táctica para evitar que te pasen a un comercial intentando venderte algo.

    Se llaman predictivos porque «predicen» cuándo un agente se va a quedar libre para ir llamando al siguiente número de la lista. El resultado generalmente se acerca bastante y quien comercializa con este tipo de marcadores ofrece una predicción bastante buena. Lo cierto es que un par de segundos de desfase es tanto, que hace que la gente cuelgue a no haber nadie y la llamada se pierda.

    3. Bots de llamadas buscando vulnerabilidades.

    Este caso igual es un poco rebuscado, pero alguna vez ha pasado.

    Sólo diré que hay herramientas capaces de rastrear TODO Internet y obtener una lista de direcciones IPv4 de sistemas con alguno de los puertos 2001, 5000, 5060, 1720, 4569, etc. (los puertos habituales de sistemas VoIP) abiertos en menos de 10 minutos. Con esto, un bot rastrea y ataca a cada dirección IP buscando un sistema al que lanzar llamadas y buscar una contraseña vulnerable. Su objetivo suelen ser centralitas PBX vulnerables con cuentas sin seguridad y en puertos estándar o no tanto.

    ¿Qué ocurre si en lugar de una PBX, encuentran un teléfono IP? Pues que normalmente, la llamada entra y suena. ¿Pero si no tenemos el 5060 mapeado? ¿Cómo es posible? Esto ocurre porque hay routers que cuando tu teléfono hace una llamada saliente, intenta abrir el mismo puerto saliente que el interno, por lo que si el teléfono utiliza el 5060 para sacar una llamada, el router mapeará temporalmente ese mismo puerto exponiéndolo al público y ahí estará accesible para que cualquiera te haga llamadas. ¿Qué pasa entonces si tenemos puesto un desvío de ese teléfono IP a nuestro móvil?

    4. Sistemas de limpieza de bases de datos.

    Cuando una empresa compra una base de datos de «posibles clientes» de dudosa procedencia, necesita filtrar qué números valen y cual no, para eso pasan la lista de números por un sistema que llama y cuelga comprobando que en ninguno conteste un Fax o devuelva un tono de congestión, a la vez que espera a que descuelgue para hacer una estimación de cuánto tiempo tardas en contestar una llamada y ajustar más los tiempos del marcador predictivo que posteriormente te llamará. Estas llamadas no hacen nada, tan solo esperan que alguien conteste y hable para colgar. Si descuelgas y no dices nada podría esperar varios segundos antes de colgar y marcarlo como «número a revisar».

    5. Llamadas válidas.

    Ahora con el COVID, son muchos los centros de salud que llaman a sus usuarios para notificarles que deben pasar a vacunarse. Estas llamadas generalmente suelen ser locales, por lo que veríamos una llamada de un número de nuestra ciudad, pero en otras ocasiones estos números están centralizados en algún callcenter de nuestra región, por lo que puede parecer algo más sospechoso.

    Cuando compramos algo (en Amazon por ejemplo) y damos nuestros datos para que se pongan en contacto en caso de haber algún problema con la entrega, quien tiene los datos es la empresa a la que le hemos dado los datos, el resto de empresas de mensajería utilizan los sistemas de ésta para llamarnos y por esa razón un mensajero que está en nuestra puerta puede llamarnos utilizando un número de Irlanda, ReinoUnido o de otro país diferente.

    Empresas de encuestas estatales o autonómicas que hacen uso de la información propiedad del estado para generar listas de candidatos de encuestas y llamar aleatoriamente a personas en función de su localidad, edad, y demás datos que sirvan para hacer una muestra representativa y válida.

     

    Cómo evitar llamadas de publicidad

    Parece que el año que viene se convertirá en el año en el que se luche contra esta práctica de llamar a números aleatorios en busca de ventas, y es que tanto Europa como Estados Unidos han empezado a elaborar una serie de leyes y técnicas para impedir o multar aquellas llamadas hechas por sistemas automáticos ya sea para conseguir ventas o bien para conseguir «datos» de formas poco éticas.

    Aparte de esto Google y Apple se han empezado a poner serios también y han empezado a elaborar sus propias listas negras de números de teléfono basadas en la opinión de los usuarios. Cuando un usuario de Android reciba una llamada no deseada de publicidad, bastará con marcarla como «PUBLICIDAD» y automáticamente eso formará parte de una lista de números que impedirá que suenen en otros teléfonos, cortándole las alas a muchos callcenters que llaman a teléfonos de personas de las que no tienen un permiso expreso para llamar a corto plazo.
    Las empresas tardan menos de un día en cambiar de número de teléfono, por lo que realmente no servirá de mucho salvo que pongamos denuncias legales y válidas.

    Tanto el método de «desist and decease» de Europa y EEUU a base de denuncias y multas como el de los creadores de sistemas operativos móviles, conseguirán que sólo recibamos llamadas si realmente queremos recibirlas.

    Fotografía: FreePIK – Foto de Gafas creado por wayhomestudio – www.freepik.es

  • Kamailio cumple 20 años y lo celebra en su KamailioWorld

    Kamailio cumple 20 años y lo celebra en su KamailioWorld

    Este año, el proyecto de software libre para comunicaciones SIP, Kamailio cumple 20 años como el rey de los SIP Proxies y una de las herramientas (junto a Asterisk) que han revolucionado las comunicaciones de los últimos años, y lo celebrará durante su evento anual Kamailio World que, este año se celebra los próximos días 1 y 2 de septiembre.

    Al igual que el año pasado por culpa de la pandemia, esta ocasión también se celebrará de forma online y abierto a todo el que quiera estar presente a través de la siguiente dirección web: https://www.youtube.com/c/KamailioWorld/

    Mientras que el lugar para el Networking y las conversaciones se trasladará al canal #Kamailio de Matrix (#kamailio:matrix.kamailio.dev)

    En su página web podrás ver los ponentes y las diferentes temáticas que podréis ver en directo, aún así os animo a participar del networking y disfrutar con las interesantísimas conversaciones que tienen lugar ahí.

    Más información: https://www.kamailioworld.com/k09-online/

  • Por qué la voz humana ya no sirve para identificar a alguien

    Por qué la voz humana ya no sirve para identificar a alguien

    Hace unos años dí una conferencia en el VoIP2DAY sobre el uso de la Inteligencia Artificial en el campo de la VoIP en el que hablaba que existen bancos (HSBC por poner un ejemplo) que comprueba durante una llamada, si la persona con la que hablamos es realmente quien dice ser, aprovechando un análisis de la voz telefónica (Voice ID Fingerprinting).

    Esto hoy día ya no es una aplicación válida, ya que alguien le ha dado dos vueltas de tuerca a esto de la Inteligencia Artificial y ha conseguido que, aprovechando una conversación telefónica de 5 segundos, poder generar casi en tiempo real un modificador de audio para cambiar la voz de un TTS de forma que tenga exáctamente el mismo tono y el mismo timbre de voz que en la grabación de 5 segundos. Esto es, cualquiera con esa aplicación podría generar una conversación con nuestra voz y confundir y poder hacerse pasar por una persona.

    Hay soluciones comerciales que ya hacen esto y que nos permite generar locuciones con la voz que queramos (incluso con una propia) por lo que si necesitamos generar nuevas locuciones para nuestro sistema, aquí tendríamos todo lo necesario.

    No obstante, la aplicación «Real Time Voice Cloning» junto con toda la documentación de la tesis está disponible desde la página web del proyecto: https://github.com/CorentinJ/Real-Time-Voice-Cloning y un vídeo demostrativo de cómo funciona.

    Así que, si tenéis un rato aburrido, os recomiendo que lo probéis porque es una herramienta tan útil como curiosa para frikear un buen rato.

  • Demasiada información no es control, es desinformación

    Demasiada información no es control, es desinformación

    Hace unos años, participé en el desarrollo de un proyecto piloto consistente en crear un producto desde cero, partiendo de una supuesta solución ante un determinado problema y orientado a un nicho muy concreto, aprovechamos algunos nuevos conceptos y metodología de diseño de productos que algunos compañeros habían aprendido, nos pusimos manos a la obra y a poner en práctica aquellas lecciones que más adelante pasaron a ser nuestras también.

    Entre estas metodologías para empezar a pensar en un producto viable, se encontraba uno bastante conocido llamado «Design Thinking» y basándonos en este sistema elaboramos una serie de características para un nuevo producto que, de no haber utilizado este sistema, y basándonos únicamente en nuestra experiencia y conocimientos, hubiera sido muy diferente.

    El resultado, años después, fue un software bastante bueno, utilizado por muchas empresas de todo el país y con una cuota de mercado mucho más grande de la que imaginábamos en un principio cualquiera de los que participamos en el desarrollo (tanto a nivel de programación, como comercialmente, y como a nivel de gestión y control). El uso de una metodología como Design Thinking nos enseñó a discernir entre «lo que nosotros creemos importante desarrollar» frente a lo que «el usuario considera importante».

    Esta diferencia la he visto antes y después en elementos y características de otros productos y debo decir que ha sido una constante, ya que productos y herramientas que no utilizan este sistema tienen un enfoque muy «técnico» o muy «personal» llevando al desarrollo de ciertas características que nos puede parecer vitales o super-importantes y que realmente el usuario que lo vaya a utilizar apenas le interesa, o todo lo contrario… le interesa pero apenas con la profundidad que esperaba.

    Ejemplo de esto que comento es una característica que seguramente os suena: la información de depuración.

    Alguien quiere un software para gestionar un servidor y cuando lo desarrollamos nos centramos en extraer toda la información posible, almacenarla en enormes tablas y bases de datos para que, llegado un momento determinado, el usuario pueda obtener cualquier información que pueda necesitar.

    Como técnicos y más concretamente como personal de sistemas, solemos estar acostumbrados a guardar logs de todo: llamadas, uso del procesador, memoria, disco duro, cantidad de información leída, escrita, número de hilos, número de procesos, recursos de cada proceso, destinos de llamadas, cuantas llamadas por minuto, y un larguísimo etcétera que se encarga de llenarnos el espacio de disco duro de información que «puede» que algún día nos sea necesaria.

    Si nuestro sistema tiene algún problema, nos alegramos de tenerlo todo guardado, poder sacar gráficas, estadísticas, analizar estos datos y descubrir por qué un proceso ha caído sin ningún motivo aparente pero que, coincidiendo con el elevado y puntual aumento del número de INSERTS en la base de datos, podemos elaborar una teoría consistente en que, cuando se escribe bastante en la base de datos, la aplicación deja de funcionar.

    No obstante, cuando un sistema está en producción y el comportamiento se considera «estable», esta cantidad de información se sigue almacenando, pero pasamos a un sistema paranoico basado en crear alertas por cualquier evento que nos pueda generar cualquier tipo de incertidumbre. ¿Qué pasa si el procesador está por encima del 60%? Quiero que me mande una alerta! ¿Qué ocurre si hay un porcentaje de llamadas no contestadas en la última hora? Quiero que me mande una alerta! ¿Qué ocurre si recibimos más de N peticiones HTTP a la web en menos de N minutos? Quiero que me mande una alerta!

    Cuando todo esto se asocia a un producto software, pasamos a tener un software genera alertas por cualquier circunstancia y es entonces cuando nos empezamos a acostumbrar a recibir alertas, bajando nuestro nivel de atención ante lo que puede ocurrir que sí es importante.

    Se entiende que la capacidad de monitorizar los recursos en un sistema de comunicaciones hasta el infinito puede ser un elemento diferenciador de cara a conseguir usuarios que estén interesados en monitorizar estas características pero ¿y aquellos a los que no les interesa? ¿Realmente es necesario generar gigas de información cuando el usuario no tiene el más mínimo interés o peor aún… no entiende qué es lo que se está informando?

    Somos conscientes que hay que disponer de una importante cantidad de datos de alta calidad para poder tomar ciertas decisiones, de ahí la importancia de saber «reducir» la ingente información que somos capaces de almacenar, en información de calidad que realmente sirva para esa toma de decisiones.

    Pero también es importante de cara a desarrollar productos, entender quién es el objetivo de nuestro desarrollo, el usuario al que va destinado el producto y entender que esa información, más que ayudarle, le está perjudicando en la adaptación. Los desarrolladores solemos cometer varios fallos importantes, considerando que «lo que a nosotros nos interesa, también le interesa al usuario» y por esta razón, creamos opciones, botones, parámetros incomprensibles que a nosotros como desarrolladores nos llevará un tiempo considerable en configurar, y que al usuario jamás le interesará tocar por que, o bien no entiende cómo funciona, o bien necesita otra información más importante.

    En resumen, los programadores debemos aprender que lo que nosotros creemos que es importante, para quien va a utilizar la aplicación, no tiene por qué serlo. De ahí la importancia de contar con otras personas, compañeros que tienen más trato con los usuarios y que sean capaces de hacernos ver qué es realmente lo que el usuario necesita.

    Manejar una ingente cantidad de información nos da el control completo del sistema, pero ese control se vuelve inútil cuando esta información nos bombardea constantemente de alertas que, llegado el momento, no nos sirve para nada ya que las verdaderas alertas importantes y que hay que tener en cuenta, se hallan entre 40 o 50 alertas que de nada sirven.

  • NFON compra el 25% de Meetecho

    NFON compra el 25% de Meetecho

    El operador VoIP alemán NFON AG, se hace con el 24,9% de la empresa Meetecho, creadora de, entre otras cosas: Janus: Servidor y gateway WebRTC.

    En palabras de Klaus von Rottkay, CEO de NFON AG:

    Klaus von Rottkay en una videoconferencia hecha con Zoom (😐 )

    «La asociación estratégica con Meetecho nos da acceso directo al conocimiento sobre WebRTC líder en la industria y acelera la implementación de nuestra propia estrategia de Comunicaciones Unificadas. Es un paso importante para reforzar nuestra independencia de la tecnología de terceros a largo plazo«

    NFON en uno de los operadores VoIP más grandes a nivel europeo (con más de 200 empleados) que lleva años posicionándose en cada país y Meetecho es una empresa muy prometedora gracias a la aplicación software libre: Janus (además de otras herramientas como el soporte de Opus para Asterisk).

    Particularmente me da un poco de miedo ciertas adquisiciones de empresas que desarrollan software libre, por otro lado hay que entender que como empresa, el desarrollo y publicación de herramientas útiles y liberadas con una licencia de software libre no es una razón para que no actúe como una empresa normal y corriente, además de muy prometedora, y que suscite el interés de grandes empresas que ya no pueden crecer más si no es adquiriendo otras empresas (véase Sangoma con la compra de Digium -creadora de Asterisk-).

    Uno intenta adelantarse al futuro y ve como este tipo de adquisiciones pueden llegar a hacer peligrar el futuro de ciertas aplicaciones, librerías y herramientas que sirven como apoyo a todo un ecosistema creado alrededor, todo depende de quién sea la empresa matriz y sus intenciones.

    Hay quien compra una empresa desarrolladora de software libre con la intención de protegerla de otros «tiburones» que lo único que quieren es destruirla para que deje de hacerle la competencia (referencia1, referencia2).

    No obstante, conozco a gente que trabaja en NFON y tengo una gran esperanza de que esta asociación/compra/participación sirva para impulsar aún más este software además de para que Lorenzo Miniero, Paolo Saviano y el resto del equipo de Meetecho puedan comprarse un barco para descansar estas vacaciones que bien merecido se lo tienen, además de para que NFON pueda seguir desarrollando su software de videoconferencia utilizando Janus y software libre. 😉

  • Lyra: El códec low-cost que podría sustituir a Opus

    Lyra: El códec low-cost que podría sustituir a Opus

    Siempre se ha dicho que la burocracia va siempre uno o dos pasos por detrás, pero cuando hablamos de tecnología, podríamos decir que incluso va años por detrás. No hay más que ver que WebRTC ha tardado más de 10 años en convertirse en un protocolo estándar oficialmente y ha pasado por muchos cambios entre los que destacan varios campos de códecs que, a medida que han ido surgiendo y comprobandose mejores (más calidad y un ancho de banda menor) los desarrolladores se han visto «obligados por la tecnología» a incluirlos dentro de la especificación.

    No obstante, hay empresas como Google que corren dos carreras en paralelo y mientras apoyan ciertas prácticas avaladas por la comunidad y los estándares, juegan por otro lado a una liga propia en la que otras empresas compiten por ser la más rápida y la que primero ofrezca la mejor de las bondades a fin de conseguir adelantarse a la competencia y de paso, subir unos cuantos dólares el precio de sus acciones.

    Por esta razón, cuando aún los usuarios están descubriendo un códec como Opus, Google anuncia un nuevo códec llamado Lyra, orientado principalmente al envío y compresión del audio de conversación (justamente el que nos interesa en VoIP) y es que Opus es un códec que, podríamos decir que es la «evolución del MP3» mientras que Lyra nace para convertirse en la evolución del Alaw, del Speech o del G.722.

    Nota importante: El nombre «Lyra» es el nombre comercial de un software de Sangoma encargado de detectar máquinas de fax y contestadores automáticos (lo que se denomina AMD: Answer Machine Detector) pero no tiene nada que ver, por lo que si queremos descubrir más de este software, deberemos concretar y buscar «Lyrac códec» o algo así.

    Comparación de calidad y ancho de banda

    Sobre la calidad, es bastante mejor que la que ofrece el códec Opus con el doble del ancho de banda:

    Google ha desarrollado este códec pensando en sus propios servicios de comunicación para Android (Google Duo y similares) aunque el código fuente está publicado con licencia Apache 2.0, por lo que en cualquier momento alguien puede utilizarlo para integrarlo en su propio software o en Asterisk, aunque hay alguien que ya lo ha buscado, por el momento no hay nada.

    Parece que lo único importante es calidad de audio vs. ancho de banda, aunque en mi opinión el consumo de procesamiento también es importante. Existen muchos códecs que, siendo peores, son elegidos por consumir muy poco procesador y evitar que un móvil se caliente por llevar 10 minutos de conversación, pero de momento no hemos visto información sobre el consumo de procesamiento que tiene Lyra.

    Ejemplos de audio

    Aquí vamos a ver algunos ejemplos de audio:

    Ejemplo de referencia de audio sin compresión y con máxima calidad.

    Ejemplo del mismo audio de referencia comprimido con Opus a 6Kb/sec

    Ejemplo del mismo audio de referencia comprimido con Lyra a 3Kb/sec

    Ejemplo del mismo audio de referencia comprimido con Speech a 3Kb/sec

    Nueva generación de códecs también para vídeo

    Google también ha anunciado que próximamente sacará un codec de video revolucionario llamado AV1 orientado a principalmente a videoconferencia y que cuenta con muchas características muy interesantes, aunque estas no serán accesible a todo el mundo ya que requerirá de un procesamiento software lo suficientemente importante como para que únicamente los móviles de última generación y ordenadores con procesadores actualizados sean capaz de manejarlos convenientemente.

    ¿Y todo esto para qué?

    Como decía al comienzo del artículo, el objetivo de las empresas tecnológicas es convertirse en el primero, el más avanzado y por lo tanto, conseguir una mejor reputación, opinión, apoyo popular y por ende, mejores beneficios en productos, servicios y precio de las acciones.

    De momento, a mi me parece que transmitir una conversación en 3Kb/sec con esa calidad es más que suficiente como para plantear un cambio de estrategia mundial en la calidad de las conversaciones que viajan por Internet, no únicamente las redes telefónicas (que siguen ancladas en un códec Alaw con 64Kb/sec) si no en reducir a la mitad el consumo de las conversaciones entre sistemas (webRTC).

    Pensad por un momento que el códec G.729 utiliza 8Kb/sec y ofrece una calidad 10 veces inferior a la del códec Opus consumiendo 6Kb/sec. Si esto no os hace replantear el uso de G729 en vuestras comunicaciones VoIP, no se qué puede hacerlo.

    Está claro que al usuario normal no le importa lo más mínimo si está usando un códec u otro mientras pueda hacer una videoconferencia cómodamente y sin cortes ni pérdida de calidad y buscando una integración hasta con la lavadora.

    Pero hay que pensar que los nuevos campos como IoT requieren de sistemas que envíen audio y vídeo utilizando un consumo muy bajo de procesador y ancho de banda, por lo que igual Lyra (que no he encontrado información de cuantos recursos de procesamiento requiere) puede ser una buena alternativa.

    En un tiempo en el que las conexiones de alta velocidad gracias a la Fibra óptica, a las redes 5G y a los nuevos sistemas de rutado de redes inteligente, buscamos reducir al máximo el consumo del ancho de banda mientras se mejora la calidad, lo cual repercute en un ahorro de recursos, consumo eléctrico y por lo tanto, también en mejorar nuestro mundo.

    Más información: https://ai.googleblog.com/2021/02/lyra-new-very-low-bitrate-codec-for.html

  • La CIA también retira los últimos Faxes

    La CIA también retira los últimos Faxes

    Hace unos días hablábamos sobre la noticia de que la Administración Pública Canaria había decidido eliminar más de 1500 terminales de Fax y líneas asociadas ahorrando más de 200.000€ al año en costes por utilizar esta tecnología arcaica. Eso no significa que no admitan faxes, simplemente que pasan a recibirlos de forma digital mediante Email gracias a la conversión que se hace mediante VoIP.

    Pues bien, la CIA acaba de anunciar que a partir de este verano, apagará las últimas máquinas de faxes que tenían y que utilizaban para comunicarse con sus contratistas privados.

    Los más de 100 proveedores que tiene la CIA ya se han apuntado a enviar sus documentos, propuestas y ofertas a través del nuevo sistema seguro de correo electrónico, un sistema cada vez más en auge debido a las grandes amenazas que tienen todos los organismos públicos y grandes empresas.

    Aclaración: Es importante destacar que (tal y como me ha parecido entender por varios mensajes de varios lectores) el protocolo FAX no deja de utilizarse de un día para otro, lo que se abandona es el hecho de enviar 0’s y 1’s a través de las líneas PSTN. Temporalmente, se utilizaría el protocolo de FAX vía T.38 (mediante VoIP) para poder recibir faxes vía VoIP y que la PBX se encargue automáticamente de digitalizar y enviarlo por email o guardarlo en un formato compatible. En el caso de la CIA, ni siquiera se utilizará Fax over IP, directamente se pasará a un sistema de email seguro propio para comunicaciones internas.