summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-03-22 15:20:39 +0100
committerMax <msuraev@sysmocom.de>2017-03-22 15:26:35 +0100
commit5d994e4f751544475f7b8df9507f0aba357945b9 (patch)
tree601985b16cea5c235bdb0b88ac6adee56f452f90
parent62d6f2570358730965162f7dd756a6e2d07627b2 (diff)
abis: add message type names
Add human-readable names for Message Types from 3GPP TS 52.021 §9.1 Related: OS#1614 Change-Id: Ide8202b4387351f57ceee34a9eb8c30aef09a663
-rw-r--r--include/osmocom/gsm/protocol/gsm_12_21.h1
-rw-r--r--src/gsm/abis_nm.c103
-rw-r--r--src/gsm/libosmogsm.map1
3 files changed, 105 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_12_21.h b/include/osmocom/gsm/protocol/gsm_12_21.h
index 40237cbd..23392d2c 100644
--- a/include/osmocom/gsm/protocol/gsm_12_21.h
+++ b/include/osmocom/gsm/protocol/gsm_12_21.h
@@ -595,6 +595,7 @@ enum abis_nm_pcause_type {
};
extern const struct value_string abis_nm_pcause_type_names[];
+extern const struct value_string abis_nm_msgtype_names[];
extern const struct value_string abis_nm_att_names[];
/*! \brief NACK causes (Section 9.4.36) */
diff --git a/src/gsm/abis_nm.c b/src/gsm/abis_nm.c
index e98866cd..e1b248fa 100644
--- a/src/gsm/abis_nm.c
+++ b/src/gsm/abis_nm.c
@@ -261,6 +261,109 @@ const uint8_t abis_nm_t200_ms[] = {
[T200_SACCH_TCH_SAPI3] = 10
};
+/*! \brief 3GPP TS 52.021 §9.1 Message Types */
+const struct value_string abis_nm_msgtype_names[] = {
+ { NM_MT_LOAD_INIT, "Load Data Initiate" }, /* §8.3.1 */
+ { NM_MT_LOAD_INIT_ACK, "Load Data Initiate Ack" },
+ { NM_MT_LOAD_INIT_NACK, "Load Data Initiate Nack" },
+ { NM_MT_LOAD_SEG, "Load Data Segment" }, /* §8.3.2 */
+ { NM_MT_LOAD_SEG_ACK, "Load Data Segment Ack" },
+ { NM_MT_LOAD_ABORT, "Load Data Abort" }, /* §8.3.3 */
+ { NM_MT_LOAD_END, "Load Data End" }, /* §8.3.4 */
+ { NM_MT_LOAD_END_ACK, "Load Data End Ack" },
+ { NM_MT_LOAD_END_NACK, "Load Data End Nack" },
+ { NM_MT_SW_ACT_REQ, "SW Activate Request" }, /* §8.3.5 */
+ { NM_MT_SW_ACT_REQ_ACK, "SW Activate Request Ack" },
+ { NM_MT_SW_ACT_REQ_NACK, "SW Activate Request Nack" },
+ { NM_MT_ACTIVATE_SW, "Activate SW" }, /* §8.3.6 */
+ { NM_MT_ACTIVATE_SW_ACK, "Activate SW Ack" },
+ { NM_MT_ACTIVATE_SW_NACK, "Activate SW Nack" },
+ { NM_MT_SW_ACTIVATED_REP, "SW Activated Report" }, /* §8.3.7 */
+ { NM_MT_ESTABLISH_TEI, "Establish TEI" }, /* §8.4.1 */
+ { NM_MT_ESTABLISH_TEI_ACK, "Establish TEI Ack" },
+ { NM_MT_ESTABLISH_TEI_NACK, "Establish TEI Nack" },
+ { NM_MT_CONN_TERR_SIGN, "Connect Terrestrial Signalling" }, /* §8.4.2 */
+ { NM_MT_CONN_TERR_SIGN_ACK, "Connect Terrestrial Signalling Ack" },
+ { NM_MT_CONN_TERR_SIGN_NACK, "Connect Terrestrial Signalling Nack" },
+ { NM_MT_DISC_TERR_SIGN, "Disconnect Terrestrial Signalling" }, /* §8.4.3 */
+ { NM_MT_DISC_TERR_SIGN_ACK, "Disconnect Terrestrial Signalling Ack" },
+ { NM_MT_DISC_TERR_SIGN_NACK, "Disconnect Terrestrial Signalling Nack" },
+ { NM_MT_CONN_TERR_TRAF, "Connect Terrestrial Traffic" }, /* §8.4.4 */
+ { NM_MT_CONN_TERR_TRAF_ACK, "Connect Terrestrial Traffic Ack" },
+ { NM_MT_CONN_TERR_TRAF_NACK, "Connect Terrestrial Traffic Nack" },
+ { NM_MT_DISC_TERR_TRAF, "Disconnect Terrestrial Traffic" }, /* §8.4.5 */
+ { NM_MT_DISC_TERR_TRAF_ACK, "Disconnect Terrestrial Traffic Ack" },
+ { NM_MT_DISC_TERR_TRAF_NACK, "Disconnect Terrestrial Traffic Nack" },
+ { NM_MT_CONN_MDROP_LINK, "Connect Multi-Drop Link" }, /* §8.5.1 */
+ { NM_MT_CONN_MDROP_LINK_ACK, "Connect Multi-Drop Link Ack" },
+ { NM_MT_CONN_MDROP_LINK_NACK, "Connect Multi-Drop Link Nack" },
+ { NM_MT_DISC_MDROP_LINK, "Disconnect Multi-Drop Link" }, /* §8.5.2 */
+ { NM_MT_DISC_MDROP_LINK_ACK, "Disconnect Multi-Drop Link Ack" },
+ { NM_MT_DISC_MDROP_LINK_NACK, "Disconnect Multi-Drop Link Nack" },
+ { NM_MT_SET_BTS_ATTR, "Set BTS Attributes" }, /* §8.6.1 */
+ { NM_MT_SET_BTS_ATTR_ACK, "Set BTS Attributes Ack" },
+ { NM_MT_SET_BTS_ATTR_NACK, "Set BTS Attributes Nack" },
+ { NM_MT_SET_RADIO_ATTR, "Set Radio Carrier Attributes" }, /* §8.6.2 */
+ { NM_MT_SET_RADIO_ATTR_ACK, "Set Radio Carrier Attributes Ack" },
+ { NM_MT_SET_RADIO_ATTR_NACK, "Set Radio Carrier Attributes Nack" },
+ { NM_MT_SET_CHAN_ATTR, "Set Channel Attributes" }, /* §8.6.3 */
+ { NM_MT_SET_CHAN_ATTR_ACK, "Set Channel Attributes Ack" },
+ { NM_MT_SET_CHAN_ATTR_NACK, "Set Channel Attributes Nack" },
+ { NM_MT_PERF_TEST, "Perform Test" }, /* §8.7.1 */
+ { NM_MT_PERF_TEST_ACK, "Perform Test Ack" },
+ { NM_MT_PERF_TEST_NACK, "Perform Test Nack" },
+ { NM_MT_TEST_REP, "Test Report" }, /* §8.7.2 */
+ { NM_MT_SEND_TEST_REP, "Send Test Report" }, /* §8.7.3 */
+ { NM_MT_SEND_TEST_REP_ACK, "Send Test Report Ack" },
+ { NM_MT_SEND_TEST_REP_NACK, "Send Test Report Nack" },
+ { NM_MT_STOP_TEST, "Stop Test" }, /* §8.7.4 */
+ { NM_MT_STOP_TEST_ACK, "Stop Test Ack" },
+ { NM_MT_STOP_TEST_NACK, "Stop Test Nack" },
+ { NM_MT_STATECHG_EVENT_REP, "State Changed Event Report" }, /* §8.8.1 */
+ { NM_MT_FAILURE_EVENT_REP, "Failure Event Report" }, /* §8.8.2 */
+ { NM_MT_STOP_EVENT_REP, "Stop Sending Event Reports" }, /* §8.8.3 */
+ { NM_MT_STOP_EVENT_REP_ACK, "Stop Sending Event Reports Ack" },
+ { NM_MT_STOP_EVENT_REP_NACK, "Stop Sending Event Reports Nack" },
+ { NM_MT_REST_EVENT_REP, "Restart Sending Event Reports" }, /* §8.8.4 */
+ { NM_MT_REST_EVENT_REP_ACK, "Restart Sending Event Reports Ack" },
+ { NM_MT_REST_EVENT_REP_NACK, "Restart Sending Event Reports Nack" },
+ { NM_MT_CHG_ADM_STATE, "Change Administrative State" }, /* §8.8.5 */
+ { NM_MT_CHG_ADM_STATE_ACK, "Change Administrative State Ack" },
+ { NM_MT_CHG_ADM_STATE_NACK, "Change Administrative State Nack" },
+ { NM_MT_CHG_ADM_STATE_REQ, "Change Administrative State Request" }, /* §8.8.6 */
+ { NM_MT_CHG_ADM_STATE_REQ_ACK, "Change Administrative State Request Ack" },
+ { NM_MT_CHG_ADM_STATE_REQ_NACK, "Change Administrative State Request Nack" },
+ { NM_MT_REP_OUTST_ALARMS, "Report Outstanding Alarms" }, /* §8.8.7 */
+ { NM_MT_REP_OUTST_ALARMS_ACK, "Report Outstanding Alarms Ack" },
+ { NM_MT_REP_OUTST_ALARMS_NACK, "Report Outstanding Alarms Nack" },
+ { NM_MT_CHANGEOVER, "Changeover" }, /* §8.9.1 */
+ { NM_MT_CHANGEOVER_ACK, "Changeover Ack" },
+ { NM_MT_CHANGEOVER_NACK, "Changeover Nack" },
+ { NM_MT_OPSTART, "Opstart" }, /* §8.9.2 */
+ { NM_MT_OPSTART_ACK, "Opstart Ack" },
+ { NM_MT_OPSTART_NACK, "Opstart Nack" },
+ { NM_MT_REINIT, "Reinitialize" }, /* §8.9.3 */
+ { NM_MT_REINIT_ACK, "Reinitialize Ack" },
+ { NM_MT_REINIT_NACK, "Reinitialize Nack" },
+ { NM_MT_SET_SITE_OUT, "Set Site Outputs" }, /* §8.9.4 */
+ { NM_MT_SET_SITE_OUT_ACK, "Set Site Outputs Ack" },
+ { NM_MT_SET_SITE_OUT_NACK, "Set Site Outputs Nack" },
+ { NM_MT_CHG_HW_CONF, "Change HW Configuration" }, /* §8.9.5 */
+ { NM_MT_CHG_HW_CONF_ACK, "Change HW Configuration Ack" },
+ { NM_MT_CHG_HW_CONF_NACK, "Change HW Configuration Nack" },
+ { NM_MT_MEAS_RES_REQ, "Measurement Result Request" }, /* §8.10.1 */
+ { NM_MT_MEAS_RES_RESP, "Measurement Result Response" }, /* §8.10.2 */
+ { NM_MT_STOP_MEAS, "Stop Measurement" }, /* §8.10.4 */
+ { NM_MT_START_MEAS, "Start Measurement" }, /* §8.10.3 */
+ { NM_MT_GET_ATTR, "Get Attributes" }, /* §8.11.1 */
+ { NM_MT_GET_ATTR_RESP, "Get Attributes Response" }, /* §8.11.3 */
+ { NM_MT_GET_ATTR_NACK, "Get Attributes Nack" },
+ { NM_MT_SET_ALARM_THRES, "Set Alarm Threshold" }, /* §8.11.2 */
+ { NM_MT_SET_ALARM_THRES_ACK, "Set Alarm Threshold Ack" },
+ { NM_MT_SET_ALARM_THRES_NACK, "Set Alarm Threshold Nack" },
+ { 0, NULL }
+};
+
/*! \brief 3GPP TS 52.021 §9.4 Attributes and Parameters */
const struct value_string abis_nm_att_names[] = {
{ NM_ATT_ABIS_CHANNEL, "Abis Channel" }, /* §9.4.1 */
diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map
index cd4c0ab6..5649e715 100644
--- a/src/gsm/libosmogsm.map
+++ b/src/gsm/libosmogsm.map
@@ -29,6 +29,7 @@ abis_nm_osmo_magic;
abis_nm_ipa_magic;
abis_mm_event_cause_names;
abis_nm_pcause_type_names;
+abis_nm_msgtype_names;
abis_nm_att_names;
osmo_sitype_strs;