[OpenSER-Users-ES] Enrutamiento por el campo From

Iñaki Baz Castillo ibc at aliax.net
Wed Aug 22 23:33:49 CEST 2007


El 21/08/07, Ramona Modroiu <ramona at openser.org> escribió:
> Iñaki Baz Castillo wrote:
> > Vaya, no había caído yo en la cuenta de que también se pueden aplicar
> > expresiones regulares sin AVP's.
> >
> > Por cierto, de cara a la eficiencia ¿existe alguna diferencia entre
> > usar AVPs de texto y variables? Quiero decir, ¿qué es más costoso
> > computacionalmente?:
> >
> >
> > a)
> >   $avp(s:texto) = "XXXXXXXX";
> >   if ( avp_check("$avp(s:texto)", "re/^xxx[0-8]$/i") ) { ...
> >
> > b)
> >   $var(texto) = "XXXXXXXX";
> >   if ( $var(texto) =~" ^XXX") { ...
> >
> >
> > ¿O tal vez sean igual de eficientes?
> >
> La variante b) es mas eficiente. Las variables suponen referencia
> directa a la memoria privada. Sobre los AVPs ... hay una lista de AVPs
> en la memoria compartida y significa mas busqueda dentro de esa lista.
>
> avp_check() te hace falta si hay mas de un avp y quieres verificar las
> todas. En el ejemplo anterior vale escribir if($avp(s:texto)) =~"^XXX")
> {....}.
>
> >
> > En caso de que sean igualmente costosas: ¿qué sentido tienen entonces
> > los AVP's de texto existiendo variables (las cuáles son más
> > "digestibles")?
> >
> >
> Las variables viven dentro de un proceso. Las AVPs viven dentro de una
> transaccion ... estan accesible dentro de la failure_route donde hay
> otro proceso que el que habia procesado el mensaje original.
> Tambien, las AVPs permiten  valores multiples.


Te agradezco enormemente tan buena explicación, ya que además creo que
lo que me has explicado no viene documentado en ninguna parte.


Un saludo y de nuevo muchas gracias :)



-- 
Iñaki Baz Castillo
<ibc at aliax.net>


More information about the Users-es mailing list