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> 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> 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