libosmogsm 1.7.0
Osmocom GSM library
|
GSM Network Management (OML) messages on the A-bis interface. More...
Files | |
file | abis_nm.h |
file | gsm_12_21.h |
file | abis_nm.c |
Data Structures | |
struct | abis_om_hdr |
generic header in front of every OML message according to TS 08.59 More... | |
struct | abis_om_obj_inst |
OML Object Instance. More... | |
struct | abis_om_fom_hdr |
OML FOM header. More... | |
struct | abis_nm_channel |
Abis OML Channel (Section 9.4.1) More... | |
struct | abis_nm_sw_desc |
3GPP TS 52.021 ยง9.4.62 SW Description More... | |
Macros | |
#define | abis_nm_debugp_foh(ss, foh) DEBUGP(ss, "%s ", abis_nm_dump_foh(foh)) |
write a human-readable OML header to the debug log | |
#define | ABIS_NM_MSG_SIZE 1024 |
#define | ABIS_NM_MSG_HEADROOM 128 |
#define | ABIS_OM_MDISC_FOM 0x80 |
Message Discriminator for Formatted Object Messages. | |
#define | ABIS_OM_MDISC_MMI 0x40 |
Message Discriminator for Man Machine Interface. | |
#define | ABIS_OM_MDISC_TRAU 0x20 |
Message Discriminator for TRAU management. | |
#define | ABIS_OM_MDISC_MANUF 0x10 |
Message Discriminator for Manufacturer Specific Messages. | |
#define | ABIS_OM_PLACEMENT_ONLY 0x80 |
Entire OML message is in the L2 frame. | |
#define | ABIS_OM_PLACEMENT_FIRST 0x40 |
First fragment of OML message is in this L2 frame. | |
#define | ABIS_OM_PLACEMENT_MIDDLE 0x20 |
Middle fragment of OML message is in this L2 frame. | |
#define | ABIS_OM_PLACEMENT_LAST 0x10 |
Last fragment of OML message is in this L2 frame. | |
#define | ABIS_OM_FOM_HDR_SIZE (sizeof(struct abis_om_hdr) + sizeof(struct abis_om_fom_hdr)) |
Size of the OML FOM header in octets. | |
#define | NM_ATT_BS11_FILE_DATA NM_ATT_EVENT_TYPE |
#define | NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH NM_CHANC_OSMO_DYN |
GSM Network Management (OML) messages on the A-bis interface.
3GPP TS 12.21 version 8.0.0 Release 1999 / ETSI TS 100 623 V8.0.0
write a human-readable OML header to the debug log
[in] | ss | Logging sub-system |
[in] | foh | A-bis OML FOM header |
#define ABIS_NM_MSG_HEADROOM 128 |
#define ABIS_NM_MSG_SIZE 1024 |
#define ABIS_OM_FOM_HDR_SIZE (sizeof(struct abis_om_hdr) + sizeof(struct abis_om_fom_hdr)) |
Size of the OML FOM header in octets.
#define ABIS_OM_MDISC_FOM 0x80 |
Message Discriminator for Formatted Object Messages.
#define ABIS_OM_MDISC_MANUF 0x10 |
Message Discriminator for Manufacturer Specific Messages.
#define ABIS_OM_MDISC_MMI 0x40 |
Message Discriminator for Man Machine Interface.
#define ABIS_OM_MDISC_TRAU 0x20 |
Message Discriminator for TRAU management.
#define ABIS_OM_PLACEMENT_FIRST 0x40 |
First fragment of OML message is in this L2 frame.
#define ABIS_OM_PLACEMENT_LAST 0x10 |
Last fragment of OML message is in this L2 frame.
#define ABIS_OM_PLACEMENT_MIDDLE 0x20 |
Middle fragment of OML message is in this L2 frame.
#define ABIS_OM_PLACEMENT_ONLY 0x80 |
Entire OML message is in the L2 frame.
#define NM_ATT_BS11_FILE_DATA NM_ATT_EVENT_TYPE |
#define NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH NM_CHANC_OSMO_DYN |
Siemens BS11 boot phase.
OML Probable Cause (Section 9.4.43) Manufacturer specific values.
OML Attributes / IEs (Section 9.4)
ip.access test number
OML Message Type (Section 9.1)
Siemens specific OML Message Types.
ip.access specific OML Message Types
NACK causes (Section 9.4.36)
OML Object Class (Section 9.2)
ip.access IEI
struct abis_om_hdr __attribute__ | ( | (packed) | ) |
Get human-readable string for OML administrative state.
References abis_nm_adm_state_names, and get_value_string().
Get human-readable string for OML Availability State.
References avail_names, and get_value_string().
int abis_nm_chcomb4pchan | ( | enum gsm_phys_chan_config | pchan | ) |
Obtain OML Channel Combination for phnsical channel config.
References ARRAY_SIZE, and chcomb4pchan.
void abis_nm_debugp_foh | ( | int | ss, |
struct abis_om_fom_hdr * | foh | ||
) |
References abis_nm_dump_foh(), and DEBUGP.
const char * abis_nm_dump_foh | ( | const struct abis_om_fom_hdr * | foh | ) |
References abis_nm_dump_foh_buf().
Referenced by abis_nm_debugp_foh().
char * abis_nm_dump_foh_c | ( | void * | ctx, |
const struct abis_om_fom_hdr * | foh | ||
) |
References abis_nm_dump_foh_buf(), and len.
Get human-readable string for OML event type.
References cause, event_type_names, and get_value_string().
struct msgb * abis_nm_fail_evt_rep | ( | enum abis_nm_event_type | t, |
enum abis_nm_severity | s, | ||
enum abis_nm_pcause_type | ct, | ||
uint16_t | cause_value, | ||
const char * | fmt, | ||
... | |||
) |
Pack 3GPP TS 12.21 ยง 8.8.2 Failure Event Report into msgb.
References abis_nm_fail_evt_vrep().
struct msgb * abis_nm_fail_evt_vrep | ( | enum abis_nm_event_type | t, |
enum abis_nm_severity | s, | ||
enum abis_nm_pcause_type | ct, | ||
uint16_t | cause_value, | ||
const char * | fmt, | ||
va_list | ap | ||
) |
Pack 3GPP TS 12.21 ยง 8.8.2 Failure Event Report into msgb.
References ABIS_NM_MSG_HEADROOM, ABIS_NM_MSG_SIZE, cause, len, msgb_free(), msgb_tl16v_put(), msgb_tv_fixed_put(), msgb_tv_put(), NM_ATT_ADD_TEXT, NM_ATT_EVENT_TYPE, NM_ATT_PROB_CAUSE, and NM_ATT_SEVERITY.
Referenced by abis_nm_fail_evt_rep().
int abis_nm_get_sw_conf | ( | const uint8_t * | buf, |
size_t | buf_len, | ||
struct abis_nm_sw_desc * | sw, | ||
uint16_t | sw_len | ||
) |
Parse 3GPP TS 52.021 ยง9.4.61 SW Configuration from buffer.
[in] | buf | buffer |
[in] | buf_len | buffer length |
[out] | sw | SW Description struct array |
[in] | sw_len | Expected number of SW Description entries |
References abis_nm_get_sw_desc(), abis_nm_get_sw_desc_len(), and len.
|
inlinestatic |
Parse single 3GPP TS 52.021 ยง9.4.62 SW Description from buffer.
[out] | sw | SW Description struct |
[in] | buf | buffer |
[in] | len | buffer length |
References abis_nm_get_sw_desc_len(), tlv_definition::def, abis_nm_sw_desc::file_id, abis_nm_sw_desc::file_id_len, abis_nm_sw_desc::file_version, abis_nm_sw_desc::file_version_len, len, length, NM_ATT_FILE_ID, NM_ATT_FILE_VERSION, NM_ATT_SW_DESCR, tlv_parse(), TLV_TYPE_TL16V, TLV_TYPE_TV, TLVP_LEN, TLVP_PRESENT, and TLVP_VAL.
Referenced by abis_nm_get_sw_conf().
Get length of first 3GPP TS 52.021 ยง9.4.62 SW Description from buffer.
[in] | buf | buffer, may contain several SW Descriptions |
[in] | len | buffer length |
References NM_ATT_FILE_ID, NM_ATT_FILE_VERSION, and NM_ATT_SW_DESCR.
Referenced by abis_nm_get_sw_conf(), and abis_nm_get_sw_desc().
Get human-readable string for NACK cause.
References cause, get_value_string(), and nack_cause_names.
Get human-readable string for OML NACK message type.
References get_value_string(), and nack_names.
Get human-readable string for OML Operational State.
References NM_OPSTATE_DISABLED, NM_OPSTATE_ENABLED, and NM_OPSTATE_NULL.
enum gsm_phys_chan_config abis_nm_pchan4chcomb | ( | uint8_t | chcomb | ) |
Obtain physical channel config for OML Channel Combination.
References ARRAY_SIZE, chcomb4pchan, and GSM_PCHAN_NONE.
uint16_t abis_nm_put_sw_desc | ( | struct msgb * | msg, |
const struct abis_nm_sw_desc * | sw, | ||
bool | put_sw_desc | ||
) |
Put given 3GPP TS 52.021 ยง9.4.62 SW Description into msgb.
[out] | msg | message buffer |
[in] | sw | SW Description struct |
[in] | put_sw_descr | boolean, whether to put NM_ATT_SW_DESCR IE or not |
References abis_nm_sw_desc_len(), abis_nm_sw_desc::file_id, abis_nm_sw_desc::file_id_len, abis_nm_sw_desc::file_version, abis_nm_sw_desc::file_version_len, msg, msgb_tl16v_put(), msgb_v_put(), NM_ATT_FILE_ID, NM_ATT_FILE_VERSION, and NM_ATT_SW_DESCR.
Referenced by abis_nm_put_sw_file().
uint16_t abis_nm_put_sw_file | ( | struct msgb * | msg, |
const char * | id, | ||
const char * | ver, | ||
bool | put_sw_desc | ||
) |
Put given file ID/Version pair as 3GPP TS 52.021 ยง9.4.62 SW Description into msgb.
[out] | msg | message buffer |
[in] | id | File ID part of SW Description |
[in] | id | File Version part of SW Description |
[in] | put_sw_descr | boolean, whether to put NM_ATT_SW_DESCR IE or not |
References abis_nm_put_sw_desc(), abis_nm_sw_desc::file_id, abis_nm_sw_desc::file_id_len, abis_nm_sw_desc::file_version, abis_nm_sw_desc::file_version_len, and msg.
Get human-readable string for perceived OML severity.
References cause, get_value_string(), and severity_names.
uint16_t abis_nm_sw_desc_len | ( | const struct abis_nm_sw_desc * | sw, |
bool | put_sw_desc | ||
) |
Compute length of given 3GPP TS 52.021 ยง9.4.62 SW Description.
[in] | sw | SW Description struct |
[in] | put_sw_descr | boolean, whether to put NM_ATT_SW_DESCR IE or not |
References abis_nm_sw_desc::file_id_len, and abis_nm_sw_desc::file_version_len.
Referenced by abis_nm_put_sw_desc().
Get human-readable string for OML test.
References get_value_string(), and test_names.
enum abis_nm_t200_idx __attribute__ |
|
extern |
const struct value_string abis_mm_event_cause_names[] |
|
extern |
Human-readable names for OML administrative state.
Referenced by abis_nm_admin_name().
const struct value_string abis_nm_adm_state_names[] |
Human-readable names for OML administrative state.
Referenced by abis_nm_admin_name().
|
extern |
3GPP TS 52.021 ยง9.4 Attributes and Parameters
const struct value_string abis_nm_att_names[] |
3GPP TS 52.021 ยง9.4 Attributes and Parameters
enum abis_nm_attr abis_nm_att_settable[] |
Attributes that the BSC can set, not only get, according to Section 9.4.
|
extern |
GSM A-bis OML TLV parser definition.
const struct tlv_definition abis_nm_att_tlvdef |
GSM A-bis OML TLV parser definition.
|
extern |
GSM A-bis OML IPA TLV parser definition.
const struct tlv_definition abis_nm_att_tlvdef_ipa |
GSM A-bis OML IPA TLV parser definition.
|
extern |
Human-readable strings for A-bis OML Object Class.
const struct value_string abis_nm_msg_disc_names[] |
Human-readable strings for A-bis OML Object Class.
|
extern |
3GPP TS 52.021 ยง9.1 Message Types
const struct value_string abis_nm_msgtype_names[] |
3GPP TS 52.021 ยง9.1 Message Types
|
extern |
All NACKs (negative acknowledgements.
enum abis_nm_msgtype abis_nm_nacks[33] |
All NACKs (negative acknowledgements.
|
extern |
messages without ACK/NACK
enum abis_nm_msgtype abis_nm_no_ack_nack[3] |
messages without ACK/NACK
|
extern |
Human-readable strings for A-bis OML Object Class.
Referenced by abis_nm_dump_foh_buf().
const struct value_string abis_nm_obj_class_names[] |
Human-readable strings for A-bis OML Object Class.
Referenced by abis_nm_dump_foh_buf().
|
extern |
org.osmocom GSM A-bis OML TLV parser definition
const struct tlv_definition abis_nm_osmo_att_tlvdef |
org.osmocom GSM A-bis OML TLV parser definition
|
extern |
const struct value_string abis_nm_pcause_type_names[] |
|
extern |
unidirectional messages from BTS to BSC
enum abis_nm_msgtype abis_nm_reports[4] |
unidirectional messages from BTS to BSC
|
extern |
messages related to software load
enum abis_nm_msgtype abis_nm_sw_load_msgs[9] |
messages related to software load
3GPP TS 12.21 9.4.53 T200 values (in msec)
|
static |
Referenced by abis_nm_avail_name().
|
static |
Referenced by abis_nm_chcomb4pchan(), and abis_nm_pchan4chcomb().
|
static |
Referenced by abis_nm_event_type_name().
|
static |
Referenced by abis_nm_nack_cause_name().
|
static |
Referenced by abis_nm_nack_name().
|
static |
Referenced by abis_nm_severity_name().
|
static |
Referenced by abis_nm_test_name().