diff options
| author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-12-26 18:13:38 +0100 | 
|---|---|---|
| committer | Harald Welte <laforge@osmocom.org> | 2019-09-28 14:34:07 +0200 | 
| commit | 1b729ce106f474e29e7bbd57c01c3472e75a8b25 (patch) | |
| tree | 9d5116c2ab5d98e484e0e10d9229917e69934a71 /include | |
| parent | 2e286a5429fd90c02c217c94591c690b40a93888 (diff) | |
gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE
OSMO_GSUP_SUPPORTED_RAT_TYPES_IE corresponds to the Supported RAT Types
Indicator from 3GPP TS 29.002. See 8.1.2 MAP_UPDATE_LOCATION service,
which indicates the capabilities of the MSC/VLR to the HLR.
So far, have room for eight RAT types in the gsup_msg. That is an arbitrary
random choice without any rationale.
OSMO_GSUP_CURRENT_RAT_TYPE_IE is useful to communicate the currently
used RAN / RAT type of the current subscriber during Location Updating Request.
Change-Id: I93850710ab55a605bf61b95063a69682a2899bb1
Diffstat (limited to 'include')
| -rw-r--r-- | include/osmocom/gsm/gsup.h | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index be856620..49ddb742 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -45,6 +45,7 @@  #include <osmocom/gsm/protocol/gsm_03_40.h>  #include <osmocom/gsm/protocol/gsm_04_08_gprs.h>  #include <osmocom/gsm/protocol/gsm_08_08.h> +#include <osmocom/gsm/gsm_utils.h>  #include <osmocom/crypt/auth.h>  #define OSMO_GSUP_PORT 4222 @@ -86,6 +87,8 @@ enum osmo_gsup_iei {  	OSMO_GSUP_AUTS_IE			= 0x26,  	OSMO_GSUP_RES_IE			= 0x27,  	OSMO_GSUP_CN_DOMAIN_IE			= 0x28, +	OSMO_GSUP_SUPPORTED_RAT_TYPES_IE	= 0x29, /* supported RAT types */ +	OSMO_GSUP_CURRENT_RAT_TYPE_IE		= 0x2a, /* currently used RAT type */  	OSMO_GSUP_SESSION_ID_IE			= 0x30,  	OSMO_GSUP_SESSION_STATE_IE		= 0x31, @@ -373,6 +376,10 @@ struct osmo_gsup_message {  	/*! Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157. */  	enum gsm48_gsm_cause		cause_sm; + +	enum osmo_rat_type		current_rat_type; +	enum osmo_rat_type		supported_rat_types[8]; /*!< arbitrary choice */ +	size_t				supported_rat_types_len;  };  int osmo_gsup_decode(const uint8_t *data, size_t data_len, | 
