Hello,
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@gmail.com
> <mailto:geoffreymina@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@tutpro.com
> <mailto:jh@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@lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users