--  =======================================================================
--  File        : osModuleLteApn.mib
--  Description : Private MIB support the functionality of MEF Ethernet Virtual Connections
--  By          : Pavel

-- Copyright (c) 2008 MRV.  All Rights Reserved.
--
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This MRV SNMP MIB Specification
-- embodies MRV's proprietary intellectual property.  MRV
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is MRV's intent to encourage the widespread use of this
-- specification in connection with the management of MRV's
-- products. MRV grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of MRV's products.
--
-- This specification is supplied "AS IS," and MRV makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- Copyright text courtesy of MRV
--
-- If you have any questions about this MIB, please call MRV
-- Technical Support Center at 1-800-858-7815 from inside USA or
-- 1-818-773-0900 from outside USA.
--
--
-- MRV retains the right to change this MIB without notification.

OS-MODULE-LTE-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                MODULE-IDENTITY, OBJECT-TYPE,
                Unsigned32                                    FROM SNMPv2-SMI
                TruthValue, DisplayString                     FROM SNMPv2-TC
                MODULE-COMPLIANCE, OBJECT-GROUP               FROM SNMPv2-CONF
                EntityName, oaOptiSwitch, EntryValidator      FROM OS-COMMON-TC-MIB;

osModuleLte     MODULE-IDENTITY
                LAST-UPDATED "202301260000Z" -- 26 Jan. 2023
                ORGANIZATION "ADVA"
                CONTACT-INFO
                   "Yaniv Maimon
                    ADVA Optical Networking, Inc
                    http://www.adva.com
                    Email:  ymaimon@adva.com"
                DESCRIPTION
                    "Support Module LTE, FiveG parameters."
                
				REVISION     "202301260000Z" -- 26 Jan. 2023
                DESCRIPTION
                    "Add tables osModFiveGApnModTable, osModFiveGApnDevTable"
				
                REVISION     "202009160000Z" -- 16 Sep. 2020
                DESCRIPTION
                    "Initial edition."
                ::= { oaOptiSwitch 42 }

-- ************************************************************
-- MIB place Definition
-- ************************************************************

osModuleLteGen         OBJECT IDENTIFIER ::= { osModuleLte 1 }
osModuleLteTables      OBJECT IDENTIFIER ::= { osModuleLte 2 }
osMLteConformance      OBJECT IDENTIFIER ::= { osModuleLte 100 }
osMLteMIBCompliances   OBJECT IDENTIFIER ::= { osMLteConformance 1 }
osMLteMIBGroups        OBJECT IDENTIFIER ::= { osMLteConformance 2 }

osModuleLteSupport   OBJECT-TYPE
   SYNTAX     INTEGER { notSupported(1), supported(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "Indicates that this MIB is supported."
   ::= { osModuleLteGen 1 }


--3456789a123456789b123456789c123456789d123456789e123456789f123456789g123456789

-- **************************************************************
-- The osModLteApnModTable Table (APN profiles defined on module)
-- **************************************************************
osModLteApnModTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsModLteApnModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains LTE APN User's Profiles used by Module."
    REFERENCE
       "."
    ::= { osModuleLteTables 1 }

osModLteApnModEntry    OBJECT-TYPE
    SYNTAX      OsModLteApnModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osModLteApnModName }
    ::= { osModLteApnModTable 1 }

OsModLteApnModEntry ::= SEQUENCE {
      osModLteApnModName           EntityName,
      osModLteApnModPriority       Unsigned32,
      osModLteApnModID             DisplayString,
      osModLteApnModProtocol       INTEGER,
      osModLteApnModBand           Unsigned32,
      osModLteApnModLastActive     TruthValue
}

osModLteApnModName     OBJECT-TYPE
    SYNTAX             EntityName
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "APN profile name."
    ::= { osModLteApnModEntry 2 }

osModLteApnModPriority OBJECT-TYPE
    SYNTAX              Unsigned32 (0..9)
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
       "APN profile priority in range <0-9>."
    ::= { osModLteApnModEntry 3 }

osModLteApnModID       OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (2..63))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Profile APN."
    ::= { osModLteApnModEntry 4 }

osModLteApnModProtocol OBJECT-TYPE
    SYNTAX             INTEGER {
                         unknown           (0),
			 ipv4              (1),
			 ipv6              (2),
			 ipv4ipv6          (3)
			 }
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "IP protocol."
    ::= { osModLteApnModEntry 5 }

osModLteApnModBand     OBJECT-TYPE
    SYNTAX             Unsigned32 (0..12)
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Profile band in range <0-12> or <0-0xc>."
    ::= { osModLteApnModEntry 6 }

osModLteApnModLastActive OBJECT-TYPE
    SYNTAX               TruthValue
    MAX-ACCESS           read-only
    STATUS               current
    DESCRIPTION
       "Last active APN profile."
    ::= { osModLteApnModEntry 7 }

