[SR-Users] Question about LCR

Klaus Darilion klaus.mailinglists at pernau.at
Thu Mar 10 10:33:14 CET 2011


Aha, so using an AVP as loop counter (I need the counter for the whole
transcation lifetime) like:

$avp(count) = $avp(count) + 1;

would work (it does), but creates a new array element every calculation?

I guess the workaround to not create an array is to use always an index,
at least on the left side, eg:

$(avp(count)[0]) = $avp(count) + 1;

btw: Is there a function to dump all currently defined AVPs, XAVPs and
variables?

regards
Klaus

Am 10.03.2011 09:49, schrieb Daniel-Constantin Mierla:
> Hello,
> 
> AVPs are multi-value variables, so:
> 
> $avp(x) = 1;
> $avp(x) = 2;
> 
> Create a list with two values, the last added is first retrieved. You
> can use indexes to access them.
> 
> For example:
> - $avp(x) will return now 2 (same as $(avp(x)[0]) )
> - $(avp(x)[1]) will return 1
> 
> You can use variable as index:
> 
> $var(i) = 0;
> 
> then: $(avp(x)[$var(i)]))
> 
> To go through the list, you can use while(...) { ... } statement with an
> variable for index that increments in each step.
> 
> When there is no value for avp at that index, then the returned value is
> $null, e.g.,
> 
> while($(avp(x)[$var(i)]) != $null) {
>    ...
>    $var(i) = $var(i) + 1;
> }
> 
> Cheers,
> Daniel
> 
> On Wed, Mar 9, 2011 at 2:07 PM, Geoffrey Mina <geoffreymina at gmail.com
> <mailto:geoffreymina at gmail.com>> wrote:
> 
>     There is nothing wrong with the carriers, so I wouldn't want to mark
>     them.  Just no route to destination type scenario.
> 
>     I like daniels option with the drop on_branch.  Only challenge I
>     have is keeping a list of all the flags I have already tried.  Say I
>     have five carrier groups and I set the flags in gw to 1 2 3 4 or 5
>     respectivley.  How could I use an AVP to efficiently keep a running
>     list and then check against that list?
> 
>     Thanks!
> 
>     On Mar 8, 2011 9:02 PM, "Juha Heinanen" <jh at tutpro.com
>     <mailto:jh at tutpro.com>> wrote:
>     > Daniel-Constantin Mierla writes:
>     >
>     >> > The issue I am running into is that in a scenario where
>     >> > both my carriers respond with a 5XX, I end up presenting the
>     same call to
>     >> > all 4 gateways. I would like to present the call to one gateway
>     on each
>     >> > carrier and not try the same carriers second gateway for the same
>     >> > call.
>     >
>     > currently only lcr rule can be a stopper rule, i.e., if it matches,
>     > other matching rules are not tried.
>     >
>     > you can disable a failing gateway for some number of seconds, which
>     > should reduce unsuccessful attempts.
>     >
>     > -- juha
> 
> 
> 
> 
> -- 
> Daniel-Constantin Mierla
>   http://www.asipto.com
> 
> 
> 
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list