libosmogb 1.13.1.1-afb4 Osmocom Gb library

Macros | Functions | Variables
gprs_bssgp_util.c File Reference

GPRS BSSGP protocol implementation as per 3GPP TS 08.18. More...

`#include <errno.h>`
`#include <stdint.h>`
`#include <osmocom/core/msgb.h>`
`#include <osmocom/core/byteswap.h>`
`#include <osmocom/gsm/tlv.h>`
`#include <osmocom/core/talloc.h>`
`#include <osmocom/gprs/gprs_bssgp.h>`
`#include <osmocom/gprs/gprs_ns.h>`
`#include "gprs_bssgp_internal.h"`

## Macros
#define | DL BSSGP_PDUF_DL
#define | UL BSSGP_PDUF_UL
#define | SIG BSSGP_PDUF_SIG
#define | PTP BSSGP_PDUF_PTP
#define | PTM BSSGP_PDUF_PTM

## Functions
const char * | bssgp_cause_str (enum gprs_bssgp_cause cause)
const char * | bssgp_pdu_str (enum bssgp_pdu_type pdu)
struct msgb * | bssgp_msgb_alloc (void)
struct msgb * | bssgp_msgb_copy (const struct msgb *msg, const char *name)
int | bssgp_tx_simple_bvci (uint8_t pdu_type, uint16_t nsei, uint16_t bvci, uint16_t ns_bvci)
int | bssgp_tx_status (uint8_t cause, uint16_t *bvci, struct msgb *orig_msg)

## Variables
struct gprs_ns_inst * | bssgp_nsi
static const struct value_string | bssgp_cause_strings []
static const struct value_string | bssgp_pdu_strings []
static const uint8_t | dl_ud_ies [] = { BSSGP_IE_PDU_LIFETIME }
static const uint8_t | ul_ud_ies [] = { BSSGP_IE_CELL_ID }
static const uint8_t | ra_cap_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_MS_RADIO_ACCESS_CAP }
static const uint8_t | dl_mb_ud_ies [] = { BSSGP_IE_PDU_LIFETIME, BSSGP_IE_TMGI, BSSGP_IE_LLC_PDU }
static const uint8_t | ul_mb_ud_ies [] = { BSSGP_IE_PDU_LIFETIME, BSSGP_IE_TMGI, BSSGP_IE_LLC_PDU }
static const uint8_t | pag_ps_ies [] = { BSSGP_IE_IMSI, BSSGP_IE_QOS_PROFILE }
static const uint8_t | pag_cs_ies [] = { BSSGP_IE_IMSI, BSSGP_IE_DRX_PARAMS }
static const uint8_t | ra_cap_upd_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
static const uint8_t | ra_cap_upd_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_TAG, BSSGP_IE_RA_CAP_UPD_CAUSE }
static const uint8_t | rad_sts_ies [] = { BSSGP_IE_RADIO_CAUSE }
static const uint8_t | suspend_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
static const uint8_t | suspend_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA, BSSGP_IE_SUSPEND_REF_NR }
static const uint8_t | suspend_nack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
static const uint8_t | resume_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA, BSSGP_IE_SUSPEND_REF_NR }
static const uint8_t | resume_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
static const uint8_t | resume_nack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
static const uint8_t | d_pag_ps_ies [] = { BSSGP_IE_IMSI }
static const uint8_t | d_pag_ps_resp_ies [] = { BSSGP_IE_IMSI, BSSGP_IE_T_UNTIL_NEXT_PAGING }
static const uint8_t | d_pag_ps_rej_ies [] = { BSSGP_IE_IMSI, BSSGP_IE_T_UNTIL_NEXT_PAGING }
static const uint8_t | ms_reg_enq_ies [] = { BSSGP_IE_IMSI }
static const uint8_t | ms_reg_enq_res_ies [] = { BSSGP_IE_IMSI }
static const uint8_t | flush_ll_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_BVCI }
static const uint8_t | flush_ll_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_FLUSH_ACTION }
static const uint8_t | llc_disc_ies []
static const uint8_t | fc_bvc_ies []
static const uint8_t | fc_bvc_ack_ies [] = { BSSGP_IE_TAG }
static const uint8_t | fc_ms_ies []
static const uint8_t | fc_ms_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
static const uint8_t | block_ies [] = { BSSGP_IE_BVCI, BSSGP_IE_CAUSE }
static const uint8_t | block_ack_ies [] = { BSSGP_IE_BVCI }
static const uint8_t | unblock_ies [] = { BSSGP_IE_BVCI }
static const uint8_t | unblock_ack_ies [] = { BSSGP_IE_BVCI }
static const uint8_t | reset_ies [] = { BSSGP_IE_BVCI, BSSGP_IE_CAUSE }
static const uint8_t | reset_ack_ies [] = { BSSGP_IE_BVCI }
static const uint8_t | status_ies [] = { BSSGP_IE_CAUSE }
static const uint8_t | inv_trc_ies [] = { BSSGP_IE_TRACE_TYPE, BSSGP_IE_TRACE_REFERENC }
static const uint8_t | dl_bss_pfc_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
static const uint8_t | crt_bss_pfc_ies []
static const uint8_t | crt_bss_pfc_ack_ies []
static const uint8_t | crt_bss_pfc_nack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID, BSSGP_IE_CAUSE }
static const uint8_t | mod_bss_pfc_ies []
static const uint8_t | mod_bss_pfc_ack_ies []
static const uint8_t | del_bss_pfc_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
static const uint8_t | del_bss_pfc_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
static const uint8_t | fc_pfc_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_TAG, BSSGP_IE_PFC_FLOW_CTRL_PARAMS }
static const uint8_t | fc_pfc_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
static const uint8_t | del_bss_pfc_req_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID, BSSGP_IE_CAUSE }
static const uint8_t | ps_ho_required_ies []
static const uint8_t | ps_ho_required_ack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_LIST_OF_SETUP_PFC }
static const uint8_t | ps_ho_required_nack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE }
static const uint8_t | ps_ho_request_ies []
static const uint8_t | ps_ho_request_ack_ies []
static const uint8_t | ps_ho_request_nack_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE }
static const uint8_t | ps_ho_compl_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_IMSI }
static const uint8_t | ps_ho_cancel_ies [] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE, BSSGP_IE_CELL_ID }
static const uint8_t | ps_ho_compl_ack_ies [] = { BSSGP_IE_TLLI }
static const uint8_t | overload_ies [] = { BSSGP_IE_PRIO_CLASS_IND }
static const uint8_t | rinfo_ies [] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_RIM_CONTAINER }
static const uint8_t | rinfo_req_ies [] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_REQ_RIM_CONTAINER }
static const uint8_t | rinfo_ack_ies [] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_ACK_RIM_CONTAINER }
static const uint8_t | rinfo_err_ies [] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_ERROR_RIM_COINTAINER }
static const uint8_t | rinfo_aerr_ies [] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_APP_ERROR_RIM_CONT }
const struct osmo_tlv_prot_def | osmo_pdef_bssgp

