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.w...@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.w...@gmail.com > phone: +34669448337 > > > On Tue, Jun 1, 2021 at 3:52 PM Ben Newlin <ben.new...@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-boun...@lists.opensips.org> on behalf of David >> Villasmil <david.villasmil.w...@gmail.com> >> *Date: *Tuesday, June 1, 2021 at 10:43 AM >> *To: *OpenSIPS users mailling list <users@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.w...@gmail.com >> >> phone: +34669448337 >> >> >> >> >> >> On Tue, Jun 1, 2021 at 2:34 PM Jeff Pyle <j...@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.w...@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.w...@gmail.com >> >> phone: +34669448337 >> >> >> >> >> >> On Tue, Jun 1, 2021 at 12:37 PM Jeff Pyle <j...@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.w...@gmail.com> wrote: >> >> Anyone has any idea about this? Appreciate your help. >> >> >> >> On Mon, 31 May 2021 at 21:11, David Villasmil < >> david.villasmil.w...@gmail.com> wrote: >> >> So weird, >> >> I can get the From header, but not "Identity"... >> >> >> Regards, >> >> >> >> David Villasmil >> >> email: david.villasmil.w...@gmail.com >> >> phone: +34669448337 >> >> >> >> >> >> On Mon, May 31, 2021 at 8:22 PM David Villasmil < >> david.villasmil.w...@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.w...@gmail.com >> >> phone: +34669448337 >> >> >> >> >> >> On Mon, May 31, 2021 at 7:47 PM David Villasmil < >> david.villasmil.w...@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@10.231.49.211>;tag=ZBQ713X9pgD5S >> t:<sip:19992222...@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.w...@gmail.com >> >> phone: +34669448337 >> >> -- >> >> Regards, >> >> >> >> David Villasmil >> >> email: david.villasmil.w...@gmail.com >> >> phone: +34669448337 >> >> _______________________________________________ >> Users mailing list >> 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 >> >> _______________________________________________ >> Users mailing list >> 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 >> >> _______________________________________________ >> Users mailing list >> 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 >
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users