diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 0c03bde..22df0cb 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -4153,16 +4153,57 @@
 	f_establish_fully(ass_cmd, exp_fail);
 }
 
+const CounterNameVals counternames_bsc_bts_assignment := {
+	{ "assignment:attempted", 0 },
+	{ "assignment:completed", 0 },
+	{ "assignment:stopped", 0 },
+	{ "assignment:no_channel", 0 },
+	{ "assignment:timeout", 0 },
+	{ "assignment:failed", 0 },
+	{ "assignment:error", 0 }
+};
+
+const CounterNameVals counternames_bts_assignment := {
+	{ "assignment:attempted_sign", 0 },
+	{ "assignment:attempted_speech", 0 },
+	{ "assignment:completed_sign", 0 },
+	{ "assignment:completed_speech", 0 },
+	{ "assignment:stopped_sign", 0 },
+	{ "assignment:stopped_speech", 0 },
+	{ "assignment:no_channel_sign", 0 },
+	{ "assignment:no_channel_speech", 0 },
+	{ "assignment:timeout_sign", 0 },
+	{ "assignment:timeout_speech", 0 },
+	{ "assignment:failed_sign", 0 },
+	{ "assignment:failed_speech", 0 },
+	{ "assignment:error_sign", 0 },
+	{ "assignment:error_speech", 0 }
+};
+
+function f_ctrs_bsc_and_bts_assignment_init(integer bts_count := NUM_BTS) runs on test_CT {
+	var CounterNameVals bts_names := counternames_bsc_bts_assignment & counternames_bts_assignment;
+	f_ctrs_bts_init(bts_count, bts_names);
+	f_ctrs_bsc_init(counternames_bsc_bts_assignment);
+}
+
 testcase TC_assignment_codec_fr() runs on test_CT {
 	var TestHdlrParams pars := f_gen_test_hdlr_pars();
 	var MSC_ConnHdlr vc_conn;
 
 	f_init(1, true);
 	f_sleep(1.0);
+	f_ctrs_bsc_and_bts_assignment_init(1);
 
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
+
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted", 1);
+	f_ctrs_bts_add(0, "assignment:attempted_speech", 1);
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed", 1);
+	f_ctrs_bts_add(0, "assignment:completed_speech", 1);
+	f_ctrs_bts_verify();
+
 	f_shutdown_helper();
 }
 
@@ -4172,10 +4213,18 @@
 
 	f_init(1, true);
 	f_sleep(1.0);
+	f_ctrs_bsc_and_bts_assignment_init(1);
 
 	pars.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecHR}));
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
+
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted", 1);
+	f_ctrs_bts_add(0, "assignment:attempted_speech", 1);
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed", 1);
+	f_ctrs_bts_add(0, "assignment:completed_speech", 1);
+	f_ctrs_bts_verify();
+
 	f_shutdown_helper();
 }
 
@@ -4258,10 +4307,17 @@
 	f_init(1, true);
 	f_sleep(1.0);
 	f_vty_amr_start_mode_set(true, "1");
+	f_ctrs_bsc_and_bts_assignment_init(1);
 
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
 
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted", 1);
+	f_ctrs_bts_add(0, "assignment:attempted_speech", 1);
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed", 1);
+	f_ctrs_bts_add(0, "assignment:completed_speech", 1);
+	f_ctrs_bts_verify();
+
 	f_vty_amr_start_mode_restore(true);
 	f_shutdown_helper();
 }
@@ -4286,10 +4342,17 @@
 	f_init(1, true);
 	f_sleep(1.0);
 	f_vty_amr_start_mode_set(false, "1");
+	f_ctrs_bsc_and_bts_assignment_init(1);
 
 	vc_conn := f_start_handler(refers(f_TC_assignment_codec), pars);
 	vc_conn.done;
 
+	f_ctrs_bsc_and_bts_add(0, "assignment:attempted", 1);
+	f_ctrs_bts_add(0, "assignment:attempted_speech", 1);
+	f_ctrs_bsc_and_bts_add(0, "assignment:completed", 1);
+	f_ctrs_bts_add(0, "assignment:completed_speech", 1);
+	f_ctrs_bts_verify();
+
 	f_vty_amr_start_mode_restore(false);
 	f_shutdown_helper();
 }