## Detailed Description

GPRS BSSGP protocol implementation as per 3GPP TS 08.18.

## Macro Definition Documentation

## ◆ DL

#define DL BSSGP_PDUF_DL

## ◆ PTM

#define PTM BSSGP_PDUF_PTM

## ◆ PTP

#define PTP BSSGP_PDUF_PTP

## ◆ SIG

#define SIG BSSGP_PDUF_SIG

## ◆ UL

#define UL BSSGP_PDUF_UL

## Function Documentation

## ◆ bssgp_cause_str()

const char * bssgp_cause_str | ( | enum gprs_bssgp_cause | cause | ) |

References bssgp_cause_strings, cause, and get_value_string().

Referenced by bssgp_bvc_fsm_allstate(), bssgp_bvc_fsm_blocked(), bssgp_bvc_fsm_unblocked(), bssgp_rx_bvc_reset(), bssgp_rx_status(), bssgp_tx_bvc_block(), bssgp_tx_bvc_ptp_reset(), bssgp_tx_status(), common_tx_radio_status2(), and tx_bvc_reset_nsei_bvci().

## ◆ bssgp_msgb_alloc()

struct msgb * bssgp_msgb_alloc | ( | void |  | ) |

References msg, msgb_alloc_headroom(), msgb_bssgph, and OSMO_ASSERT.

