anchor.diff:      #sipmsg{class={resp, Code, _Reason}, cseq_method=Method} = Resp,
       TransId = nksip_call_uac:transaction_id(Resp),
       case lists:keyfind(TransId, #trans.trans_id, Trans) of
  -        #trans{class=uac, from=From}=UAC -> 
  +        #trans{class=uac, from=From, ruri=RUri}=UAC -> 
               IsProxy = case From of {fork, _} -> true; _ -> false end,
               DialogId = nksip_call_uac_dialog:uac_id(Resp, IsProxy, Call),
  -            Resp1 = Resp#sipmsg{dialog_id=DialogId},
  +            Resp1 = Resp#sipmsg{ruri=RUri, dialog_id=DialogId},
               case is_prack_retrans(Resp1, UAC) of
                   true ->
                       ?call_info("UAC received retransmission of reliable provisional "
  
positive.code:         Iter < ?MAX_422_TRIES
      of 
          true ->
              case nksip_sipmsg:header(Resp, <<"Min-SE">>, integers) of
                  [RespMinSE] ->
                      #call{opts=#call_opts{app_opts=AppOpts}} = Call,
  
negative.code: 
  
  %% @private 
  -spec received_auth(nksip:request(), nksip:response(), 
                         nksip_call:trans(), nksip_call:call()) ->
      nksip_call:call().
  
  received_auth(Req, Resp, UAC, Call) ->
       #trans{
          id = Id,
          opts = Opts,
  