anchor.diff:  %%           a new entry with a new Expire value
   %% Returns : The result of the mnesia:transaction()
   %%--------------------------------------------------------------------
  -insert_purge_phone(SipUser, Flags, Class, Expire, Address, CallId, CSeq) when is_record(Address, sipurl) ->
  +insert_purge_phone(SipUser, Flags, Class, Expire, Address, CallId, CSeq) when is_list(SipUser), is_list(Flags),
  +									      Class == static; Class == dynamic,
  +									      is_integer(Expire); Expire == never,
  +									      is_record(Address, sipurl),
  +									      is_list(CallId), is_integer(CSeq) ->
       %% We store locations as strings in the location database, since any
       %% datastructure could have to be changed in the future
       LocationStr = sipurl:print(Address),
  
positive.code: %%--------------------------------------------------------------------
  %% Function: create()
  %%           create(Servers)
  %% Descrip.: Put phone, user and numbers tables as disc_copies on
  %%           Servers
  %% Returns :
  
negative.code: 	  end,
      mnesia:transaction(Fun).
  
  
  %%--------------------------------------------------------------------
  %% Function: delete_location(User, Class, Address)
  %%           User    = string(), username (phone record 'number'
  %%                     element)
  %%           Class   = atom(), class of location (static | dynamic)
  %%           Address = string(), address to remove
  %% Descrip.: Delete a specific location from the location database. 
  %% Returns : The result of the mnesia:transaction()
  %%--------------------------------------------------------------------
  delete_location(User, Class, Address) when is_list(User), Class == static; Class == dynamic,
  					   is_list(Address) ->
      Fun = fun() ->
  		  A = mnesia:match_object(#phone{number = User,
  						 class = Class,
  						 address = Address,
  						 _ = '_'}),
  		  Delete = fun(O) ->
  				   mnesia:delete_object(O)
  			   end,
  		  lists:foreach(Delete, A)
  	  end,
      mnesia:transaction(Fun).
  
  %%--------------------------------------------------------------------
  %% Function: insert_user(User, Password, Flags, Classes)
  %%           User     = string()
  %%           Password = term()
  %%           Flags    = list() of atom()
  %%           Classes  = list() of atom()
  %% Descrip.: Create a new user.
  %% Returns : term(), result of Mnesia transaction
  %%--------------------------------------------------------------------
  insert_user(User, Password, Flags, Classes) when is_list(User), is_list(Flags), is_list(Classes) ->
      db_util:insert_record(#user{user = User,
  				password = Password,
  				flags = Flags,
  