Referenced by bssgp2_enc_bvc_block(), bssgp2_enc_bvc_block_ack(), bssgp2_enc_bvc_reset(), bssgp2_enc_bvc_reset_ack(), bssgp2_enc_bvc_unblock(), bssgp2_enc_bvc_unblock_ack(), bssgp2_enc_fc_bvc(), bssgp2_enc_fc_bvc_ack(), bssgp2_enc_fc_ms(), bssgp2_enc_fc_ms_ack(), bssgp2_enc_flush_ll(), bssgp2_enc_status(), bssgp_encode_rim_pdu(), bssgp_tx_bvc_block(), bssgp_tx_bvc_unblock(), bssgp_tx_fc_bvc(), bssgp_tx_fc_bvc_ack(), bssgp_tx_fc_ms(), bssgp_tx_flush_ll_ack(), bssgp_tx_llc_discarded(), bssgp_tx_paging(), bssgp_tx_ra_capa_upd(), bssgp_tx_resume(), bssgp_tx_resume_ack(), bssgp_tx_resume_nack(), bssgp_tx_simple_bvci(), bssgp_tx_status(), bssgp_tx_suspend(), bssgp_tx_suspend_ack(), bssgp_tx_suspend_nack(), common_tx_radio_status(), and tx_bvc_reset_nsei_bvci().

## ◆ bssgp_msgb_copy()

struct msgb * bssgp_msgb_copy | ( | const struct msgb * | msg,
|  | const char * | name
| ) |  |

References msgb::_data, libgb_msgb_cb::bssgp_cell_id, libgb_msgb_cb::bssgph, libgb_msgb_cb::bvci, LIBGB_MSGB_CB, libgb_msgb_cb::llch, msg, msgb_copy(), name, libgb_msgb_cb::nsei, and libgb_msgb_cb::tlli.

## ◆ bssgp_pdu_str()

const char * bssgp_pdu_str | ( | enum bssgp_pdu_type | pdu | ) |

References bssgp_pdu_strings, and get_value_string().

Referenced by bssgp_rcvmsg(), bssgp_rx_ptp(), bssgp_rx_rim(), bssgp_rx_sign(), bssgp_tx_rim(), and bssgp_tx_rim_encoded().

## ◆ bssgp_tx_simple_bvci()

int bssgp_tx_simple_bvci | ( | uint8_t | pdu_type,
|  | uint16_t | nsei,
|  | uint16_t | bvci,
|  | uint16_t | ns_bvci
| ) |  |

References BSSGP_IE_BVCI, bssgp_msgb_alloc(), bssgp_ns_send, bssgp_ns_send_data, bvci, msg, msgb_bvci, msgb_nsei, msgb_put(), msgb_tvlv_put(), nsei, osmo_htons, pdu_type, and bssgp_normal_hdr::pdu_type.

Referenced by bssgp_bvc_fsm_unblocked(), bssgp_rx_bvc_block(), bssgp_rx_bvc_reset(), and bssgp_rx_bvc_unblock().

## ◆ bssgp_tx_status()

int bssgp_tx_status | ( | uint8_t | cause,
|  | uint16_t * | bvci,
|  | struct msgb * | orig_msg
| ) |  |

References BSSGP_CAUSE_BVCI_BLOCKED, bssgp_cause_str(), BSSGP_CAUSE_UNKNOWN_BVCI, BSSGP_IE_BVCI, BSSGP_IE_CAUSE, BSSGP_IE_PDU_IN_ERROR, bssgp_msgb_alloc(), bssgp_ns_send, bssgp_ns_send_data, BSSGP_PDUT_STATUS, bvci, cause, DLBSSGP, LOGL_ERROR, LOGL_NOTICE, LOGP, msg, msgb_bssgp_len, msgb_bssgph, msgb_bvci, msgb_nsei, msgb_put(), msgb_tvlv_put(), osmo_htons, and bssgp_normal_hdr::pdu_type.

Referenced by bssgp_rcvmsg(), bssgp_rx_bvc_block(), bssgp_rx_bvc_unblock(), bssgp_rx_fc_bvc(), bssgp_rx_llc_disc(), bssgp_rx_ptp(), bssgp_rx_resume(), bssgp_rx_rim(), bssgp_rx_sign(), bssgp_rx_suspend(), and bssgp_rx_ul_ud().

## Variable Documentation

## ◆ block_ack_ies

const uint8_t block_ack_ies[] = { BSSGP_IE_BVCI }
| static

## ◆ block_ies

const uint8_t block_ies[] = { BSSGP_IE_BVCI, BSSGP_IE_CAUSE }
| static

## ◆ bssgp_cause_strings

const struct value_string bssgp_cause_strings[]
| static

Referenced by bssgp_cause_str().

## ◆ bssgp_nsi

