Loading...
Searching...
No Matches
gsm_49_031.h
Go to the documentation of this file.
/*
* (C) 2020 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
* All Rights Reserved
*
* Author: Neels Hofmeyr <neels@hofmeyr.de>
*
* SPDX-License-Identifier: GPL-2.0+
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <osmocom/core/endian.h>
#include <osmocom/gsm/protocol/gsm_48_071.h>
#include <osmocom/gsm/protocol/gsm_23_032.h>
#include <osmocom/gsm/gsm0808_utils.h>
#include <osmocom/gsm/gsm48.h>
enum lcs_cause {
LCS_CAUSE_UNSPECIFIED = 0,
LCS_CAUSE_SYSTEM_FAILURE = 1,
LCS_CAUSE_PROTOCOL_ERROR = 2,
LCS_CAUSE_DATA_MISSING_IN_REQ = 3,
LCS_CAUSE_UNEXP_DATA_IN_REQ = 4,
LCS_CAUSE_POS_METH_FAILURE = 5,
LCS_CAUSE_TGT_MS_UNREACHABLE = 6,
LCS_CAUSE_REQUEST_ABORTED = 7,
LCS_CAUSE_FACILITY_NOTSUPP = 8,
LCS_CAUSE_INTER_BSC_HO = 9,
LCS_CAUSE_INTRA_BSC_HO = 10,
LCS_CAUSE_CONGESTION = 11,
LCS_CAUSE_INTER_NSE_CHG = 12,
LCS_CAUSE_RA_UPDAT = 13,
LCS_CAUSE_PTMSI_REALLOC = 14,
LCS_CAUSE_GPRS_SUSPENSION = 15,
};
struct lcs_cause_ie {
bool present;
enum lcs_cause cause_val;
bool diag_val_present;
uint8_t diag_val;
};
/* 3GPP TS 49.031 10.16 LCS QoS IE */
struct osmo_bssmap_le_lcs_qos {
#if OSMO_IS_LITTLE_ENDIAN
uint8_t vert:1, vel:1, spare1:6;
uint8_t ha_val:7, ha_ind:1;
uint8_t va_val:7, va_ind:1;
uint8_t spare3:6, rt:2;
#elif OSMO_IS_BIG_ENDIAN
/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */
uint8_t spare1:6, vel:1, vert:1;
uint8_t ha_ind:1, ha_val:7;
uint8_t va_ind:1, va_val:7;
uint8_t rt:2, spare3:6;
#endif
} __attribute__ ((packed));
enum bssap_le_msg_discr {
BSSAP_LE_MSG_DISCR_BSSMAP_LE = 0,
};
enum bssmap_le_msgt {
BSSMAP_LE_MSGT_PERFORM_LOC_REQ = 0x2b,
BSSMAP_LE_MSGT_PERFORM_LOC_RESP = 0x2d,
BSSMAP_LE_MSGT_PERFORM_LOC_ABORT = 0x2e,
BSSMAP_LE_MSGT_PERFORM_LOC_INFO = 0x2f,
BSSMAP_LE_MSGT_ASSIST_INFO_REQ = 0x20,
BSSMAP_LE_MSGT_ASSIST_INFO_RESP = 0x21,
BSSMAP_LE_MSGT_CONN_ORIENTED_INFO = 0x2a,
BSSMAP_LE_MSGT_CONN_LESS_INFO = 0x3a,
BSSMAP_LE_MSGT_RESET = 0x30,
BSSMAP_LE_MSGT_RESET_ACK = 0x31,
};
enum bssmap_le_iei {
BSSMAP_LE_IEI_LCS_QoS = 0x3e,
BSSMAP_LE_IEI_LCS_PRIORITY = 0x43,
BSSMAP_LE_IEI_LOCATION_TYPE = 0x44,
BSSMAP_LE_IEI_GANSS_LOCATION_TYPE = 0x82,
BSSMAP_LE_IEI_GEO_LOCATION = 0x45,
BSSMAP_LE_IEI_POSITIONING_DATA = 0x46,
BSSMAP_LE_IEI_GANSS_POS_DATA = 0x83,
BSSMAP_LE_IEI_VELOCITY_DATA = 0x55,
BSSMAP_LE_IEI_LCS_CAUSE = 0x47,
BSSMAP_LE_IEI_LCS_CLIENT_TYPE = 0x48,
BSSMAP_LE_IEI_APDU = 0x49,
BSSMAP_LE_IEI_NET_ELEM_ID = 0x4a,
BSSMAP_LE_IEI_REQ_GPS_ASS_D = 0x4b,
BSSMAP_LE_IEI_REQ_GANSS_ASS_D = 0x41,
BSSMAP_LE_IEI_DECIPH_KEYS = 0x4c,
BSSMAP_LE_IEI_RET_ERR_REQ = 0x4d,
BSSMAP_LE_IEI_RET_ERR_CAUSE = 0x4e,
BSSMAP_LE_IEI_SEGMENTATION = 0x4f,
BSSMAP_LE_IEI_CLASSMARK3_INFO = 0x13,
BSSMAP_LE_IEI_CAUSE = 0x4,
BSSMAP_LE_IEI_CELL_ID = 0x5,
BSSMAP_LE_IEI_CHOSEN_CHAN = 0x21,
BSSMAP_LE_IEI_IMSI = 0x0,
BSSMAP_LE_IEI_LCS_CAPABILITY = 0x50,
BSSMAP_LE_IEI_PKT_MEAS_REP = 0x51,
BSSMAP_LE_IEI_CELL_ID_LIST = 0x52,
BSSMAP_LE_IEI_IMEI = 0x80,
BSSMAP_LE_IEI_BSS_MLAT_CAP = 0x84,
BSSMAP_LE_IEI_CELL_INFO_LIST = 0x85,
BSSMAP_LE_IEI_BTS_RX_ACC_LVL = 0x86,
BSSMAP_LE_IEI_MLAT_METHOD = 0x87,
BSSMAP_LE_IEI_MLAT_TA = 0x88,
BSSMAP_LE_IEI_MS_SYNC_ACC = 0x89,
BSSMAP_LE_IEI_SHORT_ID_SET = 0x8a,
BSSMAP_LE_IEI_RANDOM_ID_SET = 0x8b,
BSSMAP_LE_IEI_SHORT_BSS_ID = 0x8c,
BSSMAP_LE_IEI_RANDOM_ID = 0x8d,
BSSMAP_LE_IEI_SHORT_ID = 0x8e,
BSSMAP_LE_IEI_COVERAGE_CLASS = 0x8f,
BSSMAP_LE_IEI_MTA_ACC_SEC_RQD = 0x90,
};
enum bssmap_le_apdu_proto {
BSSMAP_LE_APDU_PROT_RESERVED = 0,
BSSMAP_LE_APDU_PROT_BSSLAP = 1,
BSSMAP_LE_APDU_PROT_LLP = 2,
BSSMAP_LE_APDU_PROT_SMLCPP = 3,
};
enum bssmap_le_location_information {
BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC = 0x0,
BSSMAP_LE_LOC_INFO_ASSIST_TARGET_MS = 0x1,
BSSMAP_LE_LOC_INFO_BC_DECIPHER_KEYS = 0x2,
};
enum bssmap_le_positioning_method {
BSSMAP_LE_POS_METHOD_OMITTED = 0x0,
BSSMAP_LE_POS_METHOD_MOBILE_ASSISTED_E_OTD = 0x1,
BSSMAP_LE_POS_METHOD_MOBILE_BASED_E_OTD = 0x2,
BSSMAP_LE_POS_METHOD_ASSISTED_GPS = 0x3,
};
struct bssmap_le_location_type {
enum bssmap_le_location_information location_information;
enum bssmap_le_positioning_method positioning_method;
};
enum bssmap_le_lcs_client_type {
BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED = 0x0,
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED = 0x20,
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE = 0x21,
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM = 0x22,
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS = 0x23,
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC = 0x24,
BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED = 0x30,
BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED = 0x40,
};
struct bssmap_le_perform_loc_req {
struct bssmap_le_location_type location_type;
struct gsm0808_cell_id cell_id;
bool lcs_client_type_present;
enum bssmap_le_lcs_client_type lcs_client_type;
struct osmo_mobile_identity imsi;
struct osmo_mobile_identity imei;
bool apdu_present;
struct bsslap_pdu apdu;
bool more_items;
bool lcs_priority_present;
uint8_t lcs_priority;
bool lcs_qos_present;
struct osmo_bssmap_le_lcs_qos lcs_qos;
bool more_items2;
};
struct bssmap_le_perform_loc_resp {
bool location_estimate_present;
union gad_raw location_estimate;
struct lcs_cause_ie lcs_cause;
bool more_items;
};
struct bssmap_le_conn_oriented_info {
struct bsslap_pdu apdu;
bool more_items;
};
struct bssmap_le_pdu {
enum bssmap_le_msgt msg_type;
union {
enum gsm0808_cause reset;
/* reset_ack consists only of the message type */
struct bssmap_le_perform_loc_req perform_loc_req;
struct bssmap_le_perform_loc_resp perform_loc_resp;
struct lcs_cause_ie perform_loc_abort;
struct bssmap_le_conn_oriented_info conn_oriented_info;
};
};
struct bssap_le_pdu {
enum bssap_le_msg_discr discr;
union {
struct bssmap_le_pdu bssmap_le;
/* future: add DTAP PDU, currently not implemented */
};
};
endian.h
bssmap_le_apdu_proto
bssmap_le_apdu_proto
Definition gsm_49_031.h:139
bssmap_le_lcs_client_type
bssmap_le_lcs_client_type
Definition gsm_49_031.h:164
bssmap_le_positioning_method
bssmap_le_positioning_method
Definition gsm_49_031.h:152
bssmap_le_msgt
bssmap_le_msgt
Definition gsm_49_031.h:83
bssmap_le_iei
bssmap_le_iei
Definition gsm_49_031.h:96
bssmap_le_location_information
bssmap_le_location_information
Definition gsm_49_031.h:146
bssap_le_msg_discr
bssap_le_msg_discr
Definition gsm_49_031.h:79
__attribute__
enum bssap_le_msg_discr __attribute__
lcs_cause
lcs_cause
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former.
Definition gsm_49_031.h:36
BSSMAP_LE_APDU_PROT_BSSLAP
@ BSSMAP_LE_APDU_PROT_BSSLAP
Definition gsm_49_031.h:141
BSSMAP_LE_APDU_PROT_RESERVED
@ BSSMAP_LE_APDU_PROT_RESERVED
Definition gsm_49_031.h:140
BSSMAP_LE_APDU_PROT_LLP
@ BSSMAP_LE_APDU_PROT_LLP
Definition gsm_49_031.h:142
BSSMAP_LE_APDU_PROT_SMLCPP
@ BSSMAP_LE_APDU_PROT_SMLCPP
Definition gsm_49_031.h:143
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_OAM
Definition gsm_49_031.h:168
BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED
@ BSSMAP_LE_LCS_CTYPE_LI_UNSPECIFIED
Definition gsm_49_031.h:172
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_TGT_MS_SVC
Definition gsm_49_031.h:170
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_UNSPECIFIED
Definition gsm_49_031.h:166
BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED
@ BSSMAP_LE_LCS_CTYPE_EMERG_SVC_UNSPECIFIED
Definition gsm_49_031.h:171
BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED
@ BSSMAP_LE_LCS_CTYPE_VALUE_ADDED_UNSPECIFIED
Definition gsm_49_031.h:165
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_ANON_STATS
Definition gsm_49_031.h:169
BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE
@ BSSMAP_LE_LCS_CTYPE_PLMN_OPER_BCAST_SERVICE
Definition gsm_49_031.h:167
BSSMAP_LE_POS_METHOD_MOBILE_ASSISTED_E_OTD
@ BSSMAP_LE_POS_METHOD_MOBILE_ASSISTED_E_OTD
Definition gsm_49_031.h:154
BSSMAP_LE_POS_METHOD_OMITTED
@ BSSMAP_LE_POS_METHOD_OMITTED
Definition gsm_49_031.h:153
BSSMAP_LE_POS_METHOD_MOBILE_BASED_E_OTD
@ BSSMAP_LE_POS_METHOD_MOBILE_BASED_E_OTD
Definition gsm_49_031.h:155
BSSMAP_LE_POS_METHOD_ASSISTED_GPS
@ BSSMAP_LE_POS_METHOD_ASSISTED_GPS
Definition gsm_49_031.h:156
BSSMAP_LE_MSGT_CONN_LESS_INFO
@ BSSMAP_LE_MSGT_CONN_LESS_INFO
Definition gsm_49_031.h:91
BSSMAP_LE_MSGT_RESET
@ BSSMAP_LE_MSGT_RESET
Definition gsm_49_031.h:92
BSSMAP_LE_MSGT_ASSIST_INFO_REQ
@ BSSMAP_LE_MSGT_ASSIST_INFO_REQ
Definition gsm_49_031.h:88
BSSMAP_LE_MSGT_PERFORM_LOC_REQ
@ BSSMAP_LE_MSGT_PERFORM_LOC_REQ
Definition gsm_49_031.h:84
BSSMAP_LE_MSGT_PERFORM_LOC_ABORT
@ BSSMAP_LE_MSGT_PERFORM_LOC_ABORT
Definition gsm_49_031.h:86
BSSMAP_LE_MSGT_RESET_ACK
@ BSSMAP_LE_MSGT_RESET_ACK
Definition gsm_49_031.h:93
BSSMAP_LE_MSGT_PERFORM_LOC_INFO
@ BSSMAP_LE_MSGT_PERFORM_LOC_INFO
Definition gsm_49_031.h:87
BSSMAP_LE_MSGT_ASSIST_INFO_RESP
@ BSSMAP_LE_MSGT_ASSIST_INFO_RESP
Definition gsm_49_031.h:89
BSSMAP_LE_MSGT_PERFORM_LOC_RESP
@ BSSMAP_LE_MSGT_PERFORM_LOC_RESP
Definition gsm_49_031.h:85
BSSMAP_LE_MSGT_CONN_ORIENTED_INFO
@ BSSMAP_LE_MSGT_CONN_ORIENTED_INFO
Definition gsm_49_031.h:90
BSSMAP_LE_IEI_REQ_GANSS_ASS_D
@ BSSMAP_LE_IEI_REQ_GANSS_ASS_D
Definition gsm_49_031.h:110
BSSMAP_LE_IEI_CELL_ID_LIST
@ BSSMAP_LE_IEI_CELL_ID_LIST
Definition gsm_49_031.h:122
BSSMAP_LE_IEI_LCS_CAPABILITY
@ BSSMAP_LE_IEI_LCS_CAPABILITY
Definition gsm_49_031.h:120
BSSMAP_LE_IEI_REQ_GPS_ASS_D
@ BSSMAP_LE_IEI_REQ_GPS_ASS_D
Definition gsm_49_031.h:109
BSSMAP_LE_IEI_IMSI
@ BSSMAP_LE_IEI_IMSI
Definition gsm_49_031.h:119
BSSMAP_LE_IEI_SHORT_ID_SET
@ BSSMAP_LE_IEI_SHORT_ID_SET
Definition gsm_49_031.h:130
BSSMAP_LE_IEI_SEGMENTATION
@ BSSMAP_LE_IEI_SEGMENTATION
Definition gsm_49_031.h:114
BSSMAP_LE_IEI_RANDOM_ID
@ BSSMAP_LE_IEI_RANDOM_ID
Definition gsm_49_031.h:133
BSSMAP_LE_IEI_LCS_CAUSE
@ BSSMAP_LE_IEI_LCS_CAUSE
Definition gsm_49_031.h:105
BSSMAP_LE_IEI_MLAT_METHOD
@ BSSMAP_LE_IEI_MLAT_METHOD
Definition gsm_49_031.h:127
BSSMAP_LE_IEI_COVERAGE_CLASS
@ BSSMAP_LE_IEI_COVERAGE_CLASS
Definition gsm_49_031.h:135
BSSMAP_LE_IEI_GANSS_POS_DATA
@ BSSMAP_LE_IEI_GANSS_POS_DATA
Definition gsm_49_031.h:103
BSSMAP_LE_IEI_CLASSMARK3_INFO
@ BSSMAP_LE_IEI_CLASSMARK3_INFO
Definition gsm_49_031.h:115
BSSMAP_LE_IEI_SHORT_ID
@ BSSMAP_LE_IEI_SHORT_ID
Definition gsm_49_031.h:134
BSSMAP_LE_IEI_LCS_CLIENT_TYPE
@ BSSMAP_LE_IEI_LCS_CLIENT_TYPE
Definition gsm_49_031.h:106
BSSMAP_LE_IEI_CELL_INFO_LIST
@ BSSMAP_LE_IEI_CELL_INFO_LIST
Definition gsm_49_031.h:125
BSSMAP_LE_IEI_GANSS_LOCATION_TYPE
@ BSSMAP_LE_IEI_GANSS_LOCATION_TYPE
Definition gsm_49_031.h:100
BSSMAP_LE_IEI_IMEI
@ BSSMAP_LE_IEI_IMEI
Definition gsm_49_031.h:123
BSSMAP_LE_IEI_RANDOM_ID_SET
@ BSSMAP_LE_IEI_RANDOM_ID_SET
Definition gsm_49_031.h:131
BSSMAP_LE_IEI_PKT_MEAS_REP
@ BSSMAP_LE_IEI_PKT_MEAS_REP
Definition gsm_49_031.h:121
BSSMAP_LE_IEI_APDU
@ BSSMAP_LE_IEI_APDU
Definition gsm_49_031.h:107
BSSMAP_LE_IEI_POSITIONING_DATA
@ BSSMAP_LE_IEI_POSITIONING_DATA
Definition gsm_49_031.h:102
BSSMAP_LE_IEI_MTA_ACC_SEC_RQD
@ BSSMAP_LE_IEI_MTA_ACC_SEC_RQD
Definition gsm_49_031.h:136
BSSMAP_LE_IEI_RET_ERR_CAUSE
@ BSSMAP_LE_IEI_RET_ERR_CAUSE
Definition gsm_49_031.h:113
BSSMAP_LE_IEI_BTS_RX_ACC_LVL
@ BSSMAP_LE_IEI_BTS_RX_ACC_LVL
Definition gsm_49_031.h:126
BSSMAP_LE_IEI_GEO_LOCATION
@ BSSMAP_LE_IEI_GEO_LOCATION
Definition gsm_49_031.h:101
BSSMAP_LE_IEI_SHORT_BSS_ID
@ BSSMAP_LE_IEI_SHORT_BSS_ID
Definition gsm_49_031.h:132
BSSMAP_LE_IEI_LCS_QoS
@ BSSMAP_LE_IEI_LCS_QoS
Definition gsm_49_031.h:97
BSSMAP_LE_IEI_LCS_PRIORITY
@ BSSMAP_LE_IEI_LCS_PRIORITY
Definition gsm_49_031.h:98
BSSMAP_LE_IEI_BSS_MLAT_CAP
@ BSSMAP_LE_IEI_BSS_MLAT_CAP
Definition gsm_49_031.h:124
BSSMAP_LE_IEI_VELOCITY_DATA
@ BSSMAP_LE_IEI_VELOCITY_DATA
Definition gsm_49_031.h:104
BSSMAP_LE_IEI_DECIPH_KEYS
@ BSSMAP_LE_IEI_DECIPH_KEYS
Definition gsm_49_031.h:111
BSSMAP_LE_IEI_MLAT_TA
@ BSSMAP_LE_IEI_MLAT_TA
Definition gsm_49_031.h:128
BSSMAP_LE_IEI_CELL_ID
@ BSSMAP_LE_IEI_CELL_ID
Definition gsm_49_031.h:117
BSSMAP_LE_IEI_LOCATION_TYPE
@ BSSMAP_LE_IEI_LOCATION_TYPE
Definition gsm_49_031.h:99
BSSMAP_LE_IEI_NET_ELEM_ID
@ BSSMAP_LE_IEI_NET_ELEM_ID
Definition gsm_49_031.h:108
BSSMAP_LE_IEI_RET_ERR_REQ
@ BSSMAP_LE_IEI_RET_ERR_REQ
Definition gsm_49_031.h:112
BSSMAP_LE_IEI_CHOSEN_CHAN
@ BSSMAP_LE_IEI_CHOSEN_CHAN
Definition gsm_49_031.h:118
BSSMAP_LE_IEI_MS_SYNC_ACC
@ BSSMAP_LE_IEI_MS_SYNC_ACC
Definition gsm_49_031.h:129
BSSMAP_LE_IEI_CAUSE
@ BSSMAP_LE_IEI_CAUSE
Definition gsm_49_031.h:116
BSSMAP_LE_LOC_INFO_BC_DECIPHER_KEYS
@ BSSMAP_LE_LOC_INFO_BC_DECIPHER_KEYS
Definition gsm_49_031.h:149
BSSMAP_LE_LOC_INFO_ASSIST_TARGET_MS
@ BSSMAP_LE_LOC_INFO_ASSIST_TARGET_MS
Definition gsm_49_031.h:148
BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC
@ BSSMAP_LE_LOC_INFO_CURRENT_GEOGRAPHIC
Definition gsm_49_031.h:147
BSSAP_LE_MSG_DISCR_BSSMAP_LE
@ BSSAP_LE_MSG_DISCR_BSSMAP_LE
Definition gsm_49_031.h:80
LCS_CAUSE_INTRA_BSC_HO
@ LCS_CAUSE_INTRA_BSC_HO
Definition gsm_49_031.h:47
LCS_CAUSE_DATA_MISSING_IN_REQ
@ LCS_CAUSE_DATA_MISSING_IN_REQ
Definition gsm_49_031.h:40
LCS_CAUSE_PROTOCOL_ERROR
@ LCS_CAUSE_PROTOCOL_ERROR
Definition gsm_49_031.h:39
LCS_CAUSE_CONGESTION
@ LCS_CAUSE_CONGESTION
Definition gsm_49_031.h:48
LCS_CAUSE_UNEXP_DATA_IN_REQ
@ LCS_CAUSE_UNEXP_DATA_IN_REQ
Definition gsm_49_031.h:41
LCS_CAUSE_TGT_MS_UNREACHABLE
@ LCS_CAUSE_TGT_MS_UNREACHABLE
Definition gsm_49_031.h:43
LCS_CAUSE_RA_UPDAT
@ LCS_CAUSE_RA_UPDAT
Definition gsm_49_031.h:50
LCS_CAUSE_GPRS_SUSPENSION
@ LCS_CAUSE_GPRS_SUSPENSION
Definition gsm_49_031.h:52
LCS_CAUSE_SYSTEM_FAILURE
@ LCS_CAUSE_SYSTEM_FAILURE
Definition gsm_49_031.h:38
LCS_CAUSE_UNSPECIFIED
@ LCS_CAUSE_UNSPECIFIED
Definition gsm_49_031.h:37
LCS_CAUSE_POS_METH_FAILURE
@ LCS_CAUSE_POS_METH_FAILURE
Definition gsm_49_031.h:42
LCS_CAUSE_REQUEST_ABORTED
@ LCS_CAUSE_REQUEST_ABORTED
Definition gsm_49_031.h:44
LCS_CAUSE_INTER_NSE_CHG
@ LCS_CAUSE_INTER_NSE_CHG
Definition gsm_49_031.h:49
LCS_CAUSE_INTER_BSC_HO
@ LCS_CAUSE_INTER_BSC_HO
Definition gsm_49_031.h:46
LCS_CAUSE_FACILITY_NOTSUPP
@ LCS_CAUSE_FACILITY_NOTSUPP
Definition gsm_49_031.h:45
LCS_CAUSE_PTMSI_REALLOC
@ LCS_CAUSE_PTMSI_REALLOC
Definition gsm_49_031.h:51
gsm0808_utils.h
gsm48.h
gsm0808_cause
gsm0808_cause
Definition gsm_08_08.h:367
gsm_23_032.h
gsm_48_071.h
bssap_le_pdu
Definition gsm_49_031.h:226
bssap_le_pdu::discr
enum bssap_le_msg_discr discr
Definition gsm_49_031.h:227
bssap_le_pdu::bssmap_le
struct bssmap_le_pdu bssmap_le
Definition gsm_49_031.h:229
bsslap_pdu
Definition gsm_48_071.h:106
bssmap_le_conn_oriented_info
Definition gsm_49_031.h:208
bssmap_le_conn_oriented_info::more_items
bool more_items
always set this to false
Definition gsm_49_031.h:211
bssmap_le_conn_oriented_info::apdu
struct bsslap_pdu apdu
Definition gsm_49_031.h:209
bssmap_le_location_type
Definition gsm_49_031.h:159
bssmap_le_location_type::location_information
enum bssmap_le_location_information location_information
Definition gsm_49_031.h:160
bssmap_le_location_type::positioning_method
enum bssmap_le_positioning_method positioning_method
Definition gsm_49_031.h:161
bssmap_le_pdu
Definition gsm_49_031.h:214
bssmap_le_pdu::perform_loc_req
struct bssmap_le_perform_loc_req perform_loc_req
Definition gsm_49_031.h:219
bssmap_le_pdu::conn_oriented_info
struct bssmap_le_conn_oriented_info conn_oriented_info
Definition gsm_49_031.h:222
bssmap_le_pdu::reset
enum gsm0808_cause reset
Definition gsm_49_031.h:217
bssmap_le_pdu::perform_loc_resp
struct bssmap_le_perform_loc_resp perform_loc_resp
Definition gsm_49_031.h:220
bssmap_le_pdu::msg_type
enum bssmap_le_msgt msg_type
Definition gsm_49_031.h:215
bssmap_le_pdu::perform_loc_abort
struct lcs_cause_ie perform_loc_abort
Definition gsm_49_031.h:221
bssmap_le_perform_loc_req
Definition gsm_49_031.h:175
bssmap_le_perform_loc_req::location_type
struct bssmap_le_location_type location_type
Definition gsm_49_031.h:176
bssmap_le_perform_loc_req::imsi
struct osmo_mobile_identity imsi
Definition gsm_49_031.h:182
bssmap_le_perform_loc_req::lcs_client_type
enum bssmap_le_lcs_client_type lcs_client_type
Definition gsm_49_031.h:180
bssmap_le_perform_loc_req::imei
struct osmo_mobile_identity imei
Definition gsm_49_031.h:183
bssmap_le_perform_loc_req::cell_id
struct gsm0808_cell_id cell_id
Definition gsm_49_031.h:177
bssmap_le_perform_loc_req::lcs_priority
uint8_t lcs_priority
see in 3GPP TS 29.002
Definition gsm_49_031.h:191
bssmap_le_perform_loc_req::apdu_present
bool apdu_present
Definition gsm_49_031.h:185
bssmap_le_perform_loc_req::lcs_priority_present
bool lcs_priority_present
Definition gsm_49_031.h:190
bssmap_le_perform_loc_req::more_items2
bool more_items2
always set this to false
Definition gsm_49_031.h:196
bssmap_le_perform_loc_req::lcs_client_type_present
bool lcs_client_type_present
Definition gsm_49_031.h:179
bssmap_le_perform_loc_req::lcs_qos
struct osmo_bssmap_le_lcs_qos lcs_qos
Definition gsm_49_031.h:194
bssmap_le_perform_loc_req::lcs_qos_present
bool lcs_qos_present
Definition gsm_49_031.h:193
bssmap_le_perform_loc_req::more_items
bool more_items
set this to true iff any fields below are used
Definition gsm_49_031.h:188
bssmap_le_perform_loc_req::apdu
struct bsslap_pdu apdu
Definition gsm_49_031.h:186
bssmap_le_perform_loc_resp
Definition gsm_49_031.h:199
bssmap_le_perform_loc_resp::location_estimate_present
bool location_estimate_present
Definition gsm_49_031.h:200
bssmap_le_perform_loc_resp::location_estimate
union gad_raw location_estimate
Definition gsm_49_031.h:201
bssmap_le_perform_loc_resp::more_items
bool more_items
always set this to false
Definition gsm_49_031.h:205
gsm0808_cell_id
Parsed representation of Cell Identifier IE (3GPP TS 48.008 3.2.2.17)
Definition gsm0808_utils.h:55
lcs_cause_ie
3GPP TS 49.031 10.13 LCS Cause, also in 3GPP TS 48.008 3.2.2.66, which simply refers to the former.
Definition gsm_49_031.h:56
lcs_cause_ie::present
bool present
Definition gsm_49_031.h:57
lcs_cause_ie::diag_val
uint8_t diag_val
Definition gsm_49_031.h:60
lcs_cause_ie::diag_val_present
bool diag_val_present
Definition gsm_49_031.h:59
lcs_cause_ie::cause_val
enum lcs_cause cause_val
Definition gsm_49_031.h:58
osmo_bssmap_le_lcs_qos
Definition gsm_49_031.h:64
gad_raw
GAD PDU in network-byte-order according to 3GPP TS 23.032 GAD: Universal Geographical Area Descriptio...
Definition gsm_23_032.h:239