diff options
author | Oliver Smith <osmith@sysmocom.de> | 2019-09-05 17:13:33 +0200 |
---|---|---|
committer | laforge <laforge@gnumonks.org> | 2019-09-14 15:28:43 +0000 |
commit | cfb6321b88391ff58e5915c67ef0398024572566 (patch) | |
tree | 2d8be0aaccca7d9afbaf84b7d4ede5f6db579f9c /include/osmocom | |
parent | 5360ef5447e192f20c86a2f92af031c45c724e18 (diff) |
Forward ETWS Primary Notification to MS
Receive an Application Information Request from the BTS via PCU
interface. Construct a Packet Application Information message from it
(3GPP TS 44.060 11.2.47) and send it to all MS with active TBF.
The TTCN-3 test infrastructure to test this feature is not quite ready
yet, so I've added C unit tests instead.
Related: OS#4048
Change-Id: Ie35959f833f46bde5f2126314b6f96763f863b36
Diffstat (limited to 'include/osmocom')
-rw-r--r-- | include/osmocom/pcu/pcuif_proto.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h index 144fba68..fd989a5e 100644 --- a/include/osmocom/pcu/pcuif_proto.h +++ b/include/osmocom/pcu/pcuif_proto.h @@ -13,6 +13,7 @@ #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 */ @@ -172,6 +173,13 @@ 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; @@ -198,6 +206,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)); |