RS-IPC-MIB DEFINITIONS ::= BEGIN

IMPORTS
OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP FROM SNMPv2-CONF
enterprises, Integer32, Unsigned32, OBJECT-TYPE, MODULE-IDENTITY,
NOTIFICATION-TYPE FROM SNMPv2-SMI
DisplayString FROM SNMPv2-TC;

rsIpcMIB MODULE-IDENTITY
  LAST-UPDATED "201808071310Z"
  ORGANIZATION "RS"
  CONTACT-INFO ""
  DESCRIPTION "The MIB module to describe IPC module"
  REVISION "201807051010Z"
  DESCRIPTION "Modify some object's SYNTAX"
  REVISION      "201808071310Z"	
  DESCRIPTION ""
	::= { enterprises 51159 }

rsiEnterprises			OBJECT IDENTIFIER ::= { rsIpcMIB 0 }
rsiSystemModules		OBJECT IDENTIFIER ::= { rsIpcMIB 1 }
rsiDisplayModules		OBJECT IDENTIFIER ::= { rsIpcMIB 2 }
rsiDeviceModules		OBJECT IDENTIFIER ::= { rsIpcMIB 3 }
rsiNetworkModules		OBJECT IDENTIFIER ::= { rsIpcMIB 4 }
rsiAlarmModules			OBJECT IDENTIFIER ::= { rsIpcMIB 5 }
rsiAdvancedModules		OBJECT IDENTIFIER ::= { rsIpcMIB 6 }
rsiIntelligentModules	OBJECT IDENTIFIER ::= { rsIpcMIB 7 }

 -- Enterprises Info Objects
epiInfoObjects	OBJECT IDENTIFIER ::= { rsiEnterprises 1 }
 
	infoEpi OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION ""
		::={ epiInfoObjects 1 }
 
 -- System Info Objects
sysInfoObjects	OBJECT IDENTIFIER ::= { rsiSystemModules 1 }

	infoDevID OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION "Example: 00000000"
		::={ sysInfoObjects 1 }
	
	infoDevName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Example: IP CAMERA"
		::={ sysInfoObjects 2 }	

	infoDevType OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Example: IP CAMERA"
		::={ sysInfoObjects 3 }

	infoHardwareVer OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION ""
		::={ sysInfoObjects 4 }

	infoSoftwareVer OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION "Example: V4.41.4.8_180613"
		::={ sysInfoObjects 5 }

	infoIEClientVer OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION "Example: V1.1.0.47_180521"
		::={ sysInfoObjects 6 }

	infoMacAddress OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION "Example: 00-23-63-53-E3-52"
		::={ sysInfoObjects 7 }
		
	infoMaxCHN OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION "Example: 32"
		::={ sysInfoObjects 8 }
		
 -- System General Objects
sysGeneralObjects	OBJECT IDENTIFIER ::= { rsiSystemModules 2 }

genSySTimeObjects	OBJECT IDENTIFIER ::= { sysGeneralObjects 1 }

	sysDateFormat OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"DateFormat_E
			 MMDDYY: 0
			 YYMMDD: 1
			 DDMMYY: 2"
		::={ genSySTimeObjects 1 }

	sysTimeFormat OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"TimeFormat_E
			 TIME_MODE_24_HHMMSS:	0
			 TIME_MODE_12_HHMMSS:	1
			 TIME_MODE_24_HHMM:		2
			 TIME_MODE_12_HHMM:		3"
		::={ genSySTimeObjects 2 }

	sysTimeYear OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Year: 2018"
		::={ genSySTimeObjects 3 }

	sysTimeMonth OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Month: 12"
		::={ genSySTimeObjects 4 }

	sysTimeDay OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Day: 12"
		::={ genSySTimeObjects 5 }

	sysTimeHour OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Hour: 12"
		::={ genSySTimeObjects 6 }

	sysTimeMinute OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Minute: 59"
		::={ genSySTimeObjects 7 }

	sysTimeSecond OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION "Minute: 59"
		::={ genSySTimeObjects 8 }

