Yes, accessing the AVP without an index returns the same value as accessing with index 0.
Ben Newlin From: <Podrigal>, Aron Reply-To: OpenSIPS users mailling list Date: Wednesday, July 1, 2015 at 8:33 PM To: OpenSIPS users mailling list Subject: Re: [OpenSIPS-Users] Route_to_gw not pushing gw_id to the first index of avp On Jul 1, 2015 3:44 PM, "Newlin, Ben" <ben.new...@inin.com<mailto:ben.new...@inin.com>> wrote: > > Sorry, actually the documentation confused me. > > You are correct in the way that it should work if the do_routing() and > route_to_gw() are really pushing the functions on the end of the AVP. > However, they must not be doing that because that is not the operation. To > modify your example: > > # first time avp_gw_id is set > is_from_gw(, i); # function adds gw1 to AVP > > If I access the AVP without an index I get gw1. > > route_to_gw("gw2,gw3,gw4"); > # function adds gw2, gw3, gw4 to AVP > > If I access the AVP without an index I still get gw1. Accessing AVP[1] gives > gw2. Is that that accessing the avp without a index the same as accessing AVP[0]? > > Ben Newlin > > From: <Newlin>, "Newlin, Ben" > > Reply-To: OpenSIPS users mailling list > Date: Wednesday, July 1, 2015 at 2:40 PM > > To: OpenSIPS users mailling list > Subject: Re: [OpenSIPS-Users] Route_to_gw not pushing gw_id to the first > index of avp > > No, that is wrong. > > "If no index is given, the first value will be returned.” [1] > > [1] http://www.opensips.org/Documentation/Script-CoreVar-1-11#toc2 > > Ben Newlin > > From: <Podrigal>, Aron > Reply-To: OpenSIPS users mailling list > Date: Wednesday, July 1, 2015 at 1:29 PM > To: OpenSIPS users mailling list > Subject: Re: [OpenSIPS-Users] Route_to_gw not pushing gw_id to the first > index of avp > > When accessing an avp without explicit index isn't it returning the last > index? > > # first time svp_gw_id is set > is_from_gw(, i); # avp now has (1) > > route_to_gw("gw2,gw3,gw4"); > # avp now has (gw1, gw2); > > if we now access the avp, we can either get explicitly the specific index, or > we get the last index which is `gw2`. > So if I'm not mistaken, then I don't understand what the problem is here? > > > Correct me if this is wrong. > > On Wed, Jul 1, 2015 at 11:46 AM, Newlin, Ben > <ben.new...@inin.com<mailto:ben.new...@inin.com>> wrote: >> >> I found similar behavior in my implementation, except that I use >> dr_routing() instead of route_to_gw(). When the AVP is already populated, >> these functions simply push on the end. This may be an implementation >> decision, but it is certainly not intuitive or what I expected. >> >> I am currently using the same workaround of clearing out the AVPs prior to >> each DROUTING module call that populates them. >> >> Ben Newlin >> >> From: Patrick Wakano >> Reply-To: OpenSIPS users mailling list >> Date: Wednesday, July 1, 2015 at 11:41 AM >> To: OpenSIPS users mailling list >> Subject: Re: [OpenSIPS-Users] Route_to_gw not pushing gw_id to the first >> index of avp >> >> Hello Aron, >> After calling is_from_gw("-1","i") I don't need to use the index, because it >> is the only value hold by the avp, but later in my script, if I call >> route_to_gw() and use $avp(dr_gw_id), it still has the value previously >> pushed by is_from_gw(). Then to get the gw id pushed by route_to_gw() I have >> either to use the avp index (e.g. $avp(dr_gw_id)[1]) or I set $avp(dr_gw_id) >> to null before calling route_to_gw() (which is what I am doing now). >> >> >> On Wed, Jul 1, 2015 at 9:50 AM, Podrigal, Aron >> <ar...@guaranteedplus.com<mailto:ar...@guaranteedplus.com>> wrote: >>> >>> I guess pushing to the last index of the avp is what's expected. >>> >>> But how did you retrieve the gw_id from is_from_gw, did you use an explicit >>> index? >>> >>> On Jul 1, 2015 8:16 AM, "Patrick Wakano" >>> <pwak...@gmail.com<mailto:pwak...@gmail.com>> wrote: >>>> >>>> Hello Opensips list, >>>> >>>> When using the route_to_gw() function, I noticed that the gw_id that is >>>> pushed back to the avp wasn't matching the address actually selected by >>>> the drouting engine. >>>> After some investigation I noticed that earlier in my script I was calling >>>> the is_from_gw() function with the 'i' flag which also pushes the gw_id to >>>> the avp and this was the value I was seeing in my avp after calling the >>>> route_to_gw(). >>>> By debuging with the avp_print() function I could see that the >>>> route_to_gw() does not pushes the gw_id to first index of the avp, but to >>>> the end of it. Any reason for that or is it a bug? >>>> >>>> Regards, >>>> >>>> Patrick >>>> >>>> _______________________________________________ >>>> Users mailing list >>>> Users@lists.opensips.org<mailto:Users@lists.opensips.org> >>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>> >>> >>> _______________________________________________ >>> Users mailing list >>> Users@lists.opensips.org<mailto:Users@lists.opensips.org> >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >> >> >> _______________________________________________ >> Users mailing list >> Users@lists.opensips.org<mailto:Users@lists.opensips.org> >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > > > -- > Aron Podrigal > - > //Be happy :-) > > _______________________________________________ > Users mailing list > Users@lists.opensips.org<mailto:Users@lists.opensips.org> > http://lists.opensips.org/cgi-bin/mailman/listinfo/users >
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users