<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>