genDstObjects	OBJECT IDENTIFIER ::= { sysGeneralObjects 2 }
genNtpObjects	OBJECT IDENTIFIER ::= { sysGeneralObjects 3 }
genSyncObjects	OBJECT IDENTIFIER ::= { sysGeneralObjects 4 }

 -- System Users Objects
sysUsersObjects	OBJECT IDENTIFIER ::= { rsiSystemModules 3 }

userConfigObjects	OBJECT IDENTIFIER ::= { sysUsersObjects 1 }
	

 -- Display live Objects
displayLiveObjects	OBJECT IDENTIFIER ::= { rsiDisplayModules 1 }

 -- Live param config
liveConfigObjects	OBJECT IDENTIFIER ::= { displayLiveObjects 1 }

	ipcName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"live name :
			 e.x.	Camera"
		::={ liveConfigObjects 1 }

	flickerCtrl OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Flicker Control:
			  e.x. 50Hz 60Hz disable"
		::={ liveConfigObjects 2 }

	osdTransparency OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" OSD Transparency:
			  range: 1 - 128"
		::={ liveConfigObjects 3 }

	osdShowName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" OSD name:
			show or hide"
		::={ liveConfigObjects 4 }

	osdShowTime OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" OSD time:
			show or hide"
		::={ liveConfigObjects 5 }

 -- Image control Objects
displayImageCtrlObjects	OBJECT IDENTIFIER ::= { rsiDisplayModules 2 }
displayPrivacyzoneObjects	OBJECT IDENTIFIER ::= { rsiDisplayModules 3 }
displayROIObjects	OBJECT IDENTIFIER ::= { rsiDisplayModules 4 }

 -- DEVICE MODULES
devHDDObjects	OBJECT IDENTIFIER ::= { rsiDeviceModules 1 }

	hddStatus OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			" HDD Status:
			e.x.	FULL"
		::={ devHDDObjects 1 }

	hddTotalSize OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			" HDD Total size:
			e.x.	32GB"
		::={ devHDDObjects 2 }

	hddFreeSize OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			" HDD free size:
			e.x.	32GB"
		::={ devHDDObjects 3 }

	hddFreeTime OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			" HDD free time:
			e.x.	24"
		::={ devHDDObjects 4 }

	hddOverWrite OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" HDD Over Write Enable:
				enable	--->	1
				disable	--->	0"
		::={ devHDDObjects 5 }

	hddOWPeriod OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" HDD Over Write period: hours"
		::={ devHDDObjects 6 }

	hddRedundancy OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" HDD Redundancy: 
			read_write  redundancy  read_only"
		::={ devHDDObjects 7 }
	
	hddMaxNum OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			" HDD MAX: 
			32"
		::={ devHDDObjects 8 }

devAudioObjects	OBJECT IDENTIFIER ::= { rsiDeviceModules 2 }
devLogObjects	OBJECT IDENTIFIER ::= { rsiDeviceModules 3 }
devCloudObjects	OBJECT IDENTIFIER ::= { rsiDeviceModules 4 }

 -- NETWORK MODULES
netConfigObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 1 }

	networkMode OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" NETWORK mode :
			DHCP/PPPoE/Static/etc."
		::={ netConfigObjects 1 }

	netClientPort OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Client port :
			e.x. 9988"
		::={ netConfigObjects 2 }

	netHttpPort OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" HTTP port :
			e.x. 80"
		::={ netConfigObjects 3 }

	netIPaddr OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" ip address :
			e.x. 192.168.1.168"
		::={ netConfigObjects 4 }

	netSubMask OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" ip submask :
			e.x. 255.255.255.0"
		::={ netConfigObjects 5 }

	netGateWay OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" gateway ip :
				e.x. 192.168.1.1"
		::={ netConfigObjects 6 }

	netDNS1 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" DNS1 ip :
				e.x. 192.168.1.1"
		::={ netConfigObjects 7 }

	netDNS2 OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" DNS2 ip :
				e.x. 192.168.1.1"
		::={ netConfigObjects 8 }

	netPPPoEUserName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" PPPoE UserName:
				e.x. admin"
		::={ netConfigObjects 9 }

	netPPPoEPasswd OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" PPPoE Password:
				e.x. admin"
		::={ netConfigObjects 10 }

videoStreamObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 2 }
streamMainObjects	OBJECT IDENTIFIER ::= { videoStreamObjects 1 }

	mainReslution OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" main stream resolution :
				e.x. 1920 x 1080"
		::={ streamMainObjects 1 }

	mainFps OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" main stream fps :
				e.x. 30fps"
		::={ streamMainObjects 2 }

	mainCodeType OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Type :
				e.x. H.265"
		::={ streamMainObjects 3 }

	mainCodeLevel OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Level :
				e.x. Main Profile"
		::={ streamMainObjects 4 }

	mainBitrateCtrl OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Control :
				e.x. CBR"
		::={ streamMainObjects 5 }

	mainBitrateMode OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Mode :
				e.x. Predefined or User-defined"
		::={ streamMainObjects 6 }

	mainBitrate OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate :
			  e.x.		4096"
		::={ streamMainObjects 7 }

	mainIFI OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" I Frame Interal :
			  e.x.		60
			  range: 1 - 120"
		::={ streamMainObjects 8 }

	mainAudio OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Audio Enable :
			  e.x.  Enable or Disable"
		::={ streamMainObjects 9 }

streamSubObjects	OBJECT IDENTIFIER ::= { videoStreamObjects 2 }


	subReslution OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" sub stream resolution :
				e.x. 1920 x 1080"
		::={ streamSubObjects 1 }

	subFps OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" sub stream fps :
				e.x. 30"
		::={ streamSubObjects 2 }

	subCodeType OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Type :
				e.x. H.265"
		::={ streamSubObjects 3 }

	subCodeLevel OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Level :
				e.x. Main Profile"
		::={ streamSubObjects 4 }

	subBitrateCtrl OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Control :
				e.x. CBR"
		::={ streamSubObjects 5 }

	subBitrateMode OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Mode :
				e.x. Predefined or User-defined"
		::={ streamSubObjects 6 }

	subBitrate OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate :
			  e.x.		1024"
		::={ streamSubObjects 7 }

	subIFI OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" I Frame Interal :
			  e.x.		60
			  range: 1 - 120"
		::={ streamSubObjects 8 }

	subAudio OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Audio Enable :
			  e.x. Enable or Disable"
		::={ streamSubObjects 9 }

streamMobileObjects	OBJECT IDENTIFIER ::= { videoStreamObjects 3 }

	mobileReslution OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" mobile stream resolution :
				e.x. 640 x 480"
		::={ streamMobileObjects 1 }

	mobileFps OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" mobile stream fps :
				e.x. 30"
		::={ streamMobileObjects 2 }

	mobileCodeType OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Type :
				e.x. H.265"
		::={ streamMobileObjects 3 }

	mobileCodeLevel OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Video Code Level :
				e.x. Main Profile"
		::={ streamMobileObjects 4 }

	mobileBitrateCtrl OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Control :
				e.x. CBR"
		::={ streamMobileObjects 5 }

	mobileBitrateMode OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate Mode :
				e.x. Predefined or User-defined"
		::={ streamMobileObjects 6 }

	mobileBitrate OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Bitrate :
			  e.x.		512"
		::={ streamMobileObjects 7 }

	mobileIFI OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" I Frame Interal :
			  e.x.		20
			  range: 1 - 120"
		::={ streamMobileObjects 8 }

	mobileAudio OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Audio Enable
				e.x. Enable or Disable"
		::={ streamMobileObjects 9 }

	mobileEnable OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			" Mobile Stream Enable
				Enable or Disable"
		::={ streamMobileObjects 10 }

netEmailObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 3 }
netDDNSObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 4 }
netIPFilterObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 5 }
netRTSPObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 6 }

	rtspEnable OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Rtsp Enable:
			  enable -- > 1
			  disable -- > 0"
		::={ netRTSPObjects 1 }

	rtspPort OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Rtsp Port:
			  e.x.	554"
		::={ netRTSPObjects 2 }

	rtspAnonymous OBJECT-TYPE
		SYNTAX Integer32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Rtsp Anonymous Login:
				enable	--> 1
				disable	--> 0"
		::={ netRTSPObjects 3 }

netFTPObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 7 }
netHTTPSObjects	OBJECT IDENTIFIER ::= { rsiNetworkModules 8 }

END
