Change in ...osmo-bsc[master]: gsm_08_08.c: always pick first msc for unsolicit paging responses

laforge gerrit-no-reply at lists.osmocom.org
Thu Aug 29 05:43:38 UTC 2019


laforge has submitted this change and it was merged. ( 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: I7f091ed1bbc2afe12656e42031e122144eeb6826
Related: SYS#4624
---
M src/osmo-bsc/gsm_08_08.c
1 file changed, 16 insertions(+), 3 deletions(-)

Approvals:
  Jenkins Builder: Verified
  neels: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c
index 4dc4883..43117a8 100644
--- a/src/osmo-bsc/gsm_08_08.c
+++ b/src/osmo-bsc/gsm_08_08.c
@@ -323,8 +323,8 @@
 	subscr = extract_sub(conn, msg);
 
 	if (!subscr) {
-		LOGP(DMSC, LOGL_ERROR, "Got paged but no subscriber found.\n");
-		return NULL;
+		LOGP(DMSC, LOGL_INFO, "Got paging response 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);
@@ -344,7 +344,20 @@
 		return msc;
 	}
 
-	LOGP(DMSC, LOGL_ERROR, "Got paged but no request found.\n");
+	LOGP(DMSC, LOGL_INFO, "Got paging response 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: 2
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <axilirator at gmail.com>
Gerrit-Reviewer: laforge <laforge at gnumonks.org>
Gerrit-Reviewer: neels <nhofmeyr at sysmocom.de>
Gerrit-CC: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190829/e254c404/attachment.html>


More information about the gerrit-log mailing list