anchor.diff:      end.
   
   send_result(Request, Socket, Status, Reason, ExtraHeaders) ->
  -    case transactionlayer:send_response_request(Request, Status, Reason, ExtraHeaders) of
  -	ok -> ok;
  -	_ ->
  -	    {Method, URI, Header, Body} = Request,
  -	    logger:log(error, "Sipserver: Failed sending caught error ~p ~s (in response to ~s ~s) " ++
  -	    		"using transaction layer - sending directly on the socket we received the request on",
  -	    		[Status, Reason, Method, sipurl:print(URI)]),
  -	    transportlayer:send_result(Header, Socket, "", Status, Reason, ExtraHeaders)
  +    {Method, URI, _, _} = Request,
  +    case Method of
  +	"ACK" ->
  +	    logger:log(normal, "Sipserver: Suppressing application error response ~p ~s in response to ACK ~s",
  +			[Status, Reason, sipurl:print(URI)]);
  +	_ ->
  +	    case transactionlayer:send_response_request(Request, Status, Reason, ExtraHeaders) of
  +		ok -> ok;	
  +		_ ->
  +		    {Method, URI, Header, Body} = Request,
  +		    logger:log(error, "Sipserver: Failed sending caught error ~p ~s (in response to ~s ~s) " ++
  +	    			"using transaction layer - sending directly on the socket we received the request on",
  +	    			[Status, Reason, Method, sipurl:print(URI)]),
  +		    transportlayer:send_result(Header, Socket, "", Status, Reason, ExtraHeaders)
  +	    end
       end.
   
   internal_error(Request, Socket) ->
  
positive.code: url2str(URL) ->
      sipurl:print(URL).
  
  sanity_check_uri(Desc, {none, _, _, _, _, _}, Header) ->
      throw({sipparseerror, Header, 400, "No user part in " ++ Desc ++ " URL"});
  sanity_check_uri(Desc, {_, _, none, _, _}, Header) ->
  
negative.code: 	    true
      end;
  check_packet({response, Status, Reason, Header, Body}, Origin) ->
      sanity_check_contact("From", Header),
      sanity_check_contact("To", Header).
  
  check_for_loop(Header, URI, Method) ->
      LoopCookie = siprequest:get_loop_cookie(Header, URI),
  