libosmogsm 1.13.1.1-afb4 Osmocom GSM library

Data Fields
osmo_gsup_message Struct Reference
Generic Subscriber Update Protocol

parsed/decoded GSUP protocol message More...

`#include <gsup.h>`

## Data Fields
enum osmo_gsup_message_type | message_type
char | imsi [OSMO_IMSI_BUF_SIZE]
enum gsm48_gmm_cause | cause
enum osmo_gsup_cancel_type | cancel_type
int | pdp_info_compl
int | freeze_ptmsi
struct osmo_auth_vector | auth_vectors [OSMO_GSUP_MAX_NUM_AUTH_INFO]
size_t | num_auth_vectors
struct osmo_gsup_pdp_info | pdp_infos [OSMO_GSUP_MAX_NUM_PDP_INFO]
size_t | num_pdp_infos
const uint8_t * | msisdn_enc
size_t | msisdn_enc_len
const uint8_t * | hlr_enc
size_t | hlr_enc_len
const uint8_t * | auts
const uint8_t * | rand
enum osmo_gsup_cn_domain | cn_domain
const uint8_t * | pdp_charg_enc
size_t | pdp_charg_enc_len
enum osmo_gsup_session_state | session_state
| Session state osmo_gsup_session_state. More...
uint32_t | session_id
| Unique session identifier and origination flag. More...
uint8_t * | ss_info
| ASN.1 encoded MAP payload for Supplementary Services. More...
size_t | ss_info_len
const uint8_t * | sm_rp_mr
| SM-RP-MR (see 3GPP TS 29.002, 7.6.1.1), Message Reference. More...
enum osmo_gsup_sms_sm_rp_oda_t | sm_rp_da_type
| SM-RP-DA (see 3GPP TS 29.002, 7.6.8.1), Destination Address. More...
size_t | sm_rp_da_len
const uint8_t * | sm_rp_da
enum osmo_gsup_sms_sm_rp_oda_t | sm_rp_oa_type
| SM-RP-OA (see 3GPP TS 29.002, 7.6.8.2), Originating Address. More...
size_t | sm_rp_oa_len
const uint8_t * | sm_rp_oa
const uint8_t * | sm_rp_ui
| SM-RP-UI (see 3GPP TS 29.002, 7.6.8.4), SMS TPDU. More...
size_t | sm_rp_ui_len
const uint8_t * | sm_rp_cause
| SM-RP-Cause value (1 oct.) as per GSM TS 04.11, section 8.2.5.4. More...
const uint8_t * | sm_rp_mms
| SM-RP-MMS (More Messages to Send), section 7.6.8.7. More...
enum osmo_gsup_sms_sm_alert_rsn_t | sm_alert_rsn
| Alert reason (see 3GPP TS 29.002, 7.6.8.8) More...
const uint8_t * | imei_enc
size_t | imei_enc_len
enum osmo_gsup_imei_result | imei_result
enum osmo_gsup_message_class | message_class
| Indicate the message class to trivially dispatch incoming GSUP messages to the right code paths. More...
const uint8_t * | source_name
| For messages routed via another GSUP entity (via HLR), the IPA name of the entity that sent this message. More...
size_t | source_name_len
| Number of bytes in source_name. More...
const uint8_t * | destination_name
| For messages routed via another GSUP entity (via HLR), the IPA name of the entity that should ultimately receive this message. More...
size_t | destination_name_len
| Number of bytes in destination_name. More...
struct osmo_gsup_an_apdu | an_apdu
| inter-MSC AN-APDU. More...
uint8_t | cause_rr
| 0 is a valid cause More...
bool | cause_rr_set
| whether cause_rr is set More...
enum gsm0808_cause | cause_bssap
| 0 is a valid cause More...
bool | cause_bssap_set
| whether cause_bssap is set More...
enum gsm48_gsm_cause | cause_sm
| Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157. More...
enum osmo_rat_type | current_rat_type
enum osmo_rat_type | supported_rat_types [8]
| arbitrary choice More...
size_t | supported_rat_types_len
const uint8_t * | pco
| PCO protocol option 3GPP TS 24.008 10.5.6.3 / Table 10.5.136. More...
size_t | pco_len
| Number of bytes of the PCO. More...

