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.
Oscar Castillo
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.
sr-users-es@lists.kamailio.org