Planeta BSD

FreeBSD, OpenBSD, NetBSD, …. Berkeley Software Distribution

Archivo para November, 2007

Inkubot: Asterisk y un poco mas…

AsteriskAsterisk ya no es un software ajeno para la mayoría de la gente ligada al mundo open source, pero lo que es aún mas interesante es la barrera que ha quebrado.

“Entrar de lleno al mundo de las comunicaciones”. Para empresas como Cisco, Alcatel o locales como Grupo Gtd, Entel este software no es ajeno y algunos lo miran como una amenaza (alguien dijo Cisco?) y otros como una oportunidad de negocios tremenda.

Las oportunidades que nos brinda el * son infinitas, el limite lo pone el administrador y las necesidades del lugar donde se implementa. No es una simple central telefónica, es un ambiente de DESARROLLO completo, abierto, con una tremenda comunidad, incesantes actualizaciones para agregar nuevas versiones y que brinda todas las herramientas para que podamos dar nuestro granito de arena (ya sea para todos o para el proyecto en especifico).

Pero que le hace falta a Asterisk para que sea completamente aceptado por las empresas (ISPs, TISPs, etc) y no sea visto solo como una herramienta de juguete o de investigación? La respuesta es simple desde mi punto de vista. Una buena INTERFAZ GRÁFICA. Así es, para los mas puristas una interfaz gráfica es una aberración (estoy un tanto de acuerdo) ya que es posible que limite las características infinitas del Asterisco a solo unas cuantas (que de todas formas son muchas). Para una empresa, si es una caja cerrada, con algún tipo de interfaz web y que cumpla lo que se requiere es un producto valido. No es necesario que conozcan que es “Software Libre”, que esta sobre “Linux o *BSD”, no es necesario que sepan que la interfaz web que utilizan la programa un montón de gente alrededor del mundo, solo necesitan una caja cerrada que se llama “PBX IP”

Es probable que muchos (me incluyo) no poseamos el dinero para desarrollar un Appliance Asterisk, pero si podemos entregar lo que la empresa necesita. Un servidor, que hace de PBX IP y con una buena interfaz web de administración. Bueno, Bonito y Barato (se podría agregar un Muy a cada una de las 3 características). Existen varios proyectos que pueden simplificar nuestras tareas con Asterisk y realizar un producto de tipo “masivo”

El mas famoso por el momento es FreePBX, un portal web desarrollado completo en PHP y de forma modular. Este software tiene un esquema de configuración para Asterisk “especial”, y lo pongo entre comillas porque es la configuración que cualquiera de nosotros podría hacer, pero que ya esta lista. Llena de macros, llena de variables, de planes de discado, interacción con base de datos, etc. Y que para entender todo es bastante experiencia (y posiblemente podrías ser parte del team de desarrollo)

FreePBX tuvo un derivado, Trixbox es un sistema operativo (basado en CentOS) que simplifica aún mas las cosas, se baja el CD, se reinicia el computador y comienza una instalación que termin con un Asterisk configurado y con un montón de herramientas que permiten su configuración (entre ellas FreePBX), monitoreo y administración.

Hace poco conocí a Elastix otra aplicación tipo Trixbox, que tambien incluye FreePBX pero que aún no he tenido la oportunidad de probar y jugar. Pero según veo en su web, tiene bastantes cosas interesantes que de seguro me animaré un día a probarlas.

Y por ultimo (y no por eso el peor), tenemos el nuevo software (aún en Beta) de Digium, AsteriskNow es un algo parecido a los anteriores, solo bajas un CD y tienes tu PBX IP instalada. La gracia principal, USA LOS ARCHIVOS DE CONFIGURACIÓN ESTÁNDAR, además de tener una increíble interfaz escrita en Ajax. Si, aún esta en Beta… pero parece que viene para quedarse!

Las odiadas/amadas GUIs son necesarias, especialmente en el momento en que se piensa sacar provecho de la experiencia que se ha ganado durante el tiempo “jugando”. Entregan una administración simple y hacen un software escrito por “hackers” amigables hasta para ese Gerente de Operaciones que solo quiere que funcione y que sea FÁCIL.

Bless

PS: Estoy de acuerdo, Asterisk siempre sera mas potente si se programa sin una interfaz (para que no aleguen antes de tiempo)

Leer el post completo »

En: General — November 30, 2007

Instalar servidor DNS en FreeBSD 6.2 IPv4

Hace mucho tiempo atras levante un servidor DNS pues aca estare detallando la configuracion paso a paso para tener un servidor DNS corriendo bajo FreeBSD, como esta en el titulo del post esto se hara bajo la version 6.2 de FreeBSD y para IPv4.
Lo primero debemos debemos levantar el servicio named
#/etc/rc.d/named forcestart
con esto ya […]

Leer el post completo »

En: General — November 29, 2007

OpenBSDeros en WhyFLOSS - Parte 2

