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/.
Pau Espin Pedrol gerrit-no-reply at lists.osmocom.orgPau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/11654
Change subject: paging: Make default T3113 timeout dynamic
......................................................................
paging: Make default T3113 timeout dynamic
Change-Id: I4fb2969b690151415038631fb6ad059aa6835c7f
---
M src/osmo-bsc/net_init.c
M src/osmo-bsc/paging.c
2 files changed, 31 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/54/11654/1
diff --git a/src/osmo-bsc/net_init.c b/src/osmo-bsc/net_init.c
index 1199bdc..5ea564d 100644
--- a/src/osmo-bsc/net_init.c
+++ b/src/osmo-bsc/net_init.c
@@ -37,7 +37,7 @@
{ .T=3109, .default_val=5, .desc="RSL SACCH deactivation" },
{ .T=3111, .default_val=2, .desc="Wait time before RSL RF Channel Release" },
{ .T=993111, .default_val=4, .desc="Wait time after lchan was released in error (should be T3111 + 2s)" },
- { .T=3113, .default_val=10, .desc="Paging"},
+ { .T=3113, .default_val=7, .desc="Paging"},
{ .T=3115, .default_val=10, .desc="(unused)" },
{ .T=3117, .default_val=10, .desc="(unused)" },
{ .T=3119, .default_val=10, .desc="(unused)" },
diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c
index afe3245..a5fed32 100644
--- a/src/osmo-bsc/paging.c
+++ b/src/osmo-bsc/paging.c
@@ -287,6 +287,34 @@
paging_remove_request(&req->bts->paging, req);
}
+
+#define GSM_FRAME_DURATION_us 4615
+#define GSM51_MFRAME_DURATION_us (51 * GSM_FRAME_DURATION_us) /* 235365 us */
+static unsigned int calculate_timer_3113(struct gsm_bts *bts)
+{
+ unsigned int to_us, to;
+ struct T_def *d = T_def_get_entry(bts->network->T_defs, 3113);
+
+ /* VTY value overrides default dynamic value */
+ if (d->val != d->default_val)
+ return d->val;
+
+ /* TODO: take into account load of paging group for req->bsub */
+
+ /* MFRMS defines repeat interval of paging messages for MSs that belong
+ * to same paging group accross multiple 51 frame multiframes.
+ * MAXTRANS defines maximum number of RACH retransmissions.
+ */
+ to_us = GSM51_MFRAME_DURATION_us * (bts->si_common.chan_desc.bs_pa_mfrms + 2) *
+ bts->si_common.rach_control.max_trans;
+
+ /* ceiling in seconds + extra time */
+ to = (to_us + 999999) / 1000000 + d->default_val;
+ LOGP(DPAG, LOGL_DEBUG, "(bts=%d) Paging request calculated T3113 expires in %u seconds\n",
+ bts->nr, to);
+ return to;
+}
+
/*! Start paging + paging timer for given subscriber on given BTS
* \param bts BTS on which to page
* \param[in] bsub subscriber we want to page
@@ -317,7 +345,8 @@
req->chan_type = type;
req->msc = msc;
osmo_timer_setup(&req->T3113, paging_T3113_expired, req);
- osmo_timer_schedule(&req->T3113, T_def_get(bts->network->T_defs, 3113, T_S, -1), 0);
+ int t3113_timeout_s = calculate_timer_3113(bts);
+ osmo_timer_schedule(&req->T3113, t3113_timeout_s, 0);
llist_add_tail(&req->entry, &bts_entry->pending_requests);
paging_schedule_if_needed(bts_entry);
--
To view, visit https://gerrit.osmocom.org/11654
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4fb2969b690151415038631fb6ad059aa6835c7f
Gerrit-Change-Number: 11654
Gerrit-PatchSet: 1
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181107/ae54cf8d/attachment.htm>