Hello,
On Thu, Mar 10, 2011 at 10:33 AM, Klaus Darilion < klaus.mailinglists@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@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