El Martes, 11 de Septiembre de 2007, Oscar Castillo escribió:
Hola Buenos Dias
Tengo entendido que el enrutamiento de paquetes también puede hacerse de
acuerdo a la hora del día en que se llama.
Por Ejemplo si llama de 8 a 5 que enrute los paquetes al trabajo del resto
a la casa. El problema es que no se como Openser puede chequear cual es la
hora del sistema
Si alguien tiene alguna sugerencia o idea por donde entrarle será
bienvenida.
No es nada elegante, pero podrías usar el módulo "exec" con la función
exec_avp:
http://www.openser.org/docs/modules/1.2.x/exec.html#AEN134
Pero ojo, yo hice alguna cosilla con esa función y es algo rara. La cosa es
que se ejecuta el programa externo y el resultado se guarda en un AVP, pero
OJO, el resultado es LO PRIMERO que dicho programa externo escriba en la
salida estándar (no la de error).
Así por ejemplo:
exec_avp("/usr/local/bin/di_algo.sh", "$avp(s:algo)");
Si resulta que dicho script es:
-----------------
#!/bin/bash
echo "oeee oeee"
echo "esto no vale ya para nada"
ls
df
---------------
EL resultado de esa $avp(s:algol) será "oeee oeee".
Pero si pones un comando antes entonces el AVP tendrá como valor LA PRIMERA
LINEA de la SALIDA ESTANDAR que saque ese comando.
Creo que con esto puedes hacer ya algo, por ejemplo poner la lógica en el
propio script externo (o en el interno).
Nota: las otras dos funciones exec_dset(command) y exec_msg(command) ejecutan
un comando externo pero el resultado DEBE SER LA URI, o sea, que modifican la
URI actual (te podría valer también para rutar por un sitio u otro, claro).
Saludos.
--
Iñaki Baz Castillo