diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2020-09-27 00:15:05 +0200 |
---|---|---|
committer | lynxis lazus <lynxis@fe80.eu> | 2020-10-03 18:42:05 +0000 |
commit | 5fa725314db856b347de8c944e1101026099d43b (patch) | |
tree | abb5005adfb6ad82d5f633e23c39aea4f66c3659 | |
parent | 9bdc6e4d7ad7b585785c20cac29005370cb7b158 (diff) |
pcuif_proto: protocol 9: add missing fields
The protocol 9 was extended (compatible) with
* app info request
* suspend request (ETWS)
* rach indition (add fields ts / trx)
Only copy the relevant parts but no implementation.
Related: OS#4766, OS#4767, OS#4768
Change-Id: Ia81310326b093a8e473b6c69045304667b3b60f1
-rw-r--r-- | include/osmocom/bsc/pcuif_proto.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/osmocom/bsc/pcuif_proto.h b/include/osmocom/bsc/pcuif_proto.h index b9f61b6f1..e88607e6b 100644 --- a/include/osmocom/bsc/pcuif_proto.h +++ b/include/osmocom/bsc/pcuif_proto.h @@ -3,6 +3,8 @@ #include <osmocom/gsm/l1sap.h> +#define PCU_SOCK_DEFAULT "/tmp/pcu_bts" + #define PCU_IF_VERSION 0x09 #define TXT_MAX_LEN 128 @@ -10,6 +12,8 @@ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ #define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ +#define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ +#define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to transmit APP INFO via PACCH */ #define PCU_IF_MSG_RTS_REQ 0x10 /* ready to send request */ #define PCU_IF_MSG_DATA_CNF_DT 0x11 /* confirm (with direct tlli) */ #define PCU_IF_MSG_RACH_IND 0x22 /* receive RACH */ @@ -104,6 +108,8 @@ struct gsm_pcu_if_rach_ind { uint16_t arfcn; uint8_t is_11bit; uint8_t burst_type; + uint8_t trx_nr; + uint8_t ts_nr; } __attribute__ ((packed)); struct gsm_pcu_if_info_trx { @@ -169,6 +175,20 @@ struct gsm_pcu_if_pag_req { uint8_t identity_lv[9]; } __attribute__ ((packed)); +/* BTS tells PCU to [once] send given application data via PACCH to all UE with active TBF */ +struct gsm_pcu_if_app_info_req { + uint8_t application_type; /* 4bit field, see TS 44.060 11.2.47 */ + uint8_t len; /* length of data */ + uint8_t data[162]; /* random size choice; ETWS needs 56 bytes */ +} __attribute__ ((packed)); + +/* BTS tells PCU about a GPRS SUSPENSION REQUEST received on DCCH */ +struct gsm_pcu_if_susp_req { + uint32_t tlli; + uint8_t ra_id[6]; + uint8_t cause; +} __attribute__ ((packed)); + struct gsm_pcu_if { /* context based information */ uint8_t msg_type; /* message type */ @@ -180,6 +200,7 @@ struct gsm_pcu_if { struct gsm_pcu_if_data data_cnf; struct gsm_pcu_if_data_cnf_dt data_cnf_dt; struct gsm_pcu_if_data data_ind; + struct gsm_pcu_if_susp_req susp_req; struct gsm_pcu_if_rts_req rts_req; struct gsm_pcu_if_rach_ind rach_ind; struct gsm_pcu_if_txt_ind txt_ind; @@ -187,6 +208,7 @@ struct gsm_pcu_if { struct gsm_pcu_if_act_req act_req; struct gsm_pcu_if_time_ind time_ind; struct gsm_pcu_if_pag_req pag_req; + struct gsm_pcu_if_app_info_req app_info_req; } u; } __attribute__ ((packed)); |