ASCI: Add two new transaction types for VGCS and VBS

- TRANS_GCC is used for the voice group call.
- TRANS_BCC for the voice broadcast call.

This also includes the use counters for transaction and CM service
request usage:
- MSC_A_USE_GCC
- MSC_A_USE_BCC
- MSC_A_USE_CM_SERVICE_BCC
- MSC_A_USE_CM_SERVICE_GCC

Change-Id: Iddd11f813582ac2ac2bdee91cc3a525986deb514
Related: OS#4854
diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c
index b9aaeaa..5a5bb8a 100644
--- a/src/libmsc/msc_a.c
+++ b/src/libmsc/msc_a.c
@@ -488,6 +488,16 @@
 			 __func__);
 		return true;
 	}
+	if (osmo_use_count_by(&msc_a->use_count, MSC_A_USE_CM_SERVICE_GCC)) {
+		LOG_MSC_A(msc_a, LOGL_DEBUG, "%s: still awaiting MO GCC request after a CM Service Request\n",
+			 __func__);
+		return true;
+	}
+	if (osmo_use_count_by(&msc_a->use_count, MSC_A_USE_CM_SERVICE_BCC)) {
+		LOG_MSC_A(msc_a, LOGL_DEBUG, "%s: still awaiting MO BCC request after a CM Service Request\n",
+			 __func__);
+		return true;
+	}
 	if (osmo_use_count_by(&msc_a->use_count, MSC_A_USE_CM_SERVICE_SMS)) {
 		LOG_MSC_A(msc_a, LOGL_DEBUG, "%s: still awaiting MO SMS after a CM Service Request\n",
 			 __func__);
@@ -873,6 +883,8 @@
 		MSC_A_USE_CM_SERVICE_CC,
 		MSC_A_USE_CM_SERVICE_SMS,
 		MSC_A_USE_CM_SERVICE_SS,
+		MSC_A_USE_CM_SERVICE_GCC,
+		MSC_A_USE_CM_SERVICE_BCC,
 		MSC_A_USE_PAGING_RESPONSE,
 	};
 
@@ -1955,6 +1967,12 @@
 	case GSM48_CMSERV_SUP_SERV:
 		return MSC_A_USE_CM_SERVICE_SS;
 
+	case GSM48_CMSERV_VGCS:
+		return MSC_A_USE_CM_SERVICE_GCC;
+
+	case GSM48_CMSERV_VBS:
+		return MSC_A_USE_CM_SERVICE_BCC;
+
 	default:
 		return NULL;
 	}