anchor.diff:      State2 = State#sip_ua_state{requests = Dict},
   
       % transaction failure, let's retry with new transaction, see 8.1.2
  -    next_destination(Reason, ReqInfo, State2);
  +    send_to_next(Reason, ReqInfo, State2);
   handle_info(_Req, State) ->
       {stop, unexpected, State}.
  -
   
   %% @private
   -spec terminate(term(), #sip_ua_state{}) -> ok.
  
positive.code:             Request2 = Request#sip_message{kind = Kind#sip_request{uri = URI}},
              Destinations = lookup_destinations(Request2),
              ReqInfo2 = ReqInfo#req_info{request = Request2, destinations = Destinations, target_set = TargetSet2},
              next_destination(Reason, ReqInfo2, State)
      end;
  next_destination(_Reason, #req_info{request = Request, destinations = [Top | Fallback]} = ReqInfo, State) ->
      % send request to the top destination
      {ok, TxKey} = sip_transaction:start_client_tx(self(), Top, Request),
  
  
negative.code: 
  
  -spec handle_response(term(), #sip_message{}, #sip_ua_state{}) -> any().
  handle_response(_UserData, #sip_message{kind = #sip_response{status = Status}} = Request, State)
    when Status >= 300, Status =< 399 ->
      % handle automatic redirect.
      process_redirect(Request, State);
  handle_response(_UserData, _Msg, State) ->
      {noreply, State}.
  
  %%-----------------------------------------------------------------
  %% Internal functions
  