diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-09-18 18:00:50 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-10-07 15:37:50 +0200 |
commit | 5b214e2847cb8264e42494e7474f3e3d350aaab7 (patch) | |
tree | 6e181795bdc3f436a83d8f513acdc822ae9ba8ef /include/osmocom | |
parent | 02de87bd5c8ed02e26ade44d07e78b541d3b62d1 (diff) |
add BSSMAP coding for Location Services
BSSMAP: add A-interface messages between MSC and BSC:
- Perform Location Request
- Perform Location Response
- Perform Location Abort
Change-Id: I4d7302a4853518916b6b425e710c10568eb2ffe5
Diffstat (limited to 'include/osmocom')
-rw-r--r-- | include/osmocom/gsm/gsm0808_lcs.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/include/osmocom/gsm/gsm0808_lcs.h b/include/osmocom/gsm/gsm0808_lcs.h new file mode 100644 index 00000000..8fcbe380 --- /dev/null +++ b/include/osmocom/gsm/gsm0808_lcs.h @@ -0,0 +1,52 @@ +/*! \addtogroup gsm0808 + * @{ + * \file gsm0808_lcs.h + * + * Declarations that depend on both gsm0808.h and bssmap_le.h: LCS related message coding. + * (This file prevents circular dependency between struct definitions for BSSMAP messages, since BSSMAP references + * struct lcs_cause and struct bssmap_le_location_type, and BSSMAP-LE references gsm0808_cause. + */ +/* + * (C) 2020 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de> + * All Rights Reserved + * + * 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. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ +#pragma once + +#include <osmocom/gsm/gsm0808.h> +#include <osmocom/gsm/bssmap_le.h> + +struct gsm0808_perform_location_request { + struct bssmap_le_location_type location_type; + struct osmo_mobile_identity imsi; + + bool more_items; /*!< always set this to false */ +}; +struct msgb *gsm0808_create_perform_location_request(const struct gsm0808_perform_location_request *params); + +struct gsm0808_perform_location_response { + bool location_estimate_present; + union gad_raw location_estimate; + + struct lcs_cause_ie lcs_cause; +}; +struct msgb *gsm0808_create_perform_location_response(const struct gsm0808_perform_location_response *params); + +int gsm0808_enc_lcs_cause(struct msgb *msg, const struct lcs_cause_ie *lcs_cause); +struct msgb *gsm0808_create_perform_location_abort(const struct lcs_cause_ie *lcs_cause); + +/*! @} */ |