diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c
index 2869bba..03830de 100644
--- a/src/libmsc/gsm_04_08_cc.c
+++ b/src/libmsc/gsm_04_08_cc.c
@@ -161,7 +161,7 @@
 	/* state incoming */
 	switch (new_state) {
 	case GSM_CSTATE_ACTIVE:
-		osmo_counter_inc(trans->net->active_calls);
+		osmo_stat_item_inc(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);
 		rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_ACTIVE]);
 		break;
 	}
@@ -169,7 +169,7 @@
 	/* state outgoing */
 	switch (old_state) {
 	case GSM_CSTATE_ACTIVE:
-		osmo_counter_dec(trans->net->active_calls);
+		osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_CALLS], 1);
 		if (new_state == GSM_CSTATE_DISCONNECT_REQ ||
 				new_state == GSM_CSTATE_DISCONNECT_IND)
 			rate_ctr_inc(&msc->ctr[MSC_CTR_CALL_COMPLETE]);
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c
index 79fcb5a..8a13cda 100644
--- a/src/libmsc/gsm_09_11.c
+++ b/src/libmsc/gsm_09_11.c
@@ -32,6 +32,7 @@
 
 #include <osmocom/core/linuxlist.h>
 #include <osmocom/core/rate_ctr.h>
+#include <osmocom/core/stat_item.h>
 #include <osmocom/core/utils.h>
 #include <osmocom/core/msgb.h>
 
@@ -158,7 +159,7 @@
 			ncss_session_timeout_handler, trans);
 
 		/* Count active NC SS/USSD sessions */
-		osmo_counter_inc(net->active_nc_ss);
+		osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
 
 		trans->dlci = OMSC_LINKID_CB(msg);
 		trans->msc_a = msc_a;
@@ -362,7 +363,7 @@
 	}
 
 	/* Count active NC SS/USSD sessions */
-	osmo_counter_inc(net->active_nc_ss);
+	osmo_stat_item_inc(net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
 
 	/* Init inactivity timer */
 	osmo_timer_setup(&trans->ss.timer_guard,
@@ -414,7 +415,7 @@
 	osmo_timer_del(&trans->ss.timer_guard);
 
 	/* One session less */
-	osmo_counter_dec(trans->net->active_nc_ss);
+	osmo_stat_item_dec(trans->net->statg->items[MSC_STAT_ACTIVE_NC_SS], 1);
 }
 
 int gsm0911_gsup_rx(struct gsup_client_mux *gcm, void *data, const struct osmo_gsup_message *gsup_msg)
diff --git a/src/libmsc/msc_net_init.c b/src/libmsc/msc_net_init.c
index 4a752bf..11920f3 100644
--- a/src/libmsc/msc_net_init.c
+++ b/src/libmsc/msc_net_init.c
@@ -35,6 +35,8 @@
 	{}
 };
 
+#include <osmocom/core/stat_item.h>
+
 struct gsm_network *gsm_network_init(void *ctx, mncc_recv_cb_t mncc_recv)
 {
 	struct gsm_network *net;
@@ -66,8 +68,13 @@
 		talloc_free(net);
 		return NULL;
 	}
-	net->active_calls = osmo_counter_alloc("msc.active_calls");
-	net->active_nc_ss = osmo_counter_alloc("msc.active_nc_ss");
+
+	net->statg = osmo_stat_item_group_alloc(net, &msc_statg_desc, 0);
+	if (!net->statg) {
+		rate_ctr_group_free(net->msc_ctrs);
+		talloc_free(net);
+		return NULL;
+	}
 
 	net->mncc_tdefs = mncc_tdefs;
 	net->mncc_recv = mncc_recv;
