aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2023-02-01 13:51:56 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2023-03-06 17:39:11 +0100
commit2353ed403fe7bc2b3796c43b953163175189d015 (patch)
treef9ea31d2420246cd5a465ca8a25428c58ca9079a /include
parentc82c948e99d379220a2179b29a26f67473c363b4 (diff)
bts: add IMMEDIATE ASSIGNMENT via PCH transmission
In situations where the PCU is co-located to the BSC, the IMMEDIATE ASSIGNMENT for downlink TBFs must be sent via RSL and the BSC also must instruct the BTS to transmit the IMMEDIATE ASSIGNMENT via PCH instead of AGCH. Eventually the BSC must sent a confirmation message (follow-up patch) where the TLLI is used as an identifer. This new method will eventually replace the previous method that uses the MAC block as an identifier. To remain compatible with older versions of osmo-bsc, we will keep the old method until osmo-bts is migrated as well. This patch also requires new features to be added to the PCU socket interface the version number of the protocol is incremented from 0x0a to 0x0b. Version 0x0a will remain compatible and use the old method, while version 0x0b will use the new method introduced with this patch. Change-Id: I2a78651593323e8b9627c39918d949a33497b70f Related: OS#5198
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/pcu/pcuif_proto.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h
index 693a1d53..1dda160d 100644
--- a/include/osmocom/pcu/pcuif_proto.h
+++ b/include/osmocom/pcu/pcuif_proto.h
@@ -3,10 +3,12 @@
#include <osmocom/gsm/l1sap.h>
#include <arpa/inet.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+#include <osmocom/gsm/protocol/gsm_23_003.h>
#define PCU_SOCK_DEFAULT "/tmp/pcu_bts"
-#define PCU_IF_VERSION 0x0a
+#define PCU_IF_VERSION 0x0b
#define TXT_MAX_LEN 128
/* msg_type */
@@ -269,6 +271,17 @@ struct gsm_pcu_if_neigh_addr_cnf {
} cgi_ps;
} __attribute__ ((packed));
+/* Struct to send a (confirmed) IMMEDIATE ASSIGNMENT message via PCH. The struct is sent as a data request
+ * (data_req) under SAPI PCU_IF_SAPI_PCH_DT. */
+struct gsm_pcu_if_pch_dt {
+ /* TLLI as reference for confirmation */
+ uint32_t tlli;
+ /* IMSI (to derive paging group) */
+ char imsi[OSMO_IMSI_BUF_SIZE];
+ /* GSM mac-block (with immediate assignment message) */
+ uint8_t data[GSM_MACBLOCK_LEN];
+} __attribute__((packed));
+
struct gsm_pcu_if {
/* context based information */
uint8_t msg_type; /* message type */