-- **********************************************************************
-- The osModLteApnModTable Table (APN profiles defined on device (XG300)
-- **********************************************************************
osModLteApnDevTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsModLteApnDevEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains LTE APN User's Profiles defined by User on the XG300 device.
        Configuration and definition of APN User's profile can be performed
        only when the SET operation of objects osModLteApnDevPriority, osModLteApnDevID, 
        sModLteApnDevProtocol, osModLteApnDevBand with required values 
        and osModLteApnDevAdminStatus with the value 'create'
        is executed simultaneously.
        APN User's profile delete can be performed by the SET operation
        of parameter osModLteApnDevAdminStatus with the value 'delete'."
    REFERENCE
       "CLI: in node 'module lte lte0': 
        profile <NAME> <PRIORITY> <APN> <IP-PROTOCOL> <BAND>
        no profile <NAME>."
    ::= { osModuleLteTables 2 }

osModLteApnDevEntry    OBJECT-TYPE
    SYNTAX      OsModLteApnDevEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osModLteApnDevName }
    ::= { osModLteApnDevTable 1 }

OsModLteApnDevEntry ::= SEQUENCE {
      osModLteApnDevName           EntityName,
      osModLteApnDevPriority       Unsigned32,
      osModLteApnDevID             DisplayString,
      osModLteApnDevProtocol       INTEGER,
      osModLteApnDevBand           Unsigned32,
      osModLteApnDevDefault        TruthValue,
      osModLteApnDevAdminStatus    EntryValidator
}

osModLteApnDevName     OBJECT-TYPE
    SYNTAX             EntityName
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "APN profile name."
    ::= { osModLteApnDevEntry 2 }

osModLteApnDevPriority OBJECT-TYPE
    SYNTAX              Unsigned32 (0..9)
    MAX-ACCESS          read-write
    STATUS              current
    DESCRIPTION
       "APN profile priority in range <0-9>."
    ::= { osModLteApnDevEntry 3 }

osModLteApnDevID       OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (2..63))
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "Profile APN."
    ::= { osModLteApnDevEntry 4 }

osModLteApnDevProtocol OBJECT-TYPE
    SYNTAX             INTEGER {
    			unknown           (0),
			ipv4              (1),
			ipv6              (2),
			ipv4ipv6          (3)
			}
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "IP protocol."
    ::= { osModLteApnDevEntry 5 }

osModLteApnDevBand     OBJECT-TYPE
    SYNTAX             Unsigned32 (0..12)
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "Profile band in range <0-12> or <0-0xc>."
    ::= { osModLteApnDevEntry 6 }


 osModLteApnDevDefault OBJECT-TYPE
    SYNTAX             TruthValue
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "APN profile default sign."
    ::= { osModLteApnDevEntry 7 }

osModLteApnDevAdminStatus OBJECT-TYPE
    SYNTAX                EntryValidator
    MAX-ACCESS            read-write
    STATUS                current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osModLteApnDevEntry 98 }
	
-- **************************************************************
-- The osModFiveGApnModTable Table (APN profiles defined on module)
-- **************************************************************
osModFiveGApnModTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsModFiveGApnModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains FiveG APN User's Profiles used by Module."
    REFERENCE
       "."
    ::= { osModuleLteTables 3 }

osModFiveGApnModEntry    OBJECT-TYPE
    SYNTAX      OsModFiveGApnModEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osModFiveGApnModName }
    ::= { osModFiveGApnModTable 1 }

OsModFiveGApnModEntry ::= SEQUENCE {
      osModFiveGApnModName           EntityName,
      osModFiveGApnModPriority       Unsigned32,
      osModFiveGApnModID             DisplayString,
      osModFiveGApnModProtocol       INTEGER,
      osModFiveGApnModBand           Unsigned32,
      osModFiveGApnModLastActive     TruthValue
}

osModFiveGApnModName     OBJECT-TYPE
    SYNTAX             EntityName
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "APN profile name."
    ::= { osModFiveGApnModEntry 2 }

osModFiveGApnModPriority OBJECT-TYPE
    SYNTAX              Unsigned32 (0..9)
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
       "APN profile priority in range <0-9>."
    ::= { osModFiveGApnModEntry 3 }

osModFiveGApnModID       OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (2..63))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Profile APN."
    ::= { osModFiveGApnModEntry 4 }

osModFiveGApnModProtocol OBJECT-TYPE
    SYNTAX             INTEGER {
                         unknown           (0),
			 ipv4              (1),
			 ipv6              (2),
			 ipv4ipv6          (3)
			 }
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "IP protocol."
    ::= { osModFiveGApnModEntry 5 }

osModFiveGApnModBand     OBJECT-TYPE
    SYNTAX             Unsigned32 (0..12)
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "Profile band in range <0-12> or <0-0xc>."
    ::= { osModFiveGApnModEntry 6 }

osModFiveGApnModLastActive OBJECT-TYPE
    SYNTAX               TruthValue
    MAX-ACCESS           read-only
    STATUS               current
    DESCRIPTION
       "Last active APN profile."
    ::= { osModFiveGApnModEntry 7 }
	
