anchor.diff:  %%           our users identity.
   %% Returns:  true | false | drop
   %%--------------------------------------------------------------------
  -verify_homedomain_user(Request, LogTag) when is_record(Request, request) ->
  +verify_homedomain_user(Request, LogTag, Origin, LogStr) when is_record(Request, request), is_list(LogTag),
  +							     is_record(Origin, siporigin), is_list(LogStr) ->
       Method = Request#request.method,
       Header = Request#request.header,
       case sipserver:get_env(always_verify_homedomain_user, true) of
  
positive.code: 			    transactionlayer:send_challenge_request(Request, proxy, false, none),
  			    drop;
  			_ ->
  			    false
  		    end;
  		Unknown ->
  
negative.code:     case local:can_register(NewHeader, ToURL) of
  	{{true, _}, SIPuser} ->
  	    Contacts = sipheader:contact(Header),
  	    logger:log(debug, "~s: user ~p, registering contact(s) : ~p",
  		       [LogTag, SIPuser, sipheader:contact_print(Contacts)]),
  	    %% RFC 3261 chapter 10.3 - Processing REGISTER Request - step 6, step 7 and step 8
  	    case catch siplocation:process_register_isauth(LogTag ++ ": incomingproxy",
  							   NewHeader, SIPuser, Contacts) of
  		{ok, {Status, Reason, ExtraHeaders}} ->
  		    transactionlayer:send_response_handler(THandler, Status, Reason, ExtraHeaders),
  		    %% Make event about user sucessfully registered
  		    L = [{register, ok}, {user, SIPuser},
  			 {contacts, sipheader:contact_print(Contacts)}],
  		    event_handler:generic_event(normal, location, LogTag, L),
  		    ok;
  		{siperror, Status, Reason} ->
  		    transactionlayer:send_response_handler(THandler, Status, Reason);
  		{siperror, Status, Reason, ExtraHeaders} ->
  