<p>Harald Welte has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/12875">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add TTCN-3 definition of GSM Abis OML protocol (TS 12.21)<br><br>Change-Id: I65f71bf7f54cbe3290757e810b1df1e54929bdd1<br>---<br>A library/AbisOML_Types.ttcn<br>1 file changed, 1,212 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/75/12875/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/AbisOML_Types.ttcn b/library/AbisOML_Types.ttcn</span><br><span>new file mode 100644</span><br><span>index 0000000..a1a9370</span><br><span>--- /dev/null</span><br><span>+++ b/library/AbisOML_Types.ttcn</span><br><span>@@ -0,0 +1,1212 @@</span><br><span style="color: hsl(120, 100%, 40%);">+module AbisOML_Types {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* AbisOML_Types, defining abstract TTCN-3 data types for the A-bis OML protocol.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * A-bis OML is a 3GP standard protocol used between BTS and BSC in a GSM network;</span><br><span style="color: hsl(120, 100%, 40%);">+ * it is specified in 3GPP TS 12.21.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * (C) 2019 by Harald Welte <laforge@gnumonks.org></span><br><span style="color: hsl(120, 100%, 40%);">+ * All rights reserved.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Released under the terms of the GNU General Public License, Version 2 or</span><br><span style="color: hsl(120, 100%, 40%);">+ * (at your option) any later version.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+import from General_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from Osmocom_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+import from GSM_Types all;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_MessageDiscriminator {</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_MDISC_FOM ('80'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_MDISC_MMI ('40'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_MDISC_TRAU ('20'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_MDISC_MANUF ('10'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_Placement {</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_PLACEMENT_ONLY ('80'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_PLACEMENT_FIRST ('40'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_PLACEMENT_MIDDLE ('20'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ ABIS_OM_PLACEMENT_LAST ('10'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type union OML_Union {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM fom,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_MANUF manuf,</span><br><span style="color: hsl(120, 100%, 40%);">+ octetstring other</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_PDU {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_MessageDiscriminator mdisc,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_Placement placement,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sequence,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_Union u</span><br><span style="color: hsl(120, 100%, 40%);">+} with {</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (u) "CROSSTAG(</span><br><span style="color: hsl(120, 100%, 40%);">+ fom, mdisc = ABIS_OM_MDISC_FOM;</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf, mdisc = ABIS_OM_MDISC_MANUF;</span><br><span style="color: hsl(120, 100%, 40%);">+ other, OTHERWISE;</span><br><span style="color: hsl(120, 100%, 40%);">+ )" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_ObjectInstance {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t bts_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t trx_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t ts_nr</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_Header {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_ObjectInstance obj_inst</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.1 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_MessageType {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* SW Download Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_INIT ('01'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_INIT_ACK ('02'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_INIT_NACK ('03'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_SEG ('04'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_SEG_ACK ('05'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_ABORT ('06'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_END ('07'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_END_ACK ('08'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_LOAD_END_NACK ('09'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SW_ACT_REQ ('0a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SW_ACT_REQ_ACK ('0b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SW_ACT_REQ_NACK ('0c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ACTIVATE_SW ('0d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ACTIVATE_SW_ACK ('0e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ACTIVATE_SW_NACK ('0f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SW_ACTIVATED_REP ('10'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* A-bis Interface Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ESTABLISH_TEI ('21'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ESTABLISH_TEI_ACK ('22'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_ESTABLISH_TEI_NACK ('23'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_SIGN ('24'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_SIGN_ACK ('25'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_SIGN_NACK ('26'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_SIGN ('27'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_SIGN_ACK ('28'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_SIGN_NACK ('29'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_TRAF ('2a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_TRAF_ACK ('2b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_TERR_TRAF_NACK ('2c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_TRAF ('2d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_TRAF_ACK ('2e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_TERR_TRAF_NACK ('2f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Transmission Management Messages */ </span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_MDROP_LINK ('31'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_MDROP_LINK_ACK ('32'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CONN_MDROP_LINK_NACK ('33'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_MDROP_LINK ('34'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_MDROP_LINK_ACK ('35'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_DISC_MDROP_LINK_NACK ('36'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Air Interface Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_BTS_ATTR ('41'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_BTS_ATTR_ACK ('42'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_BTS_ATTR_NACK ('43'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_RADIO_ATTR ('44'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_RADIO_ATTR_ACK ('45'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_RADIO_ATTR_NACK ('46'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_CHAN_ATTR ('47'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_CHAN_ATTR_ACK ('48'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_CHAN_ATTR_NACK ('49'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Test Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_PERF_TEST ('51'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_PERF_TEST_ACK ('52'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_PERF_TEST_NACK ('53'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_TEST_REP ('54'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SEND_TEST_REP ('55'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SEND_TEST_REP_ACK ('56'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SEND_TEST_REP_NACK ('57'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_TEST ('58'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_TEST_ACK ('59'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_TEST_NACK ('5a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* State Management and Event Report Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STATECHG_EVENT_REP ('61'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_FAILURE_EVENT_REP ('62'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_EVENT_REP ('63'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_EVENT_REP_ACK ('64'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_EVENT_REP_NACK ('65'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REST_EVENT_REP ('66'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REST_EVENT_REP_ACK ('67'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REST_EVENT_REP_NACK ('68'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE ('69'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE_ACK ('6a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE_NACK ('6b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE_REQ ('6c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE_REQ_ACK ('6d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_ADM_STATE_REQ_NACK ('6e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REP_OUTST_ALARMS ('93'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REP_OUTST_ALARMS_ACK ('94'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REP_OUTST_ALARMS_NACK ('95'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Equipment Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHANGEOVER ('71'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHANGEOVER_ACK ('72'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHANGEOVER_NACK ('73'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_OPSTART ('74'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_OPSTART_ACK ('75'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_OPSTART_NACK ('76'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REINIT ('77'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REINIT_ACK ('78'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_REINIT_NACK ('79'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_SITE_OUT ('7a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_SITE_OUT_ACK ('7b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_SITE_OUT_NACK ('7c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_HW_CONF ('90'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_HW_CONF_ACK ('91'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_CHG_HW_CONF_NACK ('92'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Measurement Management Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_MEAS_RES_REQ ('8a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_MEAS_RES_RESP ('8b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_STOP_MEAS ('8c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_START_MEAS ('8d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Other Messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_GET_ATTR ('81'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_GET_ATTR_RESP ('82'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_GET_ATTR_NACK ('83'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_ALARM_THRES ('84'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_ALARM_THRES_ACK ('85'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_SET_ALARM_THRES_NACK ('86'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* IPA specific messages */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RESTART ('87'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RESTART_ACK ('88'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RESTART_NACK ('89'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_CONNECT ('e0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_CONNECT_ACK ('e1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_CONNECT_NACK ('e2'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_DISCONNECT ('e3'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_DISCONNECT_ACK ('e4'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_RSL_DISCONNECT_NACK ('e5'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_CONN_TRAF ('e6'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_CONN_TRAF_ACK ('e7'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_CONN_TRAF_NACK ('e8'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_DEF_BOOT_SW ('ec'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_DEF_BOOT_SW_ACK ('ed'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ MN_MT_IPACC_DEF_BOOT_SW_NACK ('ee'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_NVATTR ('ef'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_NVATTR_ACK ('f0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_NVATTR_NACK ('f1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_GET_NVATTR ('f2'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_GET_NVATTR_ACK ('f3'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_GET_NVATTR_NACK ('f4'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_ATTR ('f5'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_ATTR_ACK ('f6'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_MT_IPACC_SET_ATTR_NACK ('f7'H)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.2 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_ObjectClass {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_SITE_MANAGER ('00'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_BTS ('01'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_RADIO_CARRIER ('02'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_CHANNEL ('03'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_BASEB_TRANSC ('04'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_IPAC_E1_TRUNK ('0e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_IPAC_E1_PORT ('0f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_IPAC_E1_CHAN ('10'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_IPAC_CLK_MODULE ('22'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_GPRS_NSE ('f0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_GPRS_CELL ('f1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_GPRS_NSVC ('f2'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OC_NULL ('ff'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_IE_Type {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_ABIS_CHANNEL ('01'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_ADD_INFO ('02'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_ADD_TEXT ('03'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_ADM_STATE ('04'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_ARFCN_LIST ('05'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_AUTON_REPORT ('06'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_AVAIL_STATUS ('07'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BCCH_ARFCN ('08'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BSIC ('09'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BTS_AIR_TIMER ('0a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_CCCH_L_I_P ('0b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_CCCH_L_T ('0c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_CHAN_COMB ('0d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_CONN_FAIL_CRIT ('0e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_DEST ('0f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* res */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_EVENT_TYPE ('11'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_FILE_ID ('12'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_FILE_VERSION ('13'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_GSM_TIME ('14'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_HSN ('15'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_HW_CONFIG ('16'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_HW_DESC ('17'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_INTAVE_PARAM ('18'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_INTERF_BOUND ('19'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_LIST_REQ_ATTR ('1a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MAIO ('1b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MANUF_STATE ('1c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MANUF_THRESH ('1d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MANUF_ID ('1e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MAX_TA ('1f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MDROP_LINK ('20'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MDROP_NEXT ('21'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_NACK_CAUSES ('22'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_NY1 ('23'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_OPER_STATE ('24'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_OVERL_PERIOD ('25'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_PHYS_CONF ('26'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_POWER_CLASS ('27'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_POWER_THRESH ('28'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_PROB_CAUSE ('29'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_RACH_B_THRESH ('2a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_LDAVG_SLOTS ('2b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_RAD_SUBC ('2c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_RF_MAXPOWR_R ('2d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SITE_INPUTS ('2e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SITE_OUTPUTS ('2f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SOURCE ('30'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SPEC_PROB ('31'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_START_TIME ('32'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_T200 ('33'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_TEI ('34'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_TEST_DUR ('35'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_TEST_NO ('36'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_TEST_REPORT ('37'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_VSWR_THRESH ('38'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_WINDOW_SIZE ('39'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* res */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RSSI_OFFS ('3d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TXPWR ('3e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_DIVERSITY ('3f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* res */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_TSC ('40'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SW_CONFIG ('41'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SW_DESCR ('42'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_SEVERITY ('43'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_GET_ARI ('44'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_HW_CONF_CHG ('45'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_OUTST_ALARM ('46'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_FILE_DATA ('47'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MEAS_RES ('48'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_MEAS_TYPE ('49'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* res */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ESN_FW_CODE_NO ('4c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ESN_HW_CODE_NO ('4f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* res */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ESN_PCB_SERIAL ('55'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_EXCESSIVE_DISTANCE ('58'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ALL_TEST_CATG ('60'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_BTSLS_HOPPING ('61'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_CELL_ALLOC_NR ('62'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_CELL_GLOBAL_ID ('63'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_INTERF_CLASS ('66'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_INT_INTEC_HANDO ('67'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_INT_INTRC_HANDO ('68'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_MS_PWR_CTRL ('69'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_PWR_BDGT_HO ('6a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_PWR_CTRL_RLFW ('6b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_RXLEV_HO ('6c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ENA_RXQUAL_HO ('6d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_FACCH_QUAL ('6e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_DST_IP ('80'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_DST_IP_PORT ('81'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SSRC ('82'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_RTP_PAYLD_TYPE ('83'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_BASEB_ID ('84'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_STREAM_ID ('85'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_NV_FLAGS ('86'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_FREQ_CTRL ('87'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_PRIM_OML_CFG ('88'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SEC_OML_CFG ('89'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_IP_IF_CFG ('8a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_IP_GW_CFG ('8b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_IN_SERV_TIME ('8c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_TRX_BTS_ASS ('8d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_LOCATION ('8e'H), /* string describing location */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_PAGING_CFG ('8f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_FILE_DATA ('90'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_UNIT_ID ('91'H), /* Site/BTS/TRX */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_PARENT_UNIT_ID ('92'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_UNIT_NAME ('93'H), /* default: nbts-<mac-as-string> */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SNMP_CFG ('94'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_PRIM_OML_CFG_LIST ('95'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_PRIM_OML_FB_TOUT ('96'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_CUR_SW_CFG ('97'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_TIMING_BUS ('98'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_CGI ('99'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_RAC ('9a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_OBJ_VERSION ('9b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_GPRS_PAGING_CFG ('9c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_NSEI ('9d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_BVCI ('9e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_NSVCI ('9f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_NS_CFG ('a0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_BSSGP_CFG ('a1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_NS_LINK_CFG ('a2'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_RLC_CFG ('a3'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_ALM_THRESH_LIST ('a4'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_MONIT_VAL_LIST ('a5'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_TIB_CONTROL ('a6'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SUPP_FEATURES ('a7'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_CODING_SCHEMES ('a8'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_RLC_CFG_2 ('a9'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_HEARTB_TOUT ('aa'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_UPTIME ('ab'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_RLC_CFG_3 ('ac'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SSL_CFG ('ad'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_SEC_POSSIBLE ('ae'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_IML_SSL_STATE ('af'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_IPACC_REVOC_DATE ('b0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RF_RES_IND_PER ('8f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RX_LEV_MIN_CELL ('90'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ABIS_EXT_TIME ('91'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TIMER_HO_REQUEST ('92'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TIMER_NCELL ('93'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TSYNC ('94'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TTRAU ('95'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_EMRG_CFG_MEMBER ('9b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_TRX_AREA ('9f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_BCCH_RECONF ('d7'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_BIT_ERR_THESH ('a0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_BOOT_SW_VERS ('a1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_CCLK_ACCURACY ('a3'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_CCLK_TYPE ('a4'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_INP_IMPEDANCE ('aa'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_L1_PROT_TYPE ('ab'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LINE_CFG ('ac'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LI_PORT_1 ('ad'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LI_PORT_2 ('ae'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_L1_REM_ALM_TYPE ('b0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_SW_LOAD_INTENDED ('bb'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_SW_LOAD_SAFETY ('bc'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_SW_LOAD_STORED ('bd'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_VENDOR_NAME ('c1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_HOPPING_MODE ('c5'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LMT_LOGON_SESSION ('c6'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LMT_LOGIN_TIME ('c7'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LMT_USER_ACC_LEV ('c8'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_LMT_USER_NAME ('c9'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_L1_CONTROL_TS ('d8'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RADIO_MEAS_GRAN ('dc'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RADIO_MEAS_REP ('dd'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_SH_LAPD_INT_TIMER ('e8'H),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_BTS_STATE ('f0'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_E1_STATE ('f1'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_PLL ('f2'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_RX_OFFSET ('f3'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_ANT_TYPE ('f4'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_PLL_MODE ('fc'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_BS11_PASSWORD ('fd'H),</span><br><span style="color: hsl(120, 100%, 40%);">+*/</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* osmocom (osmo-bts) specific attributes, used in combination</span><br><span style="color: hsl(120, 100%, 40%);">+ * with the "org.osmocom" manufacturer identification */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_ATT_OSMO_REDUCEPOWER ('fe'H) /* TLV_TYPE_TV */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.4 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_AdministrativeState {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_STATE_LOCKED ('01'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_STATE_UNLOCKED ('02'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_STATE_SHUTDOWN ('03'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_STATE_NULL ('ff'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.7 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_AvailabilityStatus {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_IN_TEST (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_POWER_OFF (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_OFF_LINE (3),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_DEPENDENCY (5),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_DEGRADED (6),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_NOT_INSTALLED (7),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_AVSTATE_OK (255)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_OperationalState {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OPSTATE_DISABLED (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OPSTATE_ENABLED (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_OPSTATE_NULL (255)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.13 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_ChannelCombination {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_TCHFull ('00'H), /* TCH/F + TCH/H + SACCH/TF */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_TCHHalf ('01'H), /* TCH/H(0,1) + FACCH/H(0,1) + SACCH/TH(0,1) */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_TCHHalf2 ('02'H), /* TCH/H(0) + FACCH/H(0) + SACCH/TH(0) + TCH/H(1) */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_SDCCH ('03'H), /* SDCCH/8 + SACCH/8 */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_mainBCCH ('04'H), /* FCCH + SCH + BCCH + CCCH */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_BCCHComb ('05'H), /* FCCH + SCH + BCCH + CCCH + SDCCH/4 + SACCH/C4 */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_BCCH ('06'H), /* BCCH + CCCH */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_BCCH_CBCH ('07'H), /* CHANC_BCCHComb + CBCH */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_SDCCH_CBCH ('08'H), /* CHANC_SDCCH8 + CBCH */</span><br><span style="color: hsl(120, 100%, 40%);">+ /* ip.access + Osmocom */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_IPAC_bPDCH ('0b'H), /* PBCCH + PCCCH + PDTCH/F + PACCH/F + PTCCH/F */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_IPAC_cPDCH ('0c'H), /* PBCCH + PDTCH/F + PACCH/F + PTCCH/F */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_IPAC_PDCH ('0d'H), /* PDTCH/F + PACCH/F + PTCCH/F */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_IPAC_TCHFull_PDCH ('80'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_IPAC_TCHFull_TCHHalf ('81'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Osmocom */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH ('90'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.16 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_EventType {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_EVT_COMM_FAIL (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_EVT_QOS_FAIL (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_EVT_PROC_FAIL (3),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_EVT_EQUIP_FAIL (4),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_EVT_ENV_FAIL (5)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.63 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_Severity {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_CEASED (0),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_CRITICAL (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_MAJOR (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_MINOR (3),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_WARNING (4),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SEVER_INDETERMINATE (5)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.36 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_NackCause {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* General Nack Causes */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_INCORR_STRUCT ('01'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_MSGTYPE_INVAL ('02'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_OBJCLASS_INVAL ('05'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_OBJCLASS_NOTSUPP ('06'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_BTSNR_UNKN ('07'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_TRXNR_UNKN ('08'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_OBJINST_UNKN ('09'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_ATTRID_INVAL ('0c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_ATTRID_NOTSUPP ('0d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_PARAM_RANGE ('0e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_ATTRLIST_INCONSISTENT ('0f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_SPEC_IMPL_NOTSUPP ('10'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_CANT_PERFORM ('11'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Specific Nack Causes */</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_RES_NOTIMPL ('19'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_RES_NOTAVAIL ('1a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_FREQ_NOTAVAIL ('1b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_TEST_NOTSUPP ('1c'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_CAPACITY_RESTR ('1d'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_PHYSCFG_NOTPERFORM ('1e'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_TEST_NOTINIT ('1f'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_PHYSCFG_NOTRESTORE ('20'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_TEST_NOSUCH ('21'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_TEST_NOSTOP ('22'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_MSGINCONSIST_PHYSCFG ('23'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_FILE_INCOMPLETE ('25'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_FILE_NOTAVAIL ('26'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_FILE_NOTACTIVATE ('27'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_REQ_NOT_GRANT ('28'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_WAIT ('29'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_NOTH_REPORT_EXIST ('2a'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_MEAS_NOTSUPP ('2b'H),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_NACK_MEAS_NOTSTART ('2c'H)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_Header hdr,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_IE_List ies optional</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (len) "LENGTHTO(hdr,ies)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_IE_LV {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ octetstring payload</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (len) "LENGTHTO(payload)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_IE_L16V {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ octetstring payload</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (len) "LENGTHTO(payload)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_IE_L16V ts_OML_IE_L16V(template (value) uint16_t len, template (value) octetstring payload) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := len,</span><br><span style="color: hsl(120, 100%, 40%);">+ payload := payload</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_IE_L16V tr_OML_IE_L16V(template uint16_t len, template octetstring payload) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := len,</span><br><span style="color: hsl(120, 100%, 40%);">+ payload := payload</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_IE_AvailStatus {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_AvailabilityStatus avail_status</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (len) "LENGTHTO(avail_status)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.1 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_AbisChannel {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t bts_port_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t timeslot_nr,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_Subslot subslot_nr</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_Subslot {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SUBSLOT_A (0),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SUBSLOT_B (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SUBSLOT_C (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SUBSLOT_D (3),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_SUBSLOT_64k (255)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.5 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record of uint16_t OML_ArfcnList;</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_IE_ArfcnList {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_ArfcnList arfcn_list</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.25 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record length(6) of uint8_t OML_FOM_InterfLevBoundaries;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.42 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record length(3) of uint8_t OML_FOM_PowerOuthputThresholds;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.43 */</span><br><span style="color: hsl(120, 100%, 40%);">+type enumerated OML_FOM_ProbableCauseType {</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_PCAUSE_T_X721 (1),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_PCAUSE_T_GSM (2),</span><br><span style="color: hsl(120, 100%, 40%);">+ NM_PCAUSE_T_MANUF (3)</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant "FIELDLENGTH(8)" };</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_ProbableCause {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_ProbableCauseType cause_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT2 cause_value</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* Section 9.4.53 */</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_T200 {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sdcch_5ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t facch_f_5ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t facch_h_5ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sacch_tch_sapi0_10ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sacch_sdcch_10ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sdcch_sapi3_5ms,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t sacch_rch_sapi3_10ms</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type union OML_FOM_IE_Body {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_AbisChannel abis_channel,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_AdministrativeState adm_state,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT1 auton_report,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t bcch_arfcn,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t bsic,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t air_timer,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t load_ind_period,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t load_threshold,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_ChannelCombination chan_comb,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_EventType event_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t gsm_time,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t hsn,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t intave_param,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_InterfLevBoundaries interf_bound,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t maio,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t manuf_state,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t max_ta,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_NackCause nack_causes,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t ny1,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_OperationalState opstate,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t power_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_PowerOuthputThresholds power_thresh,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_ProbableCause prob_cause,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t rach_b_thresh,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t loadavg_slots,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t radio_subch,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t rf_maxpwr_r,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t spec_prob,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t start_time,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_T200 t200,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t tei,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t test_no,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT2 vswr_thresh,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t window_size,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t tsc,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_Severity severity,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t outst_alarm,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t meas_type,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_IE_AvailStatus avail_status,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_IE_ArfcnList arfcn_list,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ uint32_t ip,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t portnr,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t stream_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT6 sec_oml_cfg,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT8 ip_if_cfg,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT12 ip_gw_cfg,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint32_t in_serv_time,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint16_t paging_cfg,</span><br><span style="color: hsl(120, 100%, 40%);">+ OCT2 freq_ctrl,</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_IE_L16V other</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_FOM_IE {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_IE_Type iei,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_IE_Body body</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (body) "CROSSTAG(</span><br><span style="color: hsl(120, 100%, 40%);">+ abis_channel, iei = NM_ATT_ABIS_CHANNEL;</span><br><span style="color: hsl(120, 100%, 40%);">+ adm_state, iei = NM_ATT_ADM_STATE;</span><br><span style="color: hsl(120, 100%, 40%);">+ auton_report, iei = NM_ATT_AUTON_REPORT;</span><br><span style="color: hsl(120, 100%, 40%);">+ bcch_arfcn, iei = NM_ATT_BCCH_ARFCN;</span><br><span style="color: hsl(120, 100%, 40%);">+ bsic, iei = NM_ATT_BSIC;</span><br><span style="color: hsl(120, 100%, 40%);">+ air_timer, iei = NM_ATT_BTS_AIR_TIMER;</span><br><span style="color: hsl(120, 100%, 40%);">+ load_ind_period, iei = NM_ATT_CCCH_L_I_P;</span><br><span style="color: hsl(120, 100%, 40%);">+ load_threshold, iei = NM_ATT_CCCH_L_T;</span><br><span style="color: hsl(120, 100%, 40%);">+ chan_comb, iei = NM_ATT_CHAN_COMB;</span><br><span style="color: hsl(120, 100%, 40%);">+ event_type, iei = NM_ATT_EVENT_TYPE;</span><br><span style="color: hsl(120, 100%, 40%);">+ gsm_time, iei = NM_ATT_GSM_TIME;</span><br><span style="color: hsl(120, 100%, 40%);">+ hsn, iei = NM_ATT_HSN;</span><br><span style="color: hsl(120, 100%, 40%);">+ intave_param, iei = NM_ATT_INTAVE_PARAM;</span><br><span style="color: hsl(120, 100%, 40%);">+ interf_bound, iei = NM_ATT_INTERF_BOUND;</span><br><span style="color: hsl(120, 100%, 40%);">+ maio, iei = NM_ATT_MAIO;</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf_state, iei = NM_ATT_MANUF_STATE;</span><br><span style="color: hsl(120, 100%, 40%);">+ max_ta, iei = NM_ATT_MAX_TA;</span><br><span style="color: hsl(120, 100%, 40%);">+ nack_causes, iei = NM_ATT_NACK_CAUSES;</span><br><span style="color: hsl(120, 100%, 40%);">+ ny1, iei = NM_ATT_NY1;</span><br><span style="color: hsl(120, 100%, 40%);">+ opstate, iei = NM_ATT_OPER_STATE;</span><br><span style="color: hsl(120, 100%, 40%);">+ power_class, iei = NM_ATT_POWER_CLASS;</span><br><span style="color: hsl(120, 100%, 40%);">+ power_thresh, iei = NM_ATT_POWER_THRESH;</span><br><span style="color: hsl(120, 100%, 40%);">+ prob_cause, iei = NM_ATT_PROB_CAUSE;</span><br><span style="color: hsl(120, 100%, 40%);">+ rach_b_thresh, iei = NM_ATT_RACH_B_THRESH;</span><br><span style="color: hsl(120, 100%, 40%);">+ loadavg_slots, iei = NM_ATT_LDAVG_SLOTS;</span><br><span style="color: hsl(120, 100%, 40%);">+ radio_subch, iei = NM_ATT_RAD_SUBC;</span><br><span style="color: hsl(120, 100%, 40%);">+ rf_maxpwr_r, iei = NM_ATT_RF_MAXPOWR_R;</span><br><span style="color: hsl(120, 100%, 40%);">+ spec_prob, iei = NM_ATT_SPEC_PROB;</span><br><span style="color: hsl(120, 100%, 40%);">+ start_time, iei = NM_ATT_START_TIME;</span><br><span style="color: hsl(120, 100%, 40%);">+ t200, iei = NM_ATT_T200;</span><br><span style="color: hsl(120, 100%, 40%);">+ tei, iei = NM_ATT_TEI;</span><br><span style="color: hsl(120, 100%, 40%);">+ test_no, iei = NM_ATT_TEST_NO;</span><br><span style="color: hsl(120, 100%, 40%);">+ vswr_thresh, iei = NM_ATT_VSWR_THRESH;</span><br><span style="color: hsl(120, 100%, 40%);">+ window_size, iei = NM_ATT_WINDOW_SIZE;</span><br><span style="color: hsl(120, 100%, 40%);">+ tsc, iei = NM_ATT_TSC;</span><br><span style="color: hsl(120, 100%, 40%);">+ severity, iei = NM_ATT_SEVERITY;</span><br><span style="color: hsl(120, 100%, 40%);">+ outst_alarm, iei = NM_ATT_OUTST_ALARM;</span><br><span style="color: hsl(120, 100%, 40%);">+ meas_type, iei = NM_ATT_MEAS_TYPE;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ avail_status, iei = NM_ATT_AVAIL_STATUS;</span><br><span style="color: hsl(120, 100%, 40%);">+ arfcn_list, iei = NM_ATT_ARFCN_LIST;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ ip, iei = NM_ATT_IPACC_DST_IP;</span><br><span style="color: hsl(120, 100%, 40%);">+ portnr, iei = NM_ATT_IPACC_DST_IP_PORT;</span><br><span style="color: hsl(120, 100%, 40%);">+ stream_id, iei = NM_ATT_IPACC_STREAM_ID;</span><br><span style="color: hsl(120, 100%, 40%);">+ sec_oml_cfg, iei = NM_ATT_IPACC_SEC_OML_CFG;</span><br><span style="color: hsl(120, 100%, 40%);">+ ip_if_cfg, iei = NM_ATT_IPACC_IP_IF_CFG;</span><br><span style="color: hsl(120, 100%, 40%);">+ ip_gw_cfg, iei = NM_ATT_IPACC_IP_GW_CFG;</span><br><span style="color: hsl(120, 100%, 40%);">+ in_serv_time, iei = NM_ATT_IPACC_IN_SERV_TIME;</span><br><span style="color: hsl(120, 100%, 40%);">+ paging_cfg, iei = NM_ATT_IPACC_PAGING_CFG;</span><br><span style="color: hsl(120, 100%, 40%);">+ freq_ctrl, iei = NM_ATT_IPACC_FREQ_CTRL;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ other, OTHERWISE;</span><br><span style="color: hsl(120, 100%, 40%);">+ )" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record of OML_FOM_IE OML_FOM_IE_List;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type record OML_MANUF_IPA {</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t len,</span><br><span style="color: hsl(120, 100%, 40%);">+ uint8_t str_len,</span><br><span style="color: hsl(120, 100%, 40%);">+ charstring manuf_str,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_Header hdr,</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_FOM_IE_List ies optional</span><br><span style="color: hsl(120, 100%, 40%);">+} with { variant (len) "LENGTHTO(hdr,ies)"</span><br><span style="color: hsl(120, 100%, 40%);">+ variant (str_len) "LENGTHTO(manuf_str)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+type union OML_MANUF {</span><br><span style="color: hsl(120, 100%, 40%);">+ OML_MANUF_IPA ipa</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+external function enc_OML_PDU(in OML_PDU msg) return octetstring</span><br><span style="color: hsl(120, 100%, 40%);">+ with { extension "prototype(convert) encode(RAW)" };</span><br><span style="color: hsl(120, 100%, 40%);">+external function dec_OML_PDU(in octetstring stream) return OML_PDU</span><br><span style="color: hsl(120, 100%, 40%);">+ with { extension "prototype(convert) decode(RAW)" };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_FOM_IE ts_OML_IE(OML_FOM_IE_Type iei, template (value) OML_FOM_IE_Body body) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ iei := iei,</span><br><span style="color: hsl(120, 100%, 40%);">+ body := body</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_FOM_IE tr_OML_IE(OML_FOM_IE_Type iei, template OML_FOM_IE_Body body) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ iei := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ body := body</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_FOM_only := {</span><br><span style="color: hsl(120, 100%, 40%);">+ mdisc := ABIS_OM_MDISC_FOM,</span><br><span style="color: hsl(120, 100%, 40%);">+ placement := ABIS_OM_PLACEMENT_ONLY,</span><br><span style="color: hsl(120, 100%, 40%);">+ sequence := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ u := ?</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_MsgType(template OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectClass obj_class := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_IE_List ies := *)</span><br><span style="color: hsl(120, 100%, 40%);">+modifies tr_OML_FOM_only := {</span><br><span style="color: hsl(120, 100%, 40%);">+ u := {</span><br><span style="color: hsl(120, 100%, 40%);">+ fom := {</span><br><span style="color: hsl(120, 100%, 40%);">+ hdr := {</span><br><span style="color: hsl(120, 100%, 40%);">+ msg_type := msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_class := obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_inst := obj_inst</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ ies := ies</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_MsgType(template (value) OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (omit) OML_FOM_IE_List ies := omit) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ mdisc := ABIS_OM_MDISC_FOM,</span><br><span style="color: hsl(120, 100%, 40%);">+ placement := ABIS_OM_PLACEMENT_ONLY,</span><br><span style="color: hsl(120, 100%, 40%);">+ sequence := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ u := {</span><br><span style="color: hsl(120, 100%, 40%);">+ fom := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := 0, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+ hdr := ts_OML_FomHeader(msg_type, obj_class, obj_inst),</span><br><span style="color: hsl(120, 100%, 40%);">+ ies := ies</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_FOM_Header ts_OML_FomHeader(template (value) OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ msg_type := msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_class := obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_inst := obj_inst</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_FOM_Header tr_OML_FomHeader(template OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ msg_type := msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_class := obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ obj_inst := obj_inst</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_FOM_ObjectInstance ts_OML_ObjectInstance(uint8_t bts, uint8_t trx, uint8_t ts) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ bts_nr := bts,</span><br><span style="color: hsl(120, 100%, 40%);">+ trx_nr := trx,</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_nr := ts</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_FOM_ObjectInstance tr_OML_ObjectInstance(template uint8_t bts, template uint8_t trx,</span><br><span style="color: hsl(120, 100%, 40%);">+ template uint8_t ts) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ bts_nr := bts,</span><br><span style="color: hsl(120, 100%, 40%);">+ trx_nr := trx,</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_nr := ts</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_IPA_MsgType(template (value) OML_FOM_MessageType msg_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (omit) OML_FOM_IE_List ies := omit) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ mdisc := ABIS_OM_MDISC_MANUF,</span><br><span style="color: hsl(120, 100%, 40%);">+ placement := ABIS_OM_PLACEMENT_ONLY,</span><br><span style="color: hsl(120, 100%, 40%);">+ sequence := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ u := {</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ipa := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := 0, /* overwritten */</span><br><span style="color: hsl(120, 100%, 40%);">+ str_len := 13,</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf_str := "com.ipaccess" & char(0,0,0,0),</span><br><span style="color: hsl(120, 100%, 40%);">+ hdr := ts_OML_FomHeader(msg_type, obj_class, obj_inst),</span><br><span style="color: hsl(120, 100%, 40%);">+ ies := ies</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_IPA_MsgType(template OML_FOM_MessageType msg_type := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectClass obj_class := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_IE_List ies := *) := {</span><br><span style="color: hsl(120, 100%, 40%);">+ mdisc := ABIS_OM_MDISC_MANUF,</span><br><span style="color: hsl(120, 100%, 40%);">+ placement := ABIS_OM_PLACEMENT_ONLY,</span><br><span style="color: hsl(120, 100%, 40%);">+ sequence := 0,</span><br><span style="color: hsl(120, 100%, 40%);">+ u := {</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf := {</span><br><span style="color: hsl(120, 100%, 40%);">+ ipa := {</span><br><span style="color: hsl(120, 100%, 40%);">+ len := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ str_len := 13,</span><br><span style="color: hsl(120, 100%, 40%);">+ manuf_str := "com.ipaccess" & char(0,0,0,0),</span><br><span style="color: hsl(120, 100%, 40%);">+ hdr := tr_OML_FomHeader(msg_type, obj_class, obj_inst),</span><br><span style="color: hsl(120, 100%, 40%);">+ ies := ies</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.8.1 State Changed Event Report */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_StateChgEvtRep(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_OperationalState opstate,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_AvailabilityStatus avstate) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_STATECHG_EVENT_REP, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_OPER_STATE, OML_FOM_IE_Body:{opstate := opstate}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_AVAIL_STATUS, OML_FOM_IE_Body:{avail_status := {len:= 1, avail_status := avstate}})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_StateChgEvtRep(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_OperationalState opstate := ?,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_AvailabilityStatus avstate := ?) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_STATECHG_EVENT_REP, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_OPER_STATE, OML_FOM_IE_Body:{opstate := opstate}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_AVAIL_STATUS, OML_FOM_IE_Body:{avail_status := {len := 1, avail_status := avstate}})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.8.2 Failure Event Report */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_FailureEvtRep(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_EventType evt_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_Severity severity,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ProbableCause cause) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_FAILURE_EVENT_REP, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_EVENT_TYPE, OML_FOM_IE_Body:{event_type := evt_type}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_SEVERITY, OML_FOM_IE_Body:{severity := severity}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_PROB_CAUSE, OML_FOM_IE_Body:{prob_cause := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_FailureEvtRep(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_EventType evt_type,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_Severity severity,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ProbableCause cause) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_FAILURE_EVENT_REP, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_EVENT_TYPE, OML_FOM_IE_Body:{event_type := evt_type}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_SEVERITY, OML_FOM_IE_Body:{severity := severity}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_PROB_CAUSE, OML_FOM_IE_Body:{prob_cause := cause}),</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.8.5 Change Administrative State */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_ChangeAdmState(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_AdministrativeState adm_st) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_CHG_ADM_STATE, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_ADM_STATE, OML_FOM_IE_Body:{adm_state := adm_st})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_ChangeAdmState(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_AdministrativeState adm_st) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_CHG_ADM_STATE, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_ADM_STATE, OML_FOM_IE_Body:{adm_state := adm_st})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_ChangeAdmStateACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_AdministrativeState adm_st) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_CHG_ADM_STATE_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_ADM_STATE, OML_FOM_IE_Body:{adm_state := adm_st})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_ChangeAdmStateACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_AdministrativeState adm_st) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_CHG_ADM_STATE_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_ADM_STATE, OML_FOM_IE_Body:{adm_state := adm_st})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_ChangeAdmStateNACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_NackCause cause) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_CHG_ADM_STATE_NACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_ChangeAdmStateNACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_NackCause cause := ?) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_CHG_ADM_STATE_NACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.9.2 Opstart */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_Opstart(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_OPSTART, obj_class, obj_inst);</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_Opstart(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_OPSTART, obj_class, obj_inst);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_OpstartACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_OPSTART_ACK, obj_class, obj_inst);</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_OpstartACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_OPSTART_ACK, obj_class, obj_inst);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_OpstartNACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_NackCause cause) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_OPSTART_NACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_OpstartNACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_NackCause cause := ?) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_OPSTART_NACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.5 SW Activate Request */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_SwActReq(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring hw_config,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring sw_config) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_SW_ACT_REQ, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_HW_CONFIG, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, hw_config)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_SW_CONFIG, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, sw_config)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_SwActReq(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring hw_config,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring sw_config) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_SW_ACT_REQ, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_HW_CONFIG, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, hw_config)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_SW_CONFIG, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, sw_config)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_SwActReqACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring hw_config,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring sw_config) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_SW_ACT_REQ_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_HW_CONFIG, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, hw_config)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_SW_CONFIG, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, sw_config)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_SwActReqACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring hw_config,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring sw_config) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_SW_ACT_REQ_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_HW_CONFIG, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, hw_config)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_SW_CONFIG, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, sw_config)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.3.6 Activate SW */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_ActivateSw(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring file_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring sw_desc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_ACTIVATE_SW, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_FILE_ID, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, file_id)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_SW_DESCR, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, sw_desc)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_ActivateSw(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring file_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring sw_desc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_ACTIVATE_SW, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_FILE_ID, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, file_id)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_SW_DESCR, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, sw_desc)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_ActivateSwACK(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring file_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring sw_desc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_ACTIVATE_SW_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_FILE_ID, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, file_id)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_SW_DESCR, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, sw_desc)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_ActivateSwACK(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring file_id,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring sw_desc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_ACTIVATE_SW_ACK, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_FILE_ID, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, file_id)}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_SW_DESCR, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, sw_desc)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.6.1 Set BTS Attributes */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_SetBtsAttr(template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_IE_List ies) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_SET_BTS_ATTR, NM_OC_BTS, obj_inst, ies);</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_SetBtsAttr(template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_IE_List ies) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_SET_BTS_ATTR, NM_OC_BTS, obj_inst, ies);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.6.2 Set Radio Carrier Attributes */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_SetRadioAttr(template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) uint8_t maxpwr_r,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_ArfcnList arfcn_list) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_SET_RADIO_ATTR, NM_OC_RADIO_CARRIER, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_RF_MAXPOWR_R, OML_FOM_IE_Body:{rf_maxpwr_r := maxpwr_r}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_ARFCN_LIST, OML_FOM_IE_Body:{arfcn_list := {len:=0, arfcn_list:=arfcn_list}})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_SetRadioAttr(template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template uint8_t maxpwr_r,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_ArfcnList arfcn_list) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_SET_RADIO_ATTR, NM_OC_RADIO_CARRIER, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_RF_MAXPOWR_R, OML_FOM_IE_Body:{rf_maxpwr_r := maxpwr_r}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_ARFCN_LIST, OML_FOM_IE_Body:{arfcn_list := {len:=0, arfcn_list:=arfcn_list}})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.6.3 Set Channel Attributes */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_SetChanAttr(template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_ChannelCombination chan_comb,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) uint8_t tsc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_SET_CHAN_ATTR, NM_OC_CHANNEL, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_CHAN_COMB, OML_FOM_IE_Body:{chan_comb := chan_comb}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_TSC, OML_FOM_IE_Body:{tsc := tsc})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_SetChanAttr(template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_ChannelCombination chan_comb,</span><br><span style="color: hsl(120, 100%, 40%);">+ template uint8_t tsc) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_SET_CHAN_ATTR, NM_OC_CHANNEL, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_CHAN_COMB, OML_FOM_IE_Body:{chan_comb := chan_comb}),</span><br><span style="color: hsl(120, 100%, 40%);">+ *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_TSC, OML_FOM_IE_Body:{tsc := tsc})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* 8.11.1 Get Attributes */</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_GetAttributes(template (value) OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template (value) octetstring req_attr) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_MsgType(NM_MT_GET_ATTR, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_LIST_REQ_ATTR, OML_FOM_IE_Body:{other := ts_OML_IE_L16V(0, req_attr)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_GetAttributes(template OML_FOM_ObjectClass obj_class,</span><br><span style="color: hsl(120, 100%, 40%);">+ template OML_FOM_ObjectInstance obj_inst,</span><br><span style="color: hsl(120, 100%, 40%);">+ template octetstring req_attr) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_MsgType(NM_MT_GET_ATTR, obj_class, obj_inst, {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_LIST_REQ_ATTR, OML_FOM_IE_Body:{other := tr_OML_IE_L16V(?, req_attr)})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* convert a request into an ACK */</span><br><span style="color: hsl(120, 100%, 40%);">+function f_OML_make_ack(OML_PDU orig) return OML_PDU {</span><br><span style="color: hsl(120, 100%, 40%);">+ var OML_PDU resp := orig;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ischosen(resp.u.fom)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.fom.hdr.msg_type)+1, resp.u.fom.hdr.msg_type);</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (ischosen(resp.u.manuf)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.manuf.ipa.hdr.msg_type)+1, resp.u.manuf.ipa.hdr.msg_type);</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ testcase.stop("Unsupported OML in f_OML_make_ack(): ", orig);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return resp;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+function f_OML_make_ack_exp(OML_PDU orig) return template OML_PDU {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template OML_PDU resp := orig;</span><br><span style="color: hsl(120, 100%, 40%);">+ var OML_FOM_MessageType msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ischosen(resp.u.fom)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.len := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.fom.hdr.msg_type)+1, msg_t);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.hdr.msg_type := msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (ischosen(resp.u.manuf)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.len := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.manuf.ipa.hdr.msg_type)+1, msg_t);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.hdr.msg_type := msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ testcase.stop("Unsupported OML in f_OML_make_ack(): ", orig);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return resp;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* convert a request into a NACK, appending the cause IE */</span><br><span style="color: hsl(120, 100%, 40%);">+function f_OML_make_nack(OML_PDU orig, OML_FOM_NackCause cause) return OML_PDU {</span><br><span style="color: hsl(120, 100%, 40%);">+ var OML_PDU resp := orig;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ischosen(resp.u.fom)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.fom.hdr.msg_type)+2, resp.u.fom.hdr.msg_type);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.ies := orig.u.fom.ies & {</span><br><span style="color: hsl(120, 100%, 40%);">+ valueof(ts_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause}))</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (ischosen(resp.u.manuf)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.manuf.ipa.hdr.msg_type)+2, resp.u.manuf.ipa.hdr.msg_type);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.ies := orig.u.manuf.ipa.ies & {</span><br><span style="color: hsl(120, 100%, 40%);">+ valueof(ts_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause}))</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ testcase.stop("Unsupported OML in f_OML_make_nack(): ", orig);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return resp;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+function f_OML_make_nack_exp(OML_PDU orig, template OML_FOM_NackCause cause) return template OML_PDU {</span><br><span style="color: hsl(120, 100%, 40%);">+ var template OML_PDU resp := orig;</span><br><span style="color: hsl(120, 100%, 40%);">+ var OML_FOM_MessageType msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ if (ischosen(resp.u.fom)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.len := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.fom.hdr.msg_type)+2, msg_t);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.hdr.msg_type := msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.fom.ies := { *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+ } else if (ischosen(resp.u.manuf)) {</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.len := ?;</span><br><span style="color: hsl(120, 100%, 40%);">+ int2enum(enum2int(orig.u.manuf.ipa.hdr.msg_type)+2, msg_t);</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.hdr.msg_type := msg_t;</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.ies := { *,</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ resp.u.manuf.ipa.ies := resp.u.manuf.ipa.ies & {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_NACK_CAUSES, OML_FOM_IE_Body:{nack_causes := cause})</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+*/</span><br><span style="color: hsl(120, 100%, 40%);">+ } else {</span><br><span style="color: hsl(120, 100%, 40%);">+ testcase.stop("Unsupported OML in f_OML_make_nack_exp(): ", orig);</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ return resp;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/***********************************************************************</span><br><span style="color: hsl(120, 100%, 40%);">+ * IPA / Osmocom specifics</span><br><span style="color: hsl(120, 100%, 40%);">+ ***********************************************************************/</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+template (value) OML_PDU ts_OML_IPA_RslConnect(uint8_t stream_id, uint16_t port_nr) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IPA_MsgType(NM_MT_IPACC_RSL_CONNECT, NM_OC_BASEB_TRANSC, ts_OML_ObjectInstance(0,0,255), {</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_IPACC_STREAM_ID, OML_FOM_IE_Body:{stream_id := stream_id}),</span><br><span style="color: hsl(120, 100%, 40%);">+ ts_OML_IE(NM_ATT_IPACC_DST_IP_PORT, OML_FOM_IE_Body:{portnr := port_nr})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+template OML_PDU tr_OML_IPA_RslConnect(template uint8_t stream_id, template uint16_t port_nr) :=</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IPA_MsgType(NM_MT_IPACC_RSL_CONNECT, NM_OC_BASEB_TRANSC, tr_OML_ObjectInstance(0,0,255), {</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_IPACC_STREAM_ID, OML_FOM_IE_Body:{stream_id := stream_id}),</span><br><span style="color: hsl(120, 100%, 40%);">+ tr_OML_IE(NM_ATT_IPACC_DST_IP_PORT, OML_FOM_IE_Body:{portnr := port_nr})</span><br><span style="color: hsl(120, 100%, 40%);">+ });</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+} with { encode "RAW"; variant "FIELDORDER(msb)" };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12875">change 12875</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/12875"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I65f71bf7f54cbe3290757e810b1df1e54929bdd1 </div>
<div style="display:none"> Gerrit-Change-Number: 12875 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>