struct gprs_ns_inst* bssgp_nsi

Referenced by _gprs_ns_sendmsg().

## ◆ bssgp_pdu_strings

const struct value_string bssgp_pdu_strings[]
| static

Referenced by bssgp_pdu_str().

## ◆ crt_bss_pfc_ack_ies

const uint8_t crt_bss_pfc_ack_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID,
BSSGP_IE_AGG_BSS_QOS_PROFILE }
BSSGP_IE_AGG_BSS_QOS_PROFILE
@ BSSGP_IE_AGG_BSS_QOS_PROFILE
Definition: gsm_08_18.h:160
BSSGP_IE_PACKET_FLOW_ID
@ BSSGP_IE_PACKET_FLOW_ID
Definition: gsm_08_18.h:158
BSSGP_IE_TLLI
@ BSSGP_IE_TLLI
Definition: gsm_08_18.h:149

## ◆ crt_bss_pfc_ies

const uint8_t crt_bss_pfc_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID,
BSSGP_IE_PACKET_FLOW_TIMER, BSSGP_IE_AGG_BSS_QOS_PROFILE }
BSSGP_IE_PACKET_FLOW_TIMER
@ BSSGP_IE_PACKET_FLOW_TIMER
Definition: gsm_08_18.h:159

## ◆ crt_bss_pfc_nack_ies

const uint8_t crt_bss_pfc_nack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID, BSSGP_IE_CAUSE }
| static

## ◆ d_pag_ps_ies

const uint8_t d_pag_ps_ies[] = { BSSGP_IE_IMSI }
| static

## ◆ d_pag_ps_rej_ies

const uint8_t d_pag_ps_rej_ies[] = { BSSGP_IE_IMSI, BSSGP_IE_T_UNTIL_NEXT_PAGING }
| static

## ◆ d_pag_ps_resp_ies

const uint8_t d_pag_ps_resp_ies[] = { BSSGP_IE_IMSI, BSSGP_IE_T_UNTIL_NEXT_PAGING }
| static

## ◆ del_bss_pfc_ack_ies

const uint8_t del_bss_pfc_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
| static

## ◆ del_bss_pfc_ies

const uint8_t del_bss_pfc_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
| static

## ◆ del_bss_pfc_req_ies

const uint8_t del_bss_pfc_req_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID, BSSGP_IE_CAUSE }
| static

## ◆ dl_bss_pfc_ies

const uint8_t dl_bss_pfc_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID }
| static

## ◆ dl_mb_ud_ies

const uint8_t dl_mb_ud_ies[] = { BSSGP_IE_PDU_LIFETIME, BSSGP_IE_TMGI, BSSGP_IE_LLC_PDU }
| static

## ◆ dl_ud_ies

const uint8_t dl_ud_ies[] = { BSSGP_IE_PDU_LIFETIME }
| static

## ◆ fc_bvc_ack_ies

const uint8_t fc_bvc_ack_ies[] = { BSSGP_IE_TAG }
| static

## ◆ fc_bvc_ies

const uint8_t fc_bvc_ies[]
| static

Initial value:
= { BSSGP_IE_TAG, BSSGP_IE_BVC_BUCKET_SIZE, BSSGP_IE_BUCKET_LEAK_RATE,
BSSGP_IE_BMAX_DEFAULT_MS, BSSGP_IE_R_DEFAULT_MS }
BSSGP_IE_TAG
@ BSSGP_IE_TAG
Definition: gsm_08_18.h:148
BSSGP_IE_R_DEFAULT_MS
@ BSSGP_IE_R_DEFAULT_MS
Definition: gsm_08_18.h:146
BSSGP_IE_BUCKET_LEAK_RATE
@ BSSGP_IE_BUCKET_LEAK_RATE
Definition: gsm_08_18.h:121
BSSGP_IE_BMAX_DEFAULT_MS
@ BSSGP_IE_BMAX_DEFAULT_MS
Definition: gsm_08_18.h:119
BSSGP_IE_BVC_BUCKET_SIZE
@ BSSGP_IE_BVC_BUCKET_SIZE
Definition: gsm_08_18.h:123

## ◆ fc_ms_ack_ies

const uint8_t fc_ms_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
| static

## ◆ fc_ms_ies