-- **********************************************************************
-- The osModFiveGApnDevTable Table (APN profiles defined on device (XG300)
-- **********************************************************************
osModFiveGApnDevTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsModFiveGApnDevEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains FiveG APN User's Profiles defined by User on the XG300 device.
        Configuration and definition of APN User's profile can be performed
        only when the SET operation of objects osModLteApnDevPriority, osModLteApnDevID, 
        sModLteApnDevProtocol, osModLteApnDevBand with required values 
        and osModLteApnDevAdminStatus with the value 'create'
        is executed simultaneously.
        APN User's profile delete can be performed by the SET operation
        of parameter osModLteApnDevAdminStatus with the value 'delete'."
    REFERENCE
       "CLI: in node 'module five-g five-g0': 
        profile <NAME> <PRIORITY> <APN> <IP-PROTOCOL> <BAND>
        no profile <NAME>."
    ::= { osModuleLteTables 4 }

osModFiveGApnDevEntry    OBJECT-TYPE
    SYNTAX      OsModFiveGApnDevEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osModFiveGApnDevName }
    ::= { osModFiveGApnDevTable 1 }

OsModFiveGApnDevEntry ::= SEQUENCE {
      osModFiveGApnDevName           EntityName,
      osModFiveGApnDevPriority       Unsigned32,
      osModFiveGApnDevID             DisplayString,
      osModFiveGApnDevProtocol       INTEGER,
      osModFiveGApnDevBand           Unsigned32,
      osModFiveGApnDevDefault        TruthValue,
      osModFiveGApnDevAdminStatus    EntryValidator
}

osModFiveGApnDevName     OBJECT-TYPE
    SYNTAX             EntityName
    MAX-ACCESS         not-accessible
    STATUS             current
    DESCRIPTION
       "APN profile name."
    ::= { osModFiveGApnDevEntry 2 }

osModFiveGApnDevPriority OBJECT-TYPE
    SYNTAX              Unsigned32 (0..9)
    MAX-ACCESS          read-write
    STATUS              current
    DESCRIPTION
       "APN profile priority in range <0-9>."
    ::= { osModFiveGApnDevEntry 3 }

osModFiveGApnDevID       OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (2..63))
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "Profile APN."
    ::= { osModFiveGApnDevEntry 4 }

osModFiveGApnDevProtocol OBJECT-TYPE
    SYNTAX             INTEGER {
    			unknown           (0),
			ipv4              (1),
			ipv6              (2),
			ipv4ipv6          (3)
			}
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "IP protocol."
    ::= { osModFiveGApnDevEntry 5 }

osModFiveGApnDevBand     OBJECT-TYPE
    SYNTAX             Unsigned32 (0..12)
    MAX-ACCESS         read-write
    STATUS             current
    DESCRIPTION
       "Profile band in range <0-12> or <0-0xc>."
    ::= { osModFiveGApnDevEntry 6 }


 osModFiveGApnDevDefault OBJECT-TYPE
    SYNTAX             TruthValue
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION
       "APN profile default sign."
    ::= { osModFiveGApnDevEntry 7 }

osModFiveGApnDevAdminStatus OBJECT-TYPE
    SYNTAX                EntryValidator
    MAX-ACCESS            read-write
    STATUS                current
    DESCRIPTION
       "Allows to create new rows or delete old rows."
    ::= { osModFiveGApnDevEntry 98 }

-- *******************************************************************
--  Conformance Information 
-- ******************************************************************* 

osModLteMIBCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The core compliance statement for all the osModuleLte MIB implementations."
    MODULE -- this module 
    MANDATORY-GROUPS { 
        osModuleLteGroup
    }
    GROUP osModuleLteOptGroup
    DESCRIPTION 
        "Optional objects for the osModuleLte MIB."

    ::= { osMLteMIBCompliances 1 }

-- ...................................................................
-- Conformance Groups 
-- ................................................................... 

osModuleLteGroup  OBJECT-GROUP
    OBJECTS {
        osModuleLteSupport
    }
    STATUS current 
    DESCRIPTION 
        "Mandatory Conformance group."
    ::= { osMLteMIBGroups 1 }

osModuleLteOptGroup OBJECT-GROUP 
    OBJECTS  { 
      osModuleLteSupport,
      osModLteApnModPriority,
      osModLteApnModID,
      osModLteApnModProtocol,
      osModLteApnModBand,
      osModLteApnModLastActive,
      osModLteApnDevPriority,
      osModLteApnDevID,
      osModLteApnDevProtocol,
      osModLteApnDevBand,
      osModLteApnDevDefault, 
      osModLteApnDevAdminStatus,
      osModFiveGApnModPriority,
      osModFiveGApnModID,
      osModFiveGApnModProtocol,
      osModFiveGApnModBand,
      osModFiveGApnModLastActive,
      osModFiveGApnDevPriority,
      osModFiveGApnDevID,
      osModFiveGApnDevProtocol,
      osModFiveGApnDevBand,
      osModFiveGApnDevDefault, 
      osModFiveGApnDevAdminStatus
    } 
    STATUS current 
    DESCRIPTION 
        "Optional objects for the osModuleLte MIB."
    ::= { osMLteMIBGroups 2 } 
 
END


