[OpenSIPS-Users] can not get uac_redirect to work

Babak Yakhchali babak.yakhchali at gmail.com
Tue Nov 15 13:02:22 UTC 2022


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:123456 at my-domain.com>;tag=5447
To: <sip:123456@ my-domain.com:5060>;tag=6Dyya5c1yvpQK
Call-ID: 21726
CSeq: 20 INVITE
*Contact: "unknown" <sip:123456 at 10.0.0.109 <sip%3A123456 at 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 at 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 at 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 at 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!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20221115/01478191/attachment.html>


More information about the Users mailing list