anchor.diff:      transportlayer:send_proxy_request(none, Request, Request#request.uri, []);
   
   %%
  -%% CANCEL
  -%%
  -request(Request, Origin, LogStr) when record(Request, request), record(Origin, siporigin), Request#request.method == "CANCEL" ->
  +%% CANCEL or BYE
  +%%
  +%% These requests cannot be challenged, since they can't be resubmitted. Bypass
  +%% check of authorized From: address
  +request(Request, Origin, LogStr) when record(Request, request), record(Origin, siporigin), Request#request.method == "CANCEL"; Request#request.method == "BYE" ->
       do_request(Request, Origin);
   
   %%
  -%% Request other than REGISTER, ACK or CANCEL
  +%% Request other than REGISTER, ACK, CANCEL or BYE
   %%
   request(Request, Origin, LogStr) when record(Request, request), record(Origin, siporigin) ->
       {_, FromURI} = sipheader:from(keylist:fetch("From", Request#request.header)),
  
positive.code: 	    proxy_request(THandler, Request, Loc, []);
  	{redirect, Loc} ->
  	    logger:log(normal, "~s: incomingproxy: Redirect ~s", [LogTag, sipurl:print(Loc)]),
  	    Contact = [{none, Location}],
  	    ExtraHeaders = [{"Contact", sipheader:contact_print(Contact)}],
  	    transactionlayer:send_response_handler(THandler, 302, "Moved Temporarily", ExtraHeaders);
  	{relay, Loc} ->
  
negative.code: 			    transactionlayer:send_response_handler(THandler, Status, Reason);
  			{siperror, Status, Reason, ExtraHeaders} ->
  			    transactionlayer:send_response_handler(THandler, Status, Reason, ExtraHeaders);
  			{'EXIT', Reason} ->
  			    logger:log(error, "=ERROR REPORT==== siplocation:process_register_isauth() failed :~n~p~n",
  				       [Reason]),
  			    transactionlayer:send_response_handler(THandler, 500, "Server Internal Error");
  			_ ->
  			    true
  		    end;
  