## Detailed Description

parsed/decoded GSUP protocol message

## Field Documentation

## ◆ an_apdu

struct osmo_gsup_an_apdu osmo_gsup_message::an_apdu

inter-MSC AN-APDU.

Referenced by osmo_gsup_decode_an_apdu(), osmo_gsup_encode(), and osmo_gsup_encode_an_apdu().

## ◆ auth_vectors

struct osmo_auth_vector osmo_gsup_message::auth_vectors[OSMO_GSUP_MAX_NUM_AUTH_INFO]

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ auts

const uint8_t* osmo_gsup_message::auts

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cancel_type

enum osmo_gsup_cancel_type osmo_gsup_message::cancel_type

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause

enum gsm48_gmm_cause osmo_gsup_message::cause

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause_bssap

enum gsm0808_cause osmo_gsup_message::cause_bssap

0 is a valid cause

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause_bssap_set

bool osmo_gsup_message::cause_bssap_set

whether cause_bssap is set

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause_rr

uint8_t osmo_gsup_message::cause_rr

0 is a valid cause

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause_rr_set

bool osmo_gsup_message::cause_rr_set

whether cause_rr is set

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cause_sm

enum gsm48_gsm_cause osmo_gsup_message::cause_sm

Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ cn_domain

enum osmo_gsup_cn_domain osmo_gsup_message::cn_domain

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ current_rat_type

enum osmo_rat_type osmo_gsup_message::current_rat_type

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ destination_name

const uint8_t* osmo_gsup_message::destination_name

For messages routed via another GSUP entity (via HLR), the IPA name of the entity that should ultimately receive this message.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ destination_name_len

size_t osmo_gsup_message::destination_name_len

Number of bytes in destination_name.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ freeze_ptmsi

int osmo_gsup_message::freeze_ptmsi

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ hlr_enc

const uint8_t* osmo_gsup_message::hlr_enc

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ hlr_enc_len

size_t osmo_gsup_message::hlr_enc_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ imei_enc

const uint8_t* osmo_gsup_message::imei_enc

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ imei_enc_len

size_t osmo_gsup_message::imei_enc_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ imei_result

enum osmo_gsup_imei_result osmo_gsup_message::imei_result

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ imsi

char osmo_gsup_message::imsi[OSMO_IMSI_BUF_SIZE]

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ message_class

enum osmo_gsup_message_class osmo_gsup_message::message_class

Indicate the message class to trivially dispatch incoming GSUP messages to the right code paths.

Inter-MSC messages are required to set a class = OSMO_GSUP_MESSAGE_CLASS_INTER_MSC. For older message classes, this may be omitted (for backwards compatibility only – if in doubt, include it).

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ message_type

enum osmo_gsup_message_type osmo_gsup_message::message_type

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ msisdn_enc

const uint8_t* osmo_gsup_message::msisdn_enc

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ msisdn_enc_len

size_t osmo_gsup_message::msisdn_enc_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ num_auth_vectors

size_t osmo_gsup_message::num_auth_vectors

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ num_pdp_infos

size_t osmo_gsup_message::num_pdp_infos

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pco

const uint8_t* osmo_gsup_message::pco

PCO protocol option 3GPP TS 24.008 10.5.6.3 / Table 10.5.136.

PCO contains Octet 3-ZA

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pco_len

size_t osmo_gsup_message::pco_len

Number of bytes of the PCO.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pdp_charg_enc

const uint8_t* osmo_gsup_message::pdp_charg_enc

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pdp_charg_enc_len

size_t osmo_gsup_message::pdp_charg_enc_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pdp_info_compl

int osmo_gsup_message::pdp_info_compl

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ pdp_infos

struct osmo_gsup_pdp_info osmo_gsup_message::pdp_infos[OSMO_GSUP_MAX_NUM_PDP_INFO]

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ rand

