Devio-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, enterprises, Integer32, NOTIFICATION-TYPE FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, DisplayString, TruthValue FROM SNMPv2-TC;

devioSnmp MODULE-IDENTITY
    LAST-UPDATED "201710090000Z"
    ORGANIZATION "www.biamp.com"
    CONTACT-INFO
    "postal:    9300 SW Gemini Drive
    Beaverton, OR 97008

    email:     support@biamp.com"
    DESCRIPTION
    "Devio Video Conferencing System MIB tree"
    REVISION    "201710090000Z"
    DESCRIPTION
    "Final release"
    ::= { biamp 1 }

biamp			OBJECT IDENTIFIER ::= { enterprises 44457 }
devData			OBJECT IDENTIFIER ::= { devioSnmp 1 }
micData			OBJECT IDENTIFIER ::= { devioSnmp 2 }
audioData		OBJECT IDENTIFIER ::= { devioSnmp 3 }
videoData		OBJECT IDENTIFIER ::= { devioSnmp 4 }
autoSetupData	OBJECT IDENTIFIER ::= { devioSnmp 5 }
handsFreeData	OBJECT IDENTIFIER ::= { devioSnmp 7 }

--
-- Notifications
--
devioSnmpNotificationPrefix   OBJECT IDENTIFIER ::= { devioSnmp 6 }
devioSnmpNotifications        OBJECT IDENTIFIER ::= { devioSnmpNotificationPrefix 1 }

--
-- Define the Float Textual Convention
--   This definition was written by David Perkins.
--

FloatString ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "A floating-point number represented in string form and limited
	 to a total of 32 characters.  It allows reprensation of a floating
	 point number in precisions ranging from 1 to 30 decimal places" 
    SYNTAX	OCTET STRING (SIZE(1..32))


-- devData 

    deviceName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..50))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The host name associated with this Devio SCR-2x device."
        ::= { devData 1 }

    appVersion OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..12))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Devio application version.
            Version is stored as a 12-character string
            AA.BB.CC.DD where
            APP_VER_MAJ     = AA
            APP_VER_INT_MAJ = BB
            APP_VER_INT_MIN = CC
            APP_VER_MIN     = DD"
        ::= { devData 2 }

    snmpVersion OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..12))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Devio SNMP version.
            Version is stored as a 12-character string
            AA.BB.CC.DD where
            SNMP_VER_MAJ     = AA
            SNMP_VER_INT_MAJ = BB
            SNMP_VER_INT_MIN = CC
            SNMP_VER_MIN     = DD"
        ::= { devData 3 }

    deviceLocation OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..50))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The physical location of the Devio SCR-2x device."
        ::= { devData 4 }

    systemTime OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..50))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The current system date and time.
            Format: yyyy-MM-dd hh:mm:ss"
        ::= { devData 5 }

	usbConnection	OBJECT-TYPE
		SYNTAX		INTEGER {disconnected(0), usb2(2), usb3(3)}
		MAX-ACCESS	read-only
		STATUS      current
		DESCRIPTION
		      "An enumeration to identify the Upstream USB port connection type.
		      Either : disconnected(0), usb2(2) or usb3(3)"
       ::= { devData 6 }

    productId OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..40))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Product Identification."
        ::= { devData 7 }

    serialNumber OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..40))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Serial number."
        ::= { devData 8 }

    macAddress OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..40))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Ethernet MAC address."
        ::= { devData 9 }

    handsFreeVersion OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..12))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Hands-free module software version."
        ::= { devData 10 }

