libosmogsm 1.9.0.196-9975
Osmocom GSM library
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_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

◆ 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

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

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

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

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

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

◆ 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

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

◆ 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

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

◆ session_state

enum osmo_gsup_session_state osmo_gsup_message::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)

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

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

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

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

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

◆ 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

◆ 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

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