Hello, On Thu, Mar 10, 2011 at 10:33 AM, Klaus Darilion < klaus.mailingli...@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 <geoffreym...@gmail.com > > <mailto:geoffreym...@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" <j...@tutpro.com > > <mailto:j...@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 > -- 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