-- The Barix STL/Reflector FLEXA application MIB leaf
-- The Barix MIB Registration Authority is barix.mib
-- Version:	1.1
-- Date:	11 November, 2025
-- Copyright (c) 2004-2025 Barix AG

-- Changes:

  BARIX-FLEXA-STANDALONE-STL-MIB DEFINITIONS ::= BEGIN

IMPORTS
	enterprises, Counter, TimeTicks, Gauge
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	DisplayString
		FROM RFC1213-MIB;
--		FROM RFC-1213;
	BARIX-FLEXA-MIB;



barix         OBJECT IDENTIFIER ::= { enterprises 17491 }
products      OBJECT IDENTIFIER ::= { barix 1 }
flexa         OBJECT IDENTIFIER ::= { products 159 }
flexa-app     OBJECT IDENTIFIER ::= { flexa 2 }
flexa-traps   OBJECT IDENTIFIER ::= { flexa 3 }


-- Barix FLEXA application (Standalone STL) MIB trap entries


streamIndex TRAP-TYPE
  ENTERPRISE flexa
	DESCRIPTION	"Index of the stream selected - main stream (1) and backup stream (2)"
::= { flexa-traps 1 }

streamName TRAP-TYPE
  ENTERPRISE flexa
	DESCRIPTION	"Name of the current player"
::= { flexa-traps 2 }

streamStatus TRAP-TYPE
  ENTERPRISE flexa
	DESCRIPTION	"Current status of the selected player"
::= { flexa-traps 3 }



-- Barix FLEXA application (Standalone STL) MIB entries


mainStreamUrl OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..255))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream URL"
::= { flexa-app 1 }

mainName OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream name"
::= { flexa-app 2 }

mainStreamStatus OBJECT-TYPE
	SYNTAX  	INTEGER{
		NotConfigured(0)
		Disconnected(1),
		Connected(2),
		Playing(3),
	}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream status (Disconnected, Connected, Playing)"
::= { flexa-app 3 }

mainPlayCount	OBJECT-TYPE
	SYNTAX  	INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream play count. Counts how many times the stream playback has been restarted"
::= { flexa-app 4 }

mainPlayingSince OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..512))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"The time since the last playback start of the main stream"
::= { flexa-app 5 }

receivedFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Counts how many frames have been received"
::= { flexa-app 6 }

playedFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Counts how many frames have been played"
::= { flexa-app 7 }

mainVolume OBJECT-TYPE
	SYNTAX  	INTEGER (0..100)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream volume in %"
::= { flexa-app 8 }

droppedFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Counts how many frames have been dropped"
::= { flexa-app 9 }

mainPeakLevelLeft OBJECT-TYPE
	SYNTAX  	INTEGER (-100..0)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream left audio peak level in dB"
::= { flexa-app 10 }

mainPeakLevelRight OBJECT-TYPE
	SYNTAX  	INTEGER (-100..0)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Main stream right audio peak level in dB"
::= { flexa-app 11 }

backupUrl OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..255))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Backup stream URL"
::= { flexa-app 12 }

backupName OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Backup stream name"
::= { flexa-app 13 }

backupStatus OBJECT-TYPE
	SYNTAX  	INTEGER{
		NotConfigured(0),
		Disconnected(1),
		Connected(2),
		Playing(3),
	}
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Backup stream status (Disconnected, Connected, Playing)"
::= { flexa-app 14 }

backupPlayCount	OBJECT-TYPE
	SYNTAX  	INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Backup stream play count. Counts how many times the stream playback has been restarted"
::= { flexa-app 15 }

backupPlayingSince OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..512))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"The time since the last playback start of the backup stream"
::= { flexa-app 16 }

duplicateFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Counts how many frames have been duplicated"
::= { flexa-app 17 }

backupConnectedSince OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"The time since the last reconnect of the backup stream"
::= { flexa-app 18 }

backupVolume OBJECT-TYPE
	SYNTAX  	INTEGER (0..100)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Backup stream volume in %"
::= { flexa-app 19 }

replacedFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Counts how many frames have been replaced"
::= { flexa-app 20 }

missingFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Count how many frames are missing from the main stream"
::= { flexa-app 21 }

recoveredMissingFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Count number of missing frames on the main stream which have been recovered"
::= { flexa-app 22 }

metadataFrames OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Count number of metadata frames received with the main stream"
::= { flexa-app 23 }

metadataBytes OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Count number of metadata bytes received with the main stream"
::= { flexa-app 24 }

connDrops OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Count number of connection drops on the main stream"
::= { flexa-app 25 }

connDropsLastTimestamp OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Timestamp of the last connection drop"
::= { flexa-app 26 }

wrongTimestamps OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Number of wrong timestamps of received packets with the main stream"
::= { flexa-app 27 }

mainRedundancy OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Shows whether or not Redundancy on the main stream is activated"
::= { flexa-app 28 }

deviceType OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Type of the current device"
::= { flexa-app 30 }

outputGain OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Output gain of the device (only for encoders)"
::= { flexa-app 31 }

commandsExecuted OBJECT-TYPE
	SYNTAX  	INTEGER (0..2147483647)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Number of executed UDP commands"
::= { flexa-app 32 }

serverStatus OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Current status of the main server"
::= { flexa-app 33 }

cpuLoad OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Current CPU load in percentage of the device"
::= { flexa-app 34 }

constantBufferSize OBJECT-TYPE
	SYNTAX  	INTEGER (0..120000)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Size in milliseconds(ms) of the constant buffer for the main stream"
::= { flexa-app 35 }

serverIP OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"IP address of the main server"
::= { flexa-app 36 }

serverPort OBJECT-TYPE
	SYNTAX  	INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Port of the main server"
::= { flexa-app 37 }

metadataPort OBJECT-TYPE
	SYNTAX  	INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Port of the metadata server"
::= { flexa-app 38 }

audioLevel OBJECT-TYPE
	SYNTAX  	INTEGER (0..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Audio level (gain) of the device"
::= { flexa-app 39 }

ios OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..10))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"IP address of the main server"
::= { flexa-app 40 }

relays OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..10))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"IP address of the main server"
::= { flexa-app 41 }

codec OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..10))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Configured codec for the stream"
::= { flexa-app 42 }

channelId OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Stereo or Mono"
::= { flexa-app 43 }

sampleRate OBJECT-TYPE
	SYNTAX  	INTEGER (0..500000)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Configured sample rate for the stream"
::= { flexa-app 44 }

bitrate OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Configured bitrate of the stream in kbps"
::= { flexa-app 45 }

uptime OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Uptime of the device in seconds"
::= { flexa-app 46 }

lastPortalSync OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Time of last portal synchronization"
::= { flexa-app 47 }

-- Time drift values, 48 to 51

timeDriftMax OBJECT-TYPE
	SYNTAX  	INTEGER (-32768..32768)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Maximum time drift from 'perfect' synchronisation with the encoder"
::= { flexa-app 48 }

timeDriftMin OBJECT-TYPE
	SYNTAX  	INTEGER (-32768..32768)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Minimum time drift from 'perfect' synchronisation with the encoder"
::= { flexa-app 49 }

timeDriftCurrent OBJECT-TYPE
	SYNTAX  	INTEGER (-32768..32768)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Current time drift from 'perfect' synchronisation with the encoder"
::= { flexa-app 50 }

timeDriftResetTime OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..100))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Timestamp of the last time drift values reset"
::= { flexa-app 51 }

streamLatency OBJECT-TYPE
	SYNTAX  	INTEGER (-65535..65535)
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Current stream latency. Affected if redundancy stream is activated on the encoder "
::= { flexa-app 52 }


reflectorServerUp OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Status of the Reflector (streams) server"
::= { flexa-app 53 }

configServerUp OBJECT-TYPE
	SYNTAX  	DisplayString (SIZE (0..256))
	ACCESS		read-only
	STATUS		mandatory
	DESCRIPTION	"Status of the Configuration server"
::= { flexa-app 54 }

END
