diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 22c94d4..003df49 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -45,6 +45,11 @@
 import from Osmocom_CTRL_Types all;
 import from Osmocom_CTRL_Adapter all;
 
+import from StatsD_Types all;
+import from StatsD_CodecPort all;
+import from StatsD_CodecPort_CtrlFunct all;
+import from StatsD_Checker all;
+
 import from Osmocom_VTY_Functions all;
 import from TELNETasp_PortType all;
 
@@ -471,6 +476,9 @@
 	var MGCP_Emulation_CT vc_MGCP;
 	port TELNETasp_PT BSCVTY;
 
+	/* StatsD */
+	var StatsD_Checker_CT vc_STATSD;
+
 	var RAN_Adapter g_bssap[NUM_MSC];
 	/* for old legacy-tests only */
 	port BSSAP_CODEC_PT BSSAP;
@@ -504,6 +512,8 @@
 	integer mp_bsc_rsl_port := 3003;
 	/* port number to which to establish the IPA CTRL connection */
 	integer mp_bsc_ctrl_port := 4249;
+	/* port number to which to listen for STATSD metrics */
+	integer mp_bsc_statsd_port := 8125;
 	/* IP address at which the test binds */
 	charstring mp_test_ip := "127.0.0.1";
 
@@ -898,6 +908,8 @@
 	}
 
 	var my_BooleanList allow_attach := { false, false, false };
+	f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port);
+
 	for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) {
 		allow_attach[bssap_idx] := true;
 		/* Call a function of our 'parent component' RAN_Adapter_CT to start the
@@ -2777,6 +2789,7 @@
 	connect(vc_conn:BSSAP, g_bssap[bssap_idx].vc_RAN:CLIENT);
 	connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT);
 	connect(vc_conn:MGCP_MULTI, vc_MGCP:MGCP_CLIENT_MULTI);
+	connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC);
 }
 
 function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit)
@@ -2938,7 +2951,15 @@
 	var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, omit);
 	var PDU_BSSAP ass_cmd := f_gen_ass_req();
 	ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeSIGNAL);
+
+	f_statsd_reset();
 	f_establish_fully(ass_cmd, exp_compl);
+
+	var StatsDExpects expect := {
+		{ name := "TTCN3.bsc.0.assignment.attempted", mtype := "c", min := 1, max := 1},
+		{ name := "TTCN3.bsc.0.assignment.completed", mtype := "c", min := 1, max := 1}
+	};
+	f_statsd_expect(expect);
 }
 
 testcase TC_assignment_sign() runs on test_CT {
