Hi Babak,

Are you somehow doing any fix_nated_contact() for that 302 reply?? (maybe in the onreply_route)

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Bootcamp 5-16 Dec 2022, online
  https://www.opensips.org/training/OpenSIPS_eBootcamp_2022/

On 11/15/22 3:02 PM, Babak Yakhchali wrote:
Hi
I'm tryin to handle 302 redirect replies to opensips, In my failure route I have this:

if (t_check_status("30[12]") && $(<reply>hdr(X-xferByCharger))== "true") {

      xlog("failure_route: redirect by charger to $(<reply>hdr(Contact))");
      ....

      if (get_redirects(1,1)){
          xlog("failure_route: after redirect ru:$ru and du:$du");
           t_relay();
      }
        exit;
}

and the 302 msg is:
2022/11/15 15:29:25.253868 10.0.0.82:5060 <http://10.0.0.82:5060> -> 10.0.0.192:5060 <http://10.0.0.192:5060>
SIP/2.0 302 Moved Temporarily
Via: SIP/2.0/UDP 10.0.0.192:5060;branch=z9hG4bK4897.63b48a64.0
Via: SIP/2.0/UDP 172.18.120.236:49276;received=80.191.36.252;rport=49276;branch=z9hG4bK14771
Max-Forwards: 69
From: "" <sip:123...@my-domain.com <mailto:sip%3a123...@my-domain.com>>;tag=5447 To: <sip:123456@ my-domain.com:5060 <http://my-domain.com:5060>>;tag=6Dyya5c1yvpQK
Call-ID: 21726
CSeq: 20 INVITE
*Contact: "unknown" <sip:123456@10.0.0.109 <mailto:sip%3A123456@10.0.0.109>>* User-Agent: FreeSWITCH-mod_sofia/1.9.0+git~20190122T161705Z~5ac757ce54~64bit
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY
Supported: timer, path, replaces
Allow-Events: talk, hold, conference, refer
Reason: Q.850;cause=31;text="NORMAL_UNSPECIFIED"
Content-Length: 0

and opensips logs:
Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:get_redirect: resume branch=0 Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:get_redirect: checking branch=0 (added=0) Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:get_redirect: branch=0 is a redirect (added=0) Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:core:parse_headers: flags=ffffffffffffffff *Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:sort_contacts: sort_contacts: <sip:123456@10.0.0.82:5060 <http://sip:123456@10.0.0.82:5060>> q=10* Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:shmcontact2dset: 1 contacts remaining after filtering and sorting Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:uac_redirect:shmcontact2dset: adding contact <sip:123456@10.0.0.82:5060 <http://sip:123456@10.0.0.82:5060>> Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:core:pv_get_dsturi: no destination URI Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:tracer:is_id_traced: trace=on dyn=off Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:tracer:is_id_traced: trace=on dyn=off Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:tracer:sip_context_trace_impl: name hep_tid, hash 1710534437, type 0, traceable on Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:proto_hep:add_hep_chunk: Chunk with (id=17; vendor=0) not found! Creating! Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:proto_hep:add_hep_chunk: Hep chunk with (id=17; vendor=0) successfully built! Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: DBG:core:mk_proxy: doing DNS lookup... Nov 15 15:52:12 lta-opensips-stage /usr/sbin/opensips[40099]: failure_route: after redirect *ru:sip:123456@10.0.0.82:5060 <http://ru:sip:123456@10.0.0.82:5060> and du:<null>*

Reading uac_redirect docs I expect that Contact header to be used as a new destination but the original ru is used again!


_______________________________________________
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

Reply via email to