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/.
dexter gerrit-no-reply at lists.osmocom.orgdexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/15209
Change subject: gsm_08_08.c: always pick first msc for unsolicit paging responses
......................................................................
gsm_08_08.c: always pick first msc for unsolicit paging responses
When osmo-bsc receives a paging response via the A-bis interface it
tries to find the MSC which is in charge for the paging. This is due to
the fact that osmo-bsc supports multiple msc connections, which is not
specified by 3gpp specs.
In an MT-CSFB call the MSC pages the UE via the SGs interface. Then the
UE falls back to 2G. It then reports back as MS on the A-Bis interface
with the paging response directly. In those cases osmo-bsc will not be
able to determine an MSC in charge, so we will forward the paging
response to the first configured MSC.
Change-Id: I633870030fad35d0a29dfafd6d118e2caa4ec3c9
Related SYS#4624
Change-Id: I7f091ed1bbc2afe12656e42031e122144eeb6826
---
M src/osmo-bsc/gsm_08_08.c
1 file changed, 16 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/09/15209/1
diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 6ca5455..6dbb1b0 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -325,8 +325,8 @@
subscr = extract_sub(conn, msg);
if (!subscr) {
- LOGP(DMSC, LOGL_ERROR, "Got paged but no subscriber found.\n");
- return NULL;
+ LOGP(DMSC, LOGL_ERROR, "Got paged but no subscriber found, will now (blindly) deliver the paging response to the first configured MSC!\n");
+ goto blind;
}
pag_msc = paging_get_msc(conn_get_bts(conn), subscr);
@@ -346,7 +346,20 @@
return msc;
}
- LOGP(DMSC, LOGL_ERROR, "Got paged but no request found.\n");
+ LOGP(DMSC, LOGL_ERROR, "Got paged but no request found, will now (blindly) deliver the paging response to the first configured MSC!\n");
+
+blind:
+ /* In the case of an MT CSFB call we will get a paging response from
+ * the BTS without a preceding paging request via A-Interface. In those
+ * cases the MSC will page the subscriber via SGs interface, so the BSC
+ * can not know about the paging in advance. In those cases we can not
+ * know the MSC which is in charge. The only meaningful option we have
+ * is to deliver the paging response to the first configured MSC
+ * blindly. */
+ msc = llist_first_entry_or_null(&bsc->mscs, struct bsc_msc_data, entry);
+ if (msc)
+ return msc;
+ LOGP(DMSC, LOGL_ERROR, "Unable to find any suitable MSC to deliver paging response!\n");
return NULL;
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/15209
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7f091ed1bbc2afe12656e42031e122144eeb6826
Gerrit-Change-Number: 15209
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190814/52cf343f/attachment.htm>