libosmogsm 1.11.0.26-c59d.202505152026
Osmocom GSM library
Loading...
Searching...
No Matches
osmo_gsup_message Struct Reference

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_tmsisdn_enc
 
size_t msisdn_enc_len
 
const uint8_thlr_enc
 
size_t hlr_enc_len
 
const uint8_tauts
 
const uint8_trand
 
enum osmo_gsup_cn_domain cn_domain
 
const uint8_tpdp_charg_enc
 
size_t pdp_charg_enc_len
 
enum osmo_gsup_session_state session_state
 Session state osmo_gsup_session_state.
 
uint32_t session_id
 Unique session identifier and origination flag.
 
uint8_tss_info
 ASN.1 encoded MAP payload for Supplementary Services.
 
size_t ss_info_len
 
const uint8_tsm_rp_mr
 SM-RP-MR (see 3GPP TS 29.002, 7.6.1.1), Message Reference.
 
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.
 
size_t sm_rp_da_len
 
const uint8_tsm_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.
 
size_t sm_rp_oa_len
 
const uint8_tsm_rp_oa
 
const uint8_tsm_rp_ui
 SM-RP-UI (see 3GPP TS 29.002, 7.6.8.4), SMS TPDU.
 
size_t sm_rp_ui_len
 
const uint8_tsm_rp_cause
 SM-RP-Cause value (1 oct.) as per GSM TS 04.11, section 8.2.5.4.
 
const uint8_tsm_rp_mms
 SM-RP-MMS (More Messages to Send), section 7.6.8.7.
 
enum osmo_gsup_sms_sm_alert_rsn_t sm_alert_rsn
 Alert reason (see 3GPP TS 29.002, 7.6.8.8)
 
const uint8_timei_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.
 
const uint8_tsource_name
 For messages routed via another GSUP entity (via HLR), the IPA name of the entity that sent this message.
 
size_t source_name_len
 Number of bytes in source_name.
 
const uint8_tdestination_name
 For messages routed via another GSUP entity (via HLR), the IPA name of the entity that should ultimately receive this message.
 
size_t destination_name_len
 Number of bytes in destination_name.
 
struct osmo_gsup_an_apdu an_apdu
 inter-MSC AN-APDU.
 
uint8_t cause_rr
 0 is a valid cause
 
bool cause_rr_set
 whether cause_rr is set
 
enum gsm0808_cause cause_bssap
 0 is a valid cause
 
bool cause_bssap_set
 whether cause_bssap is set
 
enum gsm48_gsm_cause cause_sm
 Session Management cause as of 3GPP TS 24.008 10.5.6.6 / Table 10.5.157.
 
enum osmo_rat_type current_rat_type
 
enum osmo_rat_type supported_rat_types [8]
 arbitrary choice
 
size_t supported_rat_types_len
 
const uint8_tpco
 PCO protocol option 3GPP TS 24.008 10.5.6.3 / Table 10.5.136.
 
size_t pco_len
 Number of bytes of the PCO.
 

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.

◆ auth_vectors

struct osmo_auth_vector osmo_gsup_message::auth_vectors[OSMO_GSUP_MAX_NUM_AUTH_INFO]

◆ auts

const uint8_t* osmo_gsup_message::auts

◆ cancel_type

enum osmo_gsup_cancel_type osmo_gsup_message::cancel_type

◆ cause

enum gsm48_gmm_cause osmo_gsup_message::cause

◆ cause_bssap

enum gsm0808_cause osmo_gsup_message::cause_bssap

0 is a valid cause

◆ cause_bssap_set

bool osmo_gsup_message::cause_bssap_set

whether cause_bssap is set

◆ cause_rr

uint8_t osmo_gsup_message::cause_rr

0 is a valid cause

◆ cause_rr_set

bool osmo_gsup_message::cause_rr_set

whether cause_rr is set

◆ 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.

◆ cn_domain

enum osmo_gsup_cn_domain osmo_gsup_message::cn_domain

◆ current_rat_type

enum osmo_rat_type osmo_gsup_message::current_rat_type

◆ 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.

◆ destination_name_len

size_t osmo_gsup_message::destination_name_len

Number of bytes in destination_name.

◆ freeze_ptmsi

int osmo_gsup_message::freeze_ptmsi

◆ hlr_enc

const uint8_t* osmo_gsup_message::hlr_enc

◆ hlr_enc_len

size_t osmo_gsup_message::hlr_enc_len

◆ imei_enc

const uint8_t* osmo_gsup_message::imei_enc

◆ imei_enc_len

size_t osmo_gsup_message::imei_enc_len

◆ imei_result

enum osmo_gsup_imei_result osmo_gsup_message::imei_result

◆ imsi

char osmo_gsup_message::imsi[OSMO_IMSI_BUF_SIZE]

◆ 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).

◆ message_type

enum osmo_gsup_message_type osmo_gsup_message::message_type

◆ msisdn_enc

const uint8_t* osmo_gsup_message::msisdn_enc

◆ msisdn_enc_len

size_t osmo_gsup_message::msisdn_enc_len

◆ num_auth_vectors

size_t osmo_gsup_message::num_auth_vectors

◆ num_pdp_infos

size_t osmo_gsup_message::num_pdp_infos

◆ 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

◆ pco_len

size_t osmo_gsup_message::pco_len

Number of bytes of the PCO.

◆ pdp_charg_enc

const uint8_t* osmo_gsup_message::pdp_charg_enc

◆ pdp_charg_enc_len

size_t osmo_gsup_message::pdp_charg_enc_len

◆ pdp_info_compl

int osmo_gsup_message::pdp_info_compl

◆ pdp_infos

struct osmo_gsup_pdp_info osmo_gsup_message::pdp_infos[OSMO_GSUP_MAX_NUM_PDP_INFO]

◆ rand

const uint8_t* osmo_gsup_message::rand

◆ session_id

uint32_t osmo_gsup_message::session_id

Unique session identifier and origination flag.

Encoded only when session_state != 0x00

◆ session_state

enum osmo_gsup_session_state osmo_gsup_message::session_state

Session state osmo_gsup_session_state.

◆ 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)

◆ 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.

◆ sm_rp_da

const uint8_t* osmo_gsup_message::sm_rp_da

◆ sm_rp_da_len

size_t osmo_gsup_message::sm_rp_da_len

◆ 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.

◆ sm_rp_mms

const uint8_t* osmo_gsup_message::sm_rp_mms

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

◆ 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.

◆ sm_rp_oa

const uint8_t* osmo_gsup_message::sm_rp_oa

◆ sm_rp_oa_len

size_t osmo_gsup_message::sm_rp_oa_len

◆ 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.

◆ 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.

◆ sm_rp_ui_len

size_t osmo_gsup_message::sm_rp_ui_len

◆ 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.

◆ source_name_len

size_t osmo_gsup_message::source_name_len

Number of bytes in source_name.

◆ ss_info

uint8_t* osmo_gsup_message::ss_info

ASN.1 encoded MAP payload for Supplementary Services.

◆ ss_info_len

size_t osmo_gsup_message::ss_info_len

◆ supported_rat_types

enum osmo_rat_type osmo_gsup_message::supported_rat_types[8]

arbitrary choice

◆ supported_rat_types_len

size_t osmo_gsup_message::supported_rat_types_len

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