bts: Introduce new RACH req counters for one/two phase access
These new counters allow the user to find out which kind of access are
MS requesting.
Related: SYS#4878
Change-Id: Id87c3a53d3acee92499987c843130e358f54742c
diff --git a/src/bts.cpp b/src/bts.cpp
index 4ce036b..7974f41 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -137,6 +137,8 @@
{ "pch:requests:timeout", "PCH requests timeout "},
{ "rach:requests", "RACH requests received"},
{ "rach:requests:11bit", "11BIT_RACH requests received"},
+ { "rach:requests:one_phase", "One phase packet access with request for single TS UL"}, /* TS 52.402 B.2.1.49 */
+ { "rach:requests:two_phase", "Single block packet request for two phase packet access"}, /* TS 52.402 B.2.1.49 */
{ "spb:uplink_first_segment", "First seg of UL SPB "},
{ "spb:uplink_second_segment", "Second seg of UL SPB "},
{ "spb:downlink_first_segment", "First seg of DL SPB "},
@@ -897,12 +899,17 @@
if (rc) /* Send RR Immediate Assignment Reject */
goto send_imm_ass_rej;
- if (chan_req.single_block)
+ if (chan_req.single_block) {
+ bts_do_rate_ctr_inc(bts, CTR_RACH_REQUESTS_TWO_PHASE);
LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single block allocation\n");
- else if (bts->pcu->vty.force_two_phase) {
+ } else {
+ bts_do_rate_ctr_inc(bts, CTR_RACH_REQUESTS_ONE_PHASE);
LOGP(DRLCMAC, LOGL_DEBUG, "MS requests single TS uplink transmission "
- "(one phase packet access), but we force two phase access\n");
- chan_req.single_block = true;
+ "(one phase packet access)\n");
+ if (bts->pcu->vty.force_two_phase) {
+ LOGP(DRLCMAC, LOGL_DEBUG, "Forcing two phase access\n");
+ chan_req.single_block = true;
+ }
}
/* TODO: handle Radio Priority (see 3GPP TS 44.060, table 11.2.5a.5) */
diff --git a/src/bts.h b/src/bts.h
index 63f80a8..06eb07c 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -129,6 +129,8 @@
CTR_PCH_REQUESTS_TIMEDOUT,
CTR_RACH_REQUESTS,
CTR_RACH_REQUESTS_11BIT,
+ CTR_RACH_REQUESTS_ONE_PHASE,
+ CTR_RACH_REQUESTS_TWO_PHASE,
CTR_SPB_UL_FIRST_SEGMENT,
CTR_SPB_UL_SECOND_SEGMENT,
CTR_SPB_DL_FIRST_SEGMENT,