const uint8_t* osmo_gsup_message::rand

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ session_id

uint32_t osmo_gsup_message::session_id

Unique session identifier and origination flag.

Encoded only when session_state != 0x00

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ session_state

enum osmo_gsup_session_state osmo_gsup_message::session_state

Session state osmo_gsup_session_state.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_alert_rsn

enum osmo_gsup_sms_sm_alert_rsn_t osmo_gsup_message::sm_alert_rsn

Alert reason (see 3GPP TS 29.002, 7.6.8.8)

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_rp_cause

const uint8_t* osmo_gsup_message::sm_rp_cause

SM-RP-Cause value (1 oct.) as per GSM TS 04.11, section 8.2.5.4.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_rp_da

const uint8_t* osmo_gsup_message::sm_rp_da

Referenced by osmo_gsup_sms_decode_sm_rp_da(), and osmo_gsup_sms_encode_sm_rp_da().

## ◆ sm_rp_da_len

size_t osmo_gsup_message::sm_rp_da_len

Referenced by osmo_gsup_sms_decode_sm_rp_da(), and osmo_gsup_sms_encode_sm_rp_da().

## ◆ sm_rp_da_type

enum osmo_gsup_sms_sm_rp_oda_t osmo_gsup_message::sm_rp_da_type

SM-RP-DA (see 3GPP TS 29.002, 7.6.8.1), Destination Address.

Referenced by osmo_gsup_encode(), osmo_gsup_sms_decode_sm_rp_da(), and osmo_gsup_sms_encode_sm_rp_da().

## ◆ sm_rp_mms

const uint8_t* osmo_gsup_message::sm_rp_mms

SM-RP-MMS (More Messages to Send), section 7.6.8.7.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_rp_mr

const uint8_t* osmo_gsup_message::sm_rp_mr

SM-RP-MR (see 3GPP TS 29.002, 7.6.1.1), Message Reference.

Please note that there is no SM-RP-MR in TCAP/MAP! SM-RP-MR is usually mapped to TCAP's InvokeID, but we don't need it.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_rp_oa

const uint8_t* osmo_gsup_message::sm_rp_oa

Referenced by osmo_gsup_sms_decode_sm_rp_oa(), and osmo_gsup_sms_encode_sm_rp_oa().

## ◆ sm_rp_oa_len

size_t osmo_gsup_message::sm_rp_oa_len

Referenced by osmo_gsup_sms_decode_sm_rp_oa(), and osmo_gsup_sms_encode_sm_rp_oa().

## ◆ sm_rp_oa_type

enum osmo_gsup_sms_sm_rp_oda_t osmo_gsup_message::sm_rp_oa_type

SM-RP-OA (see 3GPP TS 29.002, 7.6.8.2), Originating Address.

Referenced by osmo_gsup_encode(), osmo_gsup_sms_decode_sm_rp_oa(), and osmo_gsup_sms_encode_sm_rp_oa().

## ◆ sm_rp_ui

const uint8_t* osmo_gsup_message::sm_rp_ui

SM-RP-UI (see 3GPP TS 29.002, 7.6.8.4), SMS TPDU.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ sm_rp_ui_len

size_t osmo_gsup_message::sm_rp_ui_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ source_name

const uint8_t* osmo_gsup_message::source_name

For messages routed via another GSUP entity (via HLR), the IPA name of the entity that sent this message.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ source_name_len

size_t osmo_gsup_message::source_name_len

Number of bytes in source_name.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ ss_info

uint8_t* osmo_gsup_message::ss_info

ASN.1 encoded MAP payload for Supplementary Services.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ ss_info_len

size_t osmo_gsup_message::ss_info_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ supported_rat_types

enum osmo_rat_type osmo_gsup_message::supported_rat_types[8]

arbitrary choice

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

## ◆ supported_rat_types_len

size_t osmo_gsup_message::supported_rat_types_len

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

The documentation for this struct was generated from the following file:

- include/osmocom/gsm/gsup.h