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

Iñaki Baz Castillo ibc at aliax.net
Mon Aug 20 23:16:56 CEST 2007


El 20/08/07, Ramona Modroiu <ramona at openser.org> escribió:

> Un ejemplo de codigo seria lo siguiente:
>
> if(avp_check("$fU", "eq/xxx9/i")) {
> ...
> } else if(avp_check("$fU", "re/^xxx[0-8]$/i")) {
> ...
> }
>

> En openser 1.2.x:
>
> if($fU == "xxx9")) {
> ...
> } else if($fU =~ "^xxx[0-8]$") {
> ...
> }

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?


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")?

Y ya puestos: sé que los AVP numéricos en plan $avp(i:12) son más
eficientes que los AVP de texto en plan $var(s:cadena), ya que cuesta
menos referirse a un entero que a una cadena de texto. Pero, ¿no
tendría sentido que en tiempo de compilación se convirtiesen los AVP
de texto a AVP numéricos sin más? ya sé que existen los alias, pero
sigue siendo una solución un poco "fea".


En fin, cosillas que tenía previstas preguntar algún día y
aprovechando la conversación lo saco ahora... XD


Saludos.

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


More information about the Users-es mailing list