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 -> 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>;tag=5447 To: <sip:123456@ my-domain.com:5060>;tag=6Dyya5c1yvpQK Call-ID: 21726 CSeq: 20 INVITE *Contact: "unknown" <sip:123456@10.0.0.109 <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> 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