
-- ****************************************************************************
-- RACOM s.r.o VENDOR MIB
--
--
-- (c) COPYRIGHT 2014 by RACOM s.r.o, Czech Republic
-- All rights reserved.
--
--
-- ****************************************************************************

MG-MIB DEFINITIONS ::= BEGIN

-- ****************************************************************************
-- imports
-- ****************************************************************************

IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
       Integer32, Counter32, Gauge32,
       Counter64, TimeTicks                     FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, DisplayString,
       PhysAddress, TruthValue, RowStatus,
       TimeStamp, AutonomousType, TestAndIncr   FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
       snmpTraps                                FROM SNMPv2-MIB
       URLString                                FROM NETWORK-SERVICES-MIB
       enterprises                              FROM SNMPv2-SMI;

-- ****************************************************************************
-- module definition
-- ****************************************************************************

mg MODULE-IDENTITY
        LAST-UPDATED "201405091000Z"
        ORGANIZATION "RACOM s.r.o"
        CONTACT-INFO
            "RACOM s.r.o, Czech Republic"
        DESCRIPTION
            "MIB module which defines the MG router specific entities"

        REVISION "201405091000Z"
        DESCRIPTION
             "MIB for software release 3.7"

        REVISION "201212191000Z"
        DESCRIPTION
            "MIB for software release 3.6"
        ::= { racom 10 }


-- ****************************************************************************
-- root anchor
-- ****************************************************************************

racom OBJECT IDENTIFIER ::= { enterprises 33555 }


-- ****************************************************************************
-- table definitions
-- ****************************************************************************

system        OBJECT IDENTIFIER ::= { mg   1 }
products      OBJECT IDENTIFIER ::= { mg  10 }
admin         OBJECT IDENTIFIER ::= { mg  40 }
dio           OBJECT IDENTIFIER ::= { mg  53 }
traps         OBJECT IDENTIFIER ::= { mg 100 }

-- ****************************************************************************

midge        OBJECT IDENTIFIER ::= { products 46 }
mg102i        OBJECT IDENTIFIER ::= { products 47 }
mg103i        OBJECT IDENTIFIER ::= { products 48 }

-- ****************************************************************************
-- mgAdminTable
-- ****************************************************************************

swVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The currently installed system software version"
    ::= { admin 1 }

kernelVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The currently installed kernel version"
    ::= { admin 2 }

serialNumber OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The serial number of the device"
    ::= { admin 3 }