Ya están confirmados los horarios para las charlas.
Pueden ver el programa y los horarios de cada charla en la página de WhyFLOSS.

Nuestra charla será el día Jueves 6 de diciembre a las 17hs.

Nos vemos ahí!

Saludos,
Hernán

Leer el post completo »

En: General — November 27, 2007

Implementando un watchdog de emergencia

Un watchdog es, como su nombre indica, un perro guardian ;) , que en general se encarga de monitorizar un aspecto del sistema para llevar a cabo una acción cuando algo falla. Alguna vez he puesto uno por aquí.

Bueno, es una definición un poco de estar por casa, como lo que voy a explicar ahora: cómo hacer un sencillo watchdog para un servicio, con un shell y herramientas comunes en cualquier entorno Unix.

Ayer un compañero me pidió que le echara una mano con el servidor de un ex-cliente, y como cada vez se puede dedicar menos tiempo a mantener esa máquina, decidimos poner un watchdog para un servicio que había dado problemas ocasionalmente pero no podíamos diagnosticar y corregir.

Vamos a suponer un caso bastante frecuente, en el que el servicio es un solo proceso, que además guarda su PID en un fichero.

Nuestro watchdog haría lo siguiente:

  1. Comprobar que el fichero PID existe: sino existe, eso es seguramente señal de que el servicio está parado.
  2. Verificar que el proceso indicado por ese PID, efectivamente está funcionando: sino encontramos el proceso, suponemos que el servicio ha terminado de forma imprevista (y no ha borrado el fichero, como es habitual).
  3. Si se cumple cualquiera de los puntos anteriores, lanzamos el servicio (borrando el fichero del PID en caso de ser necesario, para evitar que el servicio piense que ya está en marcha).

Es un watchdog muy rudimentario que correríamos desde cron(8) con la frecuencia que creamos conveniente.

Más o menos la implementación que hice ayer fue la siguiente, un poco revisada para publicarlo aquí (claro :D ):

#!/bin/sh

# configurable
PIDFILE="/var/run/bogom/bogom.pid"
DAEMON="/usr/local/libexec/bogom"
MAILTO=administrador

# Arranca el servicio y manda un mail al admin
up_and_notice()
{
	$DAEMON
	echo "He arrancado $DAEMON (resultado $?), un saludo :) " 
| mail -s "$0 en `hostname`" $MAILTO
}

# existe el fichero con el PID?
if [ ! -f $PIDFILE ]; then
	up_and_notice
	exit 0
fi

PID=`cat $PIDFILE 2> /dev/null`

# hay efectivamente un PID?
if [ "X" == "X$PID" ]; then
	up_and_notice
	exit 0
fi

ps -p $PID 2> /dev/null 1> /dev/null

# existe el proceso con ese PID?
if [ $? -ne 0 ]; then
	# si no existe, el fichero sobra
	rm $PIDFILE

	up_and_notice
	exit 0
fi

# EOF

En el ejemplo he usado el servicio de bogom (no porque lo necesite, ojo :D ), y como bonus se envía un correo al administrador para informar de que se ha levantado otra vez el proceso.

En este caso el watchdog lo tiene que correr root, así que añadiríamos el script en el crontab(5) de ese usuario. Sería muy raro que funcionara tal cual para otros casos, pero como es muy sencillo, seguro que resulta fácil de adaptar.

No me gustan mucho los watchdogs, pero es bueno asumir que todos los programas tienen fallos y a veces causan problemas, y no siempre hay un administrador para ver qué está pasando. En la mayoría de las veces el fallo es anecdótico, y con volver a arrancar: solucionado ;) .

Leer el post completo »

En: General — November 25, 2007

KillFill: Asterisco…

Asterisco de %454224@3343###…

Hace tiempo me preguntaba si el compotamiento que estaba obteniendo entre las llamadas de los usuarios (anexos) locales era el correcto
Bajo ‘ciertas condiciones’ que me costo encontrar.. (lo cambie/probe casi todo) cache que la diferencia en el comportamiento, pasaba cuando un usuario no tenia correo de voz activado… Despues de buscar como evitar la diferencia, weviar a medio mundo, y de no encontrar nada, vi el archivo ./pbx/pbx_config.c lo siguiente:

/* If voicemail, use “stdexten” else use plain old dial */
if (hasvoicemail) {
snprintf(tmp, sizeof(tmp), “stdexten|%s|${HINT}”, cat);
ast_add_extension2(con, 0, cat, 1, NULL, NULL, “Macro”, strdup(tmp), ast_free, registrar);
} else {
ast_add_extension2(con, 0, cat, 1, NULL, NULL, “Dial”, strdup(”${HINT}”), ast_free, registrar);
}

Lo cual me explico todo… :P
Cuando asterisk parte, parsea users.conf e inserta en el dialplan los datos que estan describiendo a los usuarios. Tuve la mala suerte de que la interpretacion de los datos no me sirve…

