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