anchor.diff:  %%           {ok, SipSocket, UsedBranch} |
   %%           Reason     = string()
   %%           SipSocket  = sipsocket record(), the socket used
  -%%           UsedBranch = string(), the complete branch finally used 
  +%%           UsedBranch = string(), the complete branch finally used
   %% Note    : To use this function, you should already have called
   %%           check_proxy_request (directly or indirectly).
   %%--------------------------------------------------------------------
  -send_proxy_request(Socket, Request, Dst, ViaParameters) 
  +send_proxy_request(Socket, Request, Dst, ViaParameters)
     when is_record(Socket, sipsocket); Socket == none, is_record(Request, request), is_record(Dst, sipdst) ->
       IP = Dst#sipdst.addr,
       Port = Dst#sipdst.port,
  
positive.code: 	    NewHeader1 = siprequest:proxy_add_via(Header, OrigURI, ViaParameters, Proto),
  	    NewHeader2 = siprequest:fix_content_length(NewHeader1, Body),
  	    BinLine1 = list_to_binary([Method, " ", sipurl:print(Dst#sipdst.uri), " SIP/2.0"]),
  	    BinMsg = siprequest:binary_make_message(BinLine1, NewHeader2, list_to_binary(Body)),
  	    SendRes = sipsocket:send(SipSocket, Proto, IP, Port, BinMsg),
  	    case SendRes of
  		ok ->
  		    logger:log(debug, "Siprequest (transport layer) : sent request(dst=~s) :~n~s~n",
  			       [DestStr, binary_to_list(BinMsg)]),
  		    TopVia = sipheader:topvia(NewHeader2),
  		    UsedBranch = lists:flatten(sipheader:get_via_branch_full(TopVia)),
  		    {ok, SipSocket, UsedBranch};
  		{error, E} ->
  		    logger:log(debug, "Siprequest (transport layer) : Failed sending message to ~p:~s:~p, error ~p",
  			       [Proto, IP, Port, E]),
  		    {error, E}
  	    end
      end.
  
  send_result(RequestHeader, Socket, Body, Status, Reason)
    when is_record(RequestHeader, keylist), is_record(Socket, sipsocket); Socket == none,
         is_list(Body), is_integer(Status), is_list(Reason) ->
      Response1 = #response{status=Status, reason=Reason,
  			  header=siprequest:standardcopy(RequestHeader, [])},
      Response = siprequest:set_response_body(Response1, Body),
  
negative.code: 
  send_result(RequestHeader, Socket, Body, Status, Reason, ExtraHeaders)
    when is_record(RequestHeader, keylist), is_record(Socket, sipsocket); Socket == none,
         is_binary(Body); is_list(Body), is_integer(Status), is_list(Reason), is_record(ExtraHeaders, keylist) ->
      Response1 = #response{status=Status, reason=Reason,
  			  header=siprequest:standardcopy(RequestHeader, ExtraHeaders)},
      Response = siprequest:set_response_body(Response1, Body),
  