[SR-Users] Question about LCR
Daniel-Constantin Mierla
miconda at gmail.com
Thu Mar 10 10:51:40 CET 2011
Hello,
On Thu, Mar 10, 2011 at 10:33 AM, Klaus Darilion <
klaus.mailinglists at 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 at gmail.com
> > <mailto:geoffreymina at 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 at tutpro.com
> > <mailto:jh at 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 at lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
--
Daniel-Constantin Mierla
http://www.asipto.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110310/0807a76a/attachment.htm>
More information about the sr-users
mailing list