Etiqueta: Linux

  • Nueva distribución con Asterisk basada en Debian

    debpbxFederico Pereira, un lector de Sinologic.net me ha enviado un email para informarme que ha desarrollado una distribución que, a diferencia de la gran mayoría de distribuciones que podemos encontrar, no está basada en CentOS si no en Debian (concretamente en Lenny 5.0):

    • Asterisk v1.4.22
    • Sonido Castellano (De la gente asterio.com.ar)
    • Libpri v1.4.7
    • Asterisk Addons v1.4.7
    • DAHDI v2.1.0.4+2.1.0.2
    • FreePBX v2.5.1
      • Modulos
        • Config Editor v1.0.3
        • PhpMyAdmin v2.11.9.4.1
        • SyS Info v2.5.5
        • Vmail Admin v2.5.7
    • A2billing v1.3.4c

    La idea de que esté basada en Debian me ha gustado (soy un debianero confeso) y busca comentarios y sugerencias para continuar desarrollando esta distribución.

    Como comentario personal y con el fin de que esta distribución le pueda ser interesante a más personas se me ocurren algunas sugerencias como añadir las locuciones de VoIPNovatos, añadir las fuentes del kernel de linux que utilice, así como las herramientas necesarias para poder compilar y así actualizar los paquetes DAHDI, LibPri y Asterisk sin estar atado a una versión en concreto. (posiblemente ya lo traiga incluido :D)

    Puedes probar la distribución descargándotela desde su web:
    http://www.opentecnologic.com/

  • El Gobierno quiere promover el software libre en la Administración

    El Gobierno quiere aprovechar la nueva ley de acceso electrónico de los ciudadanos a los servicios públicos para impulsar en las administraciones públicas una amplia adopción del software de código abierto (o software libre) frente a soluciones propietarias (de pago por licencias).

    Una iniciativa que perjudica directamente al negocio de Microsoft, cuyos programas cuentan hoy con una destacada presencia en algunas comunidades autónomas españolas –sobre todo, en aquellas regiones consideradas más ricas o industrializadas–.

    La ley, que entrará en vigor en enero de 2010, reconoce el derecho de los ciudadanos a relacionarse con la Administración por medios electrónicos.

    Además, regula los aspectos básicos de la utilización de las tecnologías de la información en la actividad administrativa, en las relaciones entre las distintas administraciones públicas, y en las comunicaciones entre organismos y ciudadanos.

    A efectos prácticos, las instituciones deberán colgar todos sus servicios en la red para que sean accesibles a los ciudadanos. Esto implica que muchos organismos deben acometer una importante labor de modernización tecnológica, que abre la puerta al empleo del software libre.

    Gracias por el aviso a : Manuel Marroyo

  • DAHDI 2.1.0.3 Released

    El equipo de desarrolladores de Asterisk acaba de anunciar la versión 2.1.0.3 de DAHDI con algunas importantes mejoras:

    – Mejoras en el soporte de la tarjeta RDSI Bri: Digium B410P
    – Soporte mejorado del cancelador de eco OSLEC
    – Solucionados algunos bugs curiosos y necesarios.
    – Mejorada la compatibilidad con distintas versiones de kernel.

    Podeis ver la lista de cambios aquí:
    http://downloads.digium.com/pub/telephony/dahdi-linux/releases/ChangeLog-2.1.0.3
    http://downloads.digium.com/pub/telephony/dahdi-tools/releases/ChangeLog-2.1.0.2

    y como no, descargarlo de aquí:
    http://downloads.digium.com/pub/telephony/dahdi-linux-complete/

  • Abierto el plazo de reserva de VoIP2DAY

    No hace ni una semana que se canceló el SIMO y Avanzada7 acaba de inaugurar la web del evento VoIP2DAY donde ya se puede reservar sitio para asistir a las conferencias que se van a realizar los días 12, 13 y 14 de Noviembre en el Centro de Covenciones Norte del IFEMA, tal como ya comenté en un post anterior.

    En la web podeis ver la lista de conferencias que tendrán lugar cada día, así como la descripción y el ponente.

    El año pasado, pese a que el stand de Asterisk era bastante grande, hubo gente que tuvo que escuchar las conferencias en la escalera o incluso perderse alguna por falta de espacio. Para que este año no pase eso, han puesto la reserva necesaria.

    Aunque parezca extraño, y tras los últimos comentarios de la lista de Asterisk-DEV, el día de la Comunidad Asterisk-ES (14 de noviembre) va a tener especial relevancia ya que vendrán los dos principales protagonistas: Olle Johansson y Kevin P. Flemming.

    Desde aquí, animo a todos los usuarios de Asterisk, en especial a los del foro y de la lista de Asterisk-ES a reunirnos y conocernos este día y poder asistir a las conferencias.

    Enlace: http://www.voip2day.com/

  • AsteriskNOW 1.5 beta Released!

    Hacía tiempo que no sorprendíamos con una noticia relacionada con AsteriskNOW e incluso después de que Digium comprara Switchvox muchos temíamos que el proyecto quedara en el olvido, no obstante, también sabíamos que el esfuerzo de muchos desarrolladores no podía ser para nada y hace poco se anunció una nueva versión del Asterisk-GUI 2.0 que mejoraba considerablemente la estabilidad de este interfaz y que ha hecho que muchos dejaran otros interfaces en favor del nuevo Asterisk-GUI.

    Acaba de hacerse pública la nueva versión de AsteriskNOW con algunos cambios que seguro que agradarán a los usuarios, entre los que se encuentran:

    • Sistema operativo CentOS 5.2 en lugar de rPath. (por fín algo más conocido)
    • Gestión de paquetes mediante YUM (no es apt-get, pero bueno, peor es lo que había antes)
    • Interfaces libres a escoger (Asterisk-GUI 2.0 o FreePBX)
    • Soporte nativo DAHDI (hay que migrar, sí o sí)

    Y como dice Digium, a lo largo de este año nos encontraremos con muchas novedades en el mundo de Asterisk:

    De momento, para todos aquellos que quieran empezar a probarla, ya está disponible la imagen ISO de la última versión de AsteriskNOW:

    http://www.asterisknow.org/downloads/AsteriskNOW-1.5.0-beta1.iso

  • Elastix 1.2 Released!

    Pues eso, el pasado viernes 5 de Septiembre se liberó la versión Elastix 1.2. Esta distribución que empieza a tener bastante repercusión en todo el mundo.

    Entre los añadidos se encuentran:

    – Soporte para los foneBridge2 de Red-fone.
    – Calendario integrado con alarmas y despertador para hoteles.
    – Soporte para SugarCRM.
    – Cliente Jabber para comunicación unificada (UC)

    Podeis descargarlo de aquí:
    http://downloads.sourceforge.net/elastix/Elastix-1.2-stable-05sep2008.iso

  • Debian 5.0 Lenny congelada!

    Acabo de leer en Barrapunto, que la versión GNU/Linux Debian 5.0, más conocida como Lenny ha sido congelada por lo que no se admitirán más paquetes y ahora procederán al testeo de cada uno de los paquetes hasta lograr una versión tan estable como viene siendo habitual en Debian.

    Nota oficial: http://lists.debian.org/debian-announce/…/msg007.html

  • Cuidado con los servidores DNS en Asterisk

    Muchas personas, para evitar que su servidor Asterisk se quede bloqueado en el caso en que falle la conexión a Internet, suelen recurrir a diversas técnicas (explicación):

    • Utilizar direcciones IP en lugar de nombres de dominio.
    • Añadir los nombres de dominio que vayan a utilizar en el archivo /etc/hosts.
    • Instalar un servidor DNS en la red local que le sirva de caché y aisle las peticiones de resolución de nombres.

    En muchos casos, la primera opción no es viable, ya que muchos proveedores de servicios IP utilizan el mismo nombre de dominio para realizar round-robin y distribuir la carga entre varios servidores con distinta IP pero el mismo nombre de host.

    Son muchos los que optan por instalar el servidor DNS en el mismo sistema o bien dentro de la red local, pero aquí es donde hay que tener especial cuidado.

    Los servidores DNS son accesibles mediante los puertos 53 UDP y TCP (en algunos casos) y si estos son accesibles desde internet, y los utilizan los sistemas de nuestra red puede ocurrir que seamos vulnerables a diversos exploits e «inyecciones falsas» de registros IP/nombres en la caché DNS lo que puede llevarnos a páginas falsas o incluso a ataques phishing.

    Ahora, con las últimas vulnerabilidades encontradas (y publicadas) en el mismísimo protocolo de DNS son muchos los que se están aprovechando de esto.

    Concretamente, hoy he visto logs de ataques y donde consiguen inyectar direcciones IPs de diferentes páginas (de spam y porno por lo general) en servidores Bind.

    Por suerte, hay técnicas para prohibir el acceso al servidor DNS desde direcciones IPs diferentes a las de la red local, desde el propio servidor Bind o bien desde el maravilloso iptables de Linux.

    Así que… cuidado con los servidores DNS que tengamos instalados, no vayan a darnos alguna sorpresa desagradable. 🙂

  • Cómo configurar el envío de emails desde Asterisk

    Es una pregunta bastante común y pese a que su respuesta es la misma, voy intentar dejarlo tan claro como sea posible.

    Asterisk es una aplicación, como cualquier otra que corra bajo Linux, y por lo tanto sigue una norma que siguen todas las aplicaciones en Linux: Asterisk NO ENVIA EMAILS, si no que se comunica con el servidor SMTP que tengamos instalado en nuestro sistema local y es este el que envía el email. Incluso si queremos utilizar un servidor remoto con una cuenta, el procedimiento sigue siendo el mismo.

    Por este motivo, y por que todas las aplicaciones en linux funcionan prácticamente igual (apache, pureftpd, syslog, etc…) suelen darle los emails que quieren enviar a una aplicación bastante conocida: SendMail.

    SendMail es un servidor de envío de emails (SMTP) y fue uno de los primeros y más avanzados servidores de este tipo, pero su poca fiabilidad (demasiados bugs para los administradores de redes) unido a su complejidad si queríamos configurar un servidor serio, hizo que apareciesen otros servidores SMTP más ligeros, simples y rápidos que Sendmail.

    No obstante, todos los sistemas continúan intentando enviar emails dejándolos a Sendmail y es por esto por lo que los nuevos y más sencillos servidores SMTP utilizan un truco para hacerse pasar por Sendmail y poder «suplantarlo», esto es, crean un enlace simbólico en el sistema con el nombre «sendmail», de manera que cuando una aplicación intenta acceder a «sendmail», realmente quien contesta es esta aplicación. 🙂

    Como ya he comentado, casi todas las aplicaciones que tienen la necesidad o la opción de enviar emails utilizan el servidor SMTP local, esto ha hecho que muchas distribuciones, para facilitar la configuración y envío de emails, instalen por defecto algunos sustitutos de sendmail como por ejemplo exim o postfix son las más conocidas.

    El principal problema de utilizar el servidor SMTP local es el proveedor: Debido al aumento de correos SPAM, los proveedores y los servidores de correo que van a recepcionar tu email comprobarán si realmente el servidor del que procede el email es realmente un servidor «oficial» o bien un servidor que se dedica a enviar SPAM, y como el servidor local no es realmente un servidor en toda regla (no tiene registros MX en el DNS de algún dominio, tiene una dirección IP dinámica, o ha sido utilizado por otro spamer) es por lo que se aconseja encarecidamente utilizar una cuenta de algún servidor de emails ya verificado y seguro.

    Posiblemente, tras la instalación de nuestra distribución preferida, podremos enviar emails con el comando:

    echo «Prueba de email» |mail -s «Prueba de email» miUsuario@miDominio.com

    Pero cuando hayamos enviado varios de este tipo y empecemos a confiarnos, veremos como nuestro cliente de correo empezará a considerarlo spam, o puede que ni llegue. Es entonces cuando tendremos que configurar nuestro servidor SMTP local para que envíe los emails mediante una cuenta autentificada.

    Para el ejemplo de configuración voy a hacerlo con Exim (el servidor que viene por defecto con Debian), quizá sea uno de los más sencillos de configurar y de manejar, aunque personalmente siempre he preferido Qmail por ser mucho más seguro, no obstante, como nuestro objetivo no es configurar un servidor de correos en toda regla, vamos a hacerlo con Exim (versión 4) que es la que trae Debian (y Ubuntu) de serie.

    Lo primero que tenemos que hacer es asegurarnos que lo tenemos instalado:

    apt-get install exim4 exim4-config

    Una vez que lo hayamos instalado, aparecerá una pantalla de configuración. Si no aparece, podremos acceder a ella en cualquier momento ejecutando el comando:

    dpkg-reconfigure exim4-config

    ¿Sencillo verdad? 🙂

    Será entonces cuando nos pregunte por distintas opciones de configuración:

    – ¿Quiere utilizar archivos separados para la configuración?
    Respondemos SI

    – ¿De qué forma queremos configurar nuestro servidor?
    Respondemos «enviar por SMARTHOST, y recibir por SMTP o Fetchmail»

    – Escriba el nombre del sistema:
    Respondemos con nuestro dominio: miDominio.com

    – Escriba la dirección IP desde donde va a atender las conexiones al SMTP:
    Respondemos: 127.0.0.1

    – Escriba otros servidores destino que el SMTP será aceptado:
    Aquí no respondemos nada, lo dejamos en blanco.

    – Sistemas a los que reenviar emails ?
    No piques, esto también hay que dejarlo en blanco. 😛

    – Escribe el sistema que gestionará el correo saliente de este sistema:
    (Aquí escribimos nuestro servidor SMTP remoto, por ejemplo…)
    smtp.miDominio.com

    Si queremos utilizar una cuenta de gmail, el servidor SMTP de gmail hay que especificarlo junto con el puerto que va a utilizar, y sería esto: smtp.gmail.com::587 (ojo que lleva dos simbolos de dos puntos antes del puerto)

    – ¿Quiere ocultar el nombre local del sistema local del email saliente?
    Pues NO.

    – Quiere cachear las peticiones DNS para ahorrar ancho de banda?
    Pues NO.

    Bien, hasta ahora tenemos algunos parámetros básicos configurados, pero no hemos indicado el usuario ni la contraseña con el que queremos autentificarnos para enviar emails. Si probásemos a enviar emails, seguramente nuestro servidor remoto recibiría un email de un tal root@localhost y nos lo rechazaría. 🙂

    Vamos a configurar los datos importantes:

    1º. – Editamos el archivo /etc/exim4/passwd.client y escribimos algo como esto:

    smtp.miDominio.com:usuario:contraseña

    En el caso de que queramos utilizar la cuenta de email, deberíamos poner algo como esto:

    gmail-smtp.l.google.com:usuario@gmail.com:contraseña
    *.google.com:usuario@gmail.com:contraseña
    smtp.gmail.com:usuario@gmail.com:contraseña

    De esta manera, sea cual sea el nombre del servidor SMTP que utilicemos en gmail, le enviaremos los parámetros correctos y nos aceptará el envío.

    2º.- Protegemos el archivo para que nadie tenga acceso a leer nuestros datos:

    chown root:Debian-exim /etc/exim4/passwd.client

    3º.- Si estamos configurando nuestra cuenta de Gmail, hay que indicarle (otra vez) que el envío debe hacerlo por el puerto 587 en lugar del estandar (el 25), por lo que tendremos que editar el archivo:

    /etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost

    y justo encima de la línea que dice algo como: (hosts_try_auth…) añadir lo siguiente:
    port=587

    4º.- Por último, vamos a configurar nuestra identificación saliente:

    echo «root@localhost: usuario@miDominio.com" >> /etc/exim4/email-addresses

    Y listo, lo último que nos queda es recargar la configuración:

    ejecutamos: update-exim4.conf (es un comando 🙂

    Y probamos a enviar un email como hemos hecho antes…

    echo «Prueba de email» |mail -s «Prueba de email» miUsuario@miDominio.com

    y veremos cómo nos llega con el usuario y dominio correcto. 😀

    Bueno, parece más complicado de lo que realmente es. Una vez que se ha configurado unos cuantos sistemas con esta técnica, se hace todo diréctamente y sin tener que recordar los pasitos.

    Una vez tengamos esto hecho y podamos enviar emails con nuestra cuenta oficial, entonces podremos recibir los emails que hayamos configurado en el buzón de voz de Asterisk, o incluso nuestras alertas de arranque de asterisk o incluso enviar faxes mediante Hylafax,…

    Más información:
    http://www.exim.org/
    http://wiki.debian.org/GmailAndExim4
    http://wiki.debian.org/PkgExim4

  • Lo que el usuario de una distribución con Asterisk no vé

    A menudo recibo emails donde gente muy preparada y con muchos conocimientos sobre redes e informática buscan ayuda para solucionar algún problema que les ocurre cuando configuran su sistema Trixbox, Elastix, AsteriskNow, y no funciona como ellos esperaban.

    Es entonces cuando la gente que responde a estos emails le preguntan acerca de paquetes SIP, parámetros de configuración, o le sugieren determinados valores a ciertos parámetros que no han escuchado ni visto en su vida. Ocurre que tras estas respuestas el usuario se vé en la necesidad de tener que entrar a mano a una consola en modo texto y editar un archivo o ejecutar un comando, algo que, en el 80% de los usuarios que utilizan este tipo de distribuciones para montar su sistema de comunicaciones, no saben cómo se hace o directamente jamás lo han hecho.

    Los usuarios de distribuciones controladas por interfaces web suelen olvidar (o no quieren reconocer) que toda interfaz web es creada con un objetivo: simplificar la configuración y gestión de una aplicación (en este caso, de Asterisk), esta simplificación tiene un efecto muy negativo, impide realizar tareas que no han sido previamente preparadas por los creadores de dicho interfaz o incluso han sido desechadas por su complejidad y poco útil para un público general, se dice entonces que esa distribución está «a merced» de lo que permita hacer el interfaz web. En muchos casos he visto cómo gente con grandes conocimientos de redes, Asterisk y voip, han dicho que XXXXX no se puede hacer, simplemente porque el interfaz web no lo permite. Esto, además de no dejar en buen lugar a Asterisk, demuestra una falsa limitación que el comercial, conociendo las características de una aplicación tan versatil como es Asterisk, sí que anunció que era posible a su cliente.

    Alguna que otra vez me he encontrado con mensajes de usuarios con Trixbox o Elastix que no podían hacer transferencias, o que cuando intentaban llamar a una extensión esta no se encontraba disponible pese a haberse configurado corréctamente. La solución de estos problemas y otros miles, se podría solucionar de una forma muy sencilla mirando la configuración y comprobando que estos parámetros son correctos, o simplemente comprobando que el dialplan hace lo que se supone que debería hacer, pero para hacer un interfaz web que ayude a simplificar la configuración se requieren de macros, includes y variables extras que ayuden a convertir lo que el usuario quiere hacer a través de una web, a un código medianamente funcional y limitado a lo que se pueda hacer.

    Esa limitación no existe en un usuario final que únicamente quiere configurar 5 extensiones y 2 líneas analógicas que atiendan a una cola, pero en usuarios «avanzados» y «profesionales» esa limitación, no únicamente limita su trabajo, si no que le impide «controlar» el verdadero funcionamiento que está realizando su sistema Asterisk.

    Cuando un usuario se encuentra con algún problema, puede ser debido a un fallo de configuración –y de conocimiento– como colocar «inband» en lugar de «outofband» en alguna pestaña del interfaz web porque desconoce para qué sirve estos parámetros, pero el usuario avanzado, que sí sabe lo que significan, debe poder entrar en Asterisk y ver en la consola –que para eso está– qué es exáctamente lo que Asterisk está ejecutando, para poder encontrar el error, y el simple hecho de utilizar un interfaz web que, para simplificar la configuración, utilice macros, includes y variables, se hace inviable su lectura por la cantidad de código que escribe un FreePBX para hacer una simple llamada.

    En muchos casos, y después de comentar este problema con compañeros que trabajan con distribuciones de este tipo, suelen contestar que sus clientes necesitan de un interfaz web para poder añadir extensiones o cambiar el dialplan, es entonces cuando se llega al kit de la cuestión, –¿qué usuario final cambia su dialplan?- ¿es la responsabilidad de un usuario final poder cambiar un dialplan? ¿qué usuario final sabe para qué sirve cada valor de cada pestaña de cada campo necesario para añadir una extensión o crear una cola? Lo único que el usuario final sabe es que quiere añadir una extensión y no quiere prestar atención a los distintos parámetros que conlleva esta decisión, es por eso por lo que hay dos posibilidades:

    – Hacerle un interfaz web a medida que le permita entrar y añadir lo que el usuario avanzado quiera que añada. (para eso hay diferentes maneras: AJAM, AMI, PHP, etc…)

    – Que llame por teléfono y diga que quiere añadir una extensión, en cuyo caso será el usuario avanzado el que lo haga y sea responsable de estos cambios. (quizá no sea lo más agradable, pero el usuario final lo agradecerá y el usuario avanzado controlará que todo sigue funcionando corréctamente).

    IMHO.

    P.D.: Esto por supuesto es a nivel general, siempre hay excepciones.