anchor.diff:  diameter_accounting() ->
   	[{userdata, [{doc, "Initiate and terminate a DIAMETER accounting session"}]}].
   
  -diameter_accounting(Config) ->
  -	Username = ?config(username, Config),
  +diameter_accounting(_Config) ->
  +	P1 = price(usage, octets, rand:uniform(10000), rand:uniform(100)),
  +	OfferId = add_offer([P1], 4),
  +	ProdRef = add_product(OfferId),
  +	Username = list_to_binary(ocs:generate_identity()),
  +	Password = ocs:generate_identity(),
  +	{ok, #service{}} = ocs:add_service(Username, Password, ProdRef, []),
  +	B1 = bucket(octets, 100000000000),
  +	_BId = add_bucket(ProdRef, B1),
   	Ref = erlang:ref_to_list(make_ref()),
   	SId = diameter:session_id(Ref),
   	RequestNum = 0,
  
positive.code: 	disconnect_request(DiscPort),
  	access_accept(Socket, Address, Port, RadID).
  
  
negative.code: 	#radius{code = Code, id = RadID} = radius:codec(RespPacket).
  
  access_request(Socket, Address, Port, UserName, Secret,
  		NasID, Auth, RadID, AcctSessionID, RadAttributes)
  		when is_binary(UserName) ->
  	access_request(Socket, Address, Port, binary_to_list(UserName),
  			Secret, NasID, Auth, RadID, AcctSessionID, RadAttributes);
  access_request(Socket, Address, Port, UserName, Secret,
  		NasID, Auth, RadID, AcctSessionID, RadAttributes) ->
  	A1 = session_attributes(UserName, NasID, AcctSessionID, RadAttributes),
  	A2 = radius_attributes:add(?MessageAuthenticator, <<0:128>>, A1),
  