TERACOM-TCW120-MIB DEFINITIONS ::= BEGIN

IMPORTS
   enterprises, IpAddress, Gauge, TimeTicks     FROM RFC1155-SMI
   DisplayString                                FROM RFC1213-MIB
   OBJECT-TYPE                                  FROM RFC-1212
   TRAP-TYPE                                    FROM RFC-1215;

teracom                           OBJECT IDENTIFIER ::=  { enterprises 38783 }

product                            OBJECT IDENTIFIER ::=  { teracom 1 }
SNMPSetup                               OBJECT IDENTIFIER ::=  { teracom 2 }
monitor                             OBJECT IDENTIFIER ::=  { teracom 3 }
network                             OBJECT IDENTIFIER ::=  { teracom 4 }
inputs                             OBJECT IDENTIFIER ::=  { teracom 5 }
outputs                             OBJECT IDENTIFIER ::=  { teracom 6 }

   ON-OFF          ::=   INTEGER { ON(1), OFF(0) }
   RISING-FALLING          ::=   INTEGER { RISING(1), FALLING(0) }


name    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Name of product. e.g. teracom.net etc."
   ::= { product 1 }
   

version    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Version string. e.g. 1.0"
   ::= { product 2 }
   
date    OBJECT-TYPE
   SYNTAX DisplayString
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Date of version"
   ::= { product 3 }

-- traps

trapSetup                               OBJECT IDENTIFIER ::=  { SNMPSetup 1}
voltage1range                               OBJECT IDENTIFIER ::=  { trapSetup 8}
voltage2range                               OBJECT IDENTIFIER ::=  { trapSetup 9}
temeratureRange                               OBJECT IDENTIFIER ::=  { trapSetup 10}
trapEnabled OBJECT-TYPE
    SYNTAX INTEGER { Yes(1), No(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Indicates if this trap entry is enabled or not."
    ::= { trapSetup 1 }


trapReceiverIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Trap receiver IP address"
    ::= { trapSetup 2 }

trapCommunity OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Trap community to be used by agent to send trap"
    ::= { trapSetup 3 }

trapInterval OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Trap Interval"
    ::= { trapSetup 4 }

maxNumberOfTraps OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Max Number of Traps"
    ::= { trapSetup 5 }
	
digitalInput1State OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Digital Input 1 Trap State"
    ::= { trapSetup 6 }

digitalInput2State OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Digital Input 2 Trap State"
    ::= { trapSetup 7 }
	
voltage1minimum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 1 minimum"
    ::= { voltage1range 1 }

voltage1maximum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 1 maximum"
    ::= { voltage1range 2 }

temratureMinimum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Temperature minimum"
    ::= { temeratureRange 1 }
	
temperatureMaximum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Temperature maximum"
    ::= { temeratureRange 2 }


voltage2minimum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 2 minimum"
    ::= { voltage2range 1 }

voltage2maximum OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 2 maximum"
    ::= { voltage2range 2 }


SNMPConfiguration OBJECT-TYPE
    SYNTAX INTEGER { ENABLED(1), DISABLED(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "SNMP Configuration ENABLED/DISABLED"
    ::= { SNMPSetup 2 }
	
readCommunity OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "SNMP Read Community"
    ::= { SNMPSetup 3 }

writeCommunity OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..13))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "SNMP Write Community"
    ::= { SNMPSetup 4 }

-- control   

relays                               OBJECT IDENTIFIER ::=  { monitor 1 }
analogs                               OBJECT IDENTIFIER ::=  { monitor 2 }
digitalInputs                               OBJECT IDENTIFIER ::=  { monitor 3 }

temperature OBJECT-TYPE
	SYNTAX  DisplayString (SIZE (0..4))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Temperature"
	::= { monitor 4 }

tempx10Int OBJECT-TYPE
	SYNTAX INTEGER (-40..175)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION
		"Temperature x10 in Integer format"
	::= { monitor 5 }
	
relay_1 OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY1 status"
    ::= { relays 1 }
    
relay_2 OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "RELAY2 status"
    ::= { relays 2 }

pulse_1 OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY1 pulse status"
    ::= { relays 3 }
    
pulse_2 OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "RELAY2 pulse status"
    ::= { relays 4 }

voltage1    OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..4))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Input1 Voltage"
   ::= { analogs 1 }