deviceRestart OBJECT-TYPE
    SYNTAX  INTEGER {
                restart (1)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Force a device restart"
    ::= { admin 10 }

configUpdate OBJECT-TYPE
    SYNTAX  URLString
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Update the system configuration from the specified URL. 
          The URL must be preceded by one of the prefixes tftp://, ftp://, http://
          and either point to the update package or to a server directory which 
          contains a file named <serial-number>.zip"
    ::= { admin 11 }

configUpdateStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                succeeded (1),
                failed (2),
                inprogress (3),
                notstarted (4)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The status of the last configuration update cycle"
    ::= { admin 12 }

softwareUpdate OBJECT-TYPE
    SYNTAX  URLString
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Update the system software from the specified URL, 
          the URL must be preceded by one of the prefixes tftp://, ftp://, http://
          and point to the to be installed image."
    ::= { admin 13 }

softwareUpdateStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                succeeded (1),
                failed (2),
                inprogress (3),
                notstarted (4)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The status of the last software update cycle"
    ::= { admin 14 }


-- ****************************************************************************
-- mgWwanTable
-- ****************************************************************************

mgWwanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MGWwanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The table describing any WWAN modems and their current settings"
    ::= { mg 50 }

mgWwanEntry OBJECT-TYPE
    SYNTAX      MGWwanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An entry describing a WWAN modem and its current settings"
    INDEX       { wwanModemIndex }
    ::= { mgWwanTable 1 }

MGWwanEntry ::= SEQUENCE {
    wwanModemIndex Integer32,
    wwanModemName DisplayString,
    wwanModemType DisplayString,
    wwanServiceType DisplayString,
    wwanRegistrationState DisplayString,
    wwanSignalStrength Integer32,
    wwanNetworkName DisplayString,
    wwanLocalAreaIdentification DisplayString,
    wwanLocalAreaCode DisplayString,
    wwanCellId DisplayString    
}

wwanModemIndex OBJECT-TYPE
    SYNTAX      Integer32(0..254)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
	  "WWAN modem index"
    ::= { mgWwanEntry 1 }

wwanModemName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "WWAN modem name"
    ::= { mgWwanEntry 2 }

wwanModemType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "WWAN modem type"
    ::= { mgWwanEntry 3 }

wwanServiceType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current service type of the WWAN modem"
    ::= { mgWwanEntry 4 }

wwanRegistrationState OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current registration state of the WWAN modem"
    ::= { mgWwanEntry 5 }

wwanSignalStrength OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current signal strength of the WWAN modem (-999 means unknown)"
    ::= { mgWwanEntry 6 }

wwanNetworkName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The network name to which the WWAN modem is currently registered"
    ::= { mgWwanEntry 7 }

wwanLocalAreaIdentification OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Local Area Identification (LAI) to which the WWAN modem is currently registered"
    ::= { mgWwanEntry 8 }

wwanLocalAreaCode OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Local Area Code (LAC) to which the WWAN modem is currently registered"
    ::= { mgWwanEntry 9 }

wwanCellId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The Cell ID (CID) to which the WWAN modem is currently registered"
    ::= { mgWwanEntry 10 }
    

-- ****************************************************************************
-- mgGnssTable
-- ****************************************************************************

mgGnssTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MGGnssEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table describing any GNSS devices and their current settings"
    ::= { mg 51 }

mgGnssEntry OBJECT-TYPE
    SYNTAX      MGGnssEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry describing a GNSS device and its current settings"
    INDEX       { gnssIndex }
    ::= { mgGnssTable 1 }

MGGnssEntry ::= SEQUENCE {
    gnssIndex Integer32,
    gnssName DisplayString,
    gnssSystem DisplayString,
    gnssLat DisplayString,
    gnssLon DisplayString,
    gnssAlt DisplayString,
    gnssNumSat Integer32
}

gnssIndex OBJECT-TYPE
    SYNTAX      Integer32(0..254)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "GNSS device index"
    ::= { mgGnssEntry 1 }

gnssName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "GNSS device name"
    ::= { mgGnssEntry 2 }

gnssSystem OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "GNSS system used by the device"
    ::= { mgGnssEntry 3 }

gnssLat OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current latitude value received by the GNSS device"
    ::= { mgGnssEntry 4 }

gnssLon OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current longitude value received by the GNSS device"
    ::= { mgGnssEntry 5 }

gnssAlt OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current altitude value received by the GNSS device"
    ::= { mgGnssEntry 6 }

gnssNumSat OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of available satellites for the GNSS device"
    ::= { mgGnssEntry 7 }


-- ****************************************************************************
-- mgWlanTable
-- ****************************************************************************

mgWlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MGWlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table describing any WLAN modems and their current settings."
    ::= { mg 60 }

mgWlanEntry OBJECT-TYPE
    SYNTAX      MGWlanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry describing a WLAN modem and its current settings."
    INDEX       { wlanModuleIndex }
    ::= { mgWlanTable 1 }

MGWlanEntry ::= SEQUENCE {
    wlanModuleIndex Integer32,
    wlanModuleName DisplayString,
    wlanModuleType DisplayString,
    wlanNumClients Integer32
    
}

wlanModuleIndex OBJECT-TYPE
    SYNTAX      Integer32(0..254)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "WLAN module index"
    ::= { mgWlanEntry 1 }

wlanModuleName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "WLAN module name"
    ::= { mgWlanEntry 2 }

wlanModuleType OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "WLAN module type"
    ::= { mgWlanEntry 3 }

wlanNumClients OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current number of clients connected to the WLAN module (if operated as access point)"
    ::= { mgWlanEntry 4 }


-- ****************************************************************************
-- mgDioTable
-- ****************************************************************************

dioStatusIn1 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current value of digital I/O port IN1"
    ::= { dio 1 }
        
dioStatusIn2 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current value of digital I/O port IN2"
    ::= { dio 2 }
    
dioStatusOut1 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current value of digital I/O port OUT1"
    ::= { dio 3 }
    
dioStatusOut2 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The current value of digital I/O port OUT2"
    ::= { dio 4 }

dioSetOUT1 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The update value for digital I/O port OUT1"
    ::= { dio 10 }
    
dioSetOUT2 OBJECT-TYPE
    SYNTAX  INTEGER {
                off (0),
                on (1)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The update value for digital I/O port OUT2"
    ::= { dio 11 }


-- ****************************************************************************
-- trap objects
-- ****************************************************************************

events          OBJECT IDENTIFIER ::= { traps 0 }

wan-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "WAN link came up"
    ::= { events 101 }

wan-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "WAN link went down"
    ::= { events 102 }

dio-in1-on NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO IN1 turned on"
    ::= { events 201 }

dio-in1-off NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO IN1 turned off"
    ::= { events 202 }

dio-in2-on NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO IN2 turned on"
    ::= { events 203 }

dio-in2-off NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO IN2 turned off"
    ::= { events 204 }

dio-out1-on NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO OUT1 turned on"
    ::= { events 205 }

dio-out1-off NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO OUT1 turned off"
    ::= { events 206 }

dio-out2-on NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO OUT2 turned on"
    ::= { events 207 }

dio-out2-off NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "DIO OUT2 turned off"
    ::= { events 208 }

gps-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "GPS signal is available"
    ::= { events 301 }

gps-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "GPS signal is not available"
    ::= { events 302 }

openvpn-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "OpenVPN connection came up"
    ::= { events 401 }

openvpn-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "OpenVPN connection went down"
    ::= { events 402 }

ipsec-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "IPsec connection came up"
    ::= { events 403 }

ipsec-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "IPsec connection went down"
    ::= { events 404 }

pptp-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "PPTP connection came up"
    ::= { events 406 }

pptp-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "PPTP connection went down"
    ::= { events 407 }

dialin-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Dial-In connection came up"
    ::= { events 408 }

dialin-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Dial-In connection went down"
    ::= { events 409 }

mobileip-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Mobile IP connection came up"
    ::= { events 410 }

mobileip-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Mobile IP connection went down"
    ::= { events 411 }

gre-up NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "GRE connection came up"
    ::= { events 412 }

gre-down NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "GRE connection went down"
    ::= { events 413 }

system-login-failed NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "User login failed"
    ::= { events 501 }

system-login-succeeded NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "User login succeeded"
    ::= { events 502 }

system-logout NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "User logged out"
    ::= { events 503 }

system-rebooting NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "System reboot has been triggered"
    ::= { events 504 }

system-startup NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "System has been started"
    ::= { events 505 }

test NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "test event"
    ::= { events 506 }

sdk-startup NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "SDK has been started"
    ::= { events 507 }

system-time-updated NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "System time has been updated"
    ::= { events 508 }

sms-sent NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "SMS has been sent"
    ::= { events 601 }

sms-notsent NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "SMS has not been sent"
    ::= { events 602 }

sms-received NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "SMS has been received"
    ::= { events 603 }

sms-report-received NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "SMS report has been received"
    ::= { events 604 }

call-incoming NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "A voice call is coming in"
    ::= { events 701 }

call-outgoing NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Outgoing voice call is being established"
    ::= { events 702 }

ddns-update-succeeded NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Dynamic DNS update succeeded"
    ::= { events 801 }

ddns-update-failed NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "Dynamic DNS update failed"
    ::= { events 802 }

usb-storage-added NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB storage device has been added"
    ::= { events 901 }

usb-storage-removed NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB storage device has been removed"
    ::= { events 902 }

usb-eth-added NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB Ethernet device has been added"
    ::= { events 903 }

usb-eth-removed NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB Ethernet device has been removed"
    ::= { events 904 }

usb-serial-added NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB serial device has been added"
    ::= { events 905 }

usb-serial-removed NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION "USB serial device has been removed"
    ::= { events 906 }

END

