libosmogsm  1.4.1
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
 

Detailed Description

parsed/decoded GSUP protocol message

Field Documentation

struct osmo_gsup_an_apdu osmo_gsup_message::an_apdu
struct osmo_auth_vector osmo_gsup_message::auth_vectors[OSMO_GSUP_MAX_NUM_AUTH_INFO]
const uint8_t* osmo_gsup_message::auts
enum osmo_gsup_cancel_type osmo_gsup_message::cancel_type
enum gsm48_gmm_cause osmo_gsup_message::cause
enum gsm0808_cause osmo_gsup_message::cause_bssap

0 is a valid cause

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

bool osmo_gsup_message::cause_bssap_set

whether cause_bssap is set

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

uint8_t osmo_gsup_message::cause_rr

0 is a valid cause

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

bool osmo_gsup_message::cause_rr_set

whether cause_rr is set

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

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

enum osmo_gsup_cn_domain osmo_gsup_message::cn_domain
enum osmo_rat_type osmo_gsup_message::current_rat_type
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().

size_t osmo_gsup_message::destination_name_len

Number of bytes in destination_name.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

int osmo_gsup_message::freeze_ptmsi
const uint8_t* osmo_gsup_message::hlr_enc
size_t osmo_gsup_message::hlr_enc_len
const uint8_t* osmo_gsup_message::imei_enc
size_t osmo_gsup_message::imei_enc_len
enum osmo_gsup_imei_result osmo_gsup_message::imei_result
char osmo_gsup_message::imsi[OSMO_IMSI_BUF_SIZE]
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().

enum osmo_gsup_message_type osmo_gsup_message::message_type
const uint8_t* osmo_gsup_message::msisdn_enc
size_t osmo_gsup_message::msisdn_enc_len
size_t osmo_gsup_message::num_auth_vectors
size_t osmo_gsup_message::num_pdp_infos
const uint8_t* osmo_gsup_message::pdp_charg_enc
size_t osmo_gsup_message::pdp_charg_enc_len
int osmo_gsup_message::pdp_info_compl
struct osmo_gsup_pdp_info osmo_gsup_message::pdp_infos[OSMO_GSUP_MAX_NUM_PDP_INFO]
const uint8_t* osmo_gsup_message::rand
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().

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

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

const uint8_t* osmo_gsup_message::sm_rp_da
size_t osmo_gsup_message::sm_rp_da_len
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().

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

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

const uint8_t* osmo_gsup_message::sm_rp_oa
size_t osmo_gsup_message::sm_rp_oa_len
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().

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

size_t osmo_gsup_message::sm_rp_ui_len
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().

size_t osmo_gsup_message::source_name_len

Number of bytes in source_name.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

uint8_t* osmo_gsup_message::ss_info

ASN.1 encoded MAP payload for Supplementary Services.

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

size_t osmo_gsup_message::ss_info_len
enum osmo_rat_type osmo_gsup_message::supported_rat_types[8]

arbitrary choice

Referenced by osmo_gsup_decode(), and osmo_gsup_encode().

size_t osmo_gsup_message::supported_rat_types_len

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