|
libosmogsm
0.9.6.20170825
Osmocom GSM library
|
Osmocom Generic Subscriber Update Protocol. More...
Functions | |
| static int | decode_pdp_info (uint8_t *data, size_t data_len, struct osmo_gsup_pdp_info *pdp_info) |
| static int | decode_auth_info (uint8_t *data, size_t data_len, struct osmo_auth_vector *auth_vector) |
| int | osmo_gsup_decode (const uint8_t *const_data, size_t data_len, struct osmo_gsup_message *gsup_msg) |
| Decode (parse) a GSUP message. More... | |
| static void | encode_pdp_info (struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_gsup_pdp_info *pdp_info) |
| static void | encode_auth_info (struct msgb *msg, enum osmo_gsup_iei iei, const struct osmo_auth_vector *auth_vector) |
| void | osmo_gsup_encode (struct msgb *msg, const struct osmo_gsup_message *gsup_msg) |
| Encode a GSUP message. More... | |
Variables | |
| const struct value_string | osmo_gsup_message_type_names [] |
Osmocom Generic Subscriber Update Protocol.
|
static |
References DLGSUP, GMM_CAUSE_PROTO_ERR_UNSPEC, iei, LOGL_ERROR, LOGP, OSMO_GSUP_AUTN_IE, OSMO_GSUP_CK_IE, OSMO_GSUP_IK_IE, OSMO_GSUP_KC_IE, OSMO_GSUP_RAND_IE, OSMO_GSUP_RES_IE, OSMO_GSUP_SRES_IE, osmo_shift_tlv(), and value_string::value.
Referenced by osmo_gsup_decode().
|
static |
References osmo_gsup_pdp_info::apn_enc, osmo_gsup_pdp_info::apn_enc_len, osmo_gsup_pdp_info::context_id, DLGSUP, GMM_CAUSE_PROTO_ERR_UNSPEC, iei, LOGL_ERROR, LOGP, osmo_decode_big_endian(), OSMO_GSUP_ACCESS_POINT_NAME_IE, OSMO_GSUP_CHARG_CHAR_IE, OSMO_GSUP_PDP_CONTEXT_ID_IE, OSMO_GSUP_PDP_QOS_IE, OSMO_GSUP_PDP_TYPE_IE, osmo_shift_tlv(), osmo_gsup_pdp_info::pdp_charg_enc, osmo_gsup_pdp_info::pdp_charg_enc_len, osmo_gsup_pdp_info::pdp_type, osmo_gsup_pdp_info::qos_enc, osmo_gsup_pdp_info::qos_enc_len, and value_string::value.
Referenced by osmo_gsup_decode().
|
static |
References msgb_length(), msgb_tlv_put(), OSMO_GSUP_AUTN_IE, OSMO_GSUP_CK_IE, OSMO_GSUP_IK_IE, OSMO_GSUP_KC_IE, OSMO_GSUP_RAND_IE, OSMO_GSUP_RES_IE, and OSMO_GSUP_SRES_IE.
Referenced by osmo_gsup_encode().
|
static |
References osmo_gsup_pdp_info::apn_enc, osmo_gsup_pdp_info::apn_enc_len, osmo_gsup_pdp_info::context_id, msgb_length(), msgb_tlv_put(), osmo_encode_big_endian(), OSMO_GSUP_ACCESS_POINT_NAME_IE, OSMO_GSUP_CHARG_CHAR_IE, OSMO_GSUP_PDP_CONTEXT_ID_IE, OSMO_GSUP_PDP_QOS_IE, OSMO_GSUP_PDP_TYPE_IE, OSMO_GSUP_PDP_TYPE_SIZE, osmo_gsup_pdp_info::pdp_charg_enc, osmo_gsup_pdp_info::pdp_charg_enc_len, osmo_gsup_pdp_info::pdp_type, osmo_gsup_pdp_info::qos_enc, and osmo_gsup_pdp_info::qos_enc_len.
Referenced by osmo_gsup_encode().
| int osmo_gsup_decode | ( | const uint8_t * | const_data, |
| size_t | data_len, | ||
| struct osmo_gsup_message * | gsup_msg | ||
| ) |
Decode (parse) a GSUP message.
| [in] | const_data | input data to be parsed |
| [in] | data_len | length of input (const_data) |
| [out] | gsup_msg | callee-allocated output data structure |
References osmo_gsup_message::auth_vectors, osmo_gsup_message::auts, osmo_gsup_message::cancel_type, osmo_gsup_message::cause, osmo_gsup_message::cn_domain, osmo_gsup_pdp_info::context_id, data, decode_auth_info(), decode_pdp_info(), DLGSUP, osmo_gsup_message::freeze_ptmsi, GMM_CAUSE_COND_IE_ERR, GMM_CAUSE_INV_MAND_INFO, GMM_CAUSE_PROTO_ERR_UNSPEC, gsm48_decode_bcd_number(), osmo_gsup_pdp_info::have_info, osmo_gsup_message::hlr_enc, osmo_gsup_message::hlr_enc_len, iei, osmo_gsup_message::imsi, LOGL_ERROR, LOGL_NOTICE, LOGP, osmo_gsup_message::message_type, osmo_gsup_message::msisdn_enc, osmo_gsup_message::msisdn_enc_len, osmo_gsup_message::num_auth_vectors, osmo_gsup_message::num_pdp_infos, OSMO_ASSERT, osmo_decode_big_endian(), OSMO_GSUP_ACCESS_POINT_NAME_IE, OSMO_GSUP_AUTH_TUPLE_IE, OSMO_GSUP_AUTS_IE, OSMO_GSUP_CANCEL_TYPE_IE, OSMO_GSUP_CAUSE_IE, OSMO_GSUP_CHARG_CHAR_IE, OSMO_GSUP_CN_DOMAIN_IE, OSMO_GSUP_FREEZE_PTMSI_IE, OSMO_GSUP_HLR_NUMBER_IE, OSMO_GSUP_IMSI_IE, OSMO_GSUP_KC_IE, OSMO_GSUP_MAX_NUM_AUTH_INFO, OSMO_GSUP_MAX_NUM_PDP_INFO, OSMO_GSUP_MSISDN_IE, OSMO_GSUP_PDP_CONTEXT_ID_IE, OSMO_GSUP_PDP_INFO_COMPL_IE, OSMO_GSUP_PDP_INFO_IE, OSMO_GSUP_PDP_TYPE_IE, OSMO_GSUP_RAND_IE, OSMO_GSUP_SRES_IE, osmo_match_shift_tlv(), osmo_shift_tlv(), osmo_shift_v_fixed(), osmo_gsup_message::pdp_charg_enc, osmo_gsup_message::pdp_charg_enc_len, osmo_gsup_message::pdp_info_compl, osmo_gsup_message::pdp_infos, osmo_gsup_message::rand, and value_string::value.
| void osmo_gsup_encode | ( | struct msgb * | msg, |
| const struct osmo_gsup_message * | gsup_msg | ||
| ) |
Encode a GSUP message.
| [out] | msg | message buffer to which encoded message is written |
| [in] | gsup_msg | osmo_gsup_message data to be encoded |
References osmo_gsup_message::auth_vectors, osmo_gsup_message::auts, osmo_gsup_message::cancel_type, osmo_gsup_message::cause, osmo_gsup_message::cn_domain, osmo_gsup_pdp_info::context_id, encode_auth_info(), encode_pdp_info(), osmo_gsup_message::freeze_ptmsi, gsm48_encode_bcd_number(), GSM48_MI_SIZE, osmo_gsup_pdp_info::have_info, osmo_gsup_message::hlr_enc, osmo_gsup_message::hlr_enc_len, osmo_gsup_message::imsi, osmo_gsup_message::message_type, msgb_tlv_put(), msgb_v_put(), osmo_gsup_message::msisdn_enc, osmo_gsup_message::msisdn_enc_len, osmo_gsup_message::num_auth_vectors, osmo_gsup_message::num_pdp_infos, OSMO_ASSERT, OSMO_GSUP_AUTH_TUPLE_IE, OSMO_GSUP_AUTS_IE, OSMO_GSUP_CANCEL_TYPE_IE, OSMO_GSUP_CAUSE_IE, OSMO_GSUP_CHARG_CHAR_IE, OSMO_GSUP_CN_DOMAIN_IE, OSMO_GSUP_FREEZE_PTMSI_IE, OSMO_GSUP_HLR_NUMBER_IE, OSMO_GSUP_IMSI_IE, OSMO_GSUP_MSISDN_IE, OSMO_GSUP_PDP_CONTEXT_ID_IE, OSMO_GSUP_PDP_INFO_COMPL_IE, OSMO_GSUP_PDP_INFO_IE, OSMO_GSUP_RAND_IE, osmo_gsup_message::pdp_charg_enc, osmo_gsup_message::pdp_charg_enc_len, osmo_gsup_message::pdp_info_compl, osmo_gsup_message::pdp_infos, and osmo_gsup_message::rand.
| const struct value_string osmo_gsup_message_type_names[] |
Referenced by osmo_gsup_message_type_name().