Hello,
On Thu, Mar 10, 2011 at 10:33 AM, Klaus Darilion <
klaus.mailinglists(a)pernau.at> wrote:
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?
yes.
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;
The right would be:
$(avp(count)[*]) = $avp(count) + 1;
btw: Is there a function to dump all currently defined AVPs, XAVPs and
variables?
For avps:
http://kamailio.org/docs/modules/stable/modules/avpops.html#id2867544
Not sure now the one for xavps was exported to config, but it is available
internally.
Cheers,
Daniel
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(a)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(a)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(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://www.asipto.com