[OpenSER-Users-ES] Enrutamiento de acuerdo a la Hora

Iñaki Baz Castillo ibc at aliax.net
Tue Sep 11 17:23:03 CEST 2007


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




More information about the Users-es mailing list