[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