Loading...
Searching...
No Matches
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.
uint32_t | session_id
| Unique session identifier and origination flag.
uint8_t * | ss_info
| ASN.1 encoded MAP payload for Supplementary Services.
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.
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_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.
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.
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.
const uint8_t * | sm_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_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.
const uint8_t * | source_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_t * | destination_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_t * | pco
| 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:

- include/osmocom/gsm/gsup.h