anchor.diff:  	Secret = ct:get_config(radius_shared_secret),
   	ReqAuth = radius:authenticator(),
      HiddenPassword = radius_attributes:hide(Secret, ReqAuth, Password),
  +	Socket = ?config(radius_nas_socket, Config),
   	authenticate_subscriber(Socket, AuthAddress, AuthPort, PeerID,
   			HiddenPassword, Secret, NasID, ReqAuth, RadID1, AcctSessionID),
   	RadID2 = RadID1 + 1,
  
positive.code: 	B1 = bucket(messages, Balance),
  	_BId = add_bucket(ProdRef, B1),
  	NumOfEvents = Balance div rand:uniform(5),
  	{ok, EnvList} = application:get_env(ocs, diameter),
  	{acct, [{Address, _Port, _Options } | _]} = lists:keyfind(acct, 1, EnvList),
  	{ok, _} = ocs:add_client(Address, undefined, diameter, undefined, true),
  	Ref = erlang:ref_to_list(make_ref()),
  	SId = diameter:session_id(Ref),
  	Subscription_Id = #'3gpp_ro_Subscription-Id'{
  
negative.code: %% Initialization before each test case.
  %%
  init_per_testcase(TestCase, Config) when
  		TestCase == radius_disconnect_session;
  		TestCase == radius_multisession_disallowed ->
  	NasID = erlang:ref_to_list(make_ref()),
  	{ok, Socket} = gen_udp:open(0, [{active, false}, inet, binary]),
  	{ok, Port} = inet:port(Socket),
  	Config1 = [{nas_id, NasID}, {radius_disc_port, Port},
  			{radius_disc_socket, Socket} | Config],
  	init_per_testcase1(TestCase, Config1);
  init_per_testcase(TestCase, Config) ->
  	NasID = erlang:ref_to_list(make_ref()),
  	Config1 = [{nas_id, NasID}, {radius_disc_port, undefined} | Config],
  	init_per_testcase1(TestCase, Config1).
  
  init_per_testcase1(TestCase, Config) when
  		TestCase == radius_accounting;
  		TestCase == radius_disconnect_session;
  		TestCase == radius_multisession_disallowed;
  		TestCase == radius_multisession ->
  	SharedSecret = ct:get_config(radius_shared_secret),
  	Address = ?config(radius_acct_address, Config),
  	DiscPort = ?config(radius_disc_port, Config),
  	{ok, Socket} = gen_udp:open(0, [{active, false}, inet, binary]),
  	{ok, _} = ocs:add_client(Address, DiscPort, radius, SharedSecret, true),
  	[{radius_nas_socket, Socket}, {radius_nas_client, Address} | Config];
  init_per_testcase1(TestCase, Config) when
  		TestCase == diameter_accounting;
  		TestCase == diameter_disconnect_session;
  		TestCase == diameter_sms ->
  	Address = ?config(diameter_acct_address, Config),
  	{ok, _} = ocs:add_client(Address, undefined, diameter, undefined, true),
  	Config.
  
  -spec end_per_testcase(TestCase :: atom(), Config :: [tuple()]) -> any().
  %% Cleanup after each test case.
  %%
  end_per_testcase(TestCase, Config) when
  		TestCase == radius_disconnect_session;
  		TestCase == radius_multisession_disallowed ->
  	Address = ?config(radius_nas_client, Config),
  	ok = ocs:delete_client(Address),
  	Socket = ?config(radius_disc_socket, Config),
  	gen_udp:close(Socket);
  end_per_testcase(TestCase, Config) when
  		TestCase == radius_accounting;
  		TestCase == radius_multisession ->
  	Address = ?config(radius_nas_client, Config),
  	ok = ocs:delete_client(Address);
  end_per_testcase(TestCase, Config) when
  		TestCase == diameter_accounting;
  		TestCase == diameter_disconnect_session;
  		TestCase == diameter_sms ->
  	Address = ?config(diameter_acct_address, Config),
  	ok = ocs:delete_client(Address).
  
  -spec sequences() -> Sequences :: [{SeqName :: atom(), Testcases :: [atom()]}].
  %% Group test cases into a test sequence.
  