[OpenSIPS-Users] Getting header from 302

David Villasmil david.villasmil.work at gmail.com
Tue Jun 1 18:41:46 EST 2021


The thing is I _want_ to drop the 302, I don't want to do anything else
with it.

Regards,

David Villasmil
email: david.villasmil.work at gmail.com
phone: +34669448337


On Tue, Jun 1, 2021 at 6:46 PM Jeff Pyle <jeff at ugnd.org> wrote:

> In my experience you don't need drop() in the reply route.  Just store
> the AVP and move on.  Something like this:
>
> onreply_route[collect_identity] {
>     if (is_present_hf("Identity")) {
>         $avp(identity) := $hdr(Identity);
>         setflag("GOT_IDENTITY");
>     }
> }
>
> If you've armed both the reply and failure routes with t_on_reply() and
> t_on_failure(), the $avp(identity) variable set here will be available in
> the failure_route.  The GOT_IDENTITY flag, too.
>
>
> - Jeff
>
>
>
> - Jeff
>
>
> On Tue, Jun 1, 2021 at 11:20 AM David Villasmil <
> david.villasmil.work at gmail.com> wrote:
>
>> Yes, I see it is documented.
>>
>> So the reply header is only availanble on the "onreply" route, not on the
>> "failure" route. That was my problem. I do indeed use an avp to store the
>> header.
>> I ended up getting the header on the "onreply" and storing it in an avp,
>> set a flag and then drop(). I noticed the "failure" route is then executed.
>> From there I can send the processing to the invite route and by  checking
>> the flag, adding the header from the avp.
>>
>> Thanks for your help!
>>
>> Regards,
>>
>> David Villasmil
>> email: david.villasmil.work at gmail.com
>> phone: +34669448337
>>
>>
>> On Tue, Jun 1, 2021 at 3:52 PM Ben Newlin <Ben.Newlin at genesys.com> wrote:
>>
>>> It’s documented that it works this way. The message being processed in
>>> failure_route is the original request; in reply_route it’s the reply. [1]
>>>
>>>
>>>
>>> You can use variable context to access the reply from failure_route [2].
>>> Another option would be to extract the header value into and AVP in
>>> reply_route and then reference the AVP from failure_route.
>>>
>>>
>>>
>>>
>>>
>>> [1] - https://www.opensips.org/Documentation/Script-Routes-3-2
>>>
>>> [2] - https://www.opensips.org/Documentation/Script-CoreVar-3-2
>>>
>>>
>>>
>>> Ben Newlin
>>>
>>>
>>>
>>> *From: *Users <users-bounces at lists.opensips.org> on behalf of David
>>> Villasmil <david.villasmil.work at gmail.com>
>>> *Date: *Tuesday, June 1, 2021 at 10:43 AM
>>> *To: *OpenSIPS users mailling list <users at lists.opensips.org>
>>> *Subject: *Re: [OpenSIPS-Users] Getting header from 302
>>>
>>> Yeah, my thing is when i use the failure route i can in theory grab the
>>> response header and ignore the 302 and send to the invite route again to
>>> actually send the call out via do_routing.
>>>
>>> What I'm trying to do is:
>>>
>>> - On receiving an invite: forward to an endpoint.
>>>
>>> - This endpoint will simply reply with 302 including a header.
>>>
>>> - I want to grab that header and continue routing normally (do_routing)
>>>
>>>
>>>
>>> I could do that with the failure route, but not so sure about the
>>> onreply route.
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Jun 1, 2021 at 2:34 PM Jeff Pyle <jeff at ugnd.org> wrote:
>>>
>>> I don't think you're doing anything wrong.  I think I found the same
>>> thing, that headers on the reply were available only in a reply route and
>>> not in a failure route.  If you know where to look for them to populate the
>>> AVP, I suppose it doesn't matter much.
>>>
>>>
>>>
>>> I haven't looked at the code but I suspect all the routes other than an
>>> onreply_route give you access to the requests headers, and onreply_route
>>> gives you access to the reply headers.  Makes sense I guess.
>>>
>>>
>>>
>>>
>>>
>>> - Jeff
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Jun 1, 2021 at 9:31 AM David Villasmil <
>>> david.villasmil.work at gmail.com> wrote:
>>>
>>> Thanks Jeff,
>>>
>>>
>>>
>>> MMM, that's strange, I was using it on failure route and the route was
>>> being executed, but the data wasn't there. I put it on the onreply route
>>> and that one is now executed with the data correctly there...
>>>
>>>
>>>
>>> I probably did something wrong.
>>>
>>>
>>>
>>> Thanks again Jeff!
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>>
>>>
>>>
>>>
>>> On Tue, Jun 1, 2021 at 12:37 PM Jeff Pyle <jeff at ugnd.org> wrote:
>>>
>>> In which route are you trying to use if (is_present_hf("Identity"))?
>>> Since the 302 is both a reply and a "failure", I suggest seeing if it
>>> appears in either the armed onreply_route or failure_route.
>>>
>>>
>>>
>>> I think From is available because it was present in the original request
>>> route.
>>>
>>>
>>>
>>>
>>>
>>> - Jeff
>>>
>>>
>>>
>>> On Tue, Jun 1, 2021 at 5:39 AM David Villasmil <
>>> david.villasmil.work at gmail.com> wrote:
>>>
>>> Anyone has any idea about this? Appreciate your help.
>>>
>>>
>>>
>>> On Mon, 31 May 2021 at 21:11, David Villasmil <
>>> david.villasmil.work at gmail.com> wrote:
>>>
>>> So weird,
>>>
>>> I can get the From header, but not "Identity"...
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>>
>>>
>>>
>>>
>>> On Mon, May 31, 2021 at 8:22 PM David Villasmil <
>>> david.villasmil.work at gmail.com> wrote:
>>>
>>> This is really weird,
>>>
>>>
>>>
>>> if (is_present_hf("Identity"))
>>>
>>>
>>>
>>> says it is not present, but it is!
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>>
>>>
>>>
>>>
>>> On Mon, May 31, 2021 at 7:47 PM David Villasmil <
>>> david.villasmil.work at gmail.com> wrote:
>>>
>>> Hello Guys,
>>>
>>>
>>>
>>> I'm getting a header on a 302 which i'm trying to get, but for some
>>> reason I can't.
>>>
>>>
>>>
>>> This is an example 302:
>>>
>>>
>>>
>>> 2021/05/31 18:42:36.499157 10.231.32.237:5060 -> 10.231.57.11:6075
>>> SIP/2.0 302 Redirect
>>> Via: SIP/2.0/UDP 1.2.3.4
>>> :6075;branch=z9hG4bKd8e8.50036ee6.0;received=10.231.57.11
>>> Via: SIP/2.0/UDP
>>> 10.231.33.135;branch=z9hG4bKd8e8.fe2738f41d26b2b68328691c326a077a.0
>>> v:SIP/2.0/UDP 10.231.49.211:6060
>>> ;received=10.231.49.211;rport=6060;branch=z9hG4bK68SgceeareaUa
>>> f:"+18883333333"<sip:+18883333333 at 10.231.49.211>;tag=ZBQ713X9pgD5S
>>> t:<sip:19992222222 at domain.com
>>> >;tag=9dd61ff61e802d8e2bef5f14621ef3c2.50cf6b6c
>>> i:cf649a38-3ce2-123a-eaad-122eaa5d9655
>>> CSeq:36689486 INVITE
>>> Identity:
>>> eyJhbGciOiJFUzI1NiIsInBwdCI6InNoYWtlbiIsInR5cCI6InBhc3Nwb3J0IiwieDV1IjoiaHR0cHM6Ly9vcHMtc3RhdGljLnMzLmFtYXpvbmF3cy5jb20vc3Rpci1zaGFrZW4vZWMyNTYtcHVibGljLnBlbSJ9.eyJhdHRlc3QiO
>>>
>>> BIiwiZGVzdCI6eyJ0biI6WyIxNzg2NDEwNzgzNyJdfSwiaWF0IjoxNjIyNDg2NTU2LCJvcmlnIjp7InRuIjoiKzEzMTU5ODUyNTk0In0sIm9yaWdpZCI6IjhlZGE4M2Q1LWY1MjEtNDQzZC1iNDI0LWIzNDQ3MDc4ZjYxZCJ9.cjIz9VwlS9_6qA
>>>
>>> 6mmDgottk41BLpQcA40HdvV_6jAPqQ1EIL3_jLWl25oHeVEWOzTMhcERp4Jn-JZ4vP_n3w;info=<
>>> https://somedomain.com/stir-shaken/ec256-public.pem
>>> >;alg=ES256;ppt=shaken
>>> Server: kamailio (5.5.0 (x86_64/linux))
>>> Content-Length: 0
>>>
>>>
>>>
>>> I'm trying to get the "Identity" header with:
>>>
>>>
>>>
>>> $avp(identity_header) = $(hdr(Identity));
>>>
>>>
>>>
>>> But It's coming up <null>
>>>
>>>
>>>
>>> Any ideas of what I'm doing wrong?
>>>
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>> --
>>>
>>> Regards,
>>>
>>>
>>>
>>> David Villasmil
>>>
>>> email: david.villasmil.work at gmail.com
>>>
>>> phone: +34669448337
>>>
>>> _______________________________________________
>>> 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
>>>
>>> _______________________________________________
>>> 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
>>
> _______________________________________________
> 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/20210601/371e59b6/attachment-0001.html>


More information about the Users mailing list