const uint8_t fc_ms_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_TAG, BSSGP_IE_MS_BUCKET_SIZE,
BSSGP_IE_BUCKET_LEAK_RATE }
BSSGP_IE_MS_BUCKET_SIZE
@ BSSGP_IE_MS_BUCKET_SIZE
Definition: gsm_08_18.h:136

## ◆ fc_pfc_ack_ies

const uint8_t fc_pfc_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
| static

## ◆ fc_pfc_ies

const uint8_t fc_pfc_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_TAG, BSSGP_IE_PFC_FLOW_CTRL_PARAMS }
| static

## ◆ flush_ll_ack_ies

const uint8_t flush_ll_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_FLUSH_ACTION }
| static

## ◆ flush_ll_ies

const uint8_t flush_ll_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_BVCI }
| static

## ◆ inv_trc_ies

const uint8_t inv_trc_ies[] = { BSSGP_IE_TRACE_TYPE, BSSGP_IE_TRACE_REFERENC }
| static

## ◆ llc_disc_ies

const uint8_t llc_disc_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_LLC_FRAMES_DISCARDED, BSSGP_IE_BVCI,
BSSGP_IE_NUM_OCT_AFF }
BSSGP_IE_NUM_OCT_AFF
@ BSSGP_IE_NUM_OCT_AFF
Definition: gsm_08_18.h:155
BSSGP_IE_LLC_FRAMES_DISCARDED
@ BSSGP_IE_LLC_FRAMES_DISCARDED
Definition: gsm_08_18.h:133
BSSGP_IE_BVCI
@ BSSGP_IE_BVCI
Definition: gsm_08_18.h:122

## ◆ mod_bss_pfc_ack_ies

const uint8_t mod_bss_pfc_ack_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID,
BSSGP_IE_PACKET_FLOW_TIMER, BSSGP_IE_AGG_BSS_QOS_PROFILE }

## ◆ mod_bss_pfc_ies

const uint8_t mod_bss_pfc_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_PACKET_FLOW_ID,
BSSGP_IE_AGG_BSS_QOS_PROFILE }

## ◆ ms_reg_enq_ies

const uint8_t ms_reg_enq_ies[] = { BSSGP_IE_IMSI }
| static

## ◆ ms_reg_enq_res_ies

const uint8_t ms_reg_enq_res_ies[] = { BSSGP_IE_IMSI }
| static

## ◆ osmo_pdef_bssgp

const struct osmo_tlv_prot_def osmo_pdef_bssgp

Referenced by bssgp_parse_rim_pdu(), bssgp_pdu_type_flags(), fi_tx_ptp(), and fi_tx_sig().

## ◆ overload_ies

const uint8_t overload_ies[] = { BSSGP_IE_PRIO_CLASS_IND }
| static

## ◆ pag_cs_ies

const uint8_t pag_cs_ies[] = { BSSGP_IE_IMSI, BSSGP_IE_DRX_PARAMS }
| static

## ◆ pag_ps_ies

const uint8_t pag_ps_ies[] = { BSSGP_IE_IMSI, BSSGP_IE_QOS_PROFILE }
| static

## ◆ ps_ho_cancel_ies

const uint8_t ps_ho_cancel_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE, BSSGP_IE_CELL_ID }
| static

## ◆ ps_ho_compl_ack_ies

const uint8_t ps_ho_compl_ack_ies[] = { BSSGP_IE_TLLI }
| static

## ◆ ps_ho_compl_ies

const uint8_t ps_ho_compl_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_IMSI }
| static

## ◆ ps_ho_request_ack_ies

const uint8_t ps_ho_request_ack_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_LIST_OF_SETUP_PFC,
BSSGP_IE_TBSS_TO_SBSS_TR_CONT }
BSSGP_IE_TBSS_TO_SBSS_TR_CONT
@ BSSGP_IE_TBSS_TO_SBSS_TR_CONT
Definition: gsm_08_18.h:201
BSSGP_IE_LIST_OF_SETUP_PFC
@ BSSGP_IE_LIST_OF_SETUP_PFC
Definition: gsm_08_18.h:204

## ◆ ps_ho_request_ies

