libosmogsm 1.13.1.1-afb4 Osmocom GSM library

gsm_48_071.h
Go to the documentation of this file.
1
5/*
6 * (C) 2020 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
7 * All Rights Reserved
8 *
9 * Author: Neels Hofmeyr <neels@hofmeyr.de>
10 *
11 * SPDX-License-Identifier: GPL-2.0+
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 */
24#pragma once
25
26#include <osmocom/gsm/protocol/gsm_04_08.h>
27
28 enum bsslap_msgt {
29 BSSLAP_MSGT_TA_REQUEST = 0x1,
30 BSSLAP_MSGT_TA_RESPONSE = 0x2,
31 BSSLAP_MSGT_REJECT = 0xa,
32 BSSLAP_MSGT_RESET = 0xb,
33 BSSLAP_MSGT_ABORT = 0xc,
34 BSSLAP_MSGT_TA_LAYER3 = 0xd,
35 BSSLAP_MSGT_MS_POS_CMD = 0xf,
36 BSSLAP_MSGT_MS_POS_RESP = 0x10,
37 BSSLAP_MSGT_UTDOA_REQ = 0x11,
38 BSSLAP_MSGT_UTDOA_RESP = 0x12,
39};
40
41 enum bsslap_cause {
42 BSSLAP_CAUSE_CONGESTION = 0x0,
43 BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP = 0x1,
44 BSSLAP_CAUSE_POS_PROC_NOT_SUPP = 0x2,
45 BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL = 0x3,
46 BSSLAP_CAUSE_INTRA_BSS_HO = 0x4,
47 BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED = 0x5,
48 BSSLAP_CAUSE_INTER_BSS_HO = 0x6,
49 BSSLAP_CAUSE_LOSS_SIG_CONN_MS = 0x7,
50 BSSLAP_CAUSE_INCORR_SERV_CELL_ID = 0x8,
51 BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR = 0x9,
52 BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN = 0xa,
53};
54
55 enum bsslap_iei {
56 BSSLAP_IEI_TA = 0x1,
57 BSSLAP_IEI_CELL_ID = 0x9,
58 BSSLAP_IEI_CHAN_DESC = 0x10,
59 BSSLAP_IEI_MEAS_REP = 0x14,
60 BSSLAP_IEI_CAUSE = 0x18,
61 BSSLAP_IEI_RRLP_FLAG = 0x19,
62 BSSLAP_IEI_RRLP = 0x1b,
63 BSSLAP_IEI_CELL_ID_LIST = 0x1c,
64 BSSLAP_IEI_ENH_MEAS_REP = 0x1d,
65 BSSLAP_IEI_LAC = 0x1e,
66 BSSLAP_IEI_FREQ_LIST = 0x21,
67 BSSLAP_IEI_MS_POWER = 0x22,
68 BSSLAP_IEI_DELTA_TIMER = 0x23,
69 BSSLAP_IEI_SERVING_CELL_ID = 0x24,
70 BSSLAP_IEI_ENCR_KEY = 0x25,
71 BSSLAP_IEI_CIPH_MODE_SET = 0x26,
72 BSSLAP_IEI_CHAN_MODE = 0x27,
73 BSSLAP_IEI_MR_CONFIG = 0x28,
74 BSSLAP_IEI_POLLING_REPETITION = 0x29,
75 BSSLAP_IEI_PACKET_CHAN_DESC = 0x2a,
76 BSSLAP_IEI_TLLI = 0x2b,
77 BSSLAP_IEI_TFI = 0x2c,
78 BSSLAP_IEI_TBF_START_TIME = 0x2d,
79 BSSLAP_IEI_PWRUP_START_TIME = 0x2e,
80 BSSLAP_IEI_LONG_ENCR_KEY = 0x2f,
81 BSSLAP_IEI_CONCUR_POS_PROC_F = 0x30,
82};
83
84 struct bsslap_ta_response {
85 uint16_t cell_id;
86 uint8_t ta;
87
88 bool more_items;
89};
90
91 struct bsslap_ta_layer3 {
92 uint8_t ta;
93
94 bool more_items;
95};
96
97 struct bsslap_reset {
98 uint16_t cell_id;
99 uint8_t ta;
100 struct gsm48_chan_desc chan_desc;
101 enum bsslap_cause cause;
102
103 bool more_items;
104};
105
106 struct bsslap_pdu {
107 enum bsslap_msgt msg_type;
108 union {
109 /* ta_request: a TA Request message consists only of the message type. */
110 struct bsslap_ta_response ta_response;
111 enum bsslap_cause reject;
112 struct bsslap_reset reset;
113 enum bsslap_cause abort;
114 struct bsslap_ta_layer3 ta_layer3;
115 };
116};
117
bsslap_cause
bsslap_cause
Definition: gsm_48_071.h:41
bsslap_msgt
bsslap_msgt
Definition: gsm_48_071.h:28
bsslap_iei
bsslap_iei
Definition: gsm_48_071.h:55
BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN
@ BSSLAP_CAUSE_CONCUR_POS_PROC_NOT_EN
Definition: gsm_48_071.h:52
BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL
@ BSSLAP_CAUSE_OTHER_RADIO_EVT_FAIL
Definition: gsm_48_071.h:45
BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR
@ BSSLAP_CAUSE_BSSAP_LE_SEGMENT_ERR
Definition: gsm_48_071.h:51
BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP
@ BSSLAP_CAUSE_CHAN_MODE_NOT_SUPP
Definition: gsm_48_071.h:43
BSSLAP_CAUSE_INCORR_SERV_CELL_ID
@ BSSLAP_CAUSE_INCORR_SERV_CELL_ID
Definition: gsm_48_071.h:50
BSSLAP_CAUSE_INTER_BSS_HO
@ BSSLAP_CAUSE_INTER_BSS_HO
Definition: gsm_48_071.h:48
BSSLAP_CAUSE_CONGESTION
@ BSSLAP_CAUSE_CONGESTION
Definition: gsm_48_071.h:42
BSSLAP_CAUSE_POS_PROC_NOT_SUPP
@ BSSLAP_CAUSE_POS_PROC_NOT_SUPP
Definition: gsm_48_071.h:44
BSSLAP_CAUSE_INTRA_BSS_HO
@ BSSLAP_CAUSE_INTRA_BSS_HO
Definition: gsm_48_071.h:46
BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED
@ BSSLAP_CAUSE_SUPERV_TIMER_EXPIRED
Definition: gsm_48_071.h:47
BSSLAP_CAUSE_LOSS_SIG_CONN_MS
@ BSSLAP_CAUSE_LOSS_SIG_CONN_MS
Definition: gsm_48_071.h:49
BSSLAP_MSGT_TA_LAYER3
@ BSSLAP_MSGT_TA_LAYER3
Definition: gsm_48_071.h:34
BSSLAP_MSGT_MS_POS_RESP
@ BSSLAP_MSGT_MS_POS_RESP
Definition: gsm_48_071.h:36
BSSLAP_MSGT_RESET
@ BSSLAP_MSGT_RESET
Definition: gsm_48_071.h:32
BSSLAP_MSGT_TA_RESPONSE
@ BSSLAP_MSGT_TA_RESPONSE
Definition: gsm_48_071.h:30
BSSLAP_MSGT_ABORT
@ BSSLAP_MSGT_ABORT
Definition: gsm_48_071.h:33
BSSLAP_MSGT_TA_REQUEST
@ BSSLAP_MSGT_TA_REQUEST
Definition: gsm_48_071.h:29
BSSLAP_MSGT_MS_POS_CMD
@ BSSLAP_MSGT_MS_POS_CMD
Definition: gsm_48_071.h:35
BSSLAP_MSGT_UTDOA_RESP
@ BSSLAP_MSGT_UTDOA_RESP
Definition: gsm_48_071.h:38
BSSLAP_MSGT_UTDOA_REQ
@ BSSLAP_MSGT_UTDOA_REQ
Definition: gsm_48_071.h:37
BSSLAP_MSGT_REJECT
@ BSSLAP_MSGT_REJECT
Definition: gsm_48_071.h:31
BSSLAP_IEI_TLLI
@ BSSLAP_IEI_TLLI
Definition: gsm_48_071.h:76
BSSLAP_IEI_MEAS_REP
@ BSSLAP_IEI_MEAS_REP
Definition: gsm_48_071.h:59
BSSLAP_IEI_MR_CONFIG
@ BSSLAP_IEI_MR_CONFIG
Definition: gsm_48_071.h:73
BSSLAP_IEI_SERVING_CELL_ID
@ BSSLAP_IEI_SERVING_CELL_ID
Definition: gsm_48_071.h:69
BSSLAP_IEI_TBF_START_TIME
@ BSSLAP_IEI_TBF_START_TIME
Definition: gsm_48_071.h:78
BSSLAP_IEI_DELTA_TIMER
@ BSSLAP_IEI_DELTA_TIMER
Definition: gsm_48_071.h:68
BSSLAP_IEI_PWRUP_START_TIME
@ BSSLAP_IEI_PWRUP_START_TIME
Definition: gsm_48_071.h:79
BSSLAP_IEI_TFI
@ BSSLAP_IEI_TFI
Definition: gsm_48_071.h:77
BSSLAP_IEI_ENCR_KEY
@ BSSLAP_IEI_ENCR_KEY
Definition: gsm_48_071.h:70
BSSLAP_IEI_PACKET_CHAN_DESC
@ BSSLAP_IEI_PACKET_CHAN_DESC
Definition: gsm_48_071.h:75
BSSLAP_IEI_CELL_ID
@ BSSLAP_IEI_CELL_ID
Definition: gsm_48_071.h:57
BSSLAP_IEI_POLLING_REPETITION
@ BSSLAP_IEI_POLLING_REPETITION
Definition: gsm_48_071.h:74
BSSLAP_IEI_CHAN_MODE
@ BSSLAP_IEI_CHAN_MODE
Definition: gsm_48_071.h:72
BSSLAP_IEI_RRLP
@ BSSLAP_IEI_RRLP
Definition: gsm_48_071.h:62
BSSLAP_IEI_LONG_ENCR_KEY
@ BSSLAP_IEI_LONG_ENCR_KEY
Definition: gsm_48_071.h:80
BSSLAP_IEI_CAUSE
@ BSSLAP_IEI_CAUSE
Definition: gsm_48_071.h:60
BSSLAP_IEI_TA
@ BSSLAP_IEI_TA
Definition: gsm_48_071.h:56
BSSLAP_IEI_CELL_ID_LIST
@ BSSLAP_IEI_CELL_ID_LIST
Definition: gsm_48_071.h:63
BSSLAP_IEI_MS_POWER
@ BSSLAP_IEI_MS_POWER
Definition: gsm_48_071.h:67
BSSLAP_IEI_RRLP_FLAG
@ BSSLAP_IEI_RRLP_FLAG
Definition: gsm_48_071.h:61
BSSLAP_IEI_LAC
@ BSSLAP_IEI_LAC
Definition: gsm_48_071.h:65
BSSLAP_IEI_ENH_MEAS_REP
@ BSSLAP_IEI_ENH_MEAS_REP
Definition: gsm_48_071.h:64
BSSLAP_IEI_FREQ_LIST
@ BSSLAP_IEI_FREQ_LIST
Definition: gsm_48_071.h:66
BSSLAP_IEI_CIPH_MODE_SET
@ BSSLAP_IEI_CIPH_MODE_SET
Definition: gsm_48_071.h:71
BSSLAP_IEI_CHAN_DESC
@ BSSLAP_IEI_CHAN_DESC
Definition: gsm_48_071.h:58
BSSLAP_IEI_CONCUR_POS_PROC_F
@ BSSLAP_IEI_CONCUR_POS_PROC_F
Definition: gsm_48_071.h:81
gsm_04_08.h
GSM TS 04.08 definitions.
bsslap_pdu
Definition: gsm_48_071.h:106
bsslap_pdu::abort
enum bsslap_cause abort
Definition: gsm_48_071.h:113
bsslap_pdu::ta_response
struct bsslap_ta_response ta_response
Definition: gsm_48_071.h:110
bsslap_pdu::ta_layer3
struct bsslap_ta_layer3 ta_layer3
Definition: gsm_48_071.h:114
bsslap_pdu::msg_type
enum bsslap_msgt msg_type
Definition: gsm_48_071.h:107
bsslap_pdu::reset
struct bsslap_reset reset
Definition: gsm_48_071.h:112
bsslap_pdu::reject
enum bsslap_cause reject
Definition: gsm_48_071.h:111
bsslap_reset
Definition: gsm_48_071.h:97
bsslap_reset::cause
enum bsslap_cause cause
Definition: gsm_48_071.h:101
bsslap_reset::more_items
bool more_items
always set this to false
Definition: gsm_48_071.h:103
bsslap_reset::ta
uint8_t ta
Definition: gsm_48_071.h:99
bsslap_reset::chan_desc
struct gsm48_chan_desc chan_desc
Definition: gsm_48_071.h:100
bsslap_reset::cell_id
uint16_t cell_id
Definition: gsm_48_071.h:98
bsslap_ta_layer3
Definition: gsm_48_071.h:91
bsslap_ta_layer3::more_items
bool more_items
always set this to false
Definition: gsm_48_071.h:94
bsslap_ta_layer3::ta
uint8_t ta
Definition: gsm_48_071.h:92
bsslap_ta_response
Definition: gsm_48_071.h:84
bsslap_ta_response::ta
uint8_t ta
Definition: gsm_48_071.h:86
bsslap_ta_response::cell_id
uint16_t cell_id
Definition: gsm_48_071.h:85
bsslap_ta_response::more_items
bool more_items
always set this to false
Definition: gsm_48_071.h:88
gsm48_chan_desc
Definition: gsm_04_08.h:501