anchor.diff:  		    StopRes = mnesia:stop(),
   		    StartRes = mnesia:start(),
   		    logger:log(debug, "Mnesia stop() -> ~p, start() -> ~p", [StopRes, StartRes]),
  -		    find_remote_mnesia_tables1(OrigTableList, OrigTableList, Count + 1);
  +		    find_remote_mnesia_tables1(Supervisor, OrigTableList, OrigTableList, Count + 1);
   		Count == 6 ->
   		    logger:log(error, "Could not initiate remote Mnesia tables ~p, exiting.", [BadTabList]),
   		    logger:quit(none),
   		    erlang:fault("Mnesia table init error", RemoteMnesiaTables);
   		true ->
   		    logger:log(debug, "Still waiting for tables ~p", [BadTabList]),
  -		    find_remote_mnesia_tables1(OrigTableList, BadTabList, Count + 1)
  +		    find_remote_mnesia_tables1(Supervisor, OrigTableList, BadTabList, Count + 1)
   	    end
       end.
   
  
positive.code:     end.
  
  find_remote_mnesia_tables(RemoteMnesiaTables, Supervisor) ->
      logger:log(debug, "Initializing remote Mnesia tables ~p (supervisor is ~p)", [RemoteMnesiaTables, Supervisor]),
      find_remote_mnesia_tables1(RemoteMnesiaTables, RemoteMnesiaTables, 0).
  
  find_remote_mnesia_tables1(OrigTableList, RemoteMnesiaTables, Count) ->
      case mnesia:wait_for_tables(RemoteMnesiaTables, 10000) of
  	ok ->
  	    {"proxy started, all tables found", []};
  	{timeout, BadTabList} ->
  	    if
  		Count == 3 ->
  
negative.code:     case keylist:fetch(Name, Header) of
  	[Str] ->
  	    case sipheader:from([Str]) of
  		{_, URI} when record(URI, sipurl) ->
  		    sanity_check_uri(Type, Name ++ ":", URI, Header);
  		_ ->
  		    throw({sipparseerror, Type, Header, 400, "Invalid " ++ Name ++ ": header"})
  