const uint8_t ps_ho_request_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_IMSI, BSSGP_IE_CAUSE,
BSSGP_IE_CELL_ID, BSSGP_IE_SBSS_TO_TBSS_TR_CONT,
BSSGP_IE_PFC_TO_BE_SETUP_LIST }
BSSGP_IE_PFC_TO_BE_SETUP_LIST
@ BSSGP_IE_PFC_TO_BE_SETUP_LIST
Definition: gsm_08_18.h:203
BSSGP_IE_IMSI
@ BSSGP_IE_IMSI
Definition: gsm_08_18.h:131
BSSGP_IE_CAUSE
@ BSSGP_IE_CAUSE
Definition: gsm_08_18.h:125
BSSGP_IE_CELL_ID
@ BSSGP_IE_CELL_ID
Definition: gsm_08_18.h:126
BSSGP_IE_SBSS_TO_TBSS_TR_CONT
@ BSSGP_IE_SBSS_TO_TBSS_TR_CONT
Definition: gsm_08_18.h:200

## ◆ ps_ho_request_nack_ies

const uint8_t ps_ho_request_nack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE }
| static

## ◆ ps_ho_required_ack_ies

const uint8_t ps_ho_required_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_LIST_OF_SETUP_PFC }
| static

## ◆ ps_ho_required_ies

const uint8_t ps_ho_required_ies[]
| static

Initial value:
= { BSSGP_IE_TLLI, BSSGP_IE_CAUSE, BSSGP_IE_CELL_ID,
BSSGP_IE_ACTIVE_PFC_LIST }
BSSGP_IE_ACTIVE_PFC_LIST
@ BSSGP_IE_ACTIVE_PFC_LIST
Definition: gsm_08_18.h:219

## ◆ ps_ho_required_nack_ies

const uint8_t ps_ho_required_nack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_CAUSE }
| static

## ◆ ra_cap_ies

const uint8_t ra_cap_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_MS_RADIO_ACCESS_CAP }
| static

## ◆ ra_cap_upd_ack_ies

const uint8_t ra_cap_upd_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_TAG, BSSGP_IE_RA_CAP_UPD_CAUSE }
| static

## ◆ ra_cap_upd_ies

const uint8_t ra_cap_upd_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_TAG }
| static

## ◆ rad_sts_ies

const uint8_t rad_sts_ies[] = { BSSGP_IE_RADIO_CAUSE }
| static

## ◆ reset_ack_ies

const uint8_t reset_ack_ies[] = { BSSGP_IE_BVCI }
| static

## ◆ reset_ies

const uint8_t reset_ies[] = { BSSGP_IE_BVCI, BSSGP_IE_CAUSE }
| static

## ◆ resume_ack_ies

const uint8_t resume_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
| static

## ◆ resume_ies

const uint8_t resume_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA, BSSGP_IE_SUSPEND_REF_NR }
| static

## ◆ resume_nack_ies

const uint8_t resume_nack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
| static

## ◆ rinfo_ack_ies

const uint8_t rinfo_ack_ies[] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_ACK_RIM_CONTAINER }
| static

## ◆ rinfo_aerr_ies

const uint8_t rinfo_aerr_ies[] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_APP_ERROR_RIM_CONT }
| static

## ◆ rinfo_err_ies

const uint8_t rinfo_err_ies[] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_ERROR_RIM_COINTAINER }
| static

## ◆ rinfo_ies

const uint8_t rinfo_ies[] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_RIM_CONTAINER }
| static

## ◆ rinfo_req_ies

const uint8_t rinfo_req_ies[] = { BSSGP_IE_RIM_ROUTING_INFO, BSSGP_IE_RI_REQ_RIM_CONTAINER }
| static

## ◆ status_ies

const uint8_t status_ies[] = { BSSGP_IE_CAUSE }
| static

## ◆ suspend_ack_ies

const uint8_t suspend_ack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA, BSSGP_IE_SUSPEND_REF_NR }
| static

## ◆ suspend_ies

const uint8_t suspend_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
| static

## ◆ suspend_nack_ies

const uint8_t suspend_nack_ies[] = { BSSGP_IE_TLLI, BSSGP_IE_ROUTEING_AREA }
| static

## ◆ ul_mb_ud_ies

const uint8_t ul_mb_ud_ies[] = { BSSGP_IE_PDU_LIFETIME, BSSGP_IE_TMGI, BSSGP_IE_LLC_PDU }
| static

## ◆ ul_ud_ies

const uint8_t ul_ud_ies[] = { BSSGP_IE_CELL_ID }
| static

## ◆ unblock_ack_ies

const uint8_t unblock_ack_ies[] = { BSSGP_IE_BVCI }
| static

## ◆ unblock_ies

const uint8_t unblock_ies[] = { BSSGP_IE_BVCI }
| static