<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    in failure route is given the SIP message as it was at the moment of
    transaction (e.g., the headers added/removed in request_route will
    be still kept there, but not those added in branch_route or other
    failure_route blocks).<br>
    <br>
    It would be good to get access to the attributes of the branch that
    was the winner in a parallel forking or the last of serial forking,
    but this is a new feature. Perhaps a class of PVs will do it. You
    can open a new item in tracker for feature request, so we don't
    forget about it.<br>
    <br>
    For now, you can keep store values in avp/xavp as you need to
    retrieve in failure route.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 19/12/13 10:42, Kelvin Chua wrote:<br>
    </div>
    <blockquote
cite="mid:CAMF97-eFf9-+H9eBV_0=Z81GM=NBgwwo1kOXq5SAZccvQUuBxw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>modparam("tm", "failure_reply_mode", 3)</div>
        <div>modparam("tm", "contacts_avp", "tm_contacts");</div>
        <div>modparam("tm", "contact_flows_avp", "tm_contact_flows");</div>
        <div>modparam("tm", "failure_reply_mode", 3)</div>
        <div>modparam("tm", "restart_fr_on_each_reply", 0)</div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>Kelvin Chua</div>
        <br>
        <br>
        <div class="gmail_quote">On Thu, Dec 19, 2013 at 3:57 PM,
          Daniel-Constantin Mierla <span dir="ltr"><<a
              moz-do-not-send="true" href="mailto:miconda@gmail.com"
              target="_blank">miconda@gmail.com</a>></span> wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> Can you share here
              the parameters you set for tm module?<span class="HOEnZb"><font
                  color="#888888"><br>
                  <br>
                  Daniel</font></span>
              <div>
                <div class="h5"><br>
                  <br>
                  <div>On 19/12/13 01:55, Kelvin Chua wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <p dir="ltr">Also noticed $ru pegged at the first
                      branch's ruri upon entering failure_route for
                      succeeding branches. Is this also an expected
                      behaviour? Should it not contain the ruri of the
                      previous failed branch?</p>
                    <div class="gmail_quote">On Dec 18, 2013 4:19 PM,
                      "Daniel-Constantin Mierla" <<a
                        moz-do-not-send="true"
                        href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>

                      wrote:<br type="attribution">
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
                          <br>
                          I will look over it -- I wanted to know
                          exactly the situation.<br>
                          <br>
                          Cheers,<br>
                          Daniel<br>
                           <br>
                          <div>On 17/12/13 15:54, Kelvin Chua wrote:<br>
                          </div>
                          <blockquote type="cite">
                            <p dir="ltr">Yes, a local timeout. The call
                              was sent to a bogus IP. i still feel this
                              behaviour is wrong. $rd in acc should
                              contain the failed gateway's ip and not
                              the previous one.</p>
                            <div class="gmail_quote">On Dec 17, 2013
                              4:43 PM, "Daniel-Constantin Mierla" <<a
                                moz-do-not-send="true"
                                href="mailto:miconda@gmail.com"
                                target="_blank">miconda@gmail.com</a>>


                              wrote:<br type="attribution">
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div bgcolor="#FFFFFF" text="#000000">
                                  It is a local timeout, not a 408
                                  received from callee, right?<br>
                                  <br>
                                  Daniel<br>
                                  <br>
                                  <div>On 17/12/13 05:16, Kelvin Chua
                                    wrote:<br>
                                  </div>
                                  <blockquote type="cite">
                                    <div dir="ltr">it's for a 408
                                      timeout logged into missed_calls</div>
                                    <div class="gmail_extra"><br
                                        clear="all">
                                      <div>Kelvin Chua</div>
                                      <br>
                                      <br>
                                      <div class="gmail_quote">On Mon,
                                        Dec 16, 2013 at 8:52 PM,
                                        Daniel-Constantin Mierla <span
                                          dir="ltr"><<a
                                            moz-do-not-send="true"
                                            href="mailto:miconda@gmail.com"
                                            target="_blank">miconda@gmail.com</a>></span>
                                        wrote:<br>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div bgcolor="#FFFFFF"
                                            text="#000000"> Hello,<br>
                                            <br>
                                            is it for a 200ok reply or
                                            >=300?<br>
                                            <br>
                                            In the code, the r-uri from
                                            the branch that is used for
                                            relaying the reply should be
                                            used.<br>
                                            <br>
                                            Cheers,<br>
                                            Daniel
                                            <div>
                                              <div><br>
                                                <br>
                                                <div>On 14/12/13 12:15,
                                                  Kelvin Chua wrote:<br>
                                                </div>
                                              </div>
                                            </div>
                                            <blockquote type="cite">
                                              <div>
                                                <div>
                                                  <div dir="ltr">
                                                    <div>
                                                      <div>
                                                        <div>this is the
                                                          2nd branch,
                                                          the first
                                                          branch is sent
                                                          to
                                                          100.200.30.40</div>
                                                        <div>$rd is set
                                                          properly
                                                          according to
                                                          xlog
                                                          (10.20.30.40).
                                                          tcpdump proves
                                                          packets are
                                                          sent to
                                                          10.20.30.40</div>
                                                        <div>however,
                                                          after failing,
                                                          ACC logs
                                                          dst_domain as
                                                          the previous
                                                          branch's $rd
                                                          (100.200.30.40),
                                                          not the
                                                          current one.</div>
                                                        <div>is this the
                                                          expected
                                                          behavior?
                                                          seems
                                                          incorrect.</div>
                                                        <div><br>
                                                        </div>
                                                        <div>modparam("acc",
"db_extra","src_user=$fU;src_domain=$fd;src_ip=$si;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;callrate=$avp(callrate)")</div>
                                                      </div>
                                                      <div><br>
                                                      </div>
                                                      <div>
                                                        <div>failure_route[SERIAL]
                                                          {</div>
                                                        <div>        if
                                                          (is_method("INVITE|SUBSCRIBE"))

                                                          {</div>
                                                        <div>           
                                                             
                                                          t_on_branch("MANAGE_BRANCH");</div>
                                                        <div>           
                                                             
                                                          t_on_reply("MANAGE_REPLY");</div>
                                                        <div>        }</div>
                                                        <div>        if
                                                          (
                                                          isbflagset(FLB_CANCEL)
                                                          ) {</div>
                                                        <div>           
                                                             
                                                          xlog("cancel
                                                          bflag
                                                          set!\n");</div>
                                                        <div>           
                                                              exit;</div>
                                                        <div>        }
                                                          else if (
                                                          !t_next_contacts()
                                                          ) {</div>
                                                        <div>          
                                                               
                                                          xlog("serial
                                                          fork
                                                          done!\n");</div>
                                                        <div>           
                                                             
                                                          t_reply("404",
                                                          "Not here or
                                                          busy");</div>
                                                        <div>           
                                                              exit;</div>
                                                        <div>        }
                                                          else {</div>
                                                        <div>           
                                                             
                                                          setflag(FLT_ACC);</div>
                                                        <div>           
                                                             
                                                          setflag(FLT_ACCMISSED);</div>
                                                        <div>           
                                                             
                                                          xlog("failure_route
                                                          new branch -
                                                          $ru\n");</div>
                                                        <div>           
                                                             
                                                          t_on_failure("SERIAL");</div>
                                                        <div>           
                                                             
                                                          $avp(callrate)
                                                          = "";</div>
                                                        <div>           
                                                              if (
                                                          $sel(ruri.params["rtmr"])
                                                          != $null ) {</div>
                                                        <div>           
                                                                     
                                                          t_set_fr($sel(ruri.params["rtmr"])*1000,$sel(ruri.params["dtmr"])*1000);</div>
                                                        <div>           
                                                                     
                                                          $avp(ABSOLUTE)
                                                          =
                                                          $sel(ruri.params["tmr"]);</div>
                                                        <div>           
                                                              }</div>
                                                        <div>           
                                                              if (
                                                          $sel(ruri.params["callrate"])
                                                          != $null )</div>
                                                        <div>           
                                                                     
                                                          $avp(callrate)
                                                          =
                                                          $sel(ruri.params["callrate"]);</div>
                                                        <div>           
                                                             
                                                          xlog("failure_route
                                                          sending INVITE
                                                          to $rd\n");</div>
                                                        <div>           
                                                              t_relay();</div>
                                                        <div>        }</div>
                                                        <div>}</div>
                                                      </div>
                                                      <div><br>
                                                      </div>
                                                      <div>ERROR:
                                                        <script>:
                                                        failure_route
                                                        sending INVITE
                                                        to 10.20.30.40</div>
                                                      <div>DEBUG:
                                                        <script>:
                                                        new branch [1]
                                                        to <a
                                                          moz-do-not-send="true">sip:14X88X72X2X@10.20.30.40:5060;dtmr=1;rtmr=20;tmr=60;callrate=0.007600000000</a></div>
                                                      <div>DEBUG:
                                                        siputils
                                                        [checks.c:103]:
                                                        has_totag(): no
                                                        totag</div>
                                                      <div>DEBUG:
                                                        rtpproxy
                                                        [rtpproxy_funcs.c:148]:
                                                        check_content_type():
                                                        type
                                                        <application/sdp>
                                                        found valid</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [parser/sdp/sdp_helpr_funcs.c:565]:
                                                        extract_mediaip():
                                                        located IP
                                                        address
                                                        [192.168.5.191]
                                                        in `o=' field</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [parser/sdp/sdp_helpr_funcs.c:565]:
                                                        extract_mediaip():
                                                        located IP
                                                        address
                                                        [192.168.5.191]
                                                        in `c=' field</div>
                                                      <div>DEBUG:
                                                        rtpproxy
                                                        [rtpproxy.c:2630]:
                                                        force_rtp_proxy():
                                                        proxy reply:
                                                        10370
                                                        2X8.1X1.3X.2X#012</div>
                                                      <div>DEBUG:
                                                        siputils
                                                        [checks.c:103]:
                                                        has_totag(): no
                                                        totag</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [msg_translator.c:461]:
                                                        clen_builder():
                                                        clen_builder:
                                                        content-length:
                                                        172 (172)</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [msg_translator.c:206]:
                                                        check_via_address():

                                                        check_via_address(1X5.2X2.1X7.1X0,

                                                        192.168.5.191,
                                                        0)</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [parser/sdp/sdp.c:793]:
                                                        free_sdp(): _sdp
                                                        = 0x7f53c9a5e580</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [parser/sdp/sdp.c:795]:
                                                        free_sdp(): sdp
                                                        = 0x7f53cb87d3e0</div>
                                                      <div>DEBUG:
                                                        <core>
                                                        [parser/sdp/sdp.c:797]:
                                                        free_sdp():
                                                        session =
                                                        0x7f53cb87d480</div>
                                                      <div>DEBUG: tm
                                                        [t_reply.c:1710]:
                                                        relay_reply():
                                                        DEBUG:
                                                        relay_reply:
                                                        branch=0,
                                                        save=0, relay=-1</div>
                                                      <div>DEBUG: tm
                                                        [t_reply.c:1211]:
                                                        t_should_relay_response():

                                                        ->>>>>>>>>

                                                        T_code=100,
                                                        new_code=408</div>
                                                      <div>DEBUG: tm
                                                        [t_hooks.c:288]:
                                                        run_trans_callbacks_internal():

                                                        DBG:
                                                        trans=0x7f53c1511148,
                                                        callback type
                                                        128, id 0
                                                        entered</div>
                                                      <div>DEBUG: acc
                                                        [acc_logic.c:539]:
                                                        tmcb_func(): acc
                                                        callback called
                                                        for
                                                        t(0x7f53c1511148)
                                                        event type 128,
                                                        reply code 408</div>
                                                      <div>NOTICE: acc
                                                        [acc.c:279]:
                                                        acc_log_request():
                                                        ACC: call
                                                        missed: <a
                                                          moz-do-not-send="true"
href="mailto:timestamp=1387019197;method=INVITE;from_tag=wyudf;to_tag=;call_id=cjfbdfydrjielti@X340saucy;code=408;reason=RequestTimeout;src_user=kelvin;src_domain=2X8.1X1.3X.2X;src_ip=1X5.2X2.1X7.1X0;dst_ouser=14X88X72X2X;dst_user=14X88X72X2X;dst_domain=100.200.30.40;callrate=0.007600000000"
target="_blank">timestamp=1387019197;method=INVITE;from_tag=wyudf;to_tag=;call_id=cjfbdfydrjielti@X340saucy;code=408;reason=RequestTimeout;src_user=kelvin;src_domain=2X8.1X1.3X.2X;src_ip=1X5.2X2.1X7.1X0;dst_ouser=14X88X72X2X;dst_user=14X88X72X2X;dst_domain=100.200.30.40;callrate=0.007600000000</a></div>
                                                    </div>
                                                    <div><br>
                                                    </div>
                                                    <br clear="all">
                                                    <div>Kelvin Chua</div>
                                                  </div>
                                                  <br>
                                                  <fieldset></fieldset>
                                                  <br>
                                                </div>
                                              </div>
                                              <pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a moz-do-not-send="true" href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><span><font color="#888888">
</font></span></pre>
                                              <span><font
                                                  color="#888888"> </font></span></blockquote>
                                            <span><font color="#888888">
                                                <br>
                                                <pre cols="72">-- 
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
                                              </font></span></div>
                                          <br>
_______________________________________________<br>
                                          SIP Express Router (SER) and
                                          Kamailio (OpenSER) - sr-users
                                          mailing list<br>
                                          <a moz-do-not-send="true"
                                            href="mailto:sr-users@lists.sip-router.org"
                                            target="_blank">sr-users@lists.sip-router.org</a><br>
                                          <a moz-do-not-send="true"
                                            href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
                                            target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
                                          <br>
                                        </blockquote>
                                      </div>
                                      <br>
                                    </div>
                                  </blockquote>
                                  <br>
                                  <pre cols="72">-- 
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
                                </div>
                              </blockquote>
                            </div>
                          </blockquote>
                          <br>
                          <pre cols="72">-- 
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
                        </div>
                      </blockquote>
                    </div>
                  </blockquote>
                  <br>
                  <pre cols="72">-- 
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a></pre>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a></pre>
  </body>
</html>