jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34556?usp=email )
Change subject: fixup ASCI: Add group receive and transmit mode support to MM laye
......................................................................
fixup ASCI: Add group receive and transmit mode support to MM laye
Change-Id: Ia6d0ac341b4b80199b344e04068ac152d7cc2ee7
---
M src/host/layer23/src/mobile/gsm48_mm.c
1 file changed, 11 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/56/34556/1
diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c
index 809b777..b68cb38 100644
--- a/src/host/layer23/src/mobile/gsm48_mm.c
+++ b/src/host/layer23/src/mobile/gsm48_mm.c
@@ -4824,7 +4824,7 @@
GSM48_MM_EVENT_IMSI_DETACH, gsm48_mm_imsi_detach_start},
/* 4.2.2.7 Receiving Group Call (Normal service) */
- // There are event handlers for group call in this implementation.
+ // In this implementation, no events are allowed in this service state while receiving a group call.
/* 4.2.2.2 Attempt to update / Loc. upd. needed */
{SBIT(GSM48_MM_ST_MM_IDLE), SBIT(GSM48_MM_SST_ATTEMPT_UPDATE) |
@@ -4862,7 +4862,7 @@
GSM48_MM_EVENT_TIMEOUT_T3212, gsm48_mm_loc_upd_delay_per}, /* 4.4.2 */
/* 4.2.2.8 Receiving Group Call (Limited service) */
- // There are event handlers for group call in this implementation.
+ // In this implementation, no events are allowed in this service state while receiving a group call.
/* 4.2.2.4 No IMSI */
/* 4.2.2.5 PLMN search, normal service */
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34556?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ia6d0ac341b4b80199b344e04068ac152d7cc2ee7
Gerrit-Change-Number: 34556
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newchange
jolly has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34528?usp=email )
(
3 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: ASCI: Add interface for group receive/transmit mode support to RR layer
......................................................................
ASCI: Add interface for group receive/transmit mode support to RR layer
This patch includes new messages and description. The are used to bring
RR layer into group receive mode and from there in group transmit mode
and back.
Related: OS#5364
Change-Id: I1abd56c63d15af1cff8bde7589a571cb5bb5506f
---
M src/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
M src/host/layer23/src/mobile/gsm48_rr.c
2 files changed, 48 insertions(+), 0 deletions(-)
Approvals:
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/src/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h b/src/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
index fb07cc9..6bc2f28 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/gsm48_rr.h
@@ -23,6 +23,15 @@
#define GSM48_RR_ABORT_REQ 0x60
#define GSM48_RR_ABORT_IND 0x62
#define GSM48_RR_ACT_REQ 0x70
+/* These are non-stadard primitives, used for group receive/transmit modes. */
+#define GSM48_RR_GROUP_REQ 0x80 /* Join a group channel in group receive mode. */
+#define GSM48_RR_GROUP_CNF 0x81 /* Group channel has been joined. */
+#define GSM48_RR_GROUP_REL_REQ 0x84 /* Release group channel. */
+#define GSM48_RR_GROUP_REL_IND 0x86 /* Group channel has been released or failed. */
+#define GSM48_RR_UPLINK_REQ 0x90 /* Request uplink for group transmit mode. */
+#define GSM48_RR_UPLINK_CNF 0x91 /* Access granted. */
+#define GSM48_RR_UPLINK_REL_REQ 0x94 /* Release uplink for group receive mode. */
+#define GSM48_RR_UPLINK_REL_IND 0x96 /* Access denied or failed or uplink released. */
#define RR_EST_CAUSE_EMERGENCY 1
#define RR_EST_CAUSE_REESTAB_TCH_F 2
@@ -45,6 +54,8 @@
#define RR_REL_CAUSE_EMERGENCY_ONLY 6
#define RR_REL_CAUSE_LOST_SIGNAL 7
#define RR_REL_CAUSE_LINK_FAILURE 8
+#define RR_REL_CAUSE_UPLINK_BUSY 9
+#define RR_REL_CAUSE_UPLINK_REJECTED 10
#define RR_SYNC_CAUSE_CIPHERING 1
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c
index df762d8..e5e2162 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -34,6 +34,21 @@
* When the assignment or handover fails, the old channel is activate and the
* link is established again. Also pending messages are sent.
*
+ * New primitives are invented for group/broadcast calls. They are not
+ * specified in any recommendation. They are:
+ *
+ * GSM48_MM_EVENT_NOTIFICATION: Notify MM layer about received/ceased call.
+ * GSM48_MM_EVENT_UPLINK_BUSY: Notify MM layer about uplink becoming busy.
+ * GSM48_MM_EVENT_UPLINK_FREE: Notify MM layer about uplink becoming free.
+ *
+ * RR_GROUP_REQ: The MM layer requests group channel in receive mode.
+ * RR_GROUP_CNF: The RR confirms group channel.
+ * RR_GROUP_REL_REQ: The MM layer releases group channel.
+ * RR_GROUP_REL_IND: The RR indicates/confirms release of group channel.
+ * RR_UPLINK_REQ: The MM layer requests uplink (group transmit mode).
+ * RR_UPLINK_CNF: The RR layer confirms uplink. (Uplink was granted.)
+ * RR_UPLINK_REL_REQ: The MM layer requests release of uplink.
+ * RR_UPLINK_REL_IND: The RR layer indicates/confirms release of uplink
*/
/* Testing delayed (immediate) assignment / handover
@@ -463,6 +478,14 @@
{ GSM48_RR_ABORT_REQ, "RR_ABORT_REQ" },
{ GSM48_RR_ABORT_IND, "RR_ABORT_IND" },
{ GSM48_RR_ACT_REQ, "RR_ACT_REQ" },
+ { GSM48_RR_GROUP_REQ, "RR_GROUP_REQ" },
+ { GSM48_RR_GROUP_CNF, "RR_GROUP_CNF" },
+ { GSM48_RR_GROUP_REL_REQ, "RR_GROUP_REL_REQ" },
+ { GSM48_RR_GROUP_REL_IND, "RR_GROUP_REL_IND" },
+ { GSM48_RR_UPLINK_REQ, "RR_UPLINK_REQ" },
+ { GSM48_RR_UPLINK_CNF, "RR_UPLINK_CNF" },
+ { GSM48_RR_UPLINK_REL_REQ, "RR_UPLINK_REL_REQ" },
+ { GSM48_RR_UPLINK_REL_IND, "RR_UPLINK_REL_IND" },
{ 0, NULL }
};
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34528?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I1abd56c63d15af1cff8bde7589a571cb5bb5506f
Gerrit-Change-Number: 34528
Gerrit-PatchSet: 5
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
jolly has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/34487?usp=email )
(
5 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: Fix unset sapi in gsm48_rr_data_ind()
......................................................................
Fix unset sapi in gsm48_rr_data_ind()
The gsm48_rr_hdr is pushed into the message before sending data to
MM layer. SAPI was not set in this header.
Change-Id: I8345a562050d52d491f3b7192c979d455a63931c
---
M src/host/layer23/src/mobile/gsm48_rr.c
1 file changed, 15 insertions(+), 0 deletions(-)
Approvals:
fixeria: Looks good to me, approved
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
diff --git a/src/host/layer23/src/mobile/gsm48_rr.c b/src/host/layer23/src/mobile/gsm48_rr.c
index 0815777..df762d8 100644
--- a/src/host/layer23/src/mobile/gsm48_rr.c
+++ b/src/host/layer23/src/mobile/gsm48_rr.c
@@ -4727,6 +4727,8 @@
/* 3.4.2 data from layer 2 to RR and upper layer*/
static int gsm48_rr_data_ind(struct osmocom_ms *ms, struct msgb *msg)
{
+ struct abis_rsl_rll_hdr *rllh = msgb_l2(msg);
+ uint8_t sapi = rllh->link_id & 7;
struct gsm48_hdr *gh = msgb_l3(msg);
struct gsm48_rr_hdr *rrh;
uint8_t pdisc = gh->proto_discr & 0x0f;
@@ -4792,6 +4794,7 @@
msgb_push(msg, sizeof(struct gsm48_rr_hdr));
rrh = (struct gsm48_rr_hdr *)msg->data;
rrh->msg_type = GSM48_RR_DATA_IND;
+ rrh->sapi = sapi;
return gsm48_rr_upmsg(ms, msg);
}
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/34487?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I8345a562050d52d491f3b7192c979d455a63931c
Gerrit-Change-Number: 34487
Gerrit-PatchSet: 10
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged