[OpenSIPS-Users] Route_to_gw not pushing gw_id to the first index of avp
Podrigal, Aron
aronp at guaranteedplus.com
Thu Jul 2 02:33:16 CEST 2015
On Jul 1, 2015 3:44 PM, "Newlin, Ben" <Ben.Newlin at 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.Newlin at 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 <aronp at 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" <pwakano at 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 at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>
>
>
> --
> Aron Podrigal
> -
> //Be happy :-)
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150701/0bee19a6/attachment-0001.htm>
More information about the Users
mailing list