-- micData 

	microphoneType	OBJECT-TYPE
		SYNTAX		INTEGER {unknown(0), DTM-1(1), DCM-1(2), TTM-X(3), TCM-X(4)}
		MAX-ACCESS	read-only
		STATUS      current
		DESCRIPTION
		      "An enumeration to identify the type of a particular microphone.
		      Either : unknown(0), DTM-1(1), DCM-1(2), TTM-X(3) or TCM-X(4)"
		::= { micData 1 }

    numberOfMicrophones OBJECT-TYPE
        SYNTAX Integer32 (1..2) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            "Number of microphones expected"
        DEFVAL { 1 }
       ::= { micData 2 }

    lineFault OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Microphone line fault
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { micData 3 }

	micLedMode OBJECT-TYPE
        SYNTAX	INTEGER {alwaysOn(0), onWhenConnected(1), onWhenCallInProgress(2), alwaysOff(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select microphone LED mode 
             0 - On whenever the microphone is connected and powered,
             1 - On when upstream USB or Bluetooth connected,
             2 - On when there is a call in progress,
             3 - Off whenever the microphone is connected and powered"
        DEFVAL { alwayson }
       ::= { micData 4 }
	
	disableMicMuteSwitch OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Microphone mute switch disabled  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { micData 5 }


-- audioData 
     masterMute OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Master mute enable  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { audioData 1 }

    softCodecInputGain OBJECT-TYPE
        SYNTAX FloatString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Soft codec input gain (dB)"
		DEFVAL { "0.0" }
        ::= { audioData 2 }

    headsetInputGain OBJECT-TYPE
        SYNTAX FloatString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Headset input gain (dB)"
		DEFVAL { "0.0" }
        ::= { audioData 3 }

     overrideLineLevel OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Override the Auto Setup line output level  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { audioData 4 }

    lineOutputLevel OBJECT-TYPE
        SYNTAX FloatString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Line output level (dB)"
		DEFVAL { "0.0" }
        ::= { audioData 5 }

     overrideAmpLevel OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Override the Auto Setup amplifier output level  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { audioData 6 }

    ampOutputLevel OBJECT-TYPE
        SYNTAX FloatString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Amplifier output level (dB)"
		DEFVAL { "0.0" }
        ::= { audioData 7 }

     callInProgress OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            "Call in progress 
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { audioData 8 }
 
    micAudioPresent OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Microphone audio present
             1 - true,
             2 - false"
        DEFVAL { false }
        ::= { audioData 9 }

    farEndAudioPresent OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Far end audio present
             1 - true,
             2 - false"
        DEFVAL { false }
        ::= { audioData 10 }
        
    ampLoadImpedance OBJECT-TYPE
        SYNTAX Integer32 (0..1) 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Amplifier load impedance"
        DEFVAL { 1 }
       ::= { audioData 11 }

    enableHeadset OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable Headset Interface  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { audioData 12 }

	handsFreeInputGain OBJECT-TYPE
        SYNTAX FloatString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Hands-free module input gain (dB)"
		DEFVAL { "0.0" }
        ::= { audioData 13 }

    hdmiAudioOutput OBJECT-TYPE
        SYNTAX	INTEGER {none(0), hdmiout1(1), hdmiout2(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select destination for HDMI audio 
             0 - None (audio muted),
             1 - Audio sent to HDMI output 1,
             2 - Audio sent to HDMI output 2"
        DEFVAL { none }
       ::= { audioData 14 }

    ucPlatform OBJECT-TYPE
        SYNTAX	INTEGER {generic(0), googlemeet(1), msteams(2), zoom(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select preferred UC platform 
             0 - Generic,
             1 - Google Meet,
             2 - Microsoft Teams,
             3 - Zoom"
        DEFVAL { generic }
       ::= { audioData 15 }

-- videoData 
     enableUsbVideo OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable USB Video  
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { videoData 1 }

    videoInputSelect OBJECT-TYPE
        SYNTAX	INTEGER {hdmi(1), usb(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select either the HDMI or USB video input 
             1 - HDMI,
             2 - USB"
        DEFVAL { usb }
       ::= { videoData 2 }

	hdmiInputConnected OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Front panel HDMI input connected
             1 - true,
             2 - false"
        DEFVAL { false }
        ::= { videoData 3 }
       
	hdmiOutput1Connected OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rear panel HDMI output 1 connected
             1 - true,
             2 - false"
        DEFVAL { false }
        ::= { videoData 4 }
       
	hdmiOutput2Connected OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Rear panel HDMI output 2 connected
             1 - true,
             2 - false"
        DEFVAL { false }
        ::= { videoData 5 }

    hdmiOutput1MaxResolution OBJECT-TYPE
        SYNTAX	INTEGER {max4k(1), max2k(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select either the maximum resolution for HDMI output 1 
             1 - 4K (3840x2160),
             2 - 2K (1920x1080)"
        DEFVAL { max4k }
       ::= { videoData 6 }

     hdmiEnableBlackOut OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable black output on loss of input signal  
             1 - true,
             2 - false"
        DEFVAL { true }
       ::= { videoData 7 }


-- autoSetupData 

    autoSetupStatus OBJECT-TYPE
		SYNTAX	INTEGER {fault(0), disabled(1), configuring(2), initialising(3), detectingHardware(4), testingCapsules(5), measuringRoom(6), analysingRoom(7), idle(8)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Auto Setup analysis status:
				0 - fault,
				1 - disabled,
				2 - configuring,
				3 - initialising,
				4 - detectingHardware,
				5 - testingCapsules,
				6 - measuringRoom,
				7 - analysingRoom,
				8 - idle"
        DEFVAL { idle }
        ::= { autoSetupData 1 }

    autoSetupInitiate OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Initiate Auto Setup configuration
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { autoSetupData 2 }

	speakerEqOverride OBJECT-TYPE
        SYNTAX	TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Override the speaker EQ configured during Auto Setup
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { autoSetupData 3 }

    speakerEqBassReduction OBJECT-TYPE
        SYNTAX	INTEGER {off(0), low(1), medium(2), high(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select the bass reduction setting for speaker equalization 
             0 - off,
             1 - low,
             2 - medium,
             3 - high"
        DEFVAL { medium }
       ::= { autoSetupData 4 }

    speakerEqMidBoost OBJECT-TYPE
        SYNTAX	INTEGER {off(0), low(1), medium(2), high(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select the mid boost setting for speaker equalization 
             0 - off,
             1 - low,
             2 - medium,
             3 - high"
        DEFVAL { medium }
       ::= { autoSetupData 5 }

    speakerEqTrebleBoost OBJECT-TYPE
        SYNTAX	INTEGER {off(0), low(1), medium(2), high(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Select the treble boost setting for speaker equalization 
             0 - off,
             1 - low,
             2 - medium,
             3 - high"
        DEFVAL { medium }
       ::= { autoSetupData 6 }

    agcBypass OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Bypass automatic gain control
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { autoSetupData 7 }

    aecBypass OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Bypass automatic echo cancellation 
             1 - true,
             2 - false"
        DEFVAL { false }
       ::= { autoSetupData 8 }

    aecNoiseReductionLevel OBJECT-TYPE
		SYNTAX		INTEGER {off(0), low(1), medium(2), high(3)}
		MAX-ACCESS	read-write
		STATUS      current
		DESCRIPTION
		      "An enumeration to specify the AEC noise reduction level.
		      Either : off(0), low(1), medium(2), high(3)"
		::= { autoSetupData 9 }
 
    aecEchoSuppressionLevel OBJECT-TYPE
		SYNTAX		INTEGER {off(0), low(1), medium(2), high(3)}
		MAX-ACCESS	read-write
		STATUS      current
		DESCRIPTION
		      "An enumeration to specify the AEC non-linear processing echo suppression level.
		      Either : off(0), low(1), medium(2), high(3)"
		::= { autoSetupData 10 }


-- handsFreeData
    enableHandsFree OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable the hands free feature 
             1 - enabled,
             2 - disabled"
        DEFVAL { false }
       ::= { handsFreeData 1 }

    handsFreeConnected OBJECT-TYPE
        SYNTAX	INTEGER {off(0), ready(1), discoverable(2), connected(3)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Hands free connected status
             0 - off,
             1 - ready
             2 - discoverable
             3 - connected"
        DEFVAL { off }
        ::= { handsFreeData 2 }

	resetHandsFreeConnection OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Reset any current hands free connections 
             1 - Perform reset, otherwise will be ignored"
        DEFVAL { false }
       ::= { handsFreeData 3 }

    handsFreeName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..50))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The name advertised by the hands free interface for connection purposes."
        ::= { handsFreeData 4 }

	handsFreeConnectTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..99999)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The number of seconds during which the hands free interface will accept connections after being enabled."
        ::= { handsFreeData 5 }

	enableHandsFreeConnectTone OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable an audible tone when hands free device connects 
             1 - enabled,
             2 - disabled"
        DEFVAL { true }
       ::= { handsFreeData 6 }

	handsFreeDiscoverable OBJECT-TYPE
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable hands free module to be discovered 
             1 - enabled,
             2 - disabled"
        DEFVAL { true }
       ::= { handsFreeData 7 }


-- trapData
	usbConnectionNotification NOTIFICATION-TYPE
		OBJECTS     { usbConnection }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a change in the Devio
		     device's USB connection."
	::= { devioSnmpNotifications 1 }

	microphoneConnectedNotification NOTIFICATION-TYPE
		OBJECTS     { numberOfMicrophones }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a change in the number
		     of the Devio microphone connections."
	::= { devioSnmpNotifications 2 }

	lineFaultNotification NOTIFICATION-TYPE
		OBJECTS     { lineFault }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a change in the state
		     of the microphone line fault indicator."
	::= { devioSnmpNotifications 3 }

	autoSetupStatusNotification NOTIFICATION-TYPE
		OBJECTS     { autoSetupStatus }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a change in the state
		     of the room intelligibility enhancement status.
		     "
	::= { devioSnmpNotifications 4 }

	callInProgressNotification NOTIFICATION-TYPE
		OBJECTS     { callInProgress }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a call in progress or
		     a hang-up."
	::= { devioSnmpNotifications 5 }

	handsFreeConnectedNotification NOTIFICATION-TYPE
		OBJECTS     { handsFreeConnected }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a hands free connection or disconnection."
	::= { devioSnmpNotifications 6 }

	hdmiInputConnectedNotification NOTIFICATION-TYPE
		OBJECTS     { hdmiInputConnected }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a connection on the HDMI Input."
	::= { devioSnmpNotifications 7 }

	hdmiOutput1ConnectedNotification NOTIFICATION-TYPE
		OBJECTS     { hdmiOutput1Connected }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a connection on HDMI Output 1."
	::= { devioSnmpNotifications 8 }

	hdmiOutput2ConnectedNotification NOTIFICATION-TYPE
		OBJECTS     { hdmiOutput2Connected }
		STATUS      current
		DESCRIPTION
		    "A notification used to indicate a connection on HDMI Output 2."
	::= { devioSnmpNotifications 9 }

END