voltage2    OBJECT-TYPE
   SYNTAX  DisplayString (SIZE (0..4))
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Input2 Voltage"
   ::= { analogs 3 }
   
vol1int OBJECT-TYPE
    SYNTAX INTEGER (0..65000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Voltage 1 in integer format (x100mV)"
    ::= { analogs 2 }

vol2int OBJECT-TYPE
    SYNTAX INTEGER (0..65000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION 
        "Voltage 2 in integer format (x100mV)"
    ::= { analogs 4 }


digitalInp1    OBJECT-TYPE
   SYNTAX INTEGER { ON(1), OFF(0) }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Digital Input1 value"
   ::= { digitalInputs 1 }

digitalInp2    OBJECT-TYPE
   SYNTAX INTEGER { ON(1), OFF(0) }
   ACCESS read-only
   STATUS mandatory
   DESCRIPTION
      "Digital Input2 value"
   ::= { digitalInputs 2 }

-- network

MACfilters                             OBJECT IDENTIFIER ::=  { network 6 }
MACfilter1                             OBJECT IDENTIFIER ::=  { MACfilters 1 }
MACfilter2                             OBJECT IDENTIFIER ::=  { MACfilters 2 }
MACfilter3                             OBJECT IDENTIFIER ::=  { MACfilters 3 }
SMTPsetup                             OBJECT IDENTIFIER ::=  { network 7 }
VlanSetup                             OBJECT IDENTIFIER ::=  { network 8 }

deviceIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Device IP address"
    ::= { network 1 }


subnetMask OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Subnet Mask"
    ::= { network 2 }

gateway OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Gateway IP address"
    ::= { network 3 }

deviceMACAddress OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Device MAC address"
    ::= { network 4 }

dhcpConfig OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "DHCP configuration ON/OFF"
    ::= { network 5 }

filterMACAddress1 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-only
    STATUS mandatory
    DESCRIPTION
        "filter1 MAC address"
    ::= { MACfilter1 1 }

filterMACEnable1 OBJECT-TYPE
    SYNTAX INTEGER { ENABLED(1), DISABLED(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 1 Enable ENABLED/DISABLED"
    ::= { MACfilter1 2  }
	
filterMACAddress2 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "filter2 MAC address"
    ::= { MACfilter2 1 }
	
filterMACEnable2 OBJECT-TYPE
    SYNTAX INTEGER { ENABLED(1), DISABLED(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 2 Enable ENABLED/DISABLED"
    ::= { MACfilter2 2 }

filterMACAddress3 OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(6))
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "filter3 MAC address"
    ::= { MACfilter3 1 }

filterMACEnable3 OBJECT-TYPE
    SYNTAX INTEGER { ENABLED(1), DISABLED(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "MAC filter 3 Enable ENABLED/DISABLED"
    ::= { MACfilter3 2 }

smtpServerIPAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "SMTP Server IP address"
    ::= { SMTPsetup 1 }

smtpPort OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "SMTP Port (1-65535)"
    ::= { SMTPsetup 2 }

senderEmailAddress  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..38))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Sender e-mail address"
    ::= { SMTPsetup 3 }

smtpUsername  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "SMTP Username"
    ::= { SMTPsetup 4 }

smtpPassword  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..16))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "SMTP Password"
    ::= { SMTPsetup 5 }

VLANStatus OBJECT-TYPE
    SYNTAX INTEGER { ENABLED(1), DISABLED(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "VLAN Status ENABLED/DISABLED"
    ::= { VlanSetup 1 }

VlanId OBJECT-TYPE
    SYNTAX INTEGER (0..4095)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "VLAN ID (0-4095)"
    ::= { VlanSetup 2 }

-- inputs	

digitalInput1                               OBJECT IDENTIFIER ::=  { inputs 1 }
digitalInput2                               OBJECT IDENTIFIER ::=  { inputs 2 }

input1description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Digital input 1 description"
    ::= { digitalInput1 1 }

input1ActionEdge OBJECT-TYPE
    SYNTAX RISING-FALLING
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Input 1 action edge RISING/FALLING"
    ::= { digitalInput1 2 }

input1action OBJECT-TYPE
    SYNTAX INTEGER { SEND(1), DONTSEND(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 1 e-mail sending status"
    ::= { digitalInput1 3 }

input1emailAddress  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..38))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 1 Destination e-mail address"
    ::= { digitalInput1 4 }

input1subject  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 1 e-mail subject"
    ::= { digitalInput1 5 }

input1body  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..21))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 1 e-mail body"
    ::= { digitalInput1 6 }

input2description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Digital input 1 description"
    ::= { digitalInput2 1 }
	
input2ActionEdge OBJECT-TYPE
    SYNTAX RISING-FALLING
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Input 2 action edge RISING/FALLING"
    ::= { digitalInput2 2 }

input2action OBJECT-TYPE
    SYNTAX INTEGER { SEND(1), DONTSEND(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 2 e-mail sending status"
    ::= { digitalInput2 3 }

input2emailAddress  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..38))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 2 Destination e-mail address"
    ::= { digitalInput2 4 }

input2subject  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 2 e-mail subject"
    ::= { digitalInput2 5 }

input2body  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..21))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Input 2 e-mail body"
    ::= { digitalInput2 6 }

voltage1description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 1 description"
    ::= { inputs 3 }

voltage2description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Voltage 2 description"
    ::= { inputs 4 }

-- outputs

relay1                               OBJECT IDENTIFIER ::=  { outputs 1 }
relay2                               OBJECT IDENTIFIER ::=  { outputs 2 }

relay1description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 1 description"
    ::= { relay1 1 }


relay1pulseWidth  OBJECT-TYPE
    SYNTAX  INTEGER (0..253)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 1 pulse width"
    ::= { relay1 2 }

relay1IcmpMode OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY1 ICMP mode ON/OFF"
    ::= { relay1 3 }

relay1IcmpTimeout OBJECT-TYPE
    SYNTAX INTEGER (0..65000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY1 ICMP Timeout"
    ::= { relay1 4 }

relay1IpAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 1 ICMP IP address"
    ::= { relay1 5 }

relay1NumOfRestarts OBJECT-TYPE
    SYNTAX INTEGER (0..253)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay 1 Max. Number of restarts"
    ::= { relay1 6 }

relay2description  OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..10))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 2 description"
    ::= { relay2 1 }
	