Supongo que para algunos, eso es un feature, pero para mi es un bug. Siempre debiese usar la macro stdext….

Optimizar sacrificando funcionalidad no es bueno, especialmente si la necesitas.. :P (sere el unico pelagato que necesita esto?…)

Leer el post completo »

En: General — November 25, 2007

Publicado bogom 1.9.1

No es casualidad que comentara hace poco que han abierto milter.org, porque me acordé de esa web al recibir un correo de Sergey Shapovalov.

Resulta que Sergey está usando bogom en un entorno de pruebas con Solaris 10, antes de pasarlo a producción, y ha descubierto un problema bajo cierta carga (¡ha llegado a tener más de 600 hilos simultáneos!).

Parece que hay un problema con código de 32-bits y stdio con el número máximo de descritores de fichero, que está limitado a 256.

Es cierto que doy soporte (limitado) en Solaris 10, gracias a una cuenta que me hicieron Rubén y Mati en una de sus máquinas, pero bajo ciertas condiciones, y Sergey ha usado Sun Studio 12 (que no sé si trabaja con GCC, como yo recomiendo).

No veo porqué corren el milter como 32-bits, no recuerdo nada de eso en mis pruebas cuando porté el programa a Solaris.

En cualquier caso mis pruebas no fueron tan duras como las que ha hecho Sergey, y además la corrección que propone Sun no es nada traumática, así que este es el cambio principal de esta nueva versión.

Además he incluido una serie de pequeños cambios que he ido haciendo desde que publicara la versión anterior en Octubre del año pasado.

Me alegro que el programa le sea de utilidad a Sergey, y le agradezco el feedback (me mandó un parche). En mi opinión, esta es una de las satisfacciones de desarrollar Software Libre :) .

Leer el post completo »

En: General — November 24, 2007

Reunión despedida del año

Estamos armando una reunión como para despedir el año entre los OpenBSDeros, la misma no va a ser principalmente para discutir sobre el proyecto ú OpenBSD, sino que va a ser mas una reunión social como para comenzar a conocernos un poco, vernos las caras y también hablar del proyecto ú OpenBSD.

Cuándo?
Viernes 21/12/07 a las […]

Leer el post completo »

En: General — November 23, 2007

Encuesta - Nueva presentacion

Anticipándome a que luego de un par de presentaciones más, la actual y única (Introducción a OpenBSD) que tenemos va a quedar un poco “gastada”, quiero ir comenzando a armar una nueva presentación. Pero como tengo varias ideas en la cabeza y no estoy decidido por alguna en especial todavía, creo que lo mejor va […]

Leer el post completo »

En: General — November 21, 2007

Un catálogo de filtros milter para Sendmail

Les ha costado, pero por fin han estrenado la nueva versión de milter.org (o al menos me entero hoy), como un catálogo de filtros milter para Sendmail.

Se pusieron en contacto conmigo hace más de un mes ya, con un correo muy formal, para participar en la beta privada del portal junto con otros desarrolladores. Fue gracioso aceptar un acuerdo con Sendmail Inc. para trabajar con ellos como partner :D .

La web no está mal, cumple su cometido, y yo ya di de alta mi filtro (bogom, del que he hablado por aquí).

La verdad es que cuando me puse a desarrollar el filtro para usar Bogofilter desde Sendmail eché de menos tener más documentación, o que estuviera más accesible, y eso lo han solucionado parcialmente. Además me sorprendía que el dominio milter.org perteneciera a un particular.

Lo feo es que iban a regalar una camiseta a los desarrolladores con el tema de la beta, y ahora parece que nadie sabe nada de eso. En mi opinión se arriesgan mucho: así pueden crearse enemigos que les duren de por vida :D .

Leer el post completo »

En: General — November 20, 2007

Estadisticas

Ya habiendo pasado los 4 meses desde que comenzamos, podemos hacer una pequeña revisión de las estadí­sticas del sitio. Mi opinión es que esta andando bastante bien, teniendo en cuenta que somo 2 personas con muy poco tiempo.

A las estadísticas anteriores no las hicimos publicas no se porque razón, quizás no creímos que les llegaran […]

Leer el post completo »

En: General — November 20, 2007

buddy icon Planeta BSD, es un planeta que recopila escritos en español relacionados con los sistemas BSD (FreeBSD, OpenBSD, NetBSD,...) y todo lo relacionado con ellos. Hay pocos sitios que hablen sobre BSD en español, y los que hay cuesta encontrarlos, con este planeta pretendo juntar todos esos Blogs o Webs en las que comentan sus aventuras con *BSD.

Secciones

Buscador

Pulsa ENTER al terminar de escribir

Contribuidores


Sindicar

Puedes Sindicar el contenido de este blog en tu lector de noticias usando alguna de las siguientes formas: RSS 2.0 o Atom



Creado por Diseño y Desarrollo Web y gestionado con WordPress

Planeta BSD © 2010 — Algunos derechos reservados

compuntoes