aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/bsc/gsm_data.h2
-rw-r--r--src/osmo-bsc/paging.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 1e7e88fe5..d2f6c0972 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1397,6 +1397,7 @@ enum bts_counter_id {
BTS_CTR_PAGING_ATTEMPTED,
BTS_CTR_PAGING_ALREADY,
BTS_CTR_PAGING_RESPONDED,
+ BTS_CTR_PAGING_RESPONDED_ELSEWHERE,
BTS_CTR_PAGING_EXPIRED,
BTS_CTR_PAGING_NO_ACTIVE_PAGING,
BTS_CTR_PAGING_MSC_FLUSH,
@@ -1444,6 +1445,7 @@ static const struct rate_ctr_desc bts_ctr_description[] = {
[BTS_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber."},
[BTS_CTR_PAGING_ALREADY] = {"paging:already", "Paging attempts ignored as subscriber was already being paged."},
[BTS_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful paging response."},
+ [BTS_CTR_PAGING_RESPONDED_ELSEWHERE] = {"paging:responded_elsewhere", "Paging attempts with paging response received on another BTS with the same LAC."},
[BTS_CTR_PAGING_EXPIRED] = {"paging:expired", "Paging Request expired because of timeout T3113."},
[BTS_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)."},
[BTS_CTR_PAGING_MSC_FLUSH] = {"paging:msc_flush", "Paging flushed due to MSC Reset BSSMAP message."},
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index 7b89dad9b..34afcddbb 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -441,7 +441,9 @@ void paging_request_stop(struct llist_head *bts_list,
/* Sort of an optimization. */
if (bts == _bts)
continue;
- _paging_request_stop(bts, bsub, NULL, NULL);
+ if (_paging_request_stop(bts, bsub, NULL, NULL) == 0) {
+ rate_ctr_inc(&bts->bts_ctrs->ctr[BTS_CTR_PAGING_RESPONDED_ELSEWHERE]);
+ }
}
log_set_context(LOG_CTX_BSC_SUBSCR, NULL);
}