relay2pulseWidth  OBJECT-TYPE
    SYNTAX  INTEGER (0..253)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 2 pulse width"
    ::= { relay2 2 }

relay2IcmpMode OBJECT-TYPE
    SYNTAX INTEGER { ON(1), OFF(0) }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY2 ICMP mode ON/OFF"
    ::= { relay2 3 }

relay2IcmpTimeout OBJECT-TYPE
    SYNTAX INTEGER (0..65000)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "RELAY2 ICMP Timeout"
    ::= { relay2 4 }

relay2IpAddress OBJECT-TYPE
    SYNTAX  IpAddress
    ACCESS  read-write
    STATUS mandatory
    DESCRIPTION
        "Relay 2 ICMP IP address"
    ::= { relay2 5 }

relay2NumOfRestarts OBJECT-TYPE
    SYNTAX INTEGER (0..253)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION 
        "Relay 2 Max. Number of restarts"
    ::= { relay2 6 }


--- configurationSaved
configurationSaved OBJECT-TYPE
	SYNTAX INTEGER { SAVED(1), UNSAVED(0) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Configuration save status SAVED/UNSAVED"
	::= { teracom 8 }

restartDevice OBJECT-TYPE
	SYNTAX INTEGER { RESTART(1), CANCEL(0) }
	ACCESS read-write
	STATUS mandatory
	DESCRIPTION
		"Restart Device"
	::= { teracom 9 }

END
