Change in osmo-pcu[master]: bts_pch_timer: Avoid resend Paging Request over PCUIF if T3113 is armed

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Mon Nov 8 18:21:56 UTC 2021


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/26168 )


Change subject: bts_pch_timer: Avoid resend Paging Request over PCUIF if T3113 is armed
......................................................................

bts_pch_timer: Avoid resend Paging Request over PCUIF if T3113 is armed

Let's avoid flooding the BTS and taking CCCH resources for no good
reason. If user configures everything correctly, the SGSN should not
attempt a retry after similar timer >= T3113.

Related: OS#5297
Change-Id: I2a77714648d16ccff2a340ce775e83dcc5ffe707
---
M src/bts.cpp
M src/bts.h
M src/bts_pch_timer.c
M src/bts_pch_timer.h
M src/gprs_bssgp_pcu.c
5 files changed, 9 insertions(+), 5 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/26168/1

diff --git a/src/bts.cpp b/src/bts.cpp
index d053396..2aee8e1 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -134,6 +134,7 @@
 	{ "llc:dl_bytes",               "RLC encapsulated PDUs"},
 	{ "llc:ul_bytes",               "full PDUs received   "},
 	{ "pch:requests",		"PCH requests sent    "},
+	{ "pch:requests:already",	"PCH requests on subscriber already being paged"},
 	{ "pch:requests:timeout",	"PCH requests timeout "},
 	{ "rach:requests",		"RACH requests received"},
 	{ "rach:requests:11bit",	"11BIT_RACH requests received"},
diff --git a/src/bts.h b/src/bts.h
index d0119b6..2615d26 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -126,6 +126,7 @@
 	CTR_LLC_DL_BYTES,
 	CTR_LLC_UL_BYTES,
 	CTR_PCH_REQUESTS,
+	CTR_PCH_REQUESTS_ALREADY,
 	CTR_PCH_REQUESTS_TIMEDOUT,
 	CTR_RACH_REQUESTS,
 	CTR_RACH_REQUESTS_11BIT,
diff --git a/src/bts_pch_timer.c b/src/bts_pch_timer.c
index 644b516..b616420 100644
--- a/src/bts_pch_timer.c
+++ b/src/bts_pch_timer.c
@@ -41,7 +41,7 @@
 	return NULL;
 }
 
-static struct bts_pch_timer *bts_pch_timer_get_by_imsi(struct gprs_rlcmac_bts *bts, const char *imsi)
+struct bts_pch_timer *bts_pch_timer_get_by_imsi(struct gprs_rlcmac_bts *bts, const char *imsi)
 {
 	struct bts_pch_timer *p;
 
@@ -77,10 +77,6 @@
 	struct bts_pch_timer *p;
 	struct osmo_tdef *tdef;
 
-	/* We already have a timer running for this IMSI */
-	if (bts_pch_timer_get_by_imsi(bts, imsi))
-		return;
-
 	p = talloc_zero(bts, struct bts_pch_timer);
 	llist_add_tail(&p->entry, &bts->pch_timer);
 	p->bts = bts;
diff --git a/src/bts_pch_timer.h b/src/bts_pch_timer.h
index 3e47161..cc5dcb0 100644
--- a/src/bts_pch_timer.h
+++ b/src/bts_pch_timer.h
@@ -42,6 +42,7 @@
 			 const char *imsi);
 void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const struct GprsMs *ms);
 void bts_pch_timer_stop_all(struct gprs_rlcmac_bts *bts);
+struct bts_pch_timer *bts_pch_timer_get_by_imsi(struct gprs_rlcmac_bts *bts, const char *imsi);
 
 #ifdef __cplusplus
 }
diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c
index 424a381..4328e07 100644
--- a/src/gprs_bssgp_pcu.c
+++ b/src/gprs_bssgp_pcu.c
@@ -320,6 +320,11 @@
 
 	/* FIXME: look if MS is attached a specific BTS and then only page on that one? */
 	llist_for_each_entry(bts, &the_pcu->bts_list, list) {
+		if (bts_pch_timer_get_by_imsi(bts, mi_imsi.imsi)) {
+			LOGP(DBSSGP, LOGL_INFO, "PS-Paging request already pending for IMSI=%s\n", mi_imsi.imsi);
+			bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS_ALREADY);
+			continue;
+		}
 		if (gprs_rlcmac_paging_request(bts, &paging_mi, pgroup) < 0)
 			continue;
 		bts_pch_timer_start(bts, &paging_mi, mi_imsi.imsi);

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/26168
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I2a77714648d16ccff2a340ce775e83dcc5ffe707
Gerrit-Change-Number: 26168
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211108/341926c3/attachment.htm>


More information about the gerrit-log mailing list