Change in osmo-bsc[master]: gsm_04_08_rr: fix hopping parameters in RR Assignment Command

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/.

fixeria gerrit-no-reply at lists.osmocom.org
Tue Jun 30 11:38:14 UTC 2020


fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/19063 )


Change subject: gsm_04_08_rr: fix hopping parameters in RR Assignment Command
......................................................................

gsm_04_08_rr: fix hopping parameters in RR Assignment Command

According to 3GPP TS 44.018, section 9.1.2.4, if at least one of
the Channel Description IEs indicates frequency hopping, one and
only one of the following IEs shall be present:

  - Mobile Allocation, after time (see 10.5.2.21);
  - Frequency List, after time (see 10.5.2.13).

For some reason, osmo-bsc includes the GSM48_IE_MA_BEFORE instead
of GSM48_IE_MA_AFTER - fix this.

According to section 9.1.2.6 of the same document, if any of the
Mobile Allocation IEs (before/after time) is present, then the
network must ensure that either the MS has already received the
the proper reference cell frequency list (CA), or that the Cell
Channel Description IE (see 10.5.2.1b) is present.

Without this IE, the phone I was using in my testing setup sends
RR Status message with cause #100 "conditional IE error".

Fortunately, we already have generate_cell_chan_list(), since we
also need to include the Cell Channel Description in SI Type 1.

Change-Id: I43ef66c109b107ebcaa1cb6197637701b13b3787
Related: SYS#4868, OS#4545, OS#4546
---
M src/osmo-bsc/gsm_04_08_rr.c
1 file changed, 9 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/19063/1

diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c
index 8a74aab..2fca5dd 100644
--- a/src/osmo-bsc/gsm_04_08_rr.c
+++ b/src/osmo-bsc/gsm_04_08_rr.c
@@ -44,6 +44,7 @@
 #include <osmocom/bsc/gsm_08_08.h>
 #include <osmocom/bsc/gsm_data.h>
 
+extern int generate_cell_chan_list(uint8_t *chan_list, struct gsm_bts *bts);
 
 int gsm48_sendmsg(struct msgb *msg)
 {
@@ -576,13 +577,18 @@
 	gsm48_lchan2chan_desc(&ass->chan_desc, lchan);
 	ass->power_command = power_command;
 
-	/* optional: cell channel description */
+	/* Cell Channel Description (freq. hopping), TV (see 3GPP TS 44.018, 10.5.2.1b) */
+	if (lchan->ts->hopping.enabled) {
+		uint8_t *chan_desc = msgb_put(msg, 1 + 16); /* tag + fixed length */
+		generate_cell_chan_list(chan_desc + 1, dest_lchan->ts->trx->bts);
+		chan_desc[0] = GSM48_IE_CELL_CH_DESC;
+	}
 
 	msgb_tv_put(msg, GSM48_IE_CHANMODE_1, lchan->tch_mode);
 
-	/* mobile allocation in case of hopping */
+	/* Mobile Allocation (freq. hopping), TLV (see 3GPP TS 44.018, 10.5.2.21) */
 	if (lchan->ts->hopping.enabled) {
-		msgb_tlv_put(msg, GSM48_IE_MA_BEFORE, lchan->ts->hopping.ma_len,
+		msgb_tlv_put(msg, GSM48_IE_MA_AFTER, lchan->ts->hopping.ma_len,
 			     lchan->ts->hopping.ma_data);
 	}
 

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I43ef66c109b107ebcaa1cb6197637701b13b3787
Gerrit-Change-Number: 19063
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200630/a11f3af7/attachment.htm>


More information about the gerrit-log mailing list