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;
}
diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c
index 21f0b8b..9fc4682 100644
--- a/src/libmsc/transaction.c
+++ b/src/libmsc/transaction.c
@@ -351,6 +351,8 @@
}
const struct value_string trans_type_names[] = {
+ { TRANS_GCC, "GCC" },
+ { TRANS_BCC, "BCC" },
{ TRANS_CC, "CC" },
{ TRANS_SMS, "SMS" },
{ TRANS_USSD, "NCSS" },
@@ -361,6 +363,10 @@
uint8_t trans_type_to_gsm48_proto(enum trans_type type)
{
switch (type) {
+ case TRANS_GCC:
+ return GSM48_PDISC_GROUP_CC;
+ case TRANS_BCC:
+ return GSM48_PDISC_BCAST_CC;
case TRANS_CC:
case TRANS_SILENT_CALL:
return GSM48_PDISC_CC;