--Notes: When add new mib, you must check whether OID have conflict with /vobs/ARRIS_MIBS/MG/arris_router.mib and \vobs\ARRIS_MIBS\TTM\gw\arris_router.mib
ARRIS-ROUTER-DEVICE-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter32, Counter64,
   NOTIFICATION-TYPE, OBJECT-IDENTITY
      FROM SNMPv2-SMI
   InetAddress,
   InetAddressType,
   InetAddressIPv6,
   InetAddressPrefixLength   
      FROM INET-ADDRESS-MIB
   ifIndex 
	  FROM IF-MIB
   arrisProdIdRouter
      FROM ARRIS-MIB
   TruthValue, DisplayString, DateAndTime, MacAddress, RowStatus, PhysAddress
      FROM SNMPv2-TC
   DscpOrAny
      FROM DIFFSERV-DSCP-TC
   OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
	  FROM SNMPv2-CONF;

   arrisRouterMib MODULE-IDENTITY
      LAST-UPDATED    "201507150000Z" -- July 15, 2015
      ORGANIZATION    "ARRIS Broadband"
      CONTACT-INFO    "Byron Griffin
                       Postal: ARRIS Broadband
                       3871 Lakefield Drive
                       Suite 300
                       Suwanee, GA 30024-1242
                       U.S.A.
                       Phone:  +1 503-495-9278
                       E-mail: byron.griffin@arrisi.com"
      DESCRIPTION
       "This MIB module supplies the basic proprietary (ARRIS-specific)
        management objects for ARRIS eRouter/router devices."    

      -- Revision history
        REVISION "201507150000Z" -- July 15, 2015
            DESCRIPTION
            "Merge arrisRouterWPSMethodCfg from CT MIB file"

        REVISION "201507080000Z" -- July 8, 2015
             DESCRIPTION
             "Add MIB arrisRouterCSRActiveTimeout to { arrisRouterSysCfg 65 }"
        REVISION "201506260000Z" -- June 26, 2015
             DESCRIPTION
             "Patch Mibs from COMCAST MIB file
             1. Add new mibs for remote management
             arrisRouterFWRemoteMgmtHttp,
             arrisRouterFWRemoteMgmtHttps, arrisRouterFWRemoteMgmtHttpPort,
             arrisRouterFWRemoteMgmtHttpsPort, arrisRouterFWRemoteMgmtAllowedType,
             arrisRouterFWRemoteMgmtAllowedIPv4, arrisRouterFWRemoteMgmtAllowedIPv6,
             arrisRouterFWRemoteMgmtAllowedStartIPv4, arrisRouterFWRemoteMgmtAllowedEndIPv4,
             arrisRouterFWRemoteMgmtAllowedStartIPv6, arrisRouterFWRemoteMgmtAllowedEndIPv6,
             arrisRouterFWRemoteMgmtTelnet
             "
        REVISION "201506040000Z" -- June 04, 2015
             DESCRIPTION
             "Change MIB arrisRouterFirewallLogExtTable from { arrisRouterUserLogs 5 } to { arrisRouterUserLogs 7 }"
        REVISION "201505260000Z" -- May 26, 2015
             DESCRIPTION
             "Change MIB arrisRouterWiFiInterworkingIE from { arrisRouterWirelessCfg 68 } to { arrisRouterWirelessCfg 70 }"
        REVISION "201505250000Z" -- May 25, 2015
             DESCRIPTION
             "Added MIB arrisRouterFWRemoteMgmtHttpPort for CT mib"
       REVISION "201505150000Z" -- May 15, 2015
             DESCRIPTION
             "Add MIB arrisRouterPingLog to { arrisRouterPingMgmt 21 }"
        REVISION "201505130000Z" -- May 13, 2015
             DESCRIPTION
             "Add MIB arrisRouterBssStaSteeringEnable to { arrisRouterBSSEntry 16 }
              Add MIB arrisRouterWiFiInterworkingIE to { arrisRouterWirelessCfg 68 }
              Add MIB arrisRouterWiFiBssStaSteering to { arrisRouterWirelessCfg 69 }"
       REVISION "201504280000Z" -- Apr 28, 2015
             DESCRIPTION
             "Add MIB arrisRouterFirewallLogExtTable"
       REVISION "201504270000Z" -- Apr 27, 2015
             DESCRIPTION
             "Add the following new MIBs to the arrisRouterSoftGreWanEntry
             arrisRouterSoftGreRadiusSecondaryServerAddressType-->{ arrisRouterSoftGreWanEntry 36 }
             arrisRouterSoftGreRadiusSecondaryServerAddress-->{ arrisRouterSoftGreWanEntry 37 }
             arrisRouterSoftGreRadiusSecondaryServerPort-->{ arrisRouterSoftGreWanEntry 38 }
             arrisRouterSoftGreRadiusSecondaryKey-->{ arrisRouterSoftGreWanEntry 39 }
             arrisRouterSoftGreRadiusSecondaryReAuthInterval-->{ arrisRouterSoftGreWanEntry 40 }"     
       REVISION "201504240000Z" -- Apr 24, 2015
             DESCRIPTION
	     "Add the following new MIBs to the arrisRouterSoftGreWanEntry
	     arrisRouterSoftGreAcctServerAddressType-->{ arrisRouterSoftGreWanEntry 31 }
	     arrisRouterSoftGreAcctServerAddress-->{ arrisRouterSoftGreWanEntry 32 }
	     arrisRouterSoftGreAcctServerPort-->{ arrisRouterSoftGreWanEntry 33 }
	     arrisRouterSoftGreAcctKey-->{ arrisRouterSoftGreWanEntry 34 }
	     arrisRouterSoftGreAcctInterval-->{ arrisRouterSoftGreWanEntry 35 }
			 "
        REVISION "201504100000Z" -- Apr 10, 2015
             DESCRIPTION
             "Modify MIB arrisRouterFWSrvTr69LastInstance OID from { arrisRouterFWCfg 34 } to { arrisRouterFWCfg 46 } to solve the OID conflict with MG"
        REVISION "201504100000Z" -- Apr 10, 2015
             DESCRIPTION
             "Add MIB arrisRouterFWMacBridgingWebPageEnabled to { arrisRouterFWCfg 41 }"
        REVISION "201504010000Z" -- Apr 1, 2015
             DESCRIPTION
             "Change MIB name from arrisrouterWifiLowInitRate  to arrisRouterWifiLowInitRate"
        REVISION "201503310000Z" -- Mar 31, 2015
             DESCRIPTION
             "Add MIB arrisRouterAirtimeCtrlCfg to { arrisRouterWirelessCfg 99 }"
        REVISION "201501040000Z" -- Mar 27, 2015
             DESCRIPTION
             "Add a mib arrisRouterLanIPv6RALifetime to {arrisRouterLanConfig 19 }"
	REVISION "201503260000Z" -- Mar 26, 2015
		 DESCRIPTION
		 "Add a mib arrisRouterDSLiteWanResolvedAddr to {arrisRouterWanConfig 21 }"
	REVISION "201502270000Z" -- Feb 27, 2015
             DESCRIPTION
             "rollback the change for arrisRouterWebAccessLevel"
	REVISION "201501040000Z" -- Feb 19, 2015
             DESCRIPTION
             "Add a mib arrisRouterDefaultWPAPreSharedKey to { arrisRouterWPAEntry 6 }
              Add a mib arrisRouterDefaultBssSSID to { arrisRouterBSSEntry 15  }"
        REVISION "201502170000Z" -- Feb 17, 2015
             DESCRIPTION
             "Add MIB Table arrisRouterFlapListLANTable,arrisRouterFlapListWLANTable to { arrisRouterFlapListCfg 11  }"
        REVISION "201502120000Z" -- Feb 12, 2015
              DESCRIPTION
              "Add new MIBs: arrisRouterExceptionListCount, arrisRouterExceptionListTable,
              arrisRouterExceptionListEntry, arrisRouterExceptionListIndex,
              arrisRouterExceptionListDomain,
              arrisRouterExceptionListStatus"
        REVISION "201502060000Z" -- Feb 06, 2015
              DESCRIPTION
              "Add MIB arrisRouterTroubleshooterEnable to { arrisRouterSysCfg 63 }"
        REVISION "201501300000Z" -- Jan 30, 2015
              DESCRIPTION
              "Changed arrisRouterEmailNetworkCredential to arrisRouterEmailSend"
        REVISION "201502100000Z" -- Feb 10, 2015
              DESCRIPTION
              "Add MIB arrisrouterWifiLowInitRate"

        REVISION "201501150000Z" -- Jan 15, 2015
              DESCRIPTION
              "Add MIB arrisRouterLanClientDeviceName to { arrisRouterLanClientEntry 20 }"
        REVISION "201501080000Z" -- Jan 8, 2015
              DESCRIPTION
              "Add MIB arrisRouterICtrlHashingKey"     
        REVISION "201501040000Z" -- Jan 04, 2015
             DESCRIPTION
             "Add a mib arrisRouterSoftGreRadiusTransportInterface to { arrisRouterSoftGreWanEntry 30 }"      
        REVISION "201412120000Z" -- Dec 29, 2014
              DESCRIPTION
              "Modified MIB arrisRouterTraceRtStart added value for stopTrace(11)"     
        REVISION "201412240000Z" -- Dec 24, 2014
              DESCRIPTION
              "change MIB arrisRouterChannelStatsPacketsSent back to type Counter64
               change MIB arrisRouterChannelStatsPacketsReceived back to type Counter64"
        REVISION "201412230000Z" -- Dec 23, 2014
	      DESCRIPTION
	      "Add MIB arrisRouterICtrlEnable to { arrisRouterICtrl 12 }"      
	REVISION "201412090000Z" -- DEC 09, 2014
		DESCRIPTION
		"Add MIB arrisRouterEmailSenderAddress to { arrisRouterEmailSettings 8 }
		Add MIB arrisRouterEmailNetworkCredential to { arrisRouterEmailSettings 9 }"
        REVISION "201412120000Z" -- Dec 12, 2014
	      DESCRIPTION
	      "Add MIB arrisRouterLanMaxIPv6RAInterval to { arrisRouterLanConfig 13 }
	       Add MIB arrisRouterLanMinIPv6RAInterval to { arrisRouterLanConfig 14 }"
        REVISION "201412110000Z" -- Dec 11, 2014
              DESCRIPTION
              "Add MIBs: arrisRouterWiFiHTTxStream, arrisRouterWiFiHTRxStream, arrisRouterWiFiEnableSTBC,
              arrisRouterWiFiEnableRDG, arrisRouterWiFiIGMPSnooping, arrisRouterWiFi50HTTxStream, 
              arrisRouterWiFi50HTRxStream, arrisRouterWiFi50EnableSTBC, arrisRouterWiFi50EnableRDG,
              arrisRouterWiFi50IGMPSnooping, arrisRouterWiFi50BlockDFSChan"
        REVISION "201412090000Z" -- Dec 09, 2014
              DESCRIPTION
              "change MIB arrisRouterChannelStatsPacketsSent  to type Unsigned32
               change MIB arrisRouterChannelStatsPacketsReceived  to type Unsigned32"
        REVISION "201412090000Z" -- Dec 09, 2014
              DESCRIPTION
              "Added new MIB arrisRouterLanClientTimeConnected"     
        REVISION "201411270000Z" -- Nov 27, 2014
              DESCRIPTION
              "Add MIB arrisRouterPingTargetDNSQueryIPAddrType to { arrisRouterPingMgmt 20 }"
        REVISION "201411250000Z" -- Nov 25, 2014
              DESCRIPTION
              "Add new MIBs: arrisRouterWhiteListCount, arrisRouterWhiteListTable, arrisRouterWhiteListEntry, 
              arrisRouterWhiteListIndex, arrisRouterWhiteListDomain, arrisRouterWhiteListTOD, arrisRouterWhiteListStatus, 
              arrisRouterListActiveType"
        REVISION "201411270000Z" -- Nov 27, 2014
             DESCRIPTION
             "Change the OID of the MIB arrisRouterAuthAccountEnabled
             from { arrisRouterAuthEntry 5 } to { arrisRouterAuthEntry 6 }"
        REVISION "201411270000Z" -- Nov 27, 2014
             DESCRIPTION
              "Adjust OIDs for a small part of MIBs which are conflicting with TS7.X or MG versions. They are:
              arrisRouterLanUSBPortTable 
              { arrisRouterLanConfig 13 }   -->   { arrisRouterLanConfig 16 } 
              arrisRouterLanFileSharingObjs
              { arrisRouterLanConfig 14 }   -->   { arrisRouterLanConfig 17 }  
              arrisRouterWMM50Cfg 
              { arrisRouterWirelessCfg 52}   -->   { arrisRouterWirelessCfg 63 }  
              arrisRouterWiFiExtensionChannel
              { arrisRouterWirelessCfg 54 }   -->   { arrisRouterWirelessCfg 64 } 
              arrisRouterICtrlPortMapTableEnabled
              { arrisRouterICtrl 12 }   --> { arrisRouterICtrl 14 }
              arrisRouterWPS50Cfg
              { arrisRouterWirelessCfg 53 }   -->   { arrisRouterWirelessCfg 65 } 
              "
        REVISION "201411260000Z" -- Nov 26, 2014
              DESCRIPTION
              "Modify Mib range arrisRouterSoftGreWanDNSRetryTimer 30 to 1800"
        REVISION "201411260000Z" -- Nov 26, 2014
             DESCRIPTION
              "change arrisRouterWebAccessLevel value to be consistent with 7.x"        
        REVISION "201411210000Z" -- Nov 21, 2014
              DESCRIPTION
              "Add MIB arrisRouterFirstInstallWizardCompletionStatus to { arrisRouterSysCfg 62 }"
        REVISION "201411200000Z" -- Nov 19, 2014
              DESCRIPTION
              "Add MIB arrisRouterLanClientComment to { ArrisRouterLanClientEntry 15 }"
        REVISION "201411140000Z" -- Nov 14, 2014
             DESCRIPTION
              "Remove an unused mib arrisRouterSoftGreWanProvisionType to { arrisRouterSoftGreWanEntry 28 }"
        REVISION "201411130000Z" -- Nov 13, 2014
              DESCRIPTION
              "Add MIB arrisRouterWanDhcpOpt43Sub02 to { arrisRouterWanDHCPObjects  10 }"
        REVISION "201411010000Z" -- Nov 10, 2014
              DESCRIPTION
              "Add MIB arrisRouterLanParentalControlsEnable  to { arrisRouterLanSrvEntry 39 }"
               
        REVISION "201410270000Z" -- Oct 27, 2014
              DESCRIPTION
              "Add MIB arrisRouterPingAverageRtt  to { arrisRouterPingMgmt 17 }
               Add MIB arrisRouterPingMinRtt      to { arrisRouterPingMgmt 18 }
               Add MIB arrisRouterPingMaxRtt      to { arrisRouterPingMgmt 19 }
               Add MIB arrisRouterTraceRtTimeout  to { arrisRouterTraceRtMgmt 9 }
               Add MIB arrisRouterTraceRtDiffServ to { arrisRouterTraceRtMgmt 10 }"
	REVISION "201410230000Z" -- Oct 23, 2014
             DESCRIPTION
             "Add a mib arrisRouterBssActiveTimeout to { ArrisRouterBSSEntry 14 }"
        REVISION "201410010000Z" -- Oct 21, 2014
              DESCRIPTION
              "Add MIB arrisRouterFWPortAllowTable to { arrisRouterFWCfg  44 }"
        REVISION "201410170000Z" -- Oct 17, 2014
              DESCRIPTION
              "Add new MIBs, arrisRouterWiFiPhysicalChannelStatsEnable, arrisRouterWiFiPhysicalChannelStatsMeasurementRate,
              arrisRouterWiFiPhysicalChannelStatsMeasurementInterval, arrisRouterChannelStatsMeasurementTable, 
              arrisRouterChannelStatsRSSITable"
        REVISION "201410140000Z" -- Oct 14, 2014
             DESCRIPTION
             "Add a mib arrisRouterSoftGreTransportInterface to { arrisRouterSoftGreWanEntry 29 }"	  
        REVISION "201410130000Z" -- Oct 13, 2014
              DESCRIPTION
              "Add MIB arrisRouterWiFiScanOperatingStandards to { arrisRouterWiFiScanResultEntry 10 }   
               Add MIB arrisRouterWiFiScanSecurityModeEnabled to { arrisRouterWiFiScanResultEntry 11 }
               Add MIB arrisRouterWiFiScanOperatingChannelBandwidth to { arrisRouterWiFiScanResultEntry 12 }"
        REVISION "201410110000Z" -- Oct 11, 2014
              DESCRIPTION
               "Add MIB arrisRouterFWSecurityLevel to { arrisRouterFWCfg 9 }"
        REVISION "201409150000Z" -- Sep 15, 2014
              DESCRIPTION
               "Add MIB arrisRouterFWMacBridgingFunctionEnabled to { arrisRouterFWCfg 42 }   
                Add MIB arrisRouterFWMacBridgingTable to { arrisRouterFWCfg 43 }"      
        REVISION "201407110000Z" -- July 11, 2014
              DESCRIPTION
              "Modify Description for MIB arrisRouterLanBridgeType"     
        REVISION "201406160000Z" -- June 16, 2014
              DESCRIPTION
              "Add MIB arrisRouterLanBridgeType to { arrisRouterLanConfig 15 }"
      	REVISION "201406040000Z" -- June 4, 2014
              DESCRIPTION
              "Add arrisRouterWiFiRTSRetry, arrisRouterWiFiTxRetry and arrisRouterWiFi50RTSRetry, arrisRouterWiFi50TxRetry"
        REVISION "201405150000Z" -- May 15, 2014
              DESCRIPTION
              "Add new mib arrisRouterSoftGreWanDNSRetryTimer."
        REVISION "201404280000Z" -- Apr 28, 2014
             DESCRIPTION
        "Add a mib for hotspot function.arrisRouterSoftGreWanProvisionType to { arrisRouterSoftGreWanEntry 28 }"  
        REVISION "201403270000Z" --March 27, 2014
             DESCRIPTION
             "Add arrisRouterBSSArpAuditInterval"
        REVISION "201403250000Z" -- Mar 25, 2014
              DESCRIPTION
              "Add new table arrisRouterLanClientDHCPOptionsTable for DHCP Option."
        REVISION "201403190000Z" -- March 19, 2014
             DESCRIPTION
            "Add arrisRouterDHCPRelayAgentWanObjects"
        REVISION "201403060000Z" -- March 6, 2014
             DESCRIPTION
        "Modify arrisRouterWanCurrentDNSIPIndex maximum number from 4 to 8 same as arrisRouterWanStaticDNSIPIndex maximum number."  
        REVISION "201402240000Z" -- Feb 24, 2014
              DESCRIPTION
              "Add arrisRouterWanDHCPSrvAddrV6 to get the IPv6 address of the accepted DHCPv6 server.
               Add arrisRouterWanDHCPSrvDUIDV6 to get the DHCP Unique ID (DUID) of the accepted DHCPv6 server."
        REVISION "201401280000Z" -- Jan 28, 2014
              DESCRIPTION
              "Add arrisRouterWanDHCPDUIDV6 to get the DHCP Unique ID (DUID) of the WAN DHCP Client"
        REVISION "201401270000Z" --Jan 27, 2014
              DESCRIPTION
              "Remove arrisRouterSoftGreAssociateEthernetLAN"
        REVISION "201401160000Z" --Jan 17, 2014 
      	      DESCRIPTION
              "Propagate SoftGre and Ictrl MIBs from dev1 Comcast"
        REVISION "201401100000Z" -- Jan 10, 2014
              DESCRIPTION
              "Add arrisRouterBssWmmEnable and arrisRouterBssWmmAPSD in arrisRouterBSSEntry to control WMM settings based on SSID."
        REVISION "201311280000Z" -- Nov 28, 2013
              DESCRIPTION
              "Add new mibs for fire sharing:
              	1. add arrisRouterLanFileSharingTable
              	2. add arrisRouterLanLocalUserTable
              	3. add arrisRouterLanFilesharingPermitTable"
        REVISION "201311250000Z" -- NOV 25, 2013
              DESCRIPTION
              "Add AP and Client Scan MIBs"         
        REVISION "201311200000Z" -- Nov 20, 2013
              DESCRIPTION
              "Modify MIB arrisRouterLanUSBPortTable OID to { arrisRouterLanConfig 13 }"
      	REVISION "201310170000Z" -- Oct 17, 2013
              DESCRIPTION
              "Add arrisRouterWanForceIGMPVersion to control GW host configured IGMP version"
        REVISION "201310150000Z" -- Oct 15, 2013  
              DESCRIPTION
              "remove arrisRouterWPAGroupRekeyInterval"      
        REVISION "201309190000Z" -- Sept 19, 2013  
              DESCRIPTION
              "Change arrisRouterCustomID to read-write"
        REVISION "201309040000Z" -- Sep 4, 2013
              DESCRIPTION
               "Add ac mode support in arrisRouterWiFi50Mode, add 80MHz support in arrisRouterWiFi50ChannelBW"
        REVISION "201308260000Z" -- Aug 26, 2013
              DESCRIPTION
               "revert 201308200000Z patch"
        REVISION "201308200000Z" -- Aug 20, 2013  
              DESCRIPTION
               "Add new Mibs 
                1. add new mibs arrisRouterLanClientDeviceName, arrisRouterLanClientRSSI
                2. add new items to arrisRouterRIPInterface
                   arrisRouterRIPInterface, arrisRouterRIPSendVersion, arrisRouterRIPReceiveVersion, arrisRouterRIPDefaultMetric
                3. Add new items for IPv6 Firewall security
                   arrisRouterFWIPv6Security, arrisRouterFWIPv6SecurityLevel, arrisRouterFWIPv6BlockHTTP
                   arrisRouterFWIPv6BlockICMP, arrisRouterFWIPv6BlockMulticast, arrisRouterFWIPv6BlockP2P,
                   arrisRouterFWIPv6BlockIDENT, arrisRouterFWIPv6Enable
                4. add new items to arrisRouterEmailSettings
                   arrisRouterEmailNotifyTypes, arrisRouterEmailNotifyTypeFW, arrisRouterEmailNotifyTypePC, 
                   arrisRouterEmailNotifyTypeAlert, arrisRouterEmailNotifyTypeWarning, arrisRouterEmailSenderAddress"
        REVISION "201308130000Z" -- Aug 13, 2013  
              DESCRIPTION
               "Change default value of arrisRouterFwEnableMulticast to true"
        REVISION "201308130000Z" -- Aug 13, 2013
              DESCRIPTION
              "Change arrisRouterLanSrvDHCPOptionsIdx syntax from Unsigned32 (1..4) to Unsigned32."
        REVISION "201308070000Z" -- Aug 07, 2013
                DESCRIPTION
                "Added arrisRouterLanUSBPortTable."
        REVISION "201308020000Z" -- Aug 2, 2013  
              DESCRIPTION 
	      "arrisRouterLanDNSIdx (1..6) current implementation only supports 3 IPv4 and 3 IPv6 DNS servers"   
        REVISION "201307300000Z" -- July 30, 2013	  
               DESCRIPTION
               "Remove arrisRouterWiFi50AMSDUEnable."         
        REVISION "201307260000Z" -- July 26, 2013	  
               DESCRIPTION
               "Remove arrisRouterWiFiAMSDUEnable."      
	  -- Revision history
        REVISION "201307240000Z" -- July 24, 2013	  
               DESCRIPTION
               "Change the arrisRouterLanSrvDHCPOptionsTable MIB OID value from arrisRouterLanConfig 10 to 11."
        REVISION "201307220001Z" -- July 22, 2013
               DESCRIPTION
               "Update arrisRouterLanSettings description. Removed the part saying we reset the WIFI settings to default as this is LAN only settings." 
        REVISION "201307170001Z" -- July 17, 2013
               DESCRIPTION
               "Added arrisRouterAuthAccountEnabled"
        REVISION "201307170000Z" -- July 17, 2013	  
               DESCRIPTION
               "modify arrisRouterLanClientType definition."       
	    REVISION "201307160000Z" -- July 16, 2013	  
               DESCRIPTION
               "Change description of arrisRouterWiFi50OutputPower."
	    REVISION "201306260000Z" -- June 26, 2013	  
               DESCRIPTION
               "Add arrisRouterWiFiPhysicalChannel and arrisRouterWiFi50PhysicalChannel and change description of arrisRouterWiFiRadioControlMode"       
        REVISION "201306200000Z" -- June 20, 2013	  
               DESCRIPTION
               "Change MAX-ACCESS of arrisRouterWpsDeviceName, arrisRouterWpsModelName, arrisRouterWps50DeviceName and arrisRouterWps50ModelName
                from read-write to read-only"
        REVISION "201306050000Z" -- June 05, 2013
               DESCRIPTION
               "Change arrisRouterWiFiBGProtect defaults from true to false and change description of arrisRouterWiFiOutputPower"
        REVISION "201306030000Z" -- June 3, 2013
               DESCRIPTION
               "Added arrisRouterLocalPosixTimeZone"
        REVISION "201305310000Z" -- May 31, 2013
               DESCRIPTION
                "Added arrisRouterLanClientManufacturerOUI, arrisRouterLanClientSerialNumber and arrisRouterLanClientProductClass"
        REVISION "201305290000Z" -- May 29, 2013
               DESCRIPTION
               "Added ethernet port 2~4 mapping to arrisRouterLanClientAdapterType 21~23."
        REVISION "201305220000Z" -- May 22, 2013
                    DESCRIPTION
                 "Added arrisRouterLanSrvDHCPOptionsTable"
        REVISION "201301310000Z" -- May 17, 2013
                DESCRIPTION
                "Remove WPAPSK from arrisRouterBssSecurityMode."
        REVISION "201305090000Z" -- May 09, 2013
                    DESCRIPTION
                "Limit the length of the arrisRouterSNTPServerName to 64 as using in GWDB"
        REVISION "201304270000Z" -- Apr 27, 2013
               DESCRIPTION
               "changed the status of arrisRouterAdminPassword from deprecated to current. "    
        REVISION "201304240000Z" -- Apr 24, 2013
               DESCRIPTION
               "Added arrisRouterWanTR181GatewayInfoObjects"
        REVISION "201304170000Z" -- Apr 17, 2013
                DESCRIPTION
                "remove arrisRouterWiFi50Allow40MHzOnlyOperation and change value list of arrisRouterWiFi50ChannelBW"    	  
        REVISION "201304150000Z" -- Apr 15, 2013  
                DESCRIPTION
                "Add arrisRouterWanDhcpSrvIPAddr"
        REVISION "201304030000Z" -- Apr 10, 2013
	 	DESCRIPTION
		"add arrisRouterLanClientOnline"
         REVISION "201304080000Z" -- Apr 08, 2013
                DESCRIPTION
                "Added arrisRouterWiFiExtensionChannel"
         REVISION "201303190000Z" -- Apr 02, 2013
	 	             DESCRIPTION
              		"add arrisRouterFWSrvTr69LastInstance, arrisRouterFWSrvTr69InstanceID for use with TR069 instance tracking"	  
         REVISION "201303290000Z" -- Mar 29, 2013
                DESCRIPTION
                "Change arrisRouterTrustedDeviceIndex MAX value from 3 to 30 to sync to GWDB definition."
         REVISION "201303150000Z" -- Mar 15, 2013
                DESCRIPTION
                "Update the description of arrisRouterLanMappedInterface"
         REVISION "201303130000Z" -- Mar 13, 2013
                DESCRIPTION
                "Add new option accessUser of arrisRouterWebAccessLevel for TWC XML provisioning"
         REVISION "201303070000Z" -- Mar 7, 2013
                DESCRIPTION
                "Correct the mib name 'arrisRouterFWDDNSUserHame' to 'arrisRouterFWDDNSUserName' "
         REVISION "201303060000Z" -- Mar 6, 2013
                DESCRIPTION	  
		"Added arrisRouterFWVirtSrvTableEnabled"
         REVISION "201302080000Z" -- Feb 8, 2013
                DESCRIPTION
                "Change max-access of arrisRouterFWMACFilterAddr, arrisRouterFWMACFilterTOD, arrisRouterFWPortTrigDesc,
                 arrisRouterFWPortTrigPortStart, arrisRouterFWPortTrigPortEnd, arrisRouterFWPortTargPortStart,
                 arrisRouterFWPortTargPortEnd, arrisRouterFWPortTrigProtoType, arrisRouterBlackListTOD from read-write to read-create."
         REVISION "201301310000Z" -- Jan 31, 2013
                DESCRIPTION
                "Update the description of arrisRouterBssSecurityMode, arrisRouterWpsMode and arrisRouterWps50Mode."
         REVISION "201301100000Z" -- Jan 10, 2013
                DESCRIPTION
                "Remove comment msoControlled50nMode(3) is not supported in arrisRouterWiFiRadioControlMode"
         REVISION "201212270000Z" -- Dec 27, 2012
                DESCRIPTION
                "add back arrisRouterTimeZoneUTCOffset MIB for TWC XML download"
         REVISION "201212190000Z" -- Dec 19, 2012
                DESCRIPTION
                "remove  restoreUser(1), restoreGuest(2), restoreUserNoReboot(4), restoreGuestNoReboot(5)
		add specific description to arrisRouterFWMACFilterEntry. 
		"
         REVISION "201212170000Z" -- Dec 17, 2012
                DESCRIPTION
                "Extend value list in arrisRouterLanClientAdapterType MIB."
         REVISION "201212110000Z" -- Dec 11, 2012
                DESCRIPTION
                "Added arrisRouterSaveCurrentConfigFile and arrisRouterRestoreCurrentConfigFile MIB."               
         REVISION "201212040000Z" -- Dec 04, 2012
                DESCRIPTION
                "Temporarily Remove arrisRouterSaveMsoPostProvConfig MIB."               
         REVISION "201211020000Z" -- Nov 2, 2012
                DESCRIPTION
                "Added percent12(12) to arrisRouterWiFiOutputPower MIB and arrisRouterWiFi50OutputPower.
		Moved arrisRouterPCLogType MIB sub-id from 2 to 4 " 
         REVISION "201211010000Z" -- November 01, 2012
                DESCRIPTION
                "Added arrisRouterTrustedDeviceName, arrisRouterTrustedDeviceAddrType, arrisRouterTrustedDeviceAddr"
         REVISION "201210310000Z" -- October 31, 2012
                DESCRIPTION
                "Removed arrisRouterWiFiMulticastA, arrisRouterWiFiMulticastBG, arrisRouterLanIPv6Mode"
         REVISION "201210260000Z" -- Oct 26, 2012
                DESCRIPTION
                "Removed the following MIBs not supported
                 arrisRouterLanRateLimit
                 arrisRouterLanDownRateLimit
                 arrisRouterLanUpRateLimit"
         REVISION "201210260000Z" -- Oct 26, 2012
                DESCRIPTION
                "Extend value to mcs23 for arrisRouterWiFiHTMCS and arrisRouterWiFi50HTMCS."
         REVISION "201210150000Z" -- Oct 15, 2012
                DESCRIPTION
                "Added arrisRouterWirelessBand mib."  
         REVISION "201210150000Z" -- Oct 15, 2012
                DESCRIPTION
                "Added arrisRouterSaveMsoPostProvConfig MIB."               
         REVISION "201208290000Z" -- Aug 29, 2012
                DESCRIPTION
                "Remove options(2)and(3)from the arrisRouterWiFiResetDefaults MIB.
                 Add 0 to arrisRouterWiFiResetDefaults MIB to indicate that nothing is to be reset.
                 Remove arrisRouterWiFiTxPower and arrisRouterWiFi50TxPower from the ARRIS Router MIB."
         REVISION "201206120000Z" -- June 12, 2012
                 DESCRIPTION
                "Add arrisRouterWifi50 MIBs for 5.0 gz radio. Add arrisRouterDSLiteWanLSNATAddrType MIB."
         REVISION "201205300000Z" -- May 30, 2012
                 DESCRIPTION
            "Add arrisRouterWiFiNumSSIDSupported "
          REVISION "201205220000Z" -- May 22, 2012
                 DESCRIPTION
                "Add arrisRouterLanEtherPortHasLink MIB definition"
          REVISION "201205210000Z" -- May 21, 2012
                 DESCRIPTION
	  		        "Add arrisRouterWanDelegatedPrefixLength,arrisRouterWanDelegatedPrefix"
          REVISION "201204020000Z" -- April 2, 2012
                 DESCRIPTION
                "Add arrisRouterAllow40MHzOnlyOperation MIB definition"
          REVISION "201203210000Z" -- February 21, 2012
                 DESCRIPTION
                "Change arrisRouterWiFiBGProtect and arrisRouterWiFiFrameBurst defaults from false to true"
          REVISION "201202150000Z" -- February 21, 2012
                 DESCRIPTION
                "Added arrisRouterFWIPFilterAction, arrisRouterFWIPFilterDirection"
          REVISION "201202150000Z" -- February 15, 2012
                 DESCRIPTION
                "Added arrisRouterLanPreProvLeaseTime MIB"
          REVISION "201112090000Z" -- December 09, 2011
                 DESCRIPTION
                "Added arrisRouterInboundTrafficLogTable, arrisRouterInboundTrafficLogEntry, arrisRouterInboundTrafficLogIndex, arrisRouterInboundTrafficLogData "
          REVISION "201110060000Z" -- October 06, 2011
                DESCRIPTION
                "Added arrisRouterLanNatAlgsEnabled MIB"
	  REVISION "201109060000Z" -- September 06, 2011
                DESCRIPTION
                "Added arrisRouterWiFiRadioControlMode,
			arrisRouterLanMappedInterface,
			arrisRouterLanEnvironmentControl"
	  REVISION "201108300000Z" -- Aug 30, 2011
		DESCRIPTION
		"Added arrisRouterFWBlockFragIPPkts,
		Fix the OID of arrisRouterWebAccessTable."
	  REVISION "201108180000Z" -- Aug 18, 2011
		DESCRIPTION
		"Added arrisRouterWebAccessTable.
		Updated Syntax of arrisRouterAuthUserName, arrisRouterAuthPassword and arrisRouterAuthType."
	  REVISION "201105050000Z" -- May 5, 2011
		DESCRIPTION
		"Added arrisRouterAuthTable for TG852G/NA/TW"
	  REVISION "201104280000Z" -- April 28, 2011
		DESCRIPTION
		"Removed arrisRouterWiFiEnableRadioNow for TG852G/NA/TW"
	  REVISION "201102090000Z" -- February 09, 2011
		DESCRIPTION
		"Added arrisRouterSNTPServerStatus from remove list"
	  REVISION "201102040000Z" -- February 04, 2011
		DESCRIPTION
		"Added arrisRouterLanOverrideDNS"
	  REVISION "201101180000Z" -- January 18, 2011
		DESCRIPTION
		"Added arrisRouterWiFiEnableRadioNow"
	  REVISION "201101100000Z" -- January 10, 2011
		DESCRIPTION
		"Changed arrisRouterWEP64BitKeyValue and arrisRouterWEP128BitKeyValue from OCTET STRING to DisplayString. Removed size limits."
	  REVISION "201101090000Z" -- January 09, 2011
		DESCRIPTION
		"Added arrisRouterRIPRoutedSubnetDHCP and arrisRouterRIPRoutedSubnetNAT"

	  REVISION "201012220000Z" -- December 22, 2010
		DESCRIPTION
	  "Added 8-bit limitation to arrisRouterRIPAuthKeyID"
	  REVISION "201012170000Z" -- December 17, 2010
		DESCRIPTION
		"Added arrisRouterRIPSendCMInterface, 						
		arrisRouterRIPRoutedSubnetIP,arrisRouterRIPRoutedSubnetGWNetIPType,
		arrisRouterRIPRoutedSubnetGWNetIP,arrisRouterRIPRoutedSubnetMask,
		arrisRouterRIPRoutedSubnetEnabled,arrisRouterRIPSendCMInterface"
	  REVISION "201012150000Z" -- December 15, 2010
         DESCRIPTION
	  "Added 'auto' option to arrisRouterWiFiGuardInterval
	    and arrisRouterWanCurrentNetMask, arrisRouterWanIFMacAddr
		arrisRouterEnableParentalCont, arrisRouterDebugLogTable
		 and Sercomm merge MIB 20101202"
	  REVISION "201012060000Z" -- December 06, 2010
         DESCRIPTION
		"Made arrisRouterCurrentTime read-write."
	  REVISION "201011290000Z" -- November 29, 2010
         DESCRIPTION
	  "Sercomm merge MIB 20101126"
	  REVISION "201011260000Z" -- November 26, 2010
         DESCRIPTION
	  "Added 20/40 option to arrisRouterWiFiChannelBW"
	  REVISION "201011230000Z" -- November 23, 2010
         DESCRIPTION
		"Reduce maximum length of arrisRouterRIPAuthKeyString to 16. Added wpaWpa2Psk(7) and wpaWpa2Enterprise(8) to arrisRouterBssSecurityMode"
	  REVISION "201011080000Z" -- November 08, 2010
         DESCRIPTION
		"Added arrisRouterWanCurrentNetMask column to arrisRouterWanCurrentTable to make it easier for IPv4 addresses to display netmask.
		Reduced number of WAN table entries from max of 8 to 4."
	  REVISION "201010260000Z" -- October 26, 2010
         DESCRIPTION
		"Remove unsupport Mibs:
		oid: arrisRouterWanApply 
		oid: arrisRouterWanApplyLog 
		oid: arrisRouterWanStaticDNSFreeIdx 
		oid: arrisRouterLanCount 
		oid: arrisRouterLanGatewayIp2Type 
		oid: arrisRouterLanGatewayIp2 
		oid: arrisRouterLanClientMACMfg 
		oid: arrisRouterLanClientLeaseStart 
		oid: arrisRouterLanClientStatus 
		oid: arrisRouterLanClientInfLease 
		oid: arrisRouterLanClientLeaseState 
		oid: arrisRouterDeviceUpDownIPAddr 
		oid: arrisRouterDeviceUpDownStart 
		oid: arrisRouterDeviceUpDownEnd 
		oid: arrisRouterWEPPassPhrase 
		oid: arrisRouterWMMEDCASTATable  
		oid: arrisRouterWpsBoardNum 
		oid: arrisRouterWpsModelNum 
		Table: arrisRouterWDSCfg
		oid: arrisRouterFWVirtSrvClear 
		oid: arrisRouterFWIPFilterClear 
		oid: arrisRouterFWMACFilterClear 
		oid: arrisRouterFWPortTrigClear 
		oid: arrisRouterFWSecurityLevel 
		oid: arrisRouterFWApplySettings 
		oid: arrisRouterFWApplyLog 
		oid: arrisRouterFWVirtSrvTOD 
		oid: arrisRouterFWPortTrigTOD 
		oid: arrisRouterFWFilterProxy 
		oid: arrisRouterFWFilterCookies 
		oid: arrisRouterFWFilterJavaApplets 
		oid: arrisRouterFWFilterActiveX 
		oid: arrisRouterFWFilterPopupWnds 
		oid: arrisRouterFWBlockFragIPPkts 
		oid: arrisRouterFWEnableWanBlocking 
		oid: arrisRouterFWEnableRGPassThru 
		oid: arrisRouterKeywordClear 
		oid: arrisRouterBlackListClear 
		oid: arrisRouterWhiteListCount  
		oid: arrisRouterWhiteListClear 
		oid: arrisRouterTrustedDeviceCount  
		oid: arrisRouterTrustedDeviceClear 
		oid: arrisRouterKeywordTableFreeIdx 
		oid: arrisRouterBlackListFreeIdx 
		oid: arrisRouterWhiteListFreeIdx 
		Table: arrisRouterWhiteListTable  
		oid: arrisRouterTrustedDeviceFreeIdx 
		oid: arrisRouterTimeZoneUTCOffset 
		Table: arrisRouterAuthTable 
		oid: arrisRouterApplySNTPSettings 
		oid: arrisRouterSNTPTableFreeIdx 
		oid: arrisRouterSNTPServerStatus 
		oid: arrisRouterHostAccessClientSeed 
		oid: arrisRouterHostCLITimeout 
		oid: arrisRouterHostAccessSSHEnable 
		oid: arrisRouterHostAccessSSHPassword 
		oid: arrisRouterWebAccessFreeIdx 
		oid: arrisRouterWebAccessSetting 
		Table: arrisRouterWebAccessTable"	  
	  REVISION "201010250000Z" -- October 25, 2010
         DESCRIPTION
		"Added arrisRouterFWAllowICMP"
	  REVISION "201010210000Z" -- October 21, 2010
         DESCRIPTION
		"Added arrisRouterTACACSPort, arrisRouterTACACSAddr and arrisRouterTACACSSecretKey"
	  REVISION "201010200000Z" -- October 20, 2010
         DESCRIPTION
		"Added column: arrisRouterFWVirtSrvLocalPortStart and arrisRouterFWVirtSrvLocalPortEnd to the table: arrisRouterFWVirtSrvTable.
		This caused arrisRouterFWVirtSrvRowStatus to be renumbered from 9 to 11.
		Added arrisRouterLanCPEAging to arrisRouterLanSrvTable"
	  REVISION "201010150000Z" -- October 15, 2010
         DESCRIPTION
		"Enhanced arrisRouterFactoryDefaults and renamed to arrisRouterDefaults"
	  REVISION "201010120000Z" -- October 12, 2010
         DESCRIPTION
		"Modified values for arrisRouterLanPassThru.
		Renumbered items under arrisRouterSysCfg.
		Added arrisRouterCustomID.
		Added table: arrisRouterAuthTable.
		Added arrisRouterCurrentTime"
	  REVISION "201009300000Z" -- September 30, 2010
         DESCRIPTION
		"Added arrisRouterCustomID"
	  REVISION "201009240000Z" -- September 24, 2010
         DESCRIPTION
		"Added arrisRouterLanUPnPEnable and removed arrisRouterFWEnableUPnP."
	  REVISION "201009210000Z" -- September 21, 2010
         DESCRIPTION
			"Added arrisRouterClearLogs"
	  REVISION "201009160000Z" -- September 16, 2010
         DESCRIPTION
			"Modified values for arrisRouterLanSettings. 
			Added arrisRouterAuthTable. Added arrisRouterFWL2TPPassThru.
			Modified values for arrisRouterRIPAuthEnable.  Renamed arrisRouterRIPAuthKey to arrisRouterRIPAuthKeyString.
			Added arrisRouterRIPAuthKeyChain. 
			Added arrisRouterCustomSettings"
	  REVISION "201009010000Z" -- September 01, 2010
         DESCRIPTION
				"Added arrisRouterWiFiResetDefaults"
	  REVISION "201008170000Z" -- August 17, 2010
         DESCRIPTION
			"Further update to arrisRouterWiFiMode. Added arrisRouterLogLevel. 
			 Added arrisRouterWpsResultStatus and renumbered other OIDs under arrisRouterWPSCfg.
			 Updated definition for arrisRouterWpsStatus.
			 Added Ethernet table: arrisRouterLanEtherPortTable."
	  REVISION "201007230000Z" -- July 23, 2010
         DESCRIPTION
		"Added arrisRouterSerialNumber, arrisRouterBootCodeVersion, arrisRouterHardwareVersion, arrisRouterFirmwareVersion"
      REVISION "201007220000Z" -- July 22, 2010
         DESCRIPTION
			"Updated values for arrisRouterWpsPushButton.  Added arrisRouterWpsStatus.
			Update values for arrisRouterWiFiMode.
			Removed arrisRouterWpsConfigReg"			
      REVISION "201007140000Z" -- July 14, 2010
         DESCRIPTION
			"Added numeric index to arrisRouterLanCustomTable."      
      REVISION "201007120000Z" -- July 12, 2010
         DESCRIPTION
			"Added arrisRouterWebAccessSetting."      
      REVISION "201006300000Z" -- June 30, 2010
         DESCRIPTION
			"Reduced size of arrisRouterTraceRtLog to 255.  Changed minimum value of arrisRouterWiFiBeaconInterval to 1."
      REVISION "201006280000Z" -- June 28, 2010
         DESCRIPTION
			"Changed arrisRouterWiFiEnableRadio back to TruthValue -- typo fixed.  Made arrisRouterLanCustomIPAddr and arrisRouterLanCustomIPAddrType writable."
      REVISION "201006200000Z" -- June 20, 2010
         DESCRIPTION
      			"Removed arrisRouterLanDNSTableFreeIdx and renumbered items below it."
      REVISION "201006170000Z" -- June 17, 2010
         DESCRIPTION
			"Changed arrisRouterFWVirtSrvTable to use row status: add arrisRouterFWVirtSrvRowStatus and remove arrisRouterFWVirtSrvEnabled.
			Changed arrisRouterFWIPFilterTable to use row status: add arrisRouterFWIPFilterRowStatus and remove arrisRouterFWIPFilterEnabled.
			Changed arrisRouterFWMACFilterTable to use row status: add arrisRouterFWMACFilterRowStatus.
			Change arrisRouterFWPortTrigTable to use row status: add arrisRouterFWPortTrigRowStatus and remove arrisRouterFWPortTrigEnabled.
			Added arrisRouterLanPassThru to Lan interface.
			Added arrisRouterLanFirewallOn to Lan interface."
      REVISION "201005270000Z" -- May 27, 2010
         DESCRIPTION
			"Added arrisRouterLanGatewayIp2 and arrisRouterLanGatewayIp2Type to handle simultaneous IPv4 and IPv6 on LAN.
			Added resetDefaults to arrisRouterFWApplySettings.  Added arrisRouterName.  Added arrisRouterFWAllowAll.
			Added restartWLAN to arrisRouterLanSettings."
      REVISION "201005260000Z" -- May 26, 2010
         DESCRIPTION
             "Added arrisRouterFWSecurityLevel and arrisRouterLanIPv6Mode and added arrisRouterLanCustomComments.  Put size ranges on most objects of type DisplayString."
      REVISION "201005110000Z" -- May 11, 2010
         DESCRIPTION
             "Removed unnecessary enable 'firewall' and 'parental controls' logs.  These are always 'on'.  They can be configured to email or not.
			 Removed arrisHostAccessHttpWan which duplicates functionality of arrisRouterFWEnableRemoteMgmt"
      REVISION "201005070000Z" -- May 7, 2010
         DESCRIPTION
             "Added variables to obtain lowest 'available' index for tables that have the ability via RowStatus to create new rows."
      REVISION "201005030000Z" -- May 3, 2010
         DESCRIPTION
             "Added user and MSO change log tables.  Added arrisRouterLanCustomTable for 'friendly name' and other attributes.  Enhanced arrisRouterClientsUpDownTable."
      REVISION "201004290000Z" -- April 29, 2010
         DESCRIPTION
             "Removed unnecessary DST variable.  Added firewall and parental control log tables. Added web access table.  Removed unnecessary log config variables."
      REVISION "201004270000Z" -- April 27, 2010
         DESCRIPTION
             "Merged WAN static/dynamic for simplicity.  Added global 'Apply settings'.  Added 'time-of-day' to firewall and parental control rules. Remove WMM VLAN -- not needed."
      REVISION "201004250000Z" -- April 25, 2010
         DESCRIPTION
             "Updated Wan config to handle multiple IP addresses and separate out static vs. dynamic."      
      REVISION "201004220000Z" -- April 22, 2010
         DESCRIPTION
             "Added 'apply log', made RIP settings 'global' and removed UPnP Lan tables, and update Wan config to handle multiple IP addresses."      
      REVISION "201002110000Z" -- February 11, 2010
         DESCRIPTION
             "Initial Revision"      
::= { arrisProdIdRouter 1 }

arrisRouterMibObjects			 OBJECT IDENTIFIER ::= { arrisRouterMib 1 }
arrisRouterWanConfig			 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 1 }
arrisRouterLanConfig			 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 2 }
arrisRouterWirelessCfg			 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 3 }
arrisRouterFWCfg				 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 4 }
arrisRouterSysCfg				 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 5 }
arrisRouterHostAccess			 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 6 }
arrisRouterPingMgmt				 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 7 }
arrisRouterTraceRtMgmt			 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 8 }
arrisRouterICtrl                 OBJECT IDENTIFIER ::= { arrisRouterMibObjects 10 }

arrisRouterApplyAllSettings OBJECT-TYPE
     SYNTAX      INTEGER { unknown(0), applySettings(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This applies settings for the entire MIB.  All services and components in the router will be restarted"
     ::= { arrisRouterMibObjects 9 }

arrisRouterWanConnType OBJECT-TYPE
     SYNTAX      INTEGER { unknown(0), dynamic(1), static(2), l2tpStatic(5), l2tpDynamic(6) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type of Wan connection."         
     ::= { arrisRouterWanConfig 1 }

arrisRouterWanConnHostName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The host name"
     ::= { arrisRouterWanConfig 2 }

arrisRouterWanConnDomainName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The domain name"
     ::= { arrisRouterWanConfig 3 }

arrisRouterWanMTUSize OBJECT-TYPE
     SYNTAX      Unsigned32 (256..1500)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The MTU size for the Wan connection.  Specify 0 for auto-set"
     ::= { arrisRouterWanConfig 4 }

arrisRouterWanCurrentTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterWanCurrentEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Static Wan IP address.  In some environments, there may be both an IPv6 and IPv6 address or multiple IPv6 addresses."
      ::= { arrisRouterWanConfig 7 }
  
arrisRouterWanCurrentEntry OBJECT-TYPE
      SYNTAX      ArrisRouterWanCurrentEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Static Wan IP address.  In some environments, there may be both an IPv6 and IPv6 address or multiple IPv6 addresses."
      INDEX { arrisRouterWanCurrentIPIndex }	
      ::= { arrisRouterWanCurrentTable 1 }  
  
ArrisRouterWanCurrentEntry ::= SEQUENCE {
		arrisRouterWanCurrentIPIndex		Unsigned32,
		arrisRouterWanCurrentIPAddrType		InetAddressType,
		arrisRouterWanCurrentIPAddr 		InetAddress,
		arrisRouterWanCurrentPrefix 		InetAddressPrefixLength,
		arrisRouterWanCurrentGWType			InetAddressType,
		arrisRouterWanCurrentGW				InetAddress,
		arrisRouterWanCurrentIPType			INTEGER,
        arrisRouterWanCurrentNetMask		        InetAddress,
        arrisRouterWanCurrentPrefixDelegationV6     InetAddressIPv6,
        arrisRouterWanCurrentPrefixDelegationV6Len  InetAddressPrefixLength,
        arrisRouterWanCurrentPreferredLifetimeV6    INTEGER,
        arrisRouterWanCurrentValidLifetimeV6        INTEGER
	}
	
arrisRouterWanCurrentIPIndex OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index currently limit to 4."
     ::= { arrisRouterWanCurrentEntry 1 }	
	
arrisRouterWanCurrentIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Static IP address type for Wan connection."
     ::= { arrisRouterWanCurrentEntry 2 }

arrisRouterWanCurrentIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Static IP address for Wan connection. "
     ::= { arrisRouterWanCurrentEntry 3 }

arrisRouterWanCurrentPrefix OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Netmask (prefix) for Wan connection."
     ::= { arrisRouterWanCurrentEntry 4 }
     
arrisRouterWanCurrentGWType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Gateway address type for Wan connection."
     ::= { arrisRouterWanCurrentEntry 5 }

arrisRouterWanCurrentGW OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Gateway address for Wan connection. "
     ::= { arrisRouterWanCurrentEntry 6 }
     
arrisRouterWanCurrentIPType OBJECT-TYPE
     SYNTAX      INTEGER { unknown(0), dynamic(1), static(2) }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Type of IP address."
     ::= { arrisRouterWanCurrentEntry 7 }

arrisRouterWanCurrentNetMask OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The netmask for the WAN connection if it is IPv4."				 
     ::= { arrisRouterWanCurrentEntry 8 }     

arrisRouterWanCurrentPrefixDelegationV6 OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The prefix, or initial bits of the address, given to the router to delegate to its attached CPEs."
     ::= { arrisRouterWanCurrentEntry 9 }  
     
arrisRouterWanCurrentPrefixDelegationV6Len OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The length for the prefix to be delegated to attached CPEs."
     ::= { arrisRouterWanCurrentEntry 10 }

arrisRouterWanCurrentPreferredLifetimeV6 OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The preferred lifetime for the assigned IPv6 address of the router."
     ::= { arrisRouterWanCurrentEntry 11 }

arrisRouterWanCurrentValidLifetimeV6 OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The valid lifetime for the assigned IPv6 address of the router."
     ::= { arrisRouterWanCurrentEntry 12 }

-- arrsiRouterWannCurrentEntry End          


              
arrisRouterWanStaticFreeIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (0..4)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The lowest available index which can be used to create a new row/instance in arrisRouterWanStaticTable.  A valid index is in the range [1..4]. 
				 If zero (0) is returned there are now more available rows"
     ::= { arrisRouterWanConfig 8 }     

arrisRouterWanIFMacAddr OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The MAC address of the WAN interface."				 
     ::= { arrisRouterWanConfig 13 }     


--todo note currently only 1 static address is supported
arrisRouterWanStaticTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterWanStaticEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Static Wan IP address.  In some environments, there may be both an IPv6 and IPv6 address or multiple IPv6 addresses."
      ::= { arrisRouterWanConfig 9 }
  
arrisRouterWanStaticEntry OBJECT-TYPE
      SYNTAX      ArrisRouterWanStaticEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Static Wan IP address.  In some environments, there may be both an IPv6 and IPv6 address or multiple IPv6 addresses."
      INDEX { arrisRouterWanStaticIPIndex }	
      ::= { arrisRouterWanStaticTable 1 }  
  
ArrisRouterWanStaticEntry ::= SEQUENCE {
		arrisRouterWanStaticIPIndex			Unsigned32,
		arrisRouterWanStaticIPAddrType		InetAddressType,
		arrisRouterWanStaticIPAddr 			InetAddress,
		arrisRouterWanStaticPrefix 			InetAddressPrefixLength,
		arrisRouterWanStaticGatewayType		InetAddressType,
		arrisRouterWanStaticGateway			InetAddress,
		arrisRouterWanStaticRowStatus		RowStatus,
		arrisRouterWanDelegatedPrefixLength		InetAddressPrefixLength,
		arrisRouterWanDelegatedPrefix			InetAddressIPv6
	}
	
arrisRouterWanStaticIPIndex OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index currently limit to 4."
     ::= { arrisRouterWanStaticEntry 1 }	

arrisRouterWanStaticIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Static IP address type for Wan connection."
     ::= { arrisRouterWanStaticEntry 2 }

arrisRouterWanStaticIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Static IP address for Wan connection. "
     ::= { arrisRouterWanStaticEntry 3 }

arrisRouterWanStaticPrefix OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Netmask (prefix) for Wan connection."
     ::= { arrisRouterWanStaticEntry 4 }
     
arrisRouterWanStaticGatewayType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Gateway address type for Wan connection."
     ::= { arrisRouterWanStaticEntry 5 }

arrisRouterWanStaticGateway OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Gateway address for Wan connection. "
     ::= { arrisRouterWanStaticEntry 6 }
     
arrisRouterWanStaticRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add/remove rows from the table"
     ::= { arrisRouterWanStaticEntry 7  }

arrisRouterWanDelegatedPrefixLength OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Length of IPV6 delegated prefix."
     ::= { arrisRouterWanStaticEntry 8 }

arrisRouterWanDelegatedPrefix OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "IPV6 delegated prefix. "
     ::= { arrisRouterWanStaticEntry 9 }

arrisRouterWanTunnelObjects	OBJECT IDENTIFIER ::= { arrisRouterWanConfig 10 }

arrisRouterWanUserName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Tunnel Wan connection login user name (L2TP)"
     ::= { arrisRouterWanTunnelObjects 1 }

arrisRouterWanPassword OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Tunnel Wan connection login password (L2TP)"
     ::= { arrisRouterWanTunnelObjects 2 }

arrisRouterWanEnableIdleTimeout OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Idle timeout enabled? (L2TP)"
     ::= { arrisRouterWanTunnelObjects 3 }

arrisRouterWanIdleTimeout OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Idle timeout value for tunnel connection (LLTP)"
     DEFVAL { 300 }
     ::= { arrisRouterWanTunnelObjects 4 }

arrisRouterWanTunnelAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Address type of tunnel server. (L2TP)"
     ::= { arrisRouterWanTunnelObjects 5 }

arrisRouterWanTunnelAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Address of tunnel server. (L2TP)  Either the IP address or the host name is required."
     ::= { arrisRouterWanTunnelObjects 6 }
     
arrisRouterWanTunnelHostName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Hostname of the tunnel server. (L2TP) Either the IP address or the host name is required."
     ::= { arrisRouterWanTunnelObjects 7 }

arrisRouterWanEnableKeepAlive OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "KeepAlive timeout enabled? (L2TP)"
     ::= { arrisRouterWanTunnelObjects 8 }

arrisRouterWanKeepAliveTimeout OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "KeepAlive timeout value (L2TP)"
     DEFVAL { 30 } 
     ::= { arrisRouterWanTunnelObjects 9 }

arrisRouterWanDNSObjects	OBJECT IDENTIFIER ::= { arrisRouterWanConfig 11 }

-- todo this is not an option now it is either all dynamic or all static can not separate out DNS servers at this time
arrisRouterWanUseAutoDNS OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Use automatic DNS servers as specified by ISP and DHCP."	
     ::= { arrisRouterWanDNSObjects 1 }

arrisRouterWanCurrentDNSTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterWanCurrentDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the IP addresses of the current DNS servers. These may be dynamically obtained from the WAN DHCP server or these may 
					have been statically configured in arrisRouterWanStaticDNSTable."      
      ::= { arrisRouterWanDNSObjects 2 }
  
arrisRouterWanCurrentDNSEntry OBJECT-TYPE
      SYNTAX      ArrisRouterWanCurrentDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the IP addresses of the current DNS servers. These may be dynamically obtained from the WAN DHCP server or these may 
					have been statically configured in arrisRouterWanStaticDNSTable."      
      INDEX { arrisRouterWanCurrentDNSIPIndex }	
      ::= { arrisRouterWanCurrentDNSTable 1 }  
  
ArrisRouterWanCurrentDNSEntry ::= SEQUENCE {
		arrisRouterWanCurrentDNSIPIndex			Unsigned32,
        arrisRouterWanCurrentDNSIPAddrType		InetAddressType,
		arrisRouterWanCurrentDNSIPAddr 			InetAddress
	}

arrisRouterWanCurrentDNSIPIndex OBJECT-TYPE
     SYNTAX      Unsigned32 (1..8)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index which also indicates the order/priority for DNS lookups. "
     ::= { arrisRouterWanCurrentDNSEntry 1 }

arrisRouterWanCurrentDNSIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Type of the IP address of the DNS server"
     ::= { arrisRouterWanCurrentDNSEntry 2 }

arrisRouterWanCurrentDNSIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The IP address of the DNS server."
     ::= { arrisRouterWanCurrentDNSEntry 3 }

 
arrisRouterWanStaticDNSTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterWanStaticDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the IP addresses of the DNS servers that have been statically assigned.  
					This table may be empty if arrisRouterWanUseAutoDNS is set to true"
      ::= { arrisRouterWanDNSObjects 4 }
  
arrisRouterWanStaticDNSEntry OBJECT-TYPE
      SYNTAX      ArrisRouterWanStaticDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the IP addresses of the DNS servers that have been statically assigned.  This table may be empty if arrisRouterWanUseAutoDNS is set to true"
      INDEX { arrisRouterWanStaticDNSIPIndex }	
      ::= { arrisRouterWanStaticDNSTable 1 }  
  
ArrisRouterWanStaticDNSEntry ::= SEQUENCE {
		arrisRouterWanStaticDNSIPIndex			Unsigned32,
        arrisRouterWanStaticDNSIPAddrType			InetAddressType,
		arrisRouterWanStaticDNSIPAddr 			InetAddress,
		arrisRouterWanStaticDNSRowStatus		RowStatus
	}

arrisRouterWanStaticDNSIPIndex OBJECT-TYPE
     SYNTAX      Unsigned32 (1..8)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index which also indicates the order/priority for DNS lookups.  There is a limit of 8 rows."
     ::= { arrisRouterWanStaticDNSEntry 1 }

arrisRouterWanStaticDNSIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Type of the IP address of the DNS server"
     ::= { arrisRouterWanStaticDNSEntry 2 }

arrisRouterWanStaticDNSIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The IP address of the DNS server."
     ::= { arrisRouterWanStaticDNSEntry 3 }
     
arrisRouterWanStaticDNSRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The rowstatus used to add and remove rows"
     ::= { arrisRouterWanStaticDNSEntry 4 }
     
arrisRouterWanDHCPObjects	OBJECT IDENTIFIER ::= { arrisRouterWanConfig 12 }

arrisRouterWanRenewLease OBJECT-TYPE
     SYNTAX      INTEGER { noApply(0), apply(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Set to apply(1) to renew the primary public Wan DHCP lease"
     ::= { arrisRouterWanDHCPObjects 1 }

arrisRouterWanReleaseLease OBJECT-TYPE
     SYNTAX      INTEGER { noApply(0), apply(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Set to apply(1) to release the primary public Wan DHCP lease"
     ::= { arrisRouterWanDHCPObjects 2 }

arrisRouterWanDHCPDuration OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-only
     STATUS      current
      DESCRIPTION "The number of seconds that the current Wan DHCP lease is valid." 
     ::= { arrisRouterWanDHCPObjects 3 }

arrisRouterWanDHCPExpire OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The date and time when the current Wan DHCP lease expires."
     ::= { arrisRouterWanDHCPObjects 4 }

arrisRouterWanRenewLeaseV6 OBJECT-TYPE
     SYNTAX      INTEGER { noApply(0), apply(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Set to apply(1) to renew the primary public Wan DHCP lease"
     ::= { arrisRouterWanDHCPObjects 5 }

arrisRouterWanReleaseLeaseV6 OBJECT-TYPE
     SYNTAX      INTEGER { noApply(0), apply(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Set to apply(1) to release the primary public Wan DHCP lease"
     ::= { arrisRouterWanDHCPObjects 6 }

arrisRouterWanDHCPDurationV6 OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-only
     STATUS      current
      DESCRIPTION "IPV6 The number of seconds that the current Wan DHCP lease is valid." 
     ::= { arrisRouterWanDHCPObjects 7 }

arrisRouterWanDHCPExpireV6 OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "IPV6 The date and time when the current Wan DHCP lease expires."
     ::= { arrisRouterWanDHCPObjects 8 }

arrisRouterWanDhcpSrvIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The IP address of the DHCP server."
     ::= { arrisRouterWanDHCPObjects 9 }

arrisRouterWanDhcpOpt43Sub02 OBJECT-TYPE
     SYNTAX      INTEGER { erouter(0), ecm(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "DHCP Option 43 Sub-option 2 content. 
     When set the value to 'erouter(0)', the Option 43 Sub-option 2 content will be 'EROUTER' at the DHCPDISCOVER packet;
     When set the value to 'ecm(1)', the Option 43 Sub-option 2 content will be 'ECM' at the DHCPDISCOVER packet;"
     DEFVAL  { 0 }
     ::= { arrisRouterWanDHCPObjects 10 }

arrisRouterWanDHCPDUIDV6 OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..130))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The DHCP Unique ID (DUID) of the WAN DHCP Client."
     ::= { arrisRouterWanDHCPObjects 11 }
		
arrisRouterWanDHCPSrvAddrV6 OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The IPv6 address of the accepted DHCPv6 server."
     ::= { arrisRouterWanDHCPObjects 12 }

arrisRouterWanDHCPSrvDUIDV6 OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..130))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The DHCP Unique ID (DUID) of the accepted DHCPv6 server."
     ::= { arrisRouterWanDHCPObjects 13 }

arrisRouterWanConnTypeV6 OBJECT-TYPE
     SYNTAX      INTEGER { unknown(0), dynamic(1), static(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 type of Wan connection."         
     ::= { arrisRouterWanConfig 16 }

arrisRouterWanIPProvMode OBJECT-TYPE
     SYNTAX      INTEGER { disabledBridge(0), ipv4(1), ipv6(2), dualStack(3)}
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "eRouter initialization mode."         
     ::= { arrisRouterWanConfig 17 }


arrisRouterDSLiteWanObjects   OBJECT IDENTIFIER ::= { arrisRouterWanConfig 18 }

arrisRouterDSLiteWanEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "IPV6 Enable or disable the DSLite."
     DEFVAL { true }
     ::= { arrisRouterDSLiteWanObjects 1 }

arrisRouterDSLiteWanLSNATAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Address type of LSNAT. IPV6 or FQDN."
     ::= { arrisRouterDSLiteWanObjects 2 }

arrisRouterDSLiteWanLSNATAddr OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 The IP address of the LSNAT server."
     ::= { arrisRouterDSLiteWanObjects 3 }

arrisRouterDSLiteTcpMssClamping OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Turn on/off (TCP) MSS clamping for ipv6 tunnel."
     DEFVAL { true }
     ::= { arrisRouterDSLiteWanObjects 4 }

arrisRouterDSLiteTcpMssValue OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "TCP Mss value for ipv6 tunnel" 
     ::= { arrisRouterDSLiteWanObjects 5 }

arrisRouterDSLiteWanResolvedAddr OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Resolved IPV6 address of the LSNAT server."
     ::= { arrisRouterDSLiteWanObjects 6 }

arrisRouterWanTR181GatewayInfoObjects   OBJECT IDENTIFIER ::= { arrisRouterWanConfig 21 }

arrisRouterTR181GatewayManufacturerOUI OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..6))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Organizationally unique identifier of the associated Internet Gateway Device. 
                  Possible patterns: 
                   - <Empty> (an empty string) 
                   - [0-9A-F]{6} "
     ::= { arrisRouterWanTR181GatewayInfoObjects 1 }

arrisRouterTR181GatewayProductClass OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Identifier of the product class of the associated Internet Gateway Device."
     ::= { arrisRouterWanTR181GatewayInfoObjects 2 }

arrisRouterTR181GatewaySerialNumber OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Serial number of the associated Internet Gateway Device."
     ::= { arrisRouterWanTR181GatewayInfoObjects 3 }

arrisRouterSoftGreWanObjects   OBJECT IDENTIFIER ::= { arrisRouterWanConfig 19 }

arrisRouterSoftGreWanTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterSoftGreWanEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains information for a specific SoftGreWan"
     ::= { arrisRouterSoftGreWanObjects 1 }

arrisRouterSoftGreWanEntry OBJECT-TYPE
     SYNTAX      ArrisRouterSoftGreWanEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains information for a specific SoftGreWan.  ONLY Index of 1 currently Supported!"
     INDEX { ifIndex }	--from IF-MIB
     ::= { arrisRouterSoftGreWanTable 1 }  

ArrisRouterSoftGreWanEntry ::= SEQUENCE {  
     arrisRouterSoftGreWanEnable                  TruthValue,
     arrisRouterSoftGreMappedInterface            Unsigned32,
     arrisRouterSoftGreMaxSessions                INTEGER,
     arrisRouterSoftGreWanControllerFqdn          DisplayString,
     arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddressType   InetAddressType,
     arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddress   InetAddress,
     arrisRouterSoftGreWanFailoverPingCount       INTEGER,
     arrisRouterSoftGreWanFailoverPingInterval    INTEGER,
     arrisRouterSoftGreWanFailoverThreshold       INTEGER,
     arrisRouterSoftGreCircuitIdEnabled           TruthValue,
     arrisRouterSoftGreRemoteIdEnabled            TruthValue,
     arrisRouterSoftGreRadiusEnabled              TruthValue,
     arrisRouterSoftGreRadiusServerAddressType    InetAddressType,
     arrisRouterSoftGreRadiusServerAddress        InetAddress,
     arrisRouterSoftGreRadiusServerPort           Unsigned32,
     arrisRouterSoftGreRadiusKey                  DisplayString,
     arrisRouterSoftGreRadiusReAuthInterval       Unsigned32,
     arrisRouterSoftGreVlanQEnable                TruthValue,
     arrisRouterSoftGreWanDscp                    DscpOrAny,
     arrisRouterSoftGreWanDNSRetryTimer           Unsigned32,
     arrisRouterSoftGreWanCurrentControllerIPAddressType   InetAddressType,     
     arrisRouterSoftGreWanCurrentControllerIPAddress       InetAddress,
     arrisRouterSoftGreWanPrimaryControllerIPAddressType   InetAddressType,
     arrisRouterSoftGreWanPrimaryControllerIPAddress       InetAddress,
     arrisRouterSoftGreWanSecondaryControllerIPAddressType InetAddressType,
     arrisRouterSoftGreWanSecondaryControllerIPAddress     InetAddress,
     arrisRouterSoftGreWanStatus                  INTEGER,
     arrisRouterSoftGreTransportInterface           INTEGER,
     arrisRouterSoftGreRadiusTransportInterface            INTEGER,
     arrisRouterSoftGreAcctServerAddressType    InetAddressType,
     arrisRouterSoftGreAcctServerAddress        InetAddress,
     arrisRouterSoftGreAcctServerPort           Unsigned32,
     arrisRouterSoftGreAcctKey                  DisplayString,
     arrisRouterSoftGreAcctInterval       Unsigned32,
     arrisRouterSoftGreRadiusSecondaryServerAddressType    InetAddressType,
     arrisRouterSoftGreRadiusSecondaryServerAddress        InetAddress,
     arrisRouterSoftGreRadiusSecondaryServerPort           Unsigned32,
     arrisRouterSoftGreRadiusSecondaryKey                  DisplayString,
     arrisRouterSoftGreRadiusSecondaryReAuthInterval       Unsigned32     
}

arrisRouterSoftGreWanEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the SoftGRE WiFi Hotspot Client."
     DEFVAL { false }
     ::= { arrisRouterSoftGreWanEntry 1 }

arrisRouterSoftGreMappedInterface OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Name of the member physical network interface (or virtual
                  network interface in the case of a wireless SSID) comprising 
                  the logical interface, aka LAN subnet.                 
                  This mib object takes in an unsigned integer with the
                  following bitmap setup:

                  0x00000001 // ethernet (unsupported)
                  0x00000002 // usb (unsupported)
                  0x00000004 // moca (unsupported)
                  0x00000008 // ssid0 (unsupported)
                  0x00000010 // ssid1 (unsupported)
                  0x00000020 // ssid2
                  0x00000040 // ssid3 (unsupported)
                  0x00000080 // ssid4 (unsupported)
                  0x00000100 // ssid5 (unsupported)
                  0x00000200 // ssid6 (unsupported)
                  0x00000400 // ssid7 (unsupported)
                  Example of mapping the ssid2 to the
                  SoftGre subnet: 0x00000020
                  Note that by assigning this interface to the SoftGre
                  Application causes it to be unusable for LAN services."
     ::= { arrisRouterSoftGreWanEntry 2 }    

arrisRouterSoftGreMaxSessions OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-write
     STATUS      current   
     DESCRIPTION "The maximum  number of roaming devices for this AP
                  Setting the number of concurrent SoftGre client sessions to 
                  0 must cause the following actions to be performed by 
                  the Gateway.
                  Disable broadcast of SoftGre SSID (No clients can associate)
                  SoftGRE interface is disabled (No routing possible)
                  Release the public IP associated to the SoftGRE interface"
     DEFVAL  { 5 }
     ::= { arrisRouterSoftGreWanEntry 3 }   

arrisRouterSoftGreWanControllerFqdn OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The FQDN of the WLAN GW that will terminate tunnels from this AP."
     ::= { arrisRouterSoftGreWanEntry 4 }
     
arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for the secondary WLAN GW that will terminate tunnels from this AP."
    ::= { arrisRouterSoftGreWanEntry 5 }	 
	
arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The IP address of the secondary WLAN GW that will terminate tunnels from this AP.
    If the arrisRouterSoftGreWanControllerFqdn is FQDN format, this value will be ignored.
    When the MIB arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddress is valid, the value of arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddress
    will also be ignored if the AddressType of arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddressType is different from the AddressType of arrisRouterSoftGreWanControllerFqdn."
     ::= { arrisRouterSoftGreWanEntry 6 }	
     
arrisRouterSoftGreWanFailoverPingCount OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-write
     STATUS      current   
     DESCRIPTION "Number of ICMP Pings sent at a regular interval for WLAN GW
                  reachability health check"
     DEFVAL  { 3 }
     ::= { arrisRouterSoftGreWanEntry 7 }

arrisRouterSoftGreWanFailoverPingInterval OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-write
     STATUS      current   
     DESCRIPTION "Configured interval in seconds between WLAN GW reachability health checks"
     DEFVAL  { 60 }
     ::= { arrisRouterSoftGreWanEntry 8 }

arrisRouterSoftGreWanFailoverThreshold OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-write
     STATUS      current   
     DESCRIPTION "Number of consecutive un-acknowledged pings before it is determined
                  that the current WLAN GW is no longer available and will fail-over
                  to another WLAN GW if the DNS responded with more than one WLAN GW IP"
     DEFVAL  { 3 }
     ::= { arrisRouterSoftGreWanEntry 9 }

arrisRouterSoftGreCircuitIdEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the SoftGRE Circuit ID being added to DHCP"
     DEFVAL { true }
     ::= { arrisRouterSoftGreWanEntry 10 }

arrisRouterSoftGreRemoteIdEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the SoftGRE RemoteId being added to DHCP"
     DEFVAL { true }
     ::= { arrisRouterSoftGreWanEntry 11 }

arrisRouterSoftGreRadiusEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable Radius Authentication for the SoftGRE Tunnel"
     DEFVAL { false }
     ::= { arrisRouterSoftGreWanEntry 12 }

arrisRouterSoftGreRadiusServerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for arrisRouterRadiusAddress."
    ::= { arrisRouterSoftGreWanEntry 13 }
    
arrisRouterSoftGreRadiusServerAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the RADIUS server for this service set.
         If not specified and Radius Enabled, will default to WLAN GW"
    ::= { arrisRouterSoftGreWanEntry 14 }
    
arrisRouterSoftGreRadiusServerPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The UDP port used to communicate with the RADIUS server for this 
         service set.  Defaults to Port 1812"
    DEFVAL  { 1812 }
    ::= { arrisRouterSoftGreWanEntry 15 }
    
arrisRouterSoftGreRadiusKey OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS key."
    ::= { arrisRouterSoftGreWanEntry 16 }
    
arrisRouterSoftGreRadiusReAuthInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network re-authentication interval.  If set to zero, no
         re-authentication will be performed."
    ::= { arrisRouterSoftGreWanEntry 17 }

arrisRouterSoftGreVlanQEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the VLan Q tag being added to the packet"
     DEFVAL { true }
     ::= { arrisRouterSoftGreWanEntry 18 }

arrisRouterSoftGreWanDscp OBJECT-TYPE
    SYNTAX      DscpOrAny
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This object allows the overwrite of the DSCP field per RFC 3260."
    DEFVAL { 0 }     
    ::= { arrisRouterSoftGreWanEntry 19 }

arrisRouterSoftGreWanDNSRetryTimer OBJECT-TYPE
     SYNTAX      Unsigned32(30..1800)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Retry timer(seconds) triggered when HHG is unable to resolve the WLAN GW"
     DEFVAL  { 30 }
     ::= { arrisRouterSoftGreWanEntry 20 }

arrisRouterSoftGreWanCurrentControllerIPAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of internet address used for current active Hotspot WLAN GW controller."
    ::= { arrisRouterSoftGreWanEntry 21 }
    
arrisRouterSoftGreWanCurrentControllerIPAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The internet address of current active Hotspot WLAN GW controller."
    ::= { arrisRouterSoftGreWanEntry 22 }
	
arrisRouterSoftGreWanPrimaryControllerIPAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of internet address used for Primary Hotspot WLAN GW controller in DNS SRV record of FQDN."
    ::= { arrisRouterSoftGreWanEntry 23 }
    
arrisRouterSoftGreWanPrimaryControllerIPAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The internet address of Primary Hotspot WLAN GW controller in DNS SRV record of FQDN."
    ::= { arrisRouterSoftGreWanEntry 24 }    

arrisRouterSoftGreWanSecondaryControllerIPAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of internet address used for Secondary Hotspot WLAN GW controller in DNS SRV record of FQDN."
    ::= { arrisRouterSoftGreWanEntry 25 }
    
arrisRouterSoftGreWanSecondaryControllerIPAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The internet address of Secondary Hotspot WLAN GW controller in DNS SRV record of FQDN."
    ::= { arrisRouterSoftGreWanEntry 26 }

arrisRouterSoftGreWanStatus OBJECT-TYPE
    SYNTAX INTEGER {up(0),down(1),error(2)}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This MIB object reports the current operational state of tunnel. 
         The up(0) state indicates the interface is able to transmit and receive network traffic. 
         The down(1) state indicates the interface is prevented from entering the Up(0) state. 
         The error(2) state indicates there is an error or other fault condition detected on the interface."
    ::= { arrisRouterSoftGreWanEntry 27 }    

arrisRouterSoftGreTransportInterface OBJECT-TYPE
    SYNTAX INTEGER {gwip(0), cmip(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The GRE tunnel local IP address, 0 for GW IP, 1 for CM IP. The address type must be same to the 
		GRE tunnel server address configured by arrisRouterSoftGreWanControllerFqdn/arrisRouterSoftGreWanControllerProvisionedSecondaryIpAddress."
    DEFVAL { gwip }
    ::= { arrisRouterSoftGreWanEntry 29 }

arrisRouterSoftGreRadiusTransportInterface OBJECT-TYPE
    SYNTAX INTEGER {gwip(0), cmip(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS local IP address, 0 for GW IP, 1 for CM IP."
    DEFVAL { gwip }
    ::= { arrisRouterSoftGreWanEntry 30 }    

arrisRouterSoftGreAcctServerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for arrisRouterSoftGreAcctServerAddress."
    ::= { arrisRouterSoftGreWanEntry 31 }
    
arrisRouterSoftGreAcctServerAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the RADIUS accounting server for this service set.
         If not specified and Radius Enabled, will default to RADIUS authentication server"
    ::= { arrisRouterSoftGreWanEntry 32 }
    
arrisRouterSoftGreAcctServerPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The UDP port used to communicate with the RADIUS accounting server for this 
         service set.  Defaults to Port 1813"
    DEFVAL  { 1813 }
    ::= { arrisRouterSoftGreWanEntry 33 }
    
arrisRouterSoftGreAcctKey OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS accounting key."
    ::= { arrisRouterSoftGreWanEntry 34 }
    
arrisRouterSoftGreAcctInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS accounting interim update interval.  If set to zero, no
         accounting update will be performed."
    ::= { arrisRouterSoftGreWanEntry 35 }
	
arrisRouterSoftGreRadiusSecondaryServerAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for arrisRouterRadiusSecondaryAddress."
    ::= { arrisRouterSoftGreWanEntry 36 }
    
arrisRouterSoftGreRadiusSecondaryServerAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the Secondary RADIUS server for this service set."
    ::= { arrisRouterSoftGreWanEntry 37 }
    
arrisRouterSoftGreRadiusSecondaryServerPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The UDP port used to communicate with the Secondary RADIUS server for this 
         service set.  Defaults to Port 1812"
    DEFVAL  { 1812 }
    ::= { arrisRouterSoftGreWanEntry 38 }
    
arrisRouterSoftGreRadiusSecondaryKey OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS key."
    ::= { arrisRouterSoftGreWanEntry 39 }
    
arrisRouterSoftGreRadiusSecondaryReAuthInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network re-authentication interval of the Secondary RADIUS server.
         If set to zero, no re-authentication will be performed."
    ::= { arrisRouterSoftGreWanEntry 40 }    
        
arrisRouterSoftGreSSIDTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterSoftGreSSIDEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains information to be assigned per SSID across GRE tunnel.
                  Table is 1 based"
     ::= { arrisRouterSoftGreWanObjects 2 }
  
arrisRouterSoftGreSSIDEntry OBJECT-TYPE
     SYNTAX      ArrisRouterSoftGreSSIDEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains the information to be assigned per SSID across GRE tunnel.
                  Index is the SSID"
     INDEX { ifIndex }	--from IF-MIB
     ::= { arrisRouterSoftGreSSIDTable 1 }

ArrisRouterSoftGreSSIDEntry ::= SEQUENCE {
     arrisRouterSoftGreVLanId              Unsigned32,
     arrisRouterSoftGreVLanPriority       Unsigned32
}

arrisRouterSoftGreVLanId  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The VLan ID to be used for this managed SSID.  
                 Set to zero to not use VLan"
    DEFVAL { 0 }     
    ::= { arrisRouterSoftGreSSIDEntry  1 }

arrisRouterSoftGreVLanPriority  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The VLan Priority to be used for this managed SSID."
    DEFVAL { 0 }     
    ::= { arrisRouterSoftGreSSIDEntry  2 }

arrisRouterSoftGreCustomerOptOut OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If the user has opted out of the service, setting this value to true
                  the Gateway will ignore any of the provisioned HotSpot Configuration
                  from the config file."
     DEFVAL { false }
     ::= { arrisRouterSoftGreWanObjects 3 }

arrisRouterSoftGreCapable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Indicates if the softGRE/Hotspot feature is available on this device."
     DEFVAL { true }
     ::= { arrisRouterSoftGreWanObjects 5 }

arrisRouterDHCPRelayAgentWanObjects   OBJECT IDENTIFIER ::= { arrisRouterWanConfig 20 }      
        
     
arrisRouterDHCPRelayAgentSSIDTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterDHCPRelayAgentSSIDEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains information to be assigned per SSID with DHCP Relay.
                  Table is 1 based"
     ::= { arrisRouterDHCPRelayAgentWanObjects 1 }

     
arrisRouterDHCPRelayAgentSSIDEntry OBJECT-TYPE
     SYNTAX      ArrisRouterDHCPRelayAgentSSIDEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table contains the information to be assigned per SSID with DHCP Relay.
                  Index is the SSID."
     INDEX { ifIndex }	--from IF-MIB
     ::= { arrisRouterDHCPRelayAgentSSIDTable 1 }

ArrisRouterDHCPRelayAgentSSIDEntry ::= SEQUENCE {       
     arrisRouterDHCPRelayAgentEnable                TruthValue,
     arrisRouterDHCPRelayAgentCircuitIdEnabled      TruthValue,
     arrisRouterDHCPRelayAgentRemoteIdEnabled       TruthValue,
     arrisRouterDHCPRelayAgentOption60SSIDEnabled   TruthValue
}

arrisRouterDHCPRelayAgentEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the DHCPRelayAgent. 
                 This DHCPRelayAgent feature is only working on bridge mode."
     DEFVAL { true }
     ::= { arrisRouterDHCPRelayAgentSSIDEntry 1 }                  
     
arrisRouterDHCPRelayAgentCircuitIdEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the Circuit ID being added to DHCP"
     DEFVAL { true }
     ::= { arrisRouterDHCPRelayAgentSSIDEntry 2 }

arrisRouterDHCPRelayAgentRemoteIdEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the RemoteId being added to DHCP"
     DEFVAL { true }
     ::= { arrisRouterDHCPRelayAgentSSIDEntry 3 }

arrisRouterDHCPRelayAgentOption60SSIDEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the SSID name being inserted to the beginning of DHCP Option 60"
     DEFVAL { false }
     ::= { arrisRouterDHCPRelayAgentSSIDEntry 4 }

arrisRouterWanForceIGMPVersion OBJECT-TYPE
     SYNTAX      INTEGER { auto(0),igmpv1(1), igmpv2(2), igmpv3(3) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Forces eRouter using the specific IGMP Version in the WAN side.
                  see the Linux proc file /proc/sys/net/ipv4/conf/erouter0/force_igmp_version for reference"         
     ::= { arrisRouterWanConfig 22 }


-- lan table

arrisRouterLanSrvTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanSrvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Lan."
      ::= { arrisRouterLanConfig 2 }
  
arrisRouterLanSrvEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanSrvEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information for a specific Lan."
      INDEX { ifIndex }	--from IF-MIB
      ::= { arrisRouterLanSrvTable 1 }  
  
ArrisRouterLanSrvEntry ::= SEQUENCE {
		arrisRouterLanName						DisplayString,
		arrisRouterLanSubnetMaskType 			InetAddressType,
		arrisRouterLanSubnetMask 				InetAddress,
		arrisRouterLanGatewayIpType 			InetAddressType,
		arrisRouterLanGatewayIp 				InetAddress,
		arrisRouterLanGatewayIp2Type 			InetAddressType,
		arrisRouterLanGatewayIp2 				InetAddress,
		arrisRouterLanVLanID					Unsigned32,
		arrisRouterLanUseDHCP					TruthValue,
		arrisRouterLanStartDHCPType				InetAddressType,
		arrisRouterLanStartDHCP					InetAddress,
		arrisRouterLanEndDHCPType				InetAddressType,
		arrisRouterLanEndDHCP					InetAddress,
		arrisRouterLanLeaseTime					Unsigned32,
		arrisRouterLanDomainName				DisplayString,
		arrisRouterLanRelayDNS					TruthValue,
		arrisRouterLanPassThru					INTEGER,
		arrisRouterLanFirewallOn				TruthValue,
		arrisRouterLanUPnPEnable				TruthValue,
		arrisRouterLanCPEAging					Integer32,
		arrisRouterLanOverrideDNS				TruthValue,
                arrisRouterLanNatAlgsEnabled            BITS,
		arrisRouterLanMappedInterface           Unsigned32,
		arrisRouterLanEnvironmentControl        INTEGER,
        arrisRouterLanPrefixLengthV6            InetAddressPrefixLength,
        arrisRouterLanUseDHCPV6					TruthValue,
        arrisRouterLanStartDHCPV6				InetAddressIPv6,
        arrisRouterLanEndDHCPV6					InetAddressIPv6,
        arrisRouterLanLeaseTimeV6				Unsigned32,
        arrisRouterLanLinkLocalAddressV6		InetAddressIPv6,
        arrisRouterLanDNSRelayV6	            TruthValue,
        arrisRouterLanDNSOverrideV6	            TruthValue,
        arrisRouterLanPreProvLeaseTime              Unsigned32,
        arrisRouterLanParentalControlsEnable       TruthValue
	}
 
arrisRouterLanName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..32))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Textual name of this Lan."
     ::= { arrisRouterLanSrvEntry 1 }
    
arrisRouterLanSubnetMaskType OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "Ip Address Type of the SubnetMask for a specific Network."
      DEFVAL { ipv4 }
      ::= { arrisRouterLanSrvEntry 2 }
  
arrisRouterLanSubnetMask OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
          "Ip Address of the SubnetMask for a specific Network."
      ::= { arrisRouterLanSrvEntry 3 }
    
arrisRouterLanGatewayIpType OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "Ip Address Type of the Gateway for a specific Network."
      DEFVAL { ipv4 }
      ::= { arrisRouterLanSrvEntry 4 }
  
arrisRouterLanGatewayIp OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
          "Ip Address of the Gateway for a specific Network."
      ::= { arrisRouterLanSrvEntry 5 }
    
arrisRouterLanGatewayIp2Type OBJECT-TYPE
      SYNTAX      InetAddressType
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "Ip Address Type of the Gateway for a specific Network."
      DEFVAL { ipv4 }
      ::= { arrisRouterLanSrvEntry 6 }
  
arrisRouterLanGatewayIp2 OBJECT-TYPE
      SYNTAX      InetAddress
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
          "Ip Address of the Gateway for a specific Network."
      ::= { arrisRouterLanSrvEntry 7 }

arrisRouterLanVLanID OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The VLan ID to be used for this Lan.  Set to zero to not use VLan"
     DEFVAL	{ 0 }
     ::= { arrisRouterLanSrvEntry 8 }

arrisRouterLanUseDHCP OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable the local DHCP server on this VLan."
     DEFVAL	{ true }
     ::= { arrisRouterLanSrvEntry 9 }

arrisRouterLanStartDHCPType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type of IP address for the start of the range of IP addresses to be handed out by this DHCP server"
     ::= { arrisRouterLanSrvEntry 10 }
	
arrisRouterLanStartDHCP OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The start of the range of IP addresses to be handed out by this DHCP server"
     ::= { arrisRouterLanSrvEntry 11 }

arrisRouterLanEndDHCPType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type of IP address for the end of the range of IP addresses to be handed out by this DHCP server"
     ::= { arrisRouterLanSrvEntry 12 }

arrisRouterLanEndDHCP OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The end of the range of IP addresses to be handed out by this DHCP server"
     ::= { arrisRouterLanSrvEntry 13 }
	
arrisRouterLanLeaseTime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The length of the lease time for dynamic (DHCP) IP addresses handed out by this device."
     ::= { arrisRouterLanSrvEntry 14 }

arrisRouterLanDomainName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Optional domain name for this lan"
     ::= { arrisRouterLanSrvEntry 15 }

arrisRouterLanRelayDNS OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable DNS relay"
     DEFVAL	{ false }
     ::= { arrisRouterLanSrvEntry 19 }
          
arrisRouterLanPassThru OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), passThru(1), routedNAT(2), routedNoNAT(3) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get/set whether or not this Lan is in pass-thru mode or bridged/NAT.
                    To put the device into non-bridged mode with routing and NAT disabled -- pass-thru, use: passThru(1).
                    To put the device into bridged (routed) mode with Network Address Translation (NAT) enabled use: routedNAT(2).
                    To put the device into bridged (routed) mode with Network Address Translation (NAT) disabled use: routedNoNAT(3)."
	 DEFVAL { routedNAT }
     ::= { arrisRouterLanSrvEntry 21 }
     
arrisRouterLanFirewallOn OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get/set whether or not the firewall is applied to this Lan"
     ::= { arrisRouterLanSrvEntry 22 }     

arrisRouterLanUPnPEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get/set whether or not UPnP is enabled for this Lan"
     ::= { arrisRouterLanSrvEntry 23 }     

arrisRouterLanCPEAging OBJECT-TYPE
     SYNTAX      Integer32 
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The timeout period in seconds for aging out
					dynamically learned forwarding information.
					The default value of zero means do not age"
     ::= { arrisRouterLanSrvEntry 24 }
	 
arrisRouterLanOverrideDNS OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable DNS override.  If DNS override is true the IP addresses in arrisRouterLanDNSTable will be passed to LAN clients via DHCP.
					Otherwise, the DNS servers received by the WAN connection will be passed to the LAN clients."
     DEFVAL	{ false }
     ::= { arrisRouterLanSrvEntry 25 }     

arrisRouterLanNatAlgsEnabled OBJECT-TYPE 
     SYNTAX      BITS { 
                    rsvp(0),       -- US/DS; IP 46 (Reserved) 
                    ftp(1),        -- US/DS; TCP 21 
                    tftp(2),       -- US; UDP 17 
                    kerb88(3),     -- US; UDP 88 (Reserved) 
                    netBiosDgm(4), -- US; UDP 138 (Reserved) 
                    ike(5),        -- US/DS; UDP 500 (Reserved) 
                    rtsp(6),       -- US/DS; TCP 554 (Reserved) 
                    kerb1293(7),   -- US; UDP 1293 (Reserved) 
                    h225(8),       -- US/DS; TCP 1720 
                    pptp(9),       -- US/DS; TCP 1723 
                    msn(10),       -- US/DS; TCP 1863 (Reserved) 
                    sip(11),       -- US; UDP 5060 
                    icq(12),       -- US; TCP 5190 (Reserved) 
                    irc6667(13),   -- US; TCP 6667 
                    icqTalk(14),   -- US/DS; UDP 6701 (Reserved) 
                    net2Phone(15), -- US/DS; UDP 6801 (Reserved) 
                    irc7000(16),   -- US; TCP 7000 (Reserved) 
                    irc8000(17)    -- US; TCP 8000 (Reserved) 
                 } 
    MAX-ACCESS  read-write 
    STATUS      current 
    DESCRIPTION 
     "Specifies which NAT application layer gateway supplements are enabled 
      on this device.  The default value for this object is for all ALG's 
      to be enabled. Reserved bits are for ALGs that are currently not supported."
    ::= { arrisRouterLanSrvEntry 26 }

arrisRouterLanMappedInterface OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Name of the member physical network interface (or virtual
                  network interface in the case of a wireless SSID) comprising the logical
                  interface, aka LAN subnet. This mib object takes in an unsigned integer with the
                  following bitmap setup:

                  Single-Band support:
                  0x00000001 // ethernet
                  0x00000002 // usb (unsupported)
                  0x00000004 // moca
                  0x00000008 // ssid1
                  0x00000010 // ssid2
                  0x00000020 // ssid3
                  0x00000040 // ssid4
                  0x00000080 // ssid5 
                  0x00000100 // ssid6 
                  0x00000200 // ssid7
                  0x00000400 // ssid8

                  Dual-Band Support:
                  0x00000001 // ethernet
                  0x00000002 // usb (unsupported)
                  0x00000004 // moca
                  0x00000008 // ssid1 & ssid9
                  0x00000010 // ssid2 & ssid10
                  0x00000020 // ssid3 & ssid11
                  0x00000040 // ssid4 & ssid12
                  0x00000080 // ssid5 & ssid13
                  0x00000100 // ssid6 & ssid14
                  0x00000200 // ssid7 & ssid15
                  0x00000400 // ssid8 & ssid16

                  Example of mapping the ethernet, usb, moca, and ssid1 to the
                  primary LAN subnet:
                  0x0000000F = (Integer) 15

                  NOTE - A physical/virtual interface may not be assigned to
                  more than one logical interface."
     ::= { arrisRouterLanSrvEntry 27 }

arrisRouterLanEnvironmentControl OBJECT-TYPE
     SYNTAX      INTEGER { unlocked(0), locked(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Controls whether or not the settings which define the
operating environment of 
                  the logical interface, aka LAN subnet, are changeable via
the GUI. 
                                
                  When equal to unlocked, the environment settings MAY be
changed via the UI. 
                  When equal to locked, the environment settings MAY NOT be
changed via the UI."
     DEFVAL { unlocked }
     ::= { arrisRouterLanSrvEntry 28 }
        
arrisRouterLanPrefixLengthV6 OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "IPV6 The length indicating the routable portion of the prefix.  
                  This length is advertised to the host either through DHCP or 
		  router advertisement.  The host uses this length as a clue to generate 
		  the rest of the bits which makes up its 128-bit address."
     ::= { arrisRouterLanSrvEntry 29 }
                  
arrisRouterLanUseDHCPV6 OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Enable or disable the local DHCPv6 server on this VLan."
     DEFVAL	{ true }
     ::= { arrisRouterLanSrvEntry 30 }
    
arrisRouterLanStartDHCPV6 OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 The start of the range of IP addresses to be handed out by this DHCP server.
                  NOTE - Only 128 - prefix_length(arrisRouterLanPrefixLengthV6) bits should be configured."
     ::= { arrisRouterLanSrvEntry 31 }

arrisRouterLanEndDHCPV6 OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 The end of the range of IP addresses to be handed out by this DHCP instace.
                  NOTE - Only 128 - prefix_length(arrisRouterLanPrefixLengthV6) bits should be configured."
     ::= { arrisRouterLanSrvEntry 32 }

arrisRouterLanLeaseTimeV6 OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 lease time for dynamic (DHCP) IP addresses handed out by this DHCP server."
     ::= { arrisRouterLanSrvEntry 33 }

arrisRouterLanLinkLocalAddressV6 OBJECT-TYPE
     SYNTAX      InetAddressIPv6 
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Link local IPV6 address"
     ::= { arrisRouterLanSrvEntry 34 }
 
arrisRouterLanDNSRelayV6 OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Enable or disable DNS relay."
     DEFVAL	{ false }
     ::= { arrisRouterLanSrvEntry 35 }

arrisRouterLanDNSOverrideV6 OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Enable or disable DNS override.  If DNS override is true the IPv6 addresses in 
                  arrisRouterLanDNSTable will be passed to LAN clients via DHCPv6.  Otherwise, the DNS 
                  servers received by the WAN connection will be passed to the LAN clients."
     DEFVAL	{ false }
     ::= { arrisRouterLanSrvEntry 36 }

arrisRouterLanPreProvLeaseTime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS               "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The length of the lease time for dynamic (DHCP) IP addresses handed out by this device prior
                  to Gateway provisioning."
     ::= { arrisRouterLanSrvEntry 37 }
     
arrisRouterLanParentalControlsEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write 
     STATUS      current
     DESCRIPTION "Enable or disable the Parent Control to this subnet."
     DEFVAL { false }
     ::= { arrisRouterLanSrvEntry 39 }
 
arrisRouterLanDNSTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains DSN server information for a specific Lan."
      ::= { arrisRouterLanConfig 3 }   
 
arrisRouterLanDNSEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanDNSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains DNS server information for a specific Lan."
      INDEX { ifIndex, arrisRouterLanDNSIdx }	--from IF-MIB
      ::= { arrisRouterLanDNSTable 1 }  
  
ArrisRouterLanDNSEntry ::= SEQUENCE {
		arrisRouterLanDNSIdx				Unsigned32,
		arrisRouterLanDNSIPAddrType 		InetAddressType,
		arrisRouterLanDNSIPAddr 			InetAddress,
		arrisRouterLanDNSRowStatus			RowStatus
		}

arrisRouterLanDNSIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (1..6)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index, also corresponds to the order/priority of the DNS servers for lookups. 
				 Current implementation only supports 3 IPv4 and 3 IPv6 DNS servers"
     ::= { arrisRouterLanDNSEntry 1 }

arrisRouterLanDNSIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Internet address type for the DNS server"
     ::= { arrisRouterLanDNSEntry 2 }

arrisRouterLanDNSIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Internet address for the DNS server"
     ::= { arrisRouterLanDNSEntry 3 }

arrisRouterLanDNSRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add or remove DNS row entries"
     ::= { arrisRouterLanDNSEntry 4 }

-- arrisRouterLanDNSEntry End

-- list of currently connected clients

arrisRouterClientObjects		OBJECT IDENTIFIER ::= { arrisRouterLanConfig 4 }

arrisRouterLanClientCount OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Current count of clients on this Lan.  This corresponds to the number of rows in arrisRouterLanClientTable"
     ::= { arrisRouterClientObjects 1 }

arrisRouterLanClientTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanClientEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of DHCP clients for this Lan."
      ::= { arrisRouterClientObjects 2 }
  
arrisRouterLanClientEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanClientEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of DHCP clients for this Lan."
      INDEX { ifIndex, arrisRouterLanClientIPAddrType, arrisRouterLanClientIPAddr }
      ::= { arrisRouterLanClientTable 1 }
    
ArrisRouterLanClientEntry ::= SEQUENCE {
		arrisRouterLanClientIPAddrType          InetAddressType,
		arrisRouterLanClientIPAddr              InetAddress,
		arrisRouterLanClientHostName            DisplayString,
		arrisRouterLanClientMAC                 MacAddress,
		arrisRouterLanClientAdapterType         INTEGER,
		arrisRouterLanClientType                INTEGER,
		arrisRouterLanClientLeaseEnd            DateAndTime,
		arrisRouterLanClientRowStatus           RowStatus,
		arrisRouterLanClientOnline              INTEGER,
		arrisRouterLanClientComment             DisplayString,
		arrisRouterLanClientManufacturerOUI     DisplayString,
		arrisRouterLanClientSerialNumber        DisplayString,
		arrisRouterLanClientProductClass        DisplayString,
                arrisRouterLanClientDeviceName          DisplayString,
		arrisRouterLanClientLastChange          Integer32,
                arrisRouterLanClientTimeConnected      Integer32
		}
		

arrisRouterLanClientIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Current IP address type for the DHCP client."
     ::= { arrisRouterLanClientEntry 1 }

arrisRouterLanClientIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Current IP address for the DHCP client."
     ::= { arrisRouterLanClientEntry 2 }
  
arrisRouterLanClientHostName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Hostname for the DHCP client."
     ::= { arrisRouterLanClientEntry 3 }
		
arrisRouterLanClientMAC OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "MAC address of the DHCP client."
     ::= { arrisRouterLanClientEntry 4 }
     
arrisRouterLanClientAdapterType OBJECT-TYPE
     SYNTAX      INTEGER {  unknown(0),
                            ethernet(1),
                            usb(2),
                            moca(3),
                            dsg(4),
                            wireless1(5),
                            wireless2(6),
                            wireless3(7),
                            wireless4(8),
                            wireless5(9),
                            wireless6(10),
                            wireless7(11),
                            wireless8(12),
                            wireless9(13),
                            wireless10(14),
                            wireless11(15),
                            wireless12(16),
                            wireless13(17),
                            wireless14(18),
                            wireless15(19),
                            wireless16(20),
                            ethernet2(21),
                            ethernet3(22),
                            ethernet4(23)
                            }
     MAX-ACCESS	read-only
     STATUS		current
     DESCRIPTION "The type of the adapter."
     ::= { arrisRouterLanClientEntry 6 }
    
arrisRouterLanClientType OBJECT-TYPE
     SYNTAX      INTEGER { unknown(0), dynamic(1), static(5), dynamicReserved(6) }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Type of IP address.  Value list:
                                              1: unknown(0)  ( No client should use this value) 
                                              2: dynamic(1)  ( The client IP address is in DHCPv6 or DHCPv6 lease file, but it don't configured as Reserved client on WebGUI)
                                              3: static(5)  (If the client is online, and we can't find the client information in  DHCPv4 or DHCPv6 lease file and it is not configured as Reserved client on WebGUI, then we put it types to static. Notice IPv6 stateless client and link local client would also tagged as this type)
                                              4: dynamic_reserved(6) (The Reserved client configured on WebGUI.)"
     ::= { arrisRouterLanClientEntry 7 }

     
arrisRouterLanClientLeaseEnd OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The time and date when this lease expires.  If arrisRouterLanClientType is static this is meaningless and will return an unspecified date/time."
     ::= { arrisRouterLanClientEntry 9 }


arrisRouterLanClientRowStatus OBJECT-TYPE
     SYNTAX			RowStatus
     MAX-ACCESS		read-create
     STATUS current
     DESCRIPTION "To create or remove static clients.  It is not possible to remove rows that correspond to dynamic IP addresses."
     ::= { arrisRouterLanClientEntry 13 }

arrisRouterLanClientOnline OBJECT-TYPE
     SYNTAX      INTEGER { offline(0), online(1) }
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "Returns the if the client is currently online (connected/active) or offline."
     ::= { arrisRouterLanClientEntry 14 }

arrisRouterLanClientComment OBJECT-TYPE
	 SYNTAX DisplayString 
     MAX-ACCESS read-create
     STATUS deprecated
     DESCRIPTION "Comment field for the client."
     ::= { arrisRouterLanClientEntry 15 }

arrisRouterLanClientManufacturerOUI OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..6))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Organizationally unique identifier of the Device manufacturer as provided to the Gateway by the Device. 
	             Represented as a six hexadecimal-digit value using all upper-case letters and including any leading zeros. Possible patterns:

                     [0-9A-F]{0..6} "
     ::= { arrisRouterLanClientEntry 17 }

arrisRouterLanClientSerialNumber OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Serial number of the Device as provided to the Gateway by the Device."
     ::= { arrisRouterLanClientEntry 18 }
	 
arrisRouterLanClientProductClass OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Identifier of the class of product for which the Device's serial number applies as provided to the Gateway by the Device.
                 If the Device does not provide a Product Class, then this parameter MUST be an empty string."
     ::= { arrisRouterLanClientEntry 19 }

arrisRouterLanClientDeviceName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Device name."
     ::= { arrisRouterLanClientEntry 20 }

arrisRouterLanClientLastChange OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "seconds"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "Returns the time from last change state to now."
     ::= { arrisRouterLanClientEntry 24 }
     
arrisRouterLanClientTimeConnected OBJECT-TYPE
     SYNTAX      Integer32
     UNITS      "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Returns the time since connected in seconds."
     ::= { arrisRouterLanClientEntry 25 }
-- ---------------------------------------------------------------------
-- LAN Client Table extension for DHCP Options
-- ---------------------------------------------------------------------

arrisRouterLanClientDHCPOptionsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanClientDHCPOptionsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of DHCP clients for this Lan."
      ::= { arrisRouterClientObjects 8 }

arrisRouterLanClientDHCPOptionsEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanClientDHCPOptionsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of DHCP clients for this Lan."
      INDEX { ifIndex, arrisRouterLanClientIPAddrType, arrisRouterLanClientIPAddr, arrisRouterLanClientDHCPOptionsIdx }
      ::= { arrisRouterLanClientDHCPOptionsTable 1 }

ArrisRouterLanClientDHCPOptionsEntry ::= SEQUENCE {
        arrisRouterLanClientDHCPOptionsIdx          Unsigned32,
        arrisRouterLanClientDHCPOptionsTag          Unsigned32,
        arrisRouterLanClientDHCPOptionsValue        DisplayString,
        arrisRouterLanClientDHCPOptionsRowStatus    RowStatus
        }

arrisRouterLanClientDHCPOptionsIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (1..4)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanClientDHCPOptionsEntry 1 }

arrisRouterLanClientDHCPOptionsTag OBJECT-TYPE
     SYNTAX      Unsigned32 (1..254)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "DHCP Option Number"
     ::= { arrisRouterLanClientDHCPOptionsEntry 2 }

arrisRouterLanClientDHCPOptionsValue OBJECT-TYPE
     SYNTAX DisplayString (SIZE(0..64))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "DHCP Option Value."
     ::= { arrisRouterLanClientDHCPOptionsEntry 3 }

arrisRouterLanClientDHCPOptionsRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add or remove DHCP Options row entries"
     ::= { arrisRouterLanClientDHCPOptionsEntry 4 } 

-- up/down history for client devices

arrisRouterDeviceUpDownTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterDeviceUpDownEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "This table contains information on when client devices connected to this Router are up and accessible."
     ::= { arrisRouterClientObjects 3 }

arrisRouterDeviceUpDownEntry OBJECT-TYPE
     SYNTAX      ArrisRouterDeviceUpDownEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "This table contains information on when client devices connected to this Router are up and accessible."
     INDEX { ifIndex, arrisRouterDeviceUpDownIndex }
     ::= {  arrisRouterDeviceUpDownTable 1 }

ArrisRouterDeviceUpDownEntry ::= SEQUENCE {
		 arrisRouterDeviceUpDownIndex		Integer32,		
         arrisRouterDeviceUpDownMAC			MacAddress,     
		 arrisRouterDeviceUpDownIPType		InetAddressType,
         arrisRouterDeviceUpDownStatus		RowStatus
         }

    
arrisRouterDeviceUpDownIndex OBJECT-TYPE
     SYNTAX      Integer32 (1..30)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "Index used to order the arrisRouterClientsUpDownTable entries."
     ::= { arrisRouterDeviceUpDownEntry 1 }
    
arrisRouterDeviceUpDownMAC OBJECT-TYPE 
     SYNTAX      MacAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "MAC address of the client.  This is used to index the table."
     ::= { arrisRouterDeviceUpDownEntry 2 }
     
arrisRouterDeviceUpDownIPType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The IP address type for the client during the time period specified by this row."
     ::= { arrisRouterDeviceUpDownEntry 3 }

          
arrisRouterDeviceUpDownStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "This is ONLY used to remove rows/items from this table"
     ::= { arrisRouterDeviceUpDownEntry 7 }
     

arrisRouterLanCustomCount OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Current count of custom mapping of LAN clients to friendly names and other attributes.  This corresponds to the number of rows in arrisRouterLanClientCustomTable"
     ::= { arrisRouterClientObjects 4 }


-- This table supports up to 25 devices.

arrisRouterLanCustomTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanCustomEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of mapping of LAN clients to friendly names and other attributes.  
					The table can be used to look up clients by IP address or MAC address or both. 
					The only field the system will fill-in automaticaly is arrisRouterLanCustomMACMfg."
      ::= { arrisRouterClientObjects 5 }
  
arrisRouterLanCustomEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanCustomEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the set of mapping of LAN clients to friendly names and other attributes.  
					The table can be used to look up clients by IP address or MAC address or both. 
					The only field the system will fill-in automaticaly is arrisRouterLanCustomMACMfg."      
      INDEX { arrisRouterLanCustomIdx }
      ::= { arrisRouterLanCustomTable 1 }
    
ArrisRouterLanCustomEntry ::= SEQUENCE {
		arrisRouterLanCustomIdx				Unsigned32,
		arrisRouterLanCustomMAC				MacAddress,		
		arrisRouterLanCustomIPAddrType		InetAddressType,
		arrisRouterLanCustomIPAddr			InetAddress,
		arrisRouterLanCustomFriendName		DisplayString,
		arrisRouterLanCustomHostName		DisplayString,	
		arrisRouterLanCustomMACMfg			DisplayString,
		arrisRouterLanCustomComments		DisplayString,
		arrisRouterLanCustomRowStatus		RowStatus
		}

arrisRouterLanCustomIdx OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index."
     ::= { arrisRouterLanCustomEntry 1 }

arrisRouterLanCustomMAC OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "MAC address of the client.  This is used to index the table."
     ::= { arrisRouterLanCustomEntry 2 }
     
arrisRouterLanCustomIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The IP address.  This is optional but either the IP or MAC should be present."
     ::= { arrisRouterLanCustomEntry 3 }

arrisRouterLanCustomIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The IP address.  This is optional but either the IP or MAC should be present."
     ::= { arrisRouterLanCustomEntry 4 }
   
arrisRouterLanCustomFriendName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(0..64))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The 'friendly' name for this client.  The default is the host name.
					Users can edit this via a user interface."
     ::= { arrisRouterLanCustomEntry 5 }     
		
arrisRouterLanCustomHostName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(0..64))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Hostname for the client."
     ::= { arrisRouterLanCustomEntry 6 }

arrisRouterLanCustomMACMfg OBJECT-TYPE
	 SYNTAX DisplayString (SIZE(0..64))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The manufacturer of the hardware adapter."
     ::= { arrisRouterLanCustomEntry 7 } 
     
arrisRouterLanCustomComments OBJECT-TYPE
	 SYNTAX DisplayString 
     MAX-ACCESS read-create
     STATUS current
     DESCRIPTION "Additional comments."
     ::= { arrisRouterLanCustomEntry 8 } 
 
arrisRouterLanCustomRowStatus OBJECT-TYPE
      SYNTAX     RowStatus
      MAX-ACCESS read-create
      STATUS     current
      DESCRIPTION
		  "Set to true(1) to remove this device from the list/table"
      ::= { arrisRouterLanCustomEntry 9 }



-- RIP settings

arrisRouterRIPObjects		OBJECT IDENTIFIER ::= { arrisRouterLanConfig 5 }
      
arrisRouterRIPEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/disable RIP authentication."
     ::= { arrisRouterRIPObjects 1 }
	
arrisRouterRIPAuthEnable OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), disable(0), textAuth(1), md5Auth(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/disable RIP authentication and type."
	 DEFVAL	{ disable }
     ::= { arrisRouterRIPObjects 2 }

arrisRouterRIPReportTime OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS		 "seconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP reporting interval."
     DEFVAL  { 30 }
     ::= { arrisRouterRIPObjects 3 }

arrisRouterRIPAuthKeyString OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(0..16))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP authentication key."
     ::= { arrisRouterRIPObjects 4 }

arrisRouterRIPAuthKeyID OBJECT-TYPE
     SYNTAX      Integer32 (0..255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP authentication key identifier."
     ::= { arrisRouterRIPObjects 5 }

arrisRouterRIPIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP destination IP address type."
     ::= { arrisRouterRIPObjects 6 }

arrisRouterRIPIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP unicast reporting destination IP address.
				  If this is configured to an ip address other than 0.0.0.0, 
				  then the RIP messaging ( which is generally multicasted upstream ) will be unicasted to this ip address."
     ::= { arrisRouterRIPObjects 7 }

arrisRouterRIPPrefixLen OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The prefix for the routed subnet. This value can be set or the value: arrisRouterRIPSubnetMask.
				For additional details see the description for: arrisRouterRIPRoutedNetIP"
     ::= { arrisRouterRIPObjects 8 }

arrisRouterRIPAuthKeyChain OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(0..64))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "RIP authentication key chain."
     ::= { arrisRouterRIPObjects 9 }

arrisRouterRIPRoutedSubnetIPType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The IP address type for arrisRouterRIPRoutedNetIP"
     ::= { arrisRouterRIPObjects 10 }

arrisRouterRIPRoutedSubnetIP OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The specific network in the configured subnet that will be adverstised and routed.  
				This feature allows for the configuration of a public LAN-side subnet of hosts which is not necessarily 
				on the same subnet as the CMTS HFC IP address(s), CM IP address, or WAN-MAN IP address subnet. 
				The CPEs belonging to this routed subnet will have their IP addresses assigned statically. 
				The default gateway for these CPEs will be one of the addresses in the configured subnet.
				The gateway IP address specified will become an actual secondary IP address on the device. 
				This secondary IP address will be share a single private LAN interface mac address; that is, 
				there will be (2) IP address on a single stack. (192.168.0.1 and arrisRouterRIPSubnetGWNetIP). 
				The device will also send RIP messages upstream to the CMTS router advertising this LAN-side routed 
				subnet so when frames come into the CMTS router destined to this routed subnet network, 
				the CMTS router will know how to route those frames."
     ::= { arrisRouterRIPObjects 11 }

arrisRouterRIPRoutedSubnetGWNetIPType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The IP address type for arrisRouterRIPRoutedNetIP"
     DEFVAL { ipv4 }
     ::= { arrisRouterRIPObjects 12 }

arrisRouterRIPRoutedSubnetGWNetIP OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
	 DESCRIPTION "See the description of arrisRouterRIPRoutedNetIP.  This is the Gateway IP address for the routable subnet."
     ::= { arrisRouterRIPObjects 13 }

arrisRouterRIPRoutedSubnetMask OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The subnet mask used for the routed subnet.  This value will match arrisRouterRIPPrefixLen.
					Usually prefixes are used with IPv6 and Netmasks are used with IPv4."
     ::= { arrisRouterRIPObjects 14 }

arrisRouterRIPRoutedSubnetEnabled OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If this is enabled, then we will advertise the RIP routed subnet network IP address with the next hop as the CM IP address."
     ::= { arrisRouterRIPObjects 15 }

arrisRouterRIPSendCMInterface OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If this is true/enabled, then RIP advertisements will be sent via the CM IP interface. 
				If this is false/disabled then RIP advertisements will be sent via the eRouter WAN IP interface."
	 DEFVAL { false }
     ::= { arrisRouterRIPObjects 16 }

arrisRouterRIPRoutedSubnetDHCP OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If this is true/enabled, then a DHCP server will be started on the device for the routed subnet.
				If this is false/disabled then the DHCP server will not be started and all LAN-based CPE devices
				will need to be assigned static IP addresses."
	 DEFVAL { false }
     ::= { arrisRouterRIPObjects 17 }

arrisRouterRIPRoutedSubnetNAT OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If this is true/enabled, then a the Routed Subnet will be NATed using the Gateway Ip Address
				If this is false/disabled then the NAT will be disabled for the routed subnet."
	 DEFVAL { false }
     ::= { arrisRouterRIPObjects 18 }


-- NOTE: Setup static routes using RFC4292 or at a minimum RFC 1213/1354		

arrisRouterLanSettings OBJECT-TYPE
     SYNTAX      INTEGER { doNothing(0), applyPrimaryLan(1), applyGuestLans(2), applyAllLans(3), revertSettings(10), resetDefaults(11), restartWLAN(12) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This always returns doNothing(0) when read.
				This applies settings for the primary LAN if applyPrimaryLan(1) is used.  The network will be restarted.
				The network(s) will be restarted and thus connections to these networks 
				will be lost.
				To apply all settings for all networks use applyAllLans(3).
				If applySettings fails, the modified settings will still be in the 'cache' until the device is rebooted or revertSettings(10) is used.
				If several modifications have been made, to revert the settings back to the values stored in the non-volatile store, use revertSettings(10).
				Reset all values in arrisRouterLanTable to their defaults by setting this value to resetDefaults(11).
				Restart the Wireless LAN only (12)."
     ::= { arrisRouterLanConfig 6 }
     
    


arrisRouterLanEtherPortTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanEtherPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains configuration information for the physical Ethernet ports."
      ::= { arrisRouterLanConfig 8 }   
 
arrisRouterLanEtherPortEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanEtherPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains configuration information for the physical Ethernet ports."
      INDEX { arrisRouterLanEtherPortIdx }
      ::= { arrisRouterLanEtherPortTable 1 }  
  
ArrisRouterLanEtherPortEntry ::= SEQUENCE {
		arrisRouterLanEtherPortIdx			Unsigned32,
		arrisRouterLanEtherPortIFIndex 		Integer32,
		arrisRouterLanEtherPortEnabled		INTEGER,
		arrisRouterLanEtherPortDuplex		INTEGER,
		arrisRouterLanEtherPortSpeed		Integer32,
		arrisRouterLanEtherPortAuto			INTEGER,
		arrisRouterLanEtherPortHasLink      TruthValue
		}

arrisRouterLanEtherPortIdx OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanEtherPortEntry 1 }

arrisRouterLanEtherPortIFIndex OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Corresponding IF Index in the MIB-2 IFTable"
     ::= { arrisRouterLanEtherPortEntry 2 }

arrisRouterLanEtherPortEnabled OBJECT-TYPE
     SYNTAX      INTEGER { disabled(0), enabled(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get and set if this Ethernet port is enabled."
	 DEFVAL	{ enabled }
     ::= { arrisRouterLanEtherPortEntry 3 }

arrisRouterLanEtherPortDuplex OBJECT-TYPE
     SYNTAX      INTEGER { halfDuplex(0), fullDuplex(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get and set the duplex setting for this Ethernet port.
					The device may need to be rebooted to apply this settings"
	 DEFVAL	{ fullDuplex }
     ::= { arrisRouterLanEtherPortEntry 4 }

arrisRouterLanEtherPortSpeed OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get and set the speed setting for this Ethernet port.  This is the configured speed of the port if auto-negotiate is OFF.  
					To query the actual current speed of the interface use the MIB-2 OID: .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifSpeed.
					Valid values are 10, 100, and 1000 in units of megabits/second.
					The device may need to be rebooted to apply this settings."
     ::= { arrisRouterLanEtherPortEntry 5 }

arrisRouterLanEtherPortAuto OBJECT-TYPE
     SYNTAX      INTEGER { manualConfigure(0), autoNegotiate(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get and set the 'auto-negotiate' setting for this Ethernet port.  
				 If the port is set to 'autoNegotiate', the settings for 'arrisRouterLanEtherPortDuplex' 
				 and 'arrisRouterLanEtherPortSpeed' are not used.
				 The device may need to be rebooted to apply this settings"
	 DEFVAL	{ autoNegotiate }
     ::= { arrisRouterLanEtherPortEntry 6 }

arrisRouterLanEtherPortHasLink OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Get if the Ethernet port has 'link' or not."
     ::= { arrisRouterLanEtherPortEntry 7 }
	 		
-- RIPng settings

arrisRouterRIPngObjects		OBJECT IDENTIFIER ::= { arrisRouterLanConfig 9 }
      
arrisRouterRIPngEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Enable/disable RIPng ."
     ::= { arrisRouterRIPngObjects 1 }

arrisRouterRIPngAddr OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 RIPng unicast reporting destination IP address."
     ::= { arrisRouterRIPngObjects 2 }      

arrisRouterRIPngSubnetEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 Enable/disable RIPng subnet."
     ::= { arrisRouterRIPngObjects 3 }     
       
arrisRouterRIPngRoutedSubnetAddr OBJECT-TYPE
     SYNTAX      InetAddressIPv6
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 specific network in the configured subnet that will be adverstised and routed."
     ::= { arrisRouterRIPngObjects 4 }    
     
arrisRouterRIPngRoutedSubnetPrefixLength OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "IPV6 rip prefix length"
     DEFVAL	     { 64 }
     ::= { arrisRouterRIPngObjects 5 }

arrisRouterRIPngSendCMInterface OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current	    
     DESCRIPTION "IPV6 If set to TRUE, then RIPng advertisements will be sent via the CM IP interface. 
                  If this set to FALSE, then RIP advertisements will be sent via the eRouter WAN IP interface."
     DEFVAL	     { false } 
     ::= { arrisRouterRIPngObjects 6 }

-- DHCP Options setting
 
arrisRouterLanSrvDHCPOptionsTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanSrvDHCPOptionsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains DHCP server option information for a specific Lan."
      ::= { arrisRouterLanConfig 11 }   
 
arrisRouterLanSrvDHCPOptionsEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanSrvDHCPOptionsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains DHCP server option information for a specific Lan."
      INDEX { ifIndex, arrisRouterLanSrvDHCPOptionsIdx }	--from IF-MIB
      ::= { arrisRouterLanSrvDHCPOptionsTable 1 }  
  
ArrisRouterLanSrvDHCPOptionsEntry ::= SEQUENCE {
            arrisRouterLanSrvDHCPOptionsIdx                        Unsigned32,
            arrisRouterLanSrvDHCPOptionsEnable                     TruthValue,
            arrisRouterLanSrvDHCPOptionsIPAddrType                 InetAddressType,
            arrisRouterLanSrvDHCPOptionsTag                        Unsigned32,
            arrisRouterLanSrvDHCPOptionsValue                      DisplayString,
            arrisRouterLanSrvDHCPOptionsRowStatus                  RowStatus
            }

arrisRouterLanSrvDHCPOptionsIdx OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanSrvDHCPOptionsEntry 1 }

arrisRouterLanSrvDHCPOptionsEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current	    
     DESCRIPTION "DHCP Option Enable"
     DEFVAL	     { true } 
     ::= { arrisRouterLanSrvDHCPOptionsEntry 2 }

arrisRouterLanSrvDHCPOptionsIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Internet address type for the DHCP server"
     ::= { arrisRouterLanSrvDHCPOptionsEntry 3 }

arrisRouterLanSrvDHCPOptionsTag OBJECT-TYPE
     SYNTAX      Unsigned32 (1..254)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "DHCP Option Number"
     ::= { arrisRouterLanSrvDHCPOptionsEntry 4 }

arrisRouterLanSrvDHCPOptionsValue OBJECT-TYPE
     SYNTAX DisplayString (SIZE(0..64))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "DHCP Option Value."
     ::= { arrisRouterLanSrvDHCPOptionsEntry 5 }

arrisRouterLanSrvDHCPOptionsRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add or remove DHCP Options row entries"
     ::= { arrisRouterLanSrvDHCPOptionsEntry 6 }

arrisRouterLanMaxIPv6RAInterval OBJECT-TYPE
	 SYNTAX      Unsigned32
	 UNITS       "seconds"
	 MAX-ACCESS  read-write
	 STATUS      current
	 DESCRIPTION "The maximum interval between IPv6 router advertisements. Must
                      be positive and no less than minimum IPv6 RA interval."
	 DEFVAL      { 3 }
	 ::= { arrisRouterLanConfig 13 }

arrisRouterLanMinIPv6RAInterval OBJECT-TYPE
	 SYNTAX      Unsigned32
	 UNITS       "seconds"
	 MAX-ACCESS  read-write
	 STATUS      current
	 DESCRIPTION "The minimum interval between IPv6 router advertisements. Must
                      be positive and no more than maximum IPv6 RA interval."
	 DEFVAL      { 3 }
	 ::= { arrisRouterLanConfig 14 }

arrisRouterLanBridgeType OBJECT-TYPE
     SYNTAX      INTEGER { subnetBridge(0), fullBridge(1)}
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Control the behavior of switching NAT Mode among 'RoutedWithNAT', 'RoutedWithoutNAT' and 'Bridged' on LAN Setup WEB GUI page. 
                  subnetBridge(0): When switch NAT mode from 'RoutedWithNAT' or 'RoutedWithoutNAT' to 'Bridged', put the subnet into subnet level bridge mode. 
                                   When switch NAT mode from 'Bridged' back to 'RoutedWithoutNAT' or 'RoutedWithNAT', put the subnet into route mode.                                                
                  
                  fullBridge(1):   When switch NAT mode from 'RoutedWithNAT' or 'RoutedWithoutNAT' to 'Bridged', put the whole eRouter into device level bridge mode. 
                               No IP address will be assigned to eRouter WAN interface.
                                   When switch NAT mode from 'Bridged' back to 'RoutedWithoutNAT' or 'RoutedWithNAT', put eRouter into default dualStack mode."
     DEFVAL { subnetBridge }
     ::= { arrisRouterLanConfig 15 }

arrisRouterLanIPv6RALifetime OBJECT-TYPE
         SYNTAX      Unsigned32
         UNITS       "seconds"
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "The value to be placed in the router lifetime field of
                      router advertisements sent from this interface.  This value
                      MUST be either 0 or between ipv6RouterAdvertMaxInterval and 9000 seconds.

                      A value of zero indicates that the router is not to be used as a default router.
                      The default is 1800"
         DEFVAL      { 1800 }
         ::= { arrisRouterLanConfig 19 }

-- This is USB port information

arrisRouterLanUSBPortTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanUSBPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains configuration information for the physical USB ports."
      ::= { arrisRouterLanConfig 16 }   

arrisRouterLanUSBPortEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanUSBPortEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains configuration information for the physical USB ports."
      INDEX { arrisRouterLanUSBPortIdx }
      ::= { arrisRouterLanUSBPortTable 1 }  

ArrisRouterLanUSBPortEntry ::= SEQUENCE {
		arrisRouterLanUSBPortIdx			Unsigned32,
		arrisRouterLanUSBPortHasLink		TruthValue,
		arrisRouterLanUSBPortDescr		       DisplayString,
		arrisRouterLanUSBPortSerialNum	       DisplayString,
		arrisRouterLanUSBPortSpeed              Integer32,
		arrisRouterLanUSBPortManuf               DisplayString,
		arrisRouterLanUSBPortStorageNam      DisplayString,
		arrisRouterLanUSBPortFileSys              DisplayString,
		arrisRouterLanUSBPortSpaceAvail        DisplayString,
		arrisRouterLanUSBPortTotalSpace        DisplayString,
		arrisRouterLanUsbPortFoldersFile       DisplayString,
		arrisRouterLanUSBPortDelStorage        TruthValue
		}

arrisRouterLanUSBPortIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (1..2)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanUSBPortEntry 1 }

arrisRouterLanUSBPortHasLink OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Get whether the USB port has 'link' or not."
     ::= { arrisRouterLanUSBPortEntry 2 }

arrisRouterLanUSBPortDescr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Description of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 3 }

arrisRouterLanUSBPortSerialNum OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Serial number of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 4 }

arrisRouterLanUSBPortSpeed OBJECT-TYPE
     SYNTAX      Integer32
     UNITS	   "Mbps"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Get the speed for the USB port."
     ::= { arrisRouterLanUSBPortEntry 5 }

arrisRouterLanUSBPortManuf OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Get manufacturer information of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 6 }

arrisRouterLanUSBPortStorageNam OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get/Set storage name of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 7 }

arrisRouterLanUSBPortFileSys OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Get file system used by the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 8 }

arrisRouterLanUSBPortSpaceAvail OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Space available of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 9 }

arrisRouterLanUSBPortTotalSpace OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total space of the connected USB device."
    ::= { arrisRouterLanUSBPortEntry 10 }

arrisRouterLanUsbPortFoldersFile OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "save file name, the file is used to save first-level folders on USB"
     ::= { arrisRouterLanUSBPortEntry 11 }

arrisRouterLanUSBPortDelStorage OBJECT-TYPE
    SYNTAX     TruthValue 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION "Set to true to delete the USB storage."
    ::= { arrisRouterLanUSBPortEntry 12 }

-- This is file sharing information
arrisRouterLanFileSharingObjs		OBJECT IDENTIFIER ::= { arrisRouterLanConfig 17 }

arrisRouterLanFilesharingEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "enable/disable fire sharing"
     DEFVAL	{ true }
     ::= { arrisRouterLanFileSharingObjs 1 }

arrisRouterLanFilesharingDevName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..32))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "network device name"
     ::= { arrisRouterLanFileSharingObjs 2 }

arrisRouterLanFileSharingTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanFilesharingEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the information of the sharing."
      ::= { arrisRouterLanFileSharingObjs 3 }
  
arrisRouterLanFileSharingEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanFilesharingEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information of the sharing."
      INDEX { arrisRouterLanFilesharingIdx }
      ::= { arrisRouterLanFileSharingTable 1 }
    
ArrisRouterLanFilesharingEntry ::= SEQUENCE {
		arrisRouterLanFilesharingIdx            Unsigned32,
		arrisRouterLanFilesharingRowStatus      RowStatus,
		arrisRouterLanFilesharingUsbPort        Unsigned32,
		arrisRouterLanFilesharingDirectory      DisplayString,
		arrisRouterLanFilesharingName           DisplayString,
		arrisRouterLanFilesharingEnableHttp     TruthValue,
		arrisRouterLanFilesharingEnableFtp      TruthValue,
		arrisRouterLanFilesharingVisibility     TruthValue,
		arrisRouterLanFilesharingEveryOnePerm   INTEGER,
    arrisRouterLanFilesharingDesc           DisplayString
		}


arrisRouterLanFilesharingIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (1..32)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanFileSharingEntry 1 }

arrisRouterLanFilesharingRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add/remove rows from the table"
     ::= { arrisRouterLanFileSharingEntry 2 }

arrisRouterLanFilesharingUsbPort OBJECT-TYPE
     SYNTAX      Unsigned32 (1..2)
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "USB port"
     ::= { arrisRouterLanFileSharingEntry 3 }

arrisRouterLanFilesharingDirectory OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "share directory"
     ::= { arrisRouterLanFileSharingEntry 4 }

arrisRouterLanFilesharingName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..32))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "share name"
     ::= { arrisRouterLanFileSharingEntry 5 }

arrisRouterLanFilesharingEnableHttp OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "enable/disable http for this share"
     DEFVAL	{ false }
     ::= { arrisRouterLanFileSharingEntry 6 }

arrisRouterLanFilesharingEnableFtp OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "enable/disable ftp for this share"
     DEFVAL	{ false }
     ::= { arrisRouterLanFileSharingEntry 7 }

arrisRouterLanFilesharingVisibility OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "whether permit everyone to access the share"
     DEFVAL	{ true }
     ::= { arrisRouterLanFileSharingEntry 8}

arrisRouterLanFilesharingEveryOnePerm OBJECT-TYPE
     SYNTAX      INTEGER { noAccess(0), readOnly(1), writeOnly(2), readandWrite(3)}
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "everyone permission, it is available only when arrisRouterLanFilesharingVisibility is set to TRUE"
     ::= { arrisRouterLanFileSharingEntry 9}

arrisRouterLanFilesharingDesc OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..128))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "description for the share"
     ::= { arrisRouterLanFileSharingEntry 10 }

arrisRouterLanLocalUserTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanLocalUserEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the user permissions for share ."
      ::= { arrisRouterLanFileSharingObjs 4 }
  
arrisRouterLanLocalUserEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanLocalUserEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the user permissions for share."
      INDEX { arrisRouterLanLocalUserIdx }
      ::= { arrisRouterLanLocalUserTable 1 }
    
ArrisRouterLanLocalUserEntry ::= SEQUENCE {
		arrisRouterLanLocalUserIdx        Unsigned32,
		arrisRouterLanLocalUserRowStatus  RowStatus,
		arrisRouterLanLocalUserName       DisplayString,
		arrisRouterLanLocalUserPasswd     DisplayString
		}

arrisRouterLanLocalUserIdx OBJECT-TYPE
     SYNTAX      Unsigned32 (1..32)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterLanLocalUserEntry 1 }
 
 arrisRouterLanLocalUserRowStatus OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "RowStatus used to add/remove rows from the table"
     ::= { arrisRouterLanLocalUserEntry 2 }

arrisRouterLanLocalUserName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..32))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Local user name"
     ::= { arrisRouterLanLocalUserEntry 3 }

arrisRouterLanLocalUserPasswd OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..32))
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Local user password"
     ::= { arrisRouterLanLocalUserEntry 4 }

arrisRouterLanFilesharingPermitTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterLanFilesharingPermitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the user permissions for share ."
      ::= { arrisRouterLanFileSharingObjs 5 }
  
arrisRouterLanFilesharingPermitEntry OBJECT-TYPE
      SYNTAX      ArrisRouterLanFilesharingPermitEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains the user permissions for share."
      INDEX { arrisRouterLanFilesharingIdx,arrisRouterLanLocalUserIdx }
      ::= { arrisRouterLanFilesharingPermitTable 1 }
    
ArrisRouterLanFilesharingPermitEntry ::= SEQUENCE {
		arrisRouterLanFilesharingPermitvalue     INTEGER
		}

arrisRouterLanFilesharingPermitvalue OBJECT-TYPE
     SYNTAX      INTEGER { noAccess(0), readOnly(1), writeOnly(2), readandWrite(3)}
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "User permission, it is available only when arrisRouterLanFilesharingVisibility is set to FALSE"
     ::= { arrisRouterLanFilesharingPermitEntry 1}


-- This is Wireless (WI-FI) config

arrisRouterWiFiCountry OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(2))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Wireless country code"
     ::= { arrisRouterWirelessCfg 1 }

arrisRouterWiFiChannel OBJECT-TYPE
     SYNTAX     Unsigned32 (0..216)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Controls and reflects the current channel number (802.11g) or
				 control channel (802.11n).
				 
				 If set to (0), the device will be put in auto-channel mode where it automatically scans 
				 for the least-crowded channel.

				 For 802.11g cards, available channels are 1-14. 
				 For 802.11n cards, available channels are 34-216.
				 Channel selection is also subject to restrictions based on the selected
				 country code."
     ::= { arrisRouterWirelessCfg 2 }

arrisRouterWiFiMode OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), mixBG(0), bOnly(1), gOnly(4), nOnly(6), mixGN(7), mixBGN(9) }     
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Controls and reflects the behavior of the device with regards to which
				flavor of 802.11 is used. "				
     ::= { arrisRouterWirelessCfg 3 }

arrisRouterWiFiBGProtect OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Controls and reflects the state of 54g protection.  If set to true(1),
				 the AP will use RTS/CTS to improve 802.11g performance in mixed 
				 802.11g/802.11b networks.  Set to false(2) to maximize 802.11g 
				 throughput under most conditions."
	 DEFVAL { false }
     ::= { arrisRouterWirelessCfg 4 }

arrisRouterWiFiBeaconInterval OBJECT-TYPE
     SYNTAX      Unsigned32 (1..65535)
     UNITS		 "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Amount of time between beacon transmissions."
     DEFVAL { 100 }
     ::= { arrisRouterWirelessCfg 5 }

arrisRouterWiFiDTIMInterval OBJECT-TYPE
     SYNTAX      Unsigned32 (1..255)
     UNITS		 "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Amount of time between Delivery Traffic Indication Messages."
     DEFVAL { 1 }
     ::= { arrisRouterWirelessCfg 6 }

arrisRouterWiFiTxPreamble OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), long(0), short(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This attribute, indicates whether the transfer preamble is long or short."
     DEFVAL { 0 }
     ::= { arrisRouterWirelessCfg 7 }

arrisRouterWiFiRTSThreshold OBJECT-TYPE
     SYNTAX      Unsigned32 (0..2347)
     UNITS       "bytes"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION 
		"The RTS (Request to Send) Threshold indicates the number of bytes in an MPDU,
        below which an RTS/CTS handshake shall not be performed. An RTS/CTS handshake shall 
        be performed at the beginning of any frame exchange sequence where the MPDU is of type Data or
        Management, the MPDU has an individual address in the Address1 field, and the length of the MPDU is greater than
        this threshold. Setting this attribute to be larger than the maximum MSDU size shall have the effect of 
        turning off the RTS/CTS handshake for frames of Data or Management type transmitted by
        this device. Setting this attribute to zero shall have the effect of turning on the RTS/CTS handshake for 
        all frames of Data or Management type transmitted by this device. "
     DEFVAL { 2347 }
     ::= { arrisRouterWirelessCfg 8 }

arrisRouterWiFiFragmentThresh OBJECT-TYPE
     SYNTAX      Unsigned32 (256..2346)
     UNITS       "bytes"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This value specifies the maximum size of a packet before the data is fragmented into two or more packets"
     DEFVAL { 2346 }
     ::= { arrisRouterWirelessCfg 9 }

arrisRouterWiFiShortSlot OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable short slot time.The amount of time a device waits after a collision
					before retransmitting a packet. You can increase throughput on 802.11g,
					2.4-GHz radios by enabling short slot time"				
     DEFVAL { true }
     ::= { arrisRouterWirelessCfg 10 }

arrisRouterWiFiFrameBurst OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Bursting may increase the throughput of link connection in certain
					conditions. This can result in the ability to support higher data
					throughput in mixed and uniform networks. Also known as 'XPress Technology'"     
     DEFVAL { true }
     ::= { arrisRouterWirelessCfg 11 }

arrisRouterWiFiEnableRadio OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable WiFi radio." 
     DEFVAL { true }
     ::= { arrisRouterWirelessCfg 12 }

arrisRouterWiFiShortRetryLimit OBJECT-TYPE
     SYNTAX      Integer32 (1..255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the retry limit of frames longer than the RTS threshold" 
     ::= { arrisRouterWirelessCfg 14 }

arrisRouterWiFiLongRetryLimit OBJECT-TYPE
     SYNTAX      Integer32 (1..255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the retry limit of frames shorter than the RTS threshold" 
     ::= { arrisRouterWirelessCfg 15 }

arrisRouterWiFiOutputPower OBJECT-TYPE
    SYNTAX      INTEGER {
                percent12(12),
                percent25(25),
                percent50(50),
                percent75(75),
                percent100(100)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the output power relative to the hardware's maximum capability.
         Now only percent25(25), percent50(50) and percent100(100) can be set, 
         they are mapped to Low, medium and high power level which used on GUI."
    DEFVAL { percent100 }
    ::= { arrisRouterWirelessCfg 16 }    

-- arrisRouterWiFiBasicRateSet OBJECT-TYPE
--    SYNTAX      INTEGER {
--		default(1),
--		all(2)
--    }
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION
--			"Determines which rates are advertised as BASIC rates in the beacon.
--			 If set to default, the driver defaults for the selected 54gMode will
--			 be used.  If set to all, all available rates will be advertised as
--			 BASIC rates regardless of the 54gMode setting."
--    DEFVAL { default }
--    ::= { arrisRouterWirelessCfg 19 }

-- arrisRouterWiFiTxRate OBJECT-TYPE
--    SYNTAX      INTEGER { 
--						auto(0),
--						mbits1(1),
--						mbits2(2),
--						mbits5half(5),
--						mbits6(6),
--						mbits9(9),
--						mbits11(11),
--						mbits12(12),
--						mbits18(18),
--						mbits24(24),
--						mbits36(36),
--						mbits48(48),
--						mbits54(54)
--					}
--    MAX-ACCESS  read-write
--    STATUS      current
--    DESCRIPTION "Forces the transmission rate for the AP to a particular speed."
--    DEFVAL { auto }
--    ::= { arrisRouterWirelessCfg 20 }
    
    
arrisRouterWiFi80211NSettings OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 21 }

arrisRouterWiFi80211NBand OBJECT-TYPE
    SYNTAX      INTEGER {
		band24G(1),
		band5G(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Determines which Band that we will be operating in. Either the 2.4G or the 5G Hz.  This only applies to 802.11n mode."
    ::= { arrisRouterWiFi80211NSettings 1 }
    
arrisRouterWiFiHTMCS OBJECT-TYPE
     SYNTAX  INTEGER { auto(0),
					  legacy(1),
					  mcs0(2),
					  mcs1(3),
					  mcs2(4),
					  mcs3(5),
					  mcs4(6),
					  mcs5(7),
					  mcs6(8),
					  mcs7(9),
					  mcs8(10),
					  mcs9(11),
					  mcs10(12),
					  mcs11(13),
					  mcs12(14),
					  mcs13(15),
					  mcs14(16),
					  mcs15(17),
					  mcs16(18),
					  mcs17(19),
					  mcs18(20),
					  mcs19(21),
					  mcs20(22),
					  mcs21(23),
					  mcs22(24),
					  mcs23(25)
					}
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the 802.11n physical modulation coding scheme (MCS) rate.
				Forces the N Phy transmission rate for the AP to a particular speed.  
				Each group of rates corresponds to BW (20 MHz or 40 MHz) and GI (800ns or 400ns) configuration.
				mcs0:	6.5   Mbps for 20Mhz and	13.5  Mbps for 40 MHz if guard interval is 800ns.
						7.2   Mbps for 20Mhz and	15    Mbps for 40 Mhz if guard interval is 400ns.
				mcs1:	13    Mbps for 20Mhz and	27    Mbps for 40 MHz if guard interval is 800ns.
						14.4  Mbps for 20Mhz and	30    Mbps for 40 Mhz if guard interval is 400ns.
				mcs2:	19.5  Mbps for 20Mhz and	40.5  Mbps for 40 MHz if guard interval is 800ns.
						21.7  Mbps for 20Mhz and	45    Mbps for 40 Mhz if guard interval is 400ns.
				mcs3:	26    Mbps for 20Mhz and	54    Mbps for 40 MHz if guard interval is 800ns.
						28.9  Mbps for 20Mhz and	60    Mbps for 40 Mhz if guard interval is 400ns.
				mcs4:	39    Mbps for 20Mhz and	81    Mbps for 40 MHz if guard interval is 800ns.
						43.3  Mbps for 20Mhz and	90    Mbps for 40 Mhz if guard interval is 400ns.
				mcs5:	52    Mbps for 20Mhz and	108   Mbps for 40 MHz if guard interval is 800ns.
						57.8  Mbps for 20Mhz and	120   Mbps for 40 Mhz if guard interval is 400ns.
				mcs6:	58.5  Mbps for 20Mhz and	121.5 Mbps for 40 MHz if guard interval is 800ns.
						65    Mbps for 20Mhz and	135   Mbps for 40 Mhz if guard interval is 400ns.
				mcs7:	65    Mbps for 20Mhz and	135   Mbps for 40 MHz if guard interval is 800ns.
						72.2  Mbps for 20Mhz and	150   Mbps for 40 Mhz if guard interval is 400ns.
				mcs8:	13    Mbps for 20Mhz and	27    Mbps for 40 MHz if guard interval is 800ns.
						14.4  Mbps for 20Mhz and	30    Mbps for 40 Mhz if guard interval is 400ns.
				mcs9:	26    Mbps for 20Mhz and	54    Mbps for 40 MHz if guard interval is 800ns.
						28.9  Mbps for 20Mhz and	60    Mbps for 40 Mhz if guard interval is 400ns.
				mcs10:	39    Mbps for 20Mhz and	81    Mbps for 40 MHz if guard interval is 800ns.
						43.3  Mbps for 20Mhz and	90    Mbps for 40 Mhz if guard interval is 400ns.
				mcs11:	52    Mbps for 20Mhz and	108   Mbps for 40 MHz if guard interval is 800ns.
						57.8  Mbps for 20Mhz and	120   Mbps for 40 Mhz if guard interval is 400ns.
				mcs12:	78    Mbps for 20Mhz and	162   Mbps for 40 MHz if guard interval is 800ns.
						86.7  Mbps for 20Mhz and	180   Mbps for 40 Mhz if guard interval is 400ns.
				mcs13:	104   Mbps for 20Mhz and	216   Mbps for 40 MHz if guard interval is 800ns.
						115.6 Mbps for 20Mhz and	240   Mbps for 40 Mhz if guard interval is 400ns.
				mcs14:	117   Mbps for 20Mhz and	243   Mbps for 40 MHz if guard interval is 800ns.
						130.3 Mbps for 20Mhz and	270   Mbps for 40 Mhz if guard interval is 400ns.
				mcs15:	130   Mbps for 20Mhz and	270   Mbps for 40 MHz if guard interval is 800ns.
						144.4 Mbps for 20Mhz and	300   Mbps for 40 Mhz if guard interval is 400ns.
				mcs16 ~ mcs23 are also suppported.
                " 
     ::= { arrisRouterWiFi80211NSettings 2 }
    
arrisRouterWiFiChannelBW OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), width20MHz(0), width40MHz(1), width20and40Mhz(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Determines which Band Width that we will be operating in. Either the 20MHz or the 40MHz.
					Note: This is for 802.11n mode only. "
     ::= { arrisRouterWiFi80211NSettings 3 }
     
arrisRouterWiFi80211NSideBand OBJECT-TYPE
    SYNTAX      INTEGER {
		unknown(-1),
		upper(1),
		lower(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Determines which side Band the channel will operate in.
		Note: This is for 802.11n mode only, this OID is dependent of what arrisRouterWiFiChannelBW is selected and only
		applies when 40MHz is selected."
    ::= { arrisRouterWiFi80211NSettings 4 }
    
arrisRouterWiFiHTMode OBJECT-TYPE
     SYNTAX      INTEGER { mixed(0), greenField(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "In mixed mode, each 802.11n transmission is always embedded in an 802.11a or 802.11g transmission.
				 Green field will ingore some of the early standard, so 802.11n devices have higher efficiency but 802.11a/b/g devices 
				 can not use this network in greenfield mode."
	 DEFVAL { 0 }								 
     ::= { arrisRouterWiFi80211NSettings 5 }
         
arrisRouterWiFiGuardInterval OBJECT-TYPE
     SYNTAX      INTEGER { gi400(0), gi800(1), auto(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Spacing between transmission of symbols in nanoseconds."	 
     DEFVAL { gi800 }
     ::= { arrisRouterWiFi80211NSettings 6 }

arrisRouterWiFiDeclinePeerBA OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable rejection of peer BA-request." 
     DEFVAL { false }
     ::= { arrisRouterWiFi80211NSettings 8 }

arrisRouterWiFiBlockAck OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable blocking of ACK (BA) during data transfer." 
     DEFVAL { false }
     ::= { arrisRouterWiFi80211NSettings 9 }

arrisRouterWiFiNProtection OBJECT-TYPE
     SYNTAX      INTEGER { off(0), auto(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Set/read 802.11n protection setting. This is for OFDM protection for MIMO frames. " 
     ::= { arrisRouterWiFi80211NSettings 10 }

arrisRouterWiFiAllow40MHzOnlyOperation OBJECT-TYPE 
     SYNTAX      TruthValue 
     MAX-ACCESS  read-write 
     STATUS      current 
     DESCRIPTION "Allow the user to set 40 MHz only Wifi operation." 
     DEFVAL { false } 
     ::= { arrisRouterWiFi80211NSettings 11 } 

-- This provides support for multiple Basic Service Sets (BSS)

arrisRouterBSSTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterBSSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains settings for individual wireless networks (SSID)."
      ::= { arrisRouterWirelessCfg 22 }
  
arrisRouterBSSEntry OBJECT-TYPE
      SYNTAX      ArrisRouterBSSEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains settings for individual wireless networks (SSID)."
      INDEX { ifIndex }	--from IF-MIB
      ::= { arrisRouterBSSTable 1 }
    
ArrisRouterBSSEntry ::= SEQUENCE {
    arrisRouterBssID                  PhysAddress,
    arrisRouterBssSSID                DisplayString,
    arrisRouterBssActive              TruthValue,
    arrisRouterBssSSIDBroadcast       TruthValue,
    arrisRouterBssSecurityMode        INTEGER,
    arrisRouterBssAccessMode          INTEGER,
    arrisRouterBssNetworkIsolate      TruthValue,
    arrisRouterBssMACAccessCount      Unsigned32,
    arrisRouterBssMACAccessClear      INTEGER,
    arrisRouterBSSArpAuditInterval    Unsigned32,
    arrisRouterBssMaxWifiClients      INTEGER,
    arrisRouterBssWmmEnable           TruthValue,
    arrisRouterBssWmmAPSD             TruthValue,
    arrisRouterBssActiveTimeout       OCTET STRING,
    arrisRouterDefaultBssSSID         DisplayString,
    arrisRouterBssStaSteeringEnable   TruthValue
    }

arrisRouterBssID OBJECT-TYPE
     SYNTAX      PhysAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The physical address associated with this service set"
     ::= { arrisRouterBSSEntry 1 }

arrisRouterBssSSID OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(1..32))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The SSID for this BSS."
     ::= { arrisRouterBSSEntry 2 }
     
arrisRouterBssActive OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Select to enable/make active this SSID"
     DEFVAL { false }
     ::= { arrisRouterBSSEntry 3 }     

arrisRouterBssSSIDBroadcast OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Select to broadcast or not this SSID.  It is somewhat more secure to NOT broadcast the SSID."
     DEFVAL { true }
     ::= { arrisRouterBSSEntry 4 }
     
arrisRouterBssSecurityMode OBJECT-TYPE
     SYNTAX      INTEGER { disabled(0),
							wep(1),
							wpaPsk(2),
							wpa2Psk(3),
							wpaEnterprise(4),
							wpa2Enterprise(5),
							wepEnterprise(6),
							wpaWpa2Psk(7),
							wpaWpa2Enterprise(8)
							}
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The security mode. The arrisRouterWpsMode or arrisRouterWps50Mode will be set to disabled(0) when the primary SSID security mode set to wep(1)."
     ::= { arrisRouterBSSEntry 5 }
     
arrisRouterBssAccessMode OBJECT-TYPE
    SYNTAX      INTEGER {
                allowAny(1),
                allowList(2),
                denyList(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls what stations will be given access to the device.  If set to
         allowAny(1), then any station will be allowed to connect.  If set
         to restrictToList(2), then only stations whose MAC address appears in
         the arrisRouterMACAccessTable will be allowed to connect.  If set to 
         denyList(3), any station will be allowed to connect except those in 
         the arrisRouterMACAccessTable."
    ::= { arrisRouterBSSEntry 6 }
    
arrisRouterBssNetworkIsolate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If set to true, this service set will
         have access to the wide area internet, but will have restricted access
         to the local area network.  If set to false, this service set will be authorized as a full member of
         the local area network"
	DEFVAL { false }         
    ::= { arrisRouterBSSEntry 7 }

arrisRouterBssMACAccessCount  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current count of items in the MACAccessTable"
    ::= { arrisRouterBSSEntry 8 }
		
arrisRouterBssMACAccessClear  OBJECT-TYPE
    SYNTAX      INTEGER { clear(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set to clear(1) to clear the entire list of MAC addresses in arrisRouterMACAccessTable"
    ::= { arrisRouterBSSEntry 9 }

arrisRouterBSSArpAuditInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the ARP audit interval for periodical checking all ARP entries under this SSID whether the entry is still valid.  
         If set to zero, periodicical checking is disabled for this SSID."
::= { arrisRouterBSSEntry 10 }

arrisRouterBssMaxWifiClients OBJECT-TYPE
     SYNTAX      INTEGER
     MAX-ACCESS  read-write
     STATUS      current   
     DESCRIPTION "The maximum  number of concurrent wifi clients for this AP.
                  0 means no limit"
     DEFVAL  { 0 }
     ::= { arrisRouterBSSEntry 11 }   

arrisRouterBssWmmEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/disable WMM(Wi-Fi Multimedia) based on SSID."
     DEFVAL { true }
     ::= { arrisRouterBSSEntry 12 }

arrisRouterBssWmmAPSD OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/disable WMM APSD(Wi-Fi Multimedia Automatic Power Save Delivery) based on SSID."
     DEFVAL { true }
     ::= { arrisRouterBSSEntry 13 }

arrisRouterBssActiveTimeout OBJECT-TYPE
     SYNTAX      OCTET STRING (SIZE (1..16))
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Indicates the time and date when the BSS will be disabled. The configured time and date must be after the current TOD.The format is: dd/mm/yyyy-hh:mm.(e.g: 29/10/2014-18:36)"
     ::= { arrisRouterBSSEntry 14 }

arrisRouterDefaultBssSSID OBJECT-TYPE
     SYNTAX      DisplayString (SIZE(1..32))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The default SSID (Service Set Identifier) set from the factory."
     ::= { arrisRouterBSSEntry 15 }

arrisRouterBssStaSteeringEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/disable STA Steering for this BSS."
     DEFVAL { false }
     ::= { arrisRouterBSSEntry 16 }

-- WEP configuration data if wep or wepEnterprise is selected security mode

arrisRouterWEPTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterWEPEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains settings for wireless networks."
      ::= { arrisRouterWirelessCfg 23 }
  
arrisRouterWEPEntry OBJECT-TYPE
      SYNTAX      ArrisRouterWEPEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains settings for wireless networks."
      INDEX { ifIndex }
      ::= { arrisRouterWEPTable 1 }

ArrisRouterWEPEntry ::= SEQUENCE {
	arrisRouterWEPCurrentKey			Unsigned32,
	arrisRouterWEPEncryptionMode		INTEGER
	}

		
arrisRouterWEPCurrentKey OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the default key which will be used when 64 or
         128 bit encryption is enabled.  Indicates the entry from the 
         arrisRouterWEP64BitKeyTable if arrisRouterWEPEncryptionMode is set to wep64(1), or
         the entry from the arrisRouterWEP128BitKeyTable if arrisRouterWEPEncryptionMode
         is set to wep128(2).
         
         This object may only be set to indicate an active row in the 
         arrisRouterWEP64BitKeyTable or arrisRouterWEP128BitKeyTable.  If the value 
         corresponds to a row which does not exist or a row which is not
         active, the set will be rejected with an inconsistentValue error."
    ::= { arrisRouterWEPEntry 1 }
    
arrisRouterWEPEncryptionMode OBJECT-TYPE
    SYNTAX      INTEGER {
                wep64(1),
                wep128(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Selects the WEP encryption method used by this service set.
         If set to wep64(1), then 64 bit WEP encryption will be
         used with the keys from the arrisRouterWEP64BitKeyTable.  If set to 
         wep128(2), then 128 bit WEP encryption will be used with keys from 
         the arrisRouterWEP128BitKeyTable."
    ::= { arrisRouterWEPEntry 2 }
    
arrisRouterWEP64BitKeyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWEP64BitKeyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of 40 bit key values used when operating in WEP 64 mode."
    ::= { arrisRouterWirelessCfg 24 }
    
arrisRouterWEP64BitKeyEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWEP64BitKeyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A key to be used by the row in the arrisRouterBSSTable identified by the 
         value of ifIndex in the row index."
    INDEX   { ifIndex, arrisRouterWEP64BitKeyIndex }
    ::= { arrisRouterWEP64BitKeyTable 1 }
    
ArrisRouterWEP64BitKeyEntry ::= 
    SEQUENCE    {
                arrisRouterWEP64BitKeyIndex           Integer32,
                arrisRouterWEP64BitKeyValue           DisplayString,
                arrisRouterWEP64BitKeyStatus          RowStatus
    }
    
arrisRouterWEP64BitKeyIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Identifies an instance of a key among those used by the service set 
         identified by the value of ifIndex in the row index."
    ::= { arrisRouterWEP64BitKeyEntry 1 }
    
arrisRouterWEP64BitKeyValue OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A 40 bit key to be used when the corresponding instance of
         arrisRouterWiFiSecurityMode is set to wep(1) and the corresponding instance
         of arrisRouterWEPEncryptionMode is set to wep64(1)."
    ::= { arrisRouterWEP64BitKeyEntry 2 }
    
arrisRouterWEP64BitKeyStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterWEP64BitKeyStatus column is 'notReady'.

         In particular, a newly created row cannot be made active until the 
         corresponding instance of arrisRouterWEP64BitKeyValue has been set.
         
         Only rows with a status of active(1) will be applied.
         
         This object may not be set to a value of notInService(2) or destroy(6)
         if the corresponding instance of arrisRouterWEPDefaultKey identifies
         this row as they current key in use.  Such an attempt will be rejected
         with an inconsistentValue error."
    ::= { arrisRouterWEP64BitKeyEntry 3 }
    

    
arrisRouterWEP128BitKeyTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWEP128BitKeyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of 104 bit key values used when operating in WEP 128 mode."
    ::= { arrisRouterWirelessCfg 25 }
    
arrisRouterWEP128BitKeyEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWEP128BitKeyEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A key to be used by the row in the arrisRouterBSSTable identified by the 
         value of ifIndex in the row index."
    INDEX   { ifIndex, arrisRouterWEP128BitKeyIndex }
    ::= { arrisRouterWEP128BitKeyTable 1 }
    
ArrisRouterWEP128BitKeyEntry ::= 
    SEQUENCE    {
                arrisRouterWEP128BitKeyIndex           Integer32,
                arrisRouterWEP128BitKeyValue           DisplayString,
                arrisRouterWEP128BitKeyStatus          RowStatus
    }
    
arrisRouterWEP128BitKeyIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Identifies an instance of a key among those used by the service set 
         identified by the value of ifIndex in the row index."
    ::= { arrisRouterWEP128BitKeyEntry 1 }
    
arrisRouterWEP128BitKeyValue OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A 104 bit key to be used when the corresponding instance of
         arrisRouterWiFiSecurityMode is set to wep(1) and the corresponding instance
         of arrisRouterWEPEncryptionMode is set to wep128(128)."
    ::= { arrisRouterWEP128BitKeyEntry 2 }
    
arrisRouterWEP128BitKeyStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterWEP128BitKeyStatus column is 'notReady'.

         In particular, a newly created row cannot be made active until the 
         corresponding instance of arrisRouterWEP128BitKeyValue has been set.
         
         Only rows with a status of active(1) will be applied.
         
         This object may not be set to a value of notInService(2) or destroy(6)
         if the corresponding instance of arrisRouterWEPDefaultKey identifies
         this row as they current key in use.  Such an attempt will be rejected
         with an inconsistentValue error."
    ::= { arrisRouterWEP128BitKeyEntry 3 }

		

-- Objects used to control WPA based security modes
    
arrisRouterWPATable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWPAEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table used to configure settings related to the WPA security modes."
    ::= { arrisRouterWirelessCfg 26 }
    
arrisRouterWPAEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWPAEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry defining the WPA characteristics of an individual service set.
         A row exists in this table for each row in the arrisRouterBSSTable for which
         arrisRouterWiFiSecurityMode is set to wpaPsk(2), wpa2Psk(3), wpaEnterprise(4), 
         or wpa2Enterprise(5)."
    INDEX   { ifIndex  }
    ::= { arrisRouterWPATable 1 }
    
ArrisRouterWPAEntry ::=
    SEQUENCE    {
                arrisRouterWPAAlgorithm            INTEGER,
                arrisRouterWPAPreSharedKey         OCTET STRING,
                arrisRouterWPAReAuthInterval	   Unsigned32,
                arrisRouterWPAPreAuthEnable		   TruthValue,
		arrisRouterDefaultWPAPreSharedKey  OCTET STRING
    }
    
arrisRouterWPAAlgorithm OBJECT-TYPE
    SYNTAX      INTEGER {
                tkip(1),
                aes(2),
                tkipPlusAes(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Controls and reflects the WPA encryption mode used by the service set.  
         The WPA algorithm for WPA-PSK and WPA-Enterprise security mode is either
         tkip(1) or aes(2).
        
         The WPA algorithm for WPA2-PSK and WPA2-Enterprise security mode is either
         aes(2) or tkipPlusAes(3)."
    ::= { arrisRouterWPAEntry 1 }
    
arrisRouterWPAPreSharedKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (8..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the WPA Pre-Shared Key (PSK) used by this service set.  This 
         value MUST be either a 64 byte hexadecimal number, OR an 8 to 63 
         character ASCII string."
    ::= { arrisRouterWPAEntry 2 }
    
arrisRouterWPAReAuthInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the WPA Group reauthentication interval for this service set. If set to zero, 
         it is disabled for this service set."
    ::= { arrisRouterWPAEntry 4 }

arrisRouterWPAPreAuthEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable WPA2 pre-authentication. 
         In preauthentication, a WPA2 wireless client can perform an 802.1X authentication with other wireless access points 
         in its range when it is still connected to its current wireless access point"
	DEFVAL { false }         
    ::= { arrisRouterWPAEntry 5 }

arrisRouterDefaultWPAPreSharedKey OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (8..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The default SSID (Service Set Identifier) set from the factory."
    ::= { arrisRouterWPAEntry 6  }
    
-- Objects used to control RADIUS based security modes

arrisRouterRadiusTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterRadiusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table used to configure settings related to the RADIUS security 
         modes, including WPA-Enterprise, WPA2-Enterprise and RADIUS-WEP."
    ::= { arrisRouterWirelessCfg 27 }
    
arrisRouterRadiusEntry OBJECT-TYPE
    SYNTAX      ArrisRouterRadiusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "An entry defining the RADIUS characteristics of an individual service 
          set.  A row exists in this table for each row in the arrisRouterBSSTable 
          for which arrisRouterWiFiSecurityMode is set to wpaEnterprise(4), 
          wpa2Enterprise(5), or radiusWep(6)."
    INDEX   { ifIndex }
    ::= { arrisRouterRadiusTable 1 }
    
ArrisRouterRadiusEntry ::= 
    SEQUENCE    {
                arrisRouterRadiusAddressType       InetAddressType,
                arrisRouterRadiusAddress           InetAddress,
                arrisRouterRadiusPort              Unsigned32,
                arrisRouterRadiusKey               DisplayString,
                arrisRouterRadiusReAuthInterval    Unsigned32
    }
    
arrisRouterRadiusAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for arrisRouterRadiusAddress."
    ::= { arrisRouterRadiusEntry 1 }
    
arrisRouterRadiusAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The internet address of the RADIUS server for this service set."
    ::= { arrisRouterRadiusEntry 2 }
    
arrisRouterRadiusPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The UDP port used to communicate with the RADIUS server for this 
         service set."
    ::= { arrisRouterRadiusEntry 3 }
    
arrisRouterRadiusKey OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The RADIUS key."
    ::= { arrisRouterRadiusEntry 4 }
    
arrisRouterRadiusReAuthInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The network re-authentication interval.  If set to zero, no
         re-authentication will be performed."
    ::= { arrisRouterRadiusEntry 5 }


arrisRouterMACAccessTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterMACAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of MAC addresses which defines the MAC address based access 
         restrictions for the system."
    ::= { arrisRouterWirelessCfg 28 }
    
arrisRouterMACAccessEntry OBJECT-TYPE
    SYNTAX      ArrisRouterMACAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row in the table which specifies a single MAC address for a given
         service set."
    INDEX   { ifIndex, arrisRouterMACAccessIndex }
    ::= { arrisRouterMACAccessTable 1 }

ArrisRouterMACAccessEntry ::= 
    SEQUENCE    {
                arrisRouterMACAccessIndex       Integer32,
                arrisRouterMACAccessAddr		MacAddress,
                arrisRouterMACAccessStatus      RowStatus,
				arrisRouterMACAccessDeviceName	DisplayString
    }
    
arrisRouterMACAccessIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..32)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { arrisRouterMACAccessEntry 1 }
    
arrisRouterMACAccessAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A MAC address of a station which will be allowed to connect to the 
         service set if arrisRouterBssAccessMode is set to restrictToList(2), or
         forbidden if arrisRouterBssAccessMode is set to denyList(3)."
    ::= { arrisRouterMACAccessEntry 2 }
    
arrisRouterMACAccessStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterMACAccessStatus column is 'notReady'.

         In particular, a newly created row cannot be made active until the 
         corresponding instance of arrisRouterMACAccessAddr has been set.
         
         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterMACAccessEntry 3 }

arrisRouterMACAccessDeviceName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
         "A name associated with device MAC which will be allowed to connect to the
         service set if arrisRouterBssAccessMode is set to restrictToList(2), or
         forbidden if arrisRouterBssAccessMode is set to denyList(3)."
    ::= { arrisRouterMACAccessEntry 4 }

arrisRouterWMMCfg			 OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 29 }

arrisRouterWMMEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable WiFi MultiMedia (WMM) QOS support.. Note that this applies to only the primary (zero) Wireless network."       
    DEFVAL { true }    
    ::= { arrisRouterWMMCfg 1 }

arrisRouterWMMNoAck OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This refers to the acknowledge policy used at the MAC level. 
				Enabling no-acknowledgement can result in more efficient throughput but 
				higher error rates in a noisy Radio Frequency (RF) environment."				
	DEFVAL { false }    
    ::= { arrisRouterWMMCfg 2 }

arrisRouterWMMAPSD OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Automatic Power Save Delivery is a more efficient power management method than legacy 802.11 Power Save Polling.
				Set the value here."
	DEFVAL { true }    
    ::= { arrisRouterWMMCfg 3 }

arrisRouterWMMEDCAAPTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWMMEDCAAPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of for setting WMM EDCA values for the access point. 
				This affects traffic flowing from the access point to the client station "
    ::= { arrisRouterWMMCfg 4 }
    
arrisRouterWMMEDCAAPEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWMMEDCAAPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of for setting WMM EDCA values for the access point. 
				This affects traffic flowing from the access point to the client station "
    INDEX   { arrisRouterWMMEDCAAPIndex }
    ::= { arrisRouterWMMEDCAAPTable 1 }
    
ArrisRouterWMMEDCAAPEntry ::= 
    SEQUENCE    {
                arrisRouterWMMEDCAAPIndex			Integer32,
                arrisRouterWMMEDCAAPCWmin			Unsigned32,
                arrisRouterWMMEDCAAPCWmax			Unsigned32,
                arrisRouterWMMEDCAAPAIFSN			Unsigned32,
                arrisRouterWMMEDCAAPTxOpBLimit		Unsigned32,
                arrisRouterWMMEDCAAPTxOpAGLimit		Unsigned32,
				arrisRouterWMMEDCAAPAdmitCont		TruthValue,
                arrisRouterWMMEDCAAPDiscardOld		TruthValue
    }
    
arrisRouterWMMEDCAAPIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The index into the table will be one of the parameters: 1=ACBE (best effort), 2=ACBK (background), 3=ACVI (video), 4=ACVO (voice)"
    ::= { arrisRouterWMMEDCAAPEntry 1 }

arrisRouterWMMEDCAAPCWmin OBJECT-TYPE
    SYNTAX      Unsigned32 
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
	DESCRIPTION "Minimum Contention Window. 
				 This parameter is input to the algorithm that determines the initial random backoff wait time (window) for retry of a transmission. 
				 The value specified here in the Minimum Contention Window is the upper limit of a range from which the initial random backoff 
				 wait time is determined. The first random number generated will be a number between 0 and the number specified here. 
				 If the first random backoff wait time expires before the data frame is sent, a retry counter is incremented and the 
				 random backoff value (window) is doubled. Doubling will continue until the size of the random backoff value reaches the number 
				 defined in the Maximum Contention Window. 
				 Valid values are 1, 3, 7, 15, 31, 63, 127, 255, and 511. 
				 This value must be lower than the value for arrisRouterWMMEDCAAPCWmax"
    ::= { arrisRouterWMMEDCAAPEntry 2 }

arrisRouterWMMEDCAAPCWmax OBJECT-TYPE
    SYNTAX      Unsigned32 
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Maximum Contention Window. The value specified here in the Maximum Contention Window is the upper limit for the 
				 doubling of the random backoff value. This doubling continues until either the data frame is sent or the 
				 Maximum Contention Window size is reached. Once the Maximum Contention Window size is reached, retries 
				 will continue until a maximum number of retries allowed is reached. 
				 Valid values are 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023. 
				 This value must be higher than the value for arrisRouterWMMEDCAAPCWmin."
    ::= { arrisRouterWMMEDCAAPEntry 3 }

arrisRouterWMMEDCAAPAIFSN OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The Arbitration Inter-Frame Spacing Number specifies a wait time for data frames"
    ::= { arrisRouterWMMEDCAAPEntry 4 }

arrisRouterWMMEDCAAPTxOpBLimit OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS		"microseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transmission Opportunity for b mode is an interval of time when a WME AP has the right to initiate 
				transmissions onto the wireless medium (WM). This value specifies the Transmission Opportunity (TXOP) for AP; 
				that is, the interval of time when the WMM AP has the right to initiate transmissions on the wireless network."    
    ::= { arrisRouterWMMEDCAAPEntry 5 }

arrisRouterWMMEDCAAPTxOpAGLimit OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS		"microseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transmission Opportunity for A and G mode is an interval of time when a WME AP has the right to initiate 
				transmissions onto the wireless medium (WM). This value specifies the Transmission Opportunity (TXOP) for AP; 
				that is, the interval of time when the WMM AP has the right to initiate transmissions on the wireless network."    
    ::= { arrisRouterWMMEDCAAPEntry 6 }
    
arrisRouterWMMEDCAAPAdmitCont OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable admission control for specific category of traffic."    
    ::= { arrisRouterWMMEDCAAPEntry 7 }
    
arrisRouterWMMEDCAAPDiscardOld OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Discard oldest packet first enable/disable."    
    ::= { arrisRouterWMMEDCAAPEntry 8 }




arrisRouterWPSCfg			 OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 30 }

arrisRouterWpsMode OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WiFi Protected Setup (WPS) is enabled or disabled.
                 The WPS mode can't be set to enabled(1) when the primary SSID arrisRouterBssSecurityMode is wep(1)."    
    ::= { arrisRouterWPSCfg 1 }

arrisRouterWpsConfigState OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set the WiFi Protected Setup (WPS) config state."    
    ::= { arrisRouterWPSCfg 2 }

arrisRouterWpsDevicePIN OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get or set the WiFi Protected Setup (WPS) device PIN.  This is the PIN that is displayed to the user to input on their client device."
    ::= { arrisRouterWPSCfg 3 }

arrisRouterWpsDeviceName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of this device"    
    ::= { arrisRouterWPSCfg 4 }

arrisRouterWpsModelName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Model Name"    
    ::= { arrisRouterWPSCfg 5 }

arrisRouterWpsMfg OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Manufacturer string"    
    ::= { arrisRouterWPSCfg 6 }

arrisRouterWpsResultStatus OBJECT-TYPE
    SYNTAX      INTEGER {
			wpsResultUnknown(-1),
			wpsResultNoneIssued(0),
			wpsResultAddClientSuccess(1),
			wpsResultAddClientFail(2),
			wpsResultAddClientAbort(3),
			wpsResultConfigApSuccess(4),
			wpsResultConfigApFail(5),
			wpsResultConfigApAbort(6)			
			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The result status of the most recent WPS operation."
	::= { arrisRouterWPSCfg 7 }

    
arrisRouterWpsStatus OBJECT-TYPE
    SYNTAX      INTEGER {
			wpsUnknown(-1),
			wpsInitialState(0),
			wpsAssociatedStarted(1),
			wpsM2Sent(2),
			wpsM7Sent(3),
			wpsTimedOut(4),
			wpsMsgDone(5),
			wpsSuccessful(6),
			wpsMsgExchangeErr(7),    
			wpsPushButtonOverlap(8),
			wpsAssociating(9),    
			wpsPushButtonFindAP(10)    
			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "Current status of the WPS subsystem."
	::= { arrisRouterWPSCfg 8 }
 
arrisRouterWpsConfigTimeout OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether the WiFi Protected Setup (WPS) uses timeout."    
    ::= { arrisRouterWPSCfg 9 }

arrisRouterWpsSTAPin OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set the WiFi Protected Setup (WPS) PIN for a new station/device.  This is the PIN from a 'client' device."    
    ::= { arrisRouterWPSCfg 10 }

arrisRouterWpsPushButton OBJECT-TYPE
    SYNTAX      INTEGER { unknown(0), activatePushButton(1), activatePINCfg(2), cancelWPS(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set to 'activatePushButton' to push the virtual button on the Access Point and start the WPS push-button process.
				Set to 'activePINCfg' to start the WPS PIN process.  The client device PIN should be written to arrisRouterWpsSTAPin
				before triggering the WPS process.
				Cancel an active WPS config (started with either 1 or 2) by setting this value to 'cancelWPS'."
    ::= { arrisRouterWPSCfg 11 }


arrisRouterWpsUUID OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Sets WPS Universal Unique Identifier"
	::= { arrisRouterWPSCfg 14 }

arrisRouterWPSMethodCfg OBJECT IDENTIFIER ::= { arrisRouterWPSCfg 15 }

arrisRouterWPSMethodLabel OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WPS Label Method is enabled or disabled."    
    ::= { arrisRouterWPSMethodCfg 1 }

arrisRouterWPSMethodPIN OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WPS PIN Method is enabled or disabled."    
    ::= { arrisRouterWPSMethodCfg 2 }

arrisRouterWPSMethodPushButton OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WPS Push Button Method is enabled or disabled."    
    ::= { arrisRouterWPSMethodCfg 3 }

arrisRouterWPSMethodKeypad OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WPS Keypad Method is enabled or disabled."    
    ::= { arrisRouterWPSMethodCfg 4 }


arrisRouterWiFiResetDefaults OBJECT-TYPE
    SYNTAX      INTEGER { nothingToReset(0), resetWifiDefaults(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Reset Wifi settings to default values.
				 Use 'nothingToReset(0)' to indicate that nothing is to be reset.
				 Use 'resetWifiDefaults(1)' to reset all Wireless Networks back to their default settings.
				 The wireless driver(s) will be immediately restarted to affect the change and any clients
				 connected to the wireless network(s) will be disconnected."
	::= { arrisRouterWirelessCfg 32 }

arrisRouterWiFiCustomSSIDStr OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "A string used to customize the Service Set Idenitifer (SSID). The last 4 characters of the CM MAC address will automatically be appended to this string. 
					This string will overwrite the factory defined SSID but will be overwritten by user settings"
     ::= { arrisRouterWirelessCfg 34 }

arrisRouterWiFiRadioControlMode OBJECT-TYPE
     SYNTAX      INTEGER { userControlled(0), msoControlled24bgnMode(1),
msoControlled24nMode(2), msoControlled50nMode(3) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "When equal to userControlled, no wireless radio settings will be changed as a result of receiving this element. 
                  Current setting will remain in effect. 
                  
                  When equal to msoControlled24bgnMode, the current channel numbers and channel bandwidth selections will remain
                  in effect. For devices with a single wireless network interface, all other wireless radio settings will be set so 
                  as to optimize support for a mixture of 802.11b/g/n devices using the 2.4GHz band.  For devices with two wireless 
                  network interfaces, all other wireless radio settings for one radio will be set so as to optimize support for a 
                  mixture of 802.11b/g/n devices using the 2.4GHz band, while settings for the other radio will be set so as to 
                  optimize support for only 802.11n devices using the 5GHz band. All radios MUST be set to transmit at full power.
                  
                  When equal to msoControlled24nMode, the current channel numbers and channel bandwidth selections will remain in 
                  effect. For devices with a single wireless network interface, all other wireless radio settings will be set so as 
                  to optimize support for only 802.11n devices using the 2.4GHz band.  For devices with two wireless network interfaces,
                  all other wireless radio settings for one radio will be set so as to optimize support for only 802.11n devices using 
                  the 2.4GHz band, while settings for the other radio will be set so as to optimize support for only 802.11n devices 
                  using the 5GHz band. All radios MUST be set to transmit at full power.
                  
                  When equal to msoControlled50nMode, the current channel numbers and channel bandwidth selections will remain in 
                  effect. For devices with a single wireless network interface, all other wireless radio settings will be set so as 
                  to optimize support for only 802.11n devices using the 5GHz band.  If the single wireless network interface does not 
                  support use of the 5GHz band, optimize support for only 802.11n devices using the 2.4GHz band. For devices with two 
                  wireless network interfaces, all other wireless radio settings for one radio will be set so as to optimize support 
                  for only 802.11n devices using the 2.4GHz band, while settings for the other radio will be set so as to optimize support 
                  for only 802.11n devices using the 5GHz band. All radios MUST be set to transmit at full power."
     DEFVAL {userControlled}
     ::= { arrisRouterWirelessCfg 37 }

arrisRouterWiFiScan 		OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 39 }

arrisRouterWiFiStartScan OBJECT-TYPE
     SYNTAX      INTEGER { startRadio0(1), startRadio1(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Start a WiFi scan.  This will detect other WiFi Access Points in the vicinity of the Arris product.  
         This is useful for technical support personnel so they may detect possible wireless interference when a customer
         calls about their wireless. Note that this may impact wireless/eRouter performance and should be run with care.
         Note that this is currently only supported on the Arris Whole Home Solution product line."
     DEFVAL { startRadio0 }
     ::= { arrisRouterWiFiScan 1 }
 
arrisRouterWiFiScanResult OBJECT-TYPE
     SYNTAX      INTEGER { uninit(0), running(1), completeError(2), completeSuccess(3) }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Returns the current status of a WiFi scan."
     ::= { arrisRouterWiFiScan 2 }
 
arrisRouterWiFiScanResultTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWiFiScanResultEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of any WiFi Access points in the vicinity of the Arris product."
    ::= { arrisRouterWiFiScan 3 }
    
arrisRouterWiFiScanResultEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWiFiScanResultEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of any WiFi Access points in the vicinity of the Arris product."
    INDEX   { arrisRouterWiFiScanIndex }
    ::= { arrisRouterWiFiScanResultTable  1 }
    
ArrisRouterWiFiScanResultEntry ::= 
    SEQUENCE    {
                arrisRouterWiFiScanIndex            Unsigned32,
                arrisRouterWiFiScanSSID             DisplayString,
                arrisRouterWiFiScanChannel          Unsigned32,
                arrisRouterWiFiScanChannel2         Unsigned32,
                arrisRouterWiFiScanRSSI             Integer32,
                arrisRouterWiFiScanNoise            Integer32,
                arrisRouterWiFiScanMAC              DisplayString,
                arrisRouterWiFiScanMfg              DisplayString,
                arrisRouterWiFiScanSupportedRates             DisplayString,
                arrisRouterWiFiScanOperatingStandards         DisplayString,
                arrisRouterWiFiScanSecurityModeEnabled        INTEGER,
                arrisRouterWiFiScanOperatingChannelBandwidth  INTEGER
                }
    
arrisRouterWiFiScanIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "Indicates the instance of this table row."
    ::= { arrisRouterWiFiScanResultEntry 1 }
    
arrisRouterWiFiScanSSID OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The SSID for the wireless access point (WAP)"
    ::= { arrisRouterWiFiScanResultEntry 2 }
                
arrisRouterWiFiScanChannel OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The channel that the WAP is broadcasting on."
    ::= { arrisRouterWiFiScanResultEntry 3 }
 
arrisRouterWiFiScanChannel2 OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The secondary channel that the WAP is broadcasting on.  This may be 0 if the AP is only using 1 channel."
    ::= { arrisRouterWiFiScanResultEntry 4 }
 
arrisRouterWiFiScanRSSI OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The Received Signal Strength Indication (RSSI) for the WAP."
    ::= { arrisRouterWiFiScanResultEntry 5 }
 
arrisRouterWiFiScanNoise OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The 'noise' meausured for the WAP."
    ::= { arrisRouterWiFiScanResultEntry 6 }
 
arrisRouterWiFiScanMAC OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The MAC identifier (AKA BSSID) of the WAP."
    ::= { arrisRouterWiFiScanResultEntry 7 }
    
arrisRouterWiFiScanMfg OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The manufacturuer of the detected WAP."
    ::= { arrisRouterWiFiScanResultEntry 8 }
 
arrisRouterWiFiScanSupportedRates OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The supported rates of the WAP. 
                   i.e.  1(b) 2(b) 5.5(b) 6 9 11(b) 12 18 24 36 48 54"
    ::= { arrisRouterWiFiScanResultEntry 9 }

arrisRouterWiFiScanOperatingStandards OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The operating standards of the WAP."
    ::= { arrisRouterWiFiScanResultEntry 10 }

arrisRouterWiFiScanSecurityModeEnabled OBJECT-TYPE
    SYNTAX      INTEGER {
                unknow(0),
                disabled(1),
                wep(2),
                wpa(3),
                wpa2(4),
                wpaWpa2(5),
                wpaEnterprise(6),
                wpa2Enterprise(7),
                wpaWpa2Enterprise(8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The security mode of the WAP."
    ::= { arrisRouterWiFiScanResultEntry 11 }

arrisRouterWiFiScanOperatingChannelBandwidth OBJECT-TYPE
    SYNTAX      INTEGER {
                auto(0),
                n20Mhz(1),
                n40Mhz(2),
                ac80Mhz(3),
                ac160Mhz(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The operating channel bandwidth of the WAP."
    ::= { arrisRouterWiFiScanResultEntry 12 }

arrisRouterWiFiClientInfoTable OBJECT-TYPE 
      SYNTAX      SEQUENCE OF ArrisRouterWiFiClientInfoClientEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "This table contains detailed information about currently connected wireless client devices." 
      ::= { arrisRouterWirelessCfg 42 }
      
arrisRouterWiFiClientInfoEntry OBJECT-TYPE 
      SYNTAX      ArrisRouterWiFiClientInfoClientEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Entry in the arrisRouterWiFiClientInfoTable."
      INDEX { ifIndex, arrisRouterWiFiClientInfoIndex }
      ::= { arrisRouterWiFiClientInfoTable 1 }
      
ArrisRouterWiFiClientInfoClientEntry ::= SEQUENCE {
			arrisRouterWiFiClientInfoIndex            Integer32,
            arrisRouterWiFiClientInfoIPAddrType       InetAddressType,
            arrisRouterWiFiClientInfoIPAddr           InetAddress,
            arrisRouterWiFiClientInfoIPAddrTextual    DisplayString,
            arrisRouterWiFiClientInfoHostName         DisplayString,
            arrisRouterWiFiClientInfoMAC              MacAddress,
            arrisRouterWiFiClientInfoMACMfg           DisplayString,
            arrisRouterWiFiClientInfoStatus           INTEGER,
            arrisRouterWiFiClientInfoFirstSeen        DateAndTime,
            arrisRouterWiFiClientInfoLastSeen         DateAndTime,
            arrisRouterWiFiClientInfoIdleTime         Integer32,
            arrisRouterWiFiClientInfoInNetworkTime    Integer32,
            arrisRouterWiFiClientInfoState            DisplayString,
            arrisRouterWiFiClientInfoFlags            DisplayString,
            arrisRouterWiFiClientInfoTxPkts           Integer32,
            arrisRouterWiFiClientInfoTxFailures       Integer32,
            arrisRouterWiFiClientInfoRxUnicastPkts    Integer32,
            arrisRouterWiFiClientInfoRxMulticastPkts  Integer32,
            arrisRouterWiFiClientInfoLastTxPktRate    Integer32,
            arrisRouterWiFiClientInfoLastRxPktRate    Integer32,
            arrisRouterWiFiClientInfoRateSet          DisplayString,
            arrisRouterWiFiClientInfoRSSI             Integer32
        }

arrisRouterWiFiClientInfoIndex OBJECT-TYPE
     SYNTAX      Integer32 (1..64)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index for the table."
     ::= { arrisRouterWiFiClientInfoEntry 1 }        
        
arrisRouterWiFiClientInfoIPAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Current IP address type for the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 2 }
     
arrisRouterWiFiClientInfoIPAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Current IP address for the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 3 }
     
arrisRouterWiFiClientInfoIPAddrTextual OBJECT-TYPE
     SYNTAX      DisplayString 
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "A human-readable textual representation of the arrisRouterWiFiClientInfoIPAddr."
     ::= { arrisRouterWiFiClientInfoEntry 4 }
     
arrisRouterWiFiClientInfoHostName OBJECT-TYPE
     SYNTAX      DisplayString (SIZE (0..64))
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Hostname for the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 5 }
     
arrisRouterWiFiClientInfoMAC OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "MAC address of the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 6 }
     
arrisRouterWiFiClientInfoMACMfg OBJECT-TYPE
     SYNTAX DisplayString (SIZE(0..64))
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The manufacturer of the hardware adapter on the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 7 }
     
arrisRouterWiFiClientInfoStatus OBJECT-TYPE
     SYNTAX      INTEGER { down(0), up(1) }
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The most recent known status of the wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 8 }
     
arrisRouterWiFiClientInfoFirstSeen OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The time, if known, when this client was first seen. For 'dynamic' clients, 
         this will usually be when the first DHCP lease was given out to this client since the last
         boot. For 'staticDiscover' clients, this value will match the time of the first ARP response
         since the last boot. For 'staticConfigure' clients, this value will match the time of the
         first ARP response since the last boot." 
     ::= { arrisRouterWiFiClientInfoEntry 9 }
     
arrisRouterWiFiClientInfoLastSeen OBJECT-TYPE
     SYNTAX      DateAndTime
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION "The time, if known, when this client was most recently (last) seen. If the device
         has been disconnected or powered off this value will reflect that. If the device is currently
         active, this value should match the current system time with a variability of up to 1 minute."
     ::= { arrisRouterWiFiClientInfoEntry 10 }
     
arrisRouterWiFiClientInfoIdleTime OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "seconds"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number of seconds that this wireless client device has been idle."
     ::= { arrisRouterWiFiClientInfoEntry 11 }
     
arrisRouterWiFiClientInfoInNetworkTime OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "seconds"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number of seconds that this wireless client device has been in the network.
         This value will be reset when the wireless client device is disconnected or powered off.
         Thus this may not be equal to the elapsed time since: arrisRouterWiFiClientInfoFirstSeen." 
     ::= { arrisRouterWiFiClientInfoEntry 12 }
     
arrisRouterWiFiClientInfoState OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "A string representing the current connection state of this wireless client device.
         It will indicate if the device is: AUTHENTICATED, ASSOCIATED, and/or AUTHORIZED."
     ::= { arrisRouterWiFiClientInfoEntry 13 }
     
arrisRouterWiFiClientInfoFlags OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "A string representing the current various capability flags for this wireless 
     client device."
     ::= { arrisRouterWiFiClientInfoEntry 14 }
     
arrisRouterWiFiClientInfoTxPkts OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "packets"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number packets transmitted from this wireless client device since it was last connected."
     ::= { arrisRouterWiFiClientInfoEntry 15 }
     
arrisRouterWiFiClientInfoTxFailures OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "packets"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number transmit packet failures from this wireless client device since it was last connected."
     ::= { arrisRouterWiFiClientInfoEntry 16 }
     
arrisRouterWiFiClientInfoRxUnicastPkts OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "packets"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number of unicast packets received by this wireless client device since it was last connected."
     ::= { arrisRouterWiFiClientInfoEntry 17 }
     
arrisRouterWiFiClientInfoRxMulticastPkts OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "packets"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The number of multicast/broadcast packets received by this wireless client device since it was last connected."
     ::= { arrisRouterWiFiClientInfoEntry 18 }
     
arrisRouterWiFiClientInfoLastTxPktRate OBJECT-TYPE
     SYNTAX     Integer32 UNITS      "kbps" MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The transmission rate of the last packet transmitted from this wireless client device in kilobits-per-second."
     ::= { arrisRouterWiFiClientInfoEntry 19 }
     
arrisRouterWiFiClientInfoLastRxPktRate OBJECT-TYPE
     SYNTAX     Integer32
     UNITS      "kbps"
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The reception rate of the last packet received by this wireless client device in kilobits-per-second."
     ::= { arrisRouterWiFiClientInfoEntry 20 }
     
arrisRouterWiFiClientInfoRateSet OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The supported rate set for this wireless client device."
     ::= { arrisRouterWiFiClientInfoEntry 21 }
     
arrisRouterWiFiClientInfoRSSI OBJECT-TYPE
     SYNTAX     Integer32
     MAX-ACCESS read-only     
     STATUS current
     DESCRIPTION "The Received Signal Strength Indicator (RSSI) of the wireless client device. This value usually
     	displays as a negative, so a value closer to zero indicates more power."
     ::= { arrisRouterWiFiClientInfoEntry 22 }          

arrisRouterWiFiPhysicalChannel OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The current channel the WiFi is using.  This may match arrisRouterWiFiChannel except when that value is auto(0). 
    	          When the 'auto' mode is used, this OID will return the actual channel being used."
    ::= { arrisRouterWirelessCfg 43 }

arrisRouterWiFiHTTxStream OBJECT-TYPE
     SYNTAX     Unsigned32 (1..3)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Set or get the stream number on which the wireless antenna transmits."
     ::= { arrisRouterWirelessCfg 55 }

arrisRouterWiFiHTRxStream OBJECT-TYPE
     SYNTAX     Unsigned32 (1..3)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Set or get the stream number on which the wireless antenna receives."
     ::= { arrisRouterWirelessCfg 56 }

arrisRouterWiFiEnableSTBC OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable Space Time Block Coding."
     DEFVAL { false }
     ::= { arrisRouterWirelessCfg 57}

arrisRouterWiFiEnableRDG OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable Reverse Direction Grant."
     DEFVAL { false }
     ::= { arrisRouterWirelessCfg 58 }

arrisRouterWiFiIGMPSnooping OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable IGMP snooping.
                  When enabled it prevents unnecessary multicast traffic to the ports which did not subscribe to the multicast stream."
     DEFVAL { false }
     ::= { arrisRouterWirelessCfg 59 }

arrisRouterWiFiRTSRetry OBJECT-TYPE
    SYNTAX      INTEGER (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set or get the 2.4GHz RTS retry count. A non-zero value overrides the default RTS retry logic for single-client and multi-client.  If non-zero then the MIB value is the count used for RTS retries. Recommended value is between 1-32."
    DEFVAL {0}
    ::= { arrisRouterWirelessCfg 60 }

arrisRouterWiFiTxRetry OBJECT-TYPE
    SYNTAX      INTEGER (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set or get the 2.4GHz Tx retry count.  A non-zero value overrides the default data Tx retry logic for single-client and multi-client.  If non-zero then the MIB value is the count used for data Tx retries. Recommended value is between 1-32."
    DEFVAL {0}
    ::= { arrisRouterWirelessCfg 61 }


-- OIDs for 5 Ghz radio for devices with dual-bands


arrisRouterWiFi50RadioSettings OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 50 }

arrisRouterWiFi50Channel OBJECT-TYPE
     SYNTAX     Unsigned32 (0..216)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Controls and reflects the current channel number on the 5.0 GHz radio (802.11 a/n).
                                 
                                 If set to (0), the device will be put in auto-channel mode where it automatically scans 
                                 for the least-crowded channel.

                                 Available channels are 34-216. 
                                 Channel selection is also subject to restrictions based on the selected
                                 country code."
     ::= { arrisRouterWiFi50RadioSettings 1 }

arrisRouterWiFi50Mode OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), anMix(0), aOnly(1), nOnly(4),acOnly(5),nacMix(6),anacMix(7) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Controls and reflects the behavior of the device with regards to which
                                flavor of 802.11 is used. "
     ::= { arrisRouterWiFi50RadioSettings 2 }

arrisRouterWiFi50BeaconInterval OBJECT-TYPE
     SYNTAX      Unsigned32 (1..65535)
     UNITS               "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Amount of time between beacon transmissions."
     DEFVAL { 100 }
     ::= { arrisRouterWiFi50RadioSettings 3 }

arrisRouterWiFi50DTIMInterval OBJECT-TYPE
     SYNTAX      Unsigned32 (1..255)
     UNITS               "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Amount of time between Delivery Traffic Indication Messages."
     DEFVAL { 1 }
     ::= { arrisRouterWiFi50RadioSettings 4 }

arrisRouterWiFi50TxPreamble OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), long(0), short(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This attribute, indicates whether the transfer preamble is long or short."
     DEFVAL { 0 }
     ::= { arrisRouterWiFi50RadioSettings 5 }

arrisRouterWiFi50RTSThreshold OBJECT-TYPE
     SYNTAX      Unsigned32 (0..2347)
     UNITS       "bytes"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
                "The RTS (Request to Send) Threshold indicates the number of bytes in an MPDU,
        below which an RTS/CTS handshake shall not be performed. An RTS/CTS handshake shall 
        be performed at the beginning of any frame exchange sequence where the MPDU is of type Data or
        Management, the MPDU has an individual address in the Address1 field, and the length of the MPDU is greater than
        this threshold. Setting this attribute to be larger than the maximum MSDU size shall have the effect of 
        turning off the RTS/CTS handshake for frames of Data or Management type transmitted by
        this device. Setting this attribute to zero shall have the effect of turning on the RTS/CTS handshake for 
        all frames of Data or Management type transmitted by this device. "
     DEFVAL { 2347 }
     ::= { arrisRouterWiFi50RadioSettings 6 }

arrisRouterWiFi50FragmentThresh OBJECT-TYPE
     SYNTAX      Unsigned32 (256..2346)
     UNITS       "bytes"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This value specifies the maximum size of a packet before the data is fragmented into two or more packets."
     DEFVAL { 2346 }
     ::= { arrisRouterWiFi50RadioSettings 7 }

arrisRouterWiFi50ShortSlot OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "This returns whether or not the use of short slot timing mode is on or off (long). 
                    The amount of time a device waits after a collision before retransmitting a packet. 
                    You can increase throughput by enabling short slot time.
                    Use the new arrisRouterWiFiShortSlotEnhanced to set to 'auto' mode."
     DEFVAL { true }
     ::= { arrisRouterWiFi50RadioSettings 8 }

arrisRouterWiFi50FrameBurst OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Bursting may increase the throughput of link connection in certain
                                        conditions. This can result in the ability to support higher data
                                        throughput in mixed and uniform networks. Also known as 'XPress Technology'"
     DEFVAL { false }
     ::= { arrisRouterWiFi50RadioSettings 9 }

arrisRouterWiFi50EnableRadio OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable 5 GHz WiFi radio."
     DEFVAL { true }
     ::= { arrisRouterWiFi50RadioSettings 10 }

arrisRouterWiFi50ShortRetryLimit OBJECT-TYPE
     SYNTAX      Integer32 (1..255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the retry limit of frames longer than the RTS threshold."
     ::= { arrisRouterWiFi50RadioSettings 12 }

arrisRouterWiFi50LongRetryLimit OBJECT-TYPE
     SYNTAX      Integer32 (1..255)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the retry limit of frames shorter than the RTS threshold."
     ::= { arrisRouterWiFi50RadioSettings 13 }

arrisRouterWiFi50OutputPower OBJECT-TYPE
    SYNTAX      INTEGER {
                percent12(12),
                percent25(25),
                percent50(50),
                percent75(75),
                percent100(100)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the output power relative to the hardware's maximum capability.
         Now only percent25(25), percent50(50) and percent100(100) can be set, 
         they are mapped to Low, medium and high power level which used on GUI."
    DEFVAL { percent100 }
    ::= { arrisRouterWiFi50RadioSettings 14 }

arrisRouterWiFi50MulticastA OBJECT-TYPE
     SYNTAX              INTEGER {      auto(0),
                                                        rate12mbps(12),
                                                        rate18mbps(18),
                                                        rate24mbps(24),
                                                        rate36mbps(36),
                                                        rate48mbps(48),
                                                        rate72mbps(72),
                                                        rate96mbps(96),
                                                        rate108mbps(108)
                                                        }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the multicast rate for 802.11a."
     ::= { arrisRouterWiFi50RadioSettings 15 }

arrisRouterWiFi50PhysicalChannel OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION  "The current channel the 5.0 GHz WiFi radio is using. This may match arrisRouterWiFiChannel except when that value is auto(0).
 	               When the 'auto' mode is used, this OID will return the actual channel being used."
     ::= { arrisRouterWiFi50RadioSettings 16 }

arrisRouterWiFi50NSettings OBJECT IDENTIFIER ::= { arrisRouterWiFi50RadioSettings 20 }

arrisRouterWiFi50HTMCS OBJECT-TYPE
     SYNTAX  INTEGER { auto(0),
                                          legacy(1),
                                          mcs0(2),
                                          mcs1(3),
                                          mcs2(4),
                                          mcs3(5),
                                          mcs4(6),
                                          mcs5(7),
                                          mcs6(8),
                                          mcs7(9),
                                          mcs8(10),
                                          mcs9(11),
                                          mcs10(12),
                                          mcs11(13),
                                          mcs12(14),
                                          mcs13(15),
                                          mcs14(16),
                                          mcs15(17),
                                          mcs16(18),
                                          mcs17(19),
                                          mcs18(20),
                                          mcs19(21),
                                          mcs20(22),
                                          mcs21(23),
                                          mcs22(24),
                                          mcs23(25)
                                                            }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Get or set the 802.11n physical modulation coding scheme (MCS) rate.
				Forces the N Phy transmission rate for the AP to a particular speed.  
				Each group of rates corresponds to BW (20 MHz or 40 MHz) and GI (800ns or 400ns) configuration.
				mcs0:	6.5   Mbps for 20Mhz and	13.5  Mbps for 40 MHz if guard interval is 800ns.
						7.2   Mbps for 20Mhz and	15    Mbps for 40 Mhz if guard interval is 400ns.
				mcs1:	13    Mbps for 20Mhz and	27    Mbps for 40 MHz if guard interval is 800ns.
						14.4  Mbps for 20Mhz and	30    Mbps for 40 Mhz if guard interval is 400ns.
				mcs2:	19.5  Mbps for 20Mhz and	40.5  Mbps for 40 MHz if guard interval is 800ns.
						21.7  Mbps for 20Mhz and	45    Mbps for 40 Mhz if guard interval is 400ns.
				mcs3:	26    Mbps for 20Mhz and	54    Mbps for 40 MHz if guard interval is 800ns.
						28.9  Mbps for 20Mhz and	60    Mbps for 40 Mhz if guard interval is 400ns.
				mcs4:	39    Mbps for 20Mhz and	81    Mbps for 40 MHz if guard interval is 800ns.
						43.3  Mbps for 20Mhz and	90    Mbps for 40 Mhz if guard interval is 400ns.
				mcs5:	52    Mbps for 20Mhz and	108   Mbps for 40 MHz if guard interval is 800ns.
						57.8  Mbps for 20Mhz and	120   Mbps for 40 Mhz if guard interval is 400ns.
				mcs6:	58.5  Mbps for 20Mhz and	121.5 Mbps for 40 MHz if guard interval is 800ns.
						65    Mbps for 20Mhz and	135   Mbps for 40 Mhz if guard interval is 400ns.
				mcs7:	65    Mbps for 20Mhz and	135   Mbps for 40 MHz if guard interval is 800ns.
						72.2  Mbps for 20Mhz and	150   Mbps for 40 Mhz if guard interval is 400ns.
				mcs8:	13    Mbps for 20Mhz and	27    Mbps for 40 MHz if guard interval is 800ns.
						14.4  Mbps for 20Mhz and	30    Mbps for 40 Mhz if guard interval is 400ns.
				mcs9:	26    Mbps for 20Mhz and	54    Mbps for 40 MHz if guard interval is 800ns.
						28.9  Mbps for 20Mhz and	60    Mbps for 40 Mhz if guard interval is 400ns.
				mcs10:	39    Mbps for 20Mhz and	81    Mbps for 40 MHz if guard interval is 800ns.
						43.3  Mbps for 20Mhz and	90    Mbps for 40 Mhz if guard interval is 400ns.
				mcs11:	52    Mbps for 20Mhz and	108   Mbps for 40 MHz if guard interval is 800ns.
						57.8  Mbps for 20Mhz and	120   Mbps for 40 Mhz if guard interval is 400ns.
				mcs12:	78    Mbps for 20Mhz and	162   Mbps for 40 MHz if guard interval is 800ns.
						86.7  Mbps for 20Mhz and	180   Mbps for 40 Mhz if guard interval is 400ns.
				mcs13:	104   Mbps for 20Mhz and	216   Mbps for 40 MHz if guard interval is 800ns.
						115.6 Mbps for 20Mhz and	240   Mbps for 40 Mhz if guard interval is 400ns.
				mcs14:	117   Mbps for 20Mhz and	243   Mbps for 40 MHz if guard interval is 800ns.
						130.3 Mbps for 20Mhz and	270   Mbps for 40 Mhz if guard interval is 400ns.
				mcs15:	130   Mbps for 20Mhz and	270   Mbps for 40 MHz if guard interval is 800ns.
						144.4 Mbps for 20Mhz and	300   Mbps for 40 Mhz if guard interval is 400ns.
				mcs16 ~ mcs23 are also suppported
                "
     ::= { arrisRouterWiFi50NSettings 1 }

arrisRouterWiFi50ChannelBW OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), width20MHz(0), width20and40Mhz(2),width20and40and80Mhz(3) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Determines which Band Width that we will be operating in. Either the 20MHz 40MHz or 80MHz.
                                        Note: This is for 802.11n mode only. "
     ::= { arrisRouterWiFi50NSettings 2 }

arrisRouterWiFi50NSideBand OBJECT-TYPE
    SYNTAX      INTEGER {
                unknown(-1),
                upper(1),
                lower(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Determines which side Band the channel will operate in.
                Note: This is for 802.11n mode only, this OID is dependent on what arrisRouterWiFiChannelBW is selected and only
                applies when 40MHz is selected."
    ::= { arrisRouterWiFi50NSettings 3 }

arrisRouterWiFi50HTMode OBJECT-TYPE
     SYNTAX      INTEGER { mixed(0), greenField(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "In mixed mode, each 802.11n transmission is always embedded in an 802.11a or 802.11g transmission.
                                 Green field will ingore some of the early standard, so 802.11n devices have higher efficiency but 802.11a/b/g devices 
                                 can not use this network in greenfield mode."
         DEFVAL { 0 }
     ::= { arrisRouterWiFi50NSettings 4 }

arrisRouterWiFi50GuardInterval OBJECT-TYPE
     SYNTAX      INTEGER { gi400(0), gi800(1), auto(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Spacing between transmission of symbols in nanoseconds."
     DEFVAL { gi800 }
     ::= { arrisRouterWiFi50NSettings 5 }

arrisRouterWiFi50AMSDUEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Aggregation of MAC Service Data Units (MSDUs) at the top of the MAC."
     DEFVAL { false }
     ::= { arrisRouterWiFi50NSettings 6 }

arrisRouterWiFi50DeclinePeerBA OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable rejection of peer BA-request."
     DEFVAL { false }
     ::= { arrisRouterWiFi50NSettings 7 }

arrisRouterWiFi50BlockAck OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable blocking of ACK (BA) during data transfer."
     DEFVAL { false }
     ::= { arrisRouterWiFi50NSettings 8 }

arrisRouterWiFi50NProtection OBJECT-TYPE
     SYNTAX      INTEGER { off(0), auto(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Set/read 802.11n protection setting. This is for OFDM protection for MIMO frames. "
     ::= { arrisRouterWiFi50NSettings 9 }

arrisRouterWiFi50HTTxStream OBJECT-TYPE
     SYNTAX     Unsigned32 (1..3)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Set or get the stream number on which the wireless antenna transmits."
     ::= { arrisRouterWiFi50RadioSettings 21 }
arrisRouterWiFi50HTRxStream OBJECT-TYPE
     SYNTAX     Unsigned32 (1..3)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Set or get the stream number on which the wireless antenna receives."
     ::= { arrisRouterWiFi50RadioSettings 22 }
arrisRouterWiFi50EnableSTBC OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable Space Time Block Coding."
     DEFVAL { false }
     ::= { arrisRouterWiFi50RadioSettings 23 }
arrisRouterWiFi50EnableRDG OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable Reverse Direction Grant."
     DEFVAL { false }
     ::= { arrisRouterWiFi50RadioSettings 24 }

arrisRouterWiFi50IGMPSnooping OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable IGMP snooping.
                  When enabled it prevents unnecessary multicast traffic to the ports which did not subscribe to the multicast stream."
     DEFVAL { false }
     ::= { arrisRouterWiFi50RadioSettings 25 }

arrisRouterWiFi50BlockDFSChan OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Used to enable or disable the inclusion of DFS channels when configured to auto-select channels.
                 When enabled, it blocks DFS channels from being automatically selected.
                 When disabled, it allows DFS channels to be automatically selected."
     DEFVAL { true }
     ::= { arrisRouterWiFi50RadioSettings 26 }

arrisRouterWiFi50RTSRetry OBJECT-TYPE
    SYNTAX      INTEGER (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set or get the 5.0GHz RTS retry count. A non-zero value overrides the default RTS retry logic for single-client and multi-client.  If non-zero then the MIB value is the count used for RTS retries. Recommended value is between 1-32."
    DEFVAL {0}
    ::= { arrisRouterWiFi50RadioSettings 27 }

arrisRouterWiFi50TxRetry OBJECT-TYPE
    SYNTAX      INTEGER (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set or get the 5.0GHz Tx retry count.  A non-zero value overrides the default data Tx retry logic for single-client and multi-client.  If non-zero then the MIB value is the count used for data Tx retries. Recommended value is between 1-32."
    DEFVAL {0}
    ::= { arrisRouterWiFi50RadioSettings 28 }

arrisRouterWiFiNumSSIDSupported OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Number of SSIDs Supported"
     ::= { arrisRouterWirelessCfg 51 }


arrisRouterWPS50Cfg			 OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 65 }

arrisRouterWps50Mode OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether or not WiFi Protected Setup (WPS) is enabled or disabled.
                 The WPS mode can't be set to enabled(1) when the primary SSID arrisRouterBssSecurityMode is wep(1)."    
    ::= { arrisRouterWPS50Cfg 1 }

arrisRouterWps50ConfigState OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set the WiFi Protected Setup (WPS) config state."    
    ::= { arrisRouterWPS50Cfg 2 }

arrisRouterWps50DevicePIN OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get or set the WiFi Protected Setup (WPS) device PIN.  This is the PIN that is displayed to the user to input on their client device."
    ::= { arrisRouterWPS50Cfg 3 }

arrisRouterWps50DeviceName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of this device"    
    ::= { arrisRouterWPS50Cfg 4 }

arrisRouterWps50ModelName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Model Name"    
    ::= { arrisRouterWPS50Cfg 5 }

arrisRouterWps50Mfg OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Manufacturer string"    
    ::= { arrisRouterWPS50Cfg 6 }

arrisRouterWps50ResultStatus OBJECT-TYPE
    SYNTAX      INTEGER {
			wpsResultUnknown(-1),
			wpsResultNoneIssued(0),
			wpsResultAddClientSuccess(1),
			wpsResultAddClientFail(2),
			wpsResultAddClientAbort(3),
			wpsResultConfigApSuccess(4),
			wpsResultConfigApFail(5),
			wpsResultConfigApAbort(6)			
			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "The result status of the most recent WPS operation."
	::= { arrisRouterWPS50Cfg 7 }

    
arrisRouterWps50Status OBJECT-TYPE
    SYNTAX      INTEGER {
			wpsUnknown(-1),
			wpsInitialState(0),
			wpsAssociatedStarted(1),
			wpsM2Sent(2),
			wpsM7Sent(3),
			wpsTimedOut(4),
			wpsMsgDone(5),
			wpsSuccessful(6),
			wpsMsgExchangeErr(7),    
			wpsPushButtonOverlap(8),
			wpsAssociating(9),    
			wpsPushButtonFindAP(10)    
			}
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "Current status of the WPS subsystem."
	::= { arrisRouterWPS50Cfg 8 }
 
arrisRouterWps50ConfigTimeout OBJECT-TYPE
    SYNTAX      INTEGER { disabled(0), enabled(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Get and set whether the WiFi Protected Setup (WPS) uses timeout."    
    ::= { arrisRouterWPS50Cfg 9 }

arrisRouterWps50STAPin OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set the WiFi Protected Setup (WPS) PIN for a new station/device.  This is the PIN from a 'client' device."    
    ::= { arrisRouterWPS50Cfg 10 }

arrisRouterWps50PushButton OBJECT-TYPE
    SYNTAX      INTEGER { unknown(0), activatePushButton(1), activatePINCfg(2), cancelWPS(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set to 'activatePushButton' to push the virtual button on the Access Point and start the WPS push-button process.
				Set to 'activePINCfg' to start the WPS PIN process.  The client device PIN should be written to arrisRouterWps50STAPin
				before triggering the WPS process.
				Cancel an active WPS config (started with either 1 or 2) by setting this value to 'cancelWPS'."
    ::= { arrisRouterWPS50Cfg 11 }


arrisRouterWps50UUID OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Sets WPS Universal Unique Identifier"
	::= { arrisRouterWPS50Cfg 14 }

-- Radio Statistics Gathering setting and report

arrisRouterWiFiPhysicalChannelStats	OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 62 }

arrisRouterWiFiPhysicalChannelStatsEnable OBJECT-TYPE
	SYNTAX INTEGER
	{
		disabled(0),
		enable-2-4(1),
		enable-5(2),
		enable-all(3)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable collection of the Physical Channel Statistics (per Radio)"
	DEFVAL { 0 }
	::= { arrisRouterWiFiPhysicalChannelStats 1 }

arrisRouterWiFiPhysicalChannelStatsMeasurementRate OBJECT-TYPE
	SYNTAX Integer32 (5..300)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Periodic Measurement Rate for specific measurements (seconds)"
	DEFVAL { 30 }
	::= { arrisRouterWiFiPhysicalChannelStats 2 }

arrisRouterWiFiPhysicalChannelStatsMeasurementInterval OBJECT-TYPE
	SYNTAX Integer32 (300..3600)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Measurement interval for reporting statistics (seconds)"
	DEFVAL { 1800 }
	::= { arrisRouterWiFiPhysicalChannelStats 3 }

arrisRouterChannelStatsMeasurementTable OBJECT-TYPE
	SYNTAX SEQUENCE OF ArrisRouterChannelStatsMeasurementEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Table contains measurements for individual radio interfaces."
	::= { arrisRouterWiFiPhysicalChannelStats 4 }

arrisRouterChannelStatsMeasurementEntry OBJECT-TYPE
	SYNTAX ArrisRouterChannelStatsMeasurementEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Table contains measurements for individual radio interfaces."
	INDEX { ifIndex }
	::= { arrisRouterChannelStatsMeasurementTable 1 }

ArrisRouterChannelStatsMeasurementEntry ::= SEQUENCE {
		arrisRouterChannelStatsMinNoiseFloor            Integer32,
		arrisRouterChannelStatsMaxNoiseFloor            Integer32,
		arrisRouterChannelStatsMedianNoiseFloor         Integer32,
		arrisRouterChannelStatsPacketsSent              Counter64,
		arrisRouterChannelStatsPacketsReceived          Counter64,
		arrisRouterChannelStatsCSTExceedPercent         Integer32,
		arrisRouterChannelStatsActivityFactor           Integer32,
		arrisRouterChannelStatsChannelUtilization       Integer32,
		arrisRouterChannelStatsRetransmissionsMetric	Integer32	
	}   
	
arrisRouterChannelStatsMinNoiseFloor OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The minimum noise floor (dBm) on the serving channel 
		across the measurement interval."
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 1 }

arrisRouterChannelStatsMaxNoiseFloor OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum noise floor(dBm) on the serving channel across 
		the measurement interval."
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 2 }

arrisRouterChannelStatsMedianNoiseFloor OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The median noise floor (dBm) on the serving channel across 
		the measurement interval."
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 3 }

arrisRouterChannelStatsPacketsSent OBJECT-TYPE
	SYNTAX Counter64
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
"Total number of packets transmitted out of the radio 
across the measurement interval."
	DEFVAL {0}
	::= { arrisRouterChannelStatsMeasurementEntry 4 }

arrisRouterChannelStatsPacketsReceived OBJECT-TYPE
	SYNTAX Counter64
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Total number of packets received on the radio across the 
		measurement interval."
	DEFVAL {0}
	::= { arrisRouterChannelStatsMeasurementEntry 5 }

arrisRouterChannelStatsCSTExceedPercent OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Percentage of time the CST was exceeded across the radio 
		across the measurement interval."
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 6 }

arrisRouterChannelStatsActivityFactor OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Percentage of air time the radio was actively utilizing 	
		the channel across the measurement interval."
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 7 }

arrisRouterChannelStatsChannelUtilization OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Percentage of time the medium was utilized on the channel 
		across the measurement interval"
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 8 }

arrisRouterChannelStatsRetransmissionsMetric OBJECT-TYPE
	SYNTAX Integer32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Percentage of packets that had to be retransmitted the 
		measurement interval"
	DEFVAL {-1}
	::= { arrisRouterChannelStatsMeasurementEntry 9 }

arrisRouterChannelStatsRSSITable OBJECT-TYPE
	SYNTAX SEQUENCE OF ArrisRouterChannelStatsRSSITableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Table contains a histogram of client RSSI Values across 
		the measurement interval."
	::= { arrisRouterWiFiPhysicalChannelStats 5 }
	
arrisRouterChannelStatsRSSITableEntry OBJECT-TYPE
	SYNTAX ArrisRouterChannelStatsRSSITableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, arrisRouterChannelStatsRSSITableIndex }
	::= { arrisRouterChannelStatsRSSITable 1 }

ArrisRouterChannelStatsRSSITableEntry ::= SEQUENCE {
	    arrisRouterChannelStatsRSSITableIndex		Integer32,
	    arrisRouterChannelStatsRSSICount	    	Integer32
	}

arrisRouterChannelStatsRSSITableIndex OBJECT-TYPE
     SYNTAX      Integer32 (1..40)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "Index used to order the ChannelStatsRSSITable entries."
     ::= { arrisRouterChannelStatsRSSITableEntry 1 }

arrisRouterChannelStatsRSSICount OBJECT-TYPE
     SYNTAX      Integer32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
         "The RSSI Count for this 'bin'."
     DEFVAL { -1 }
     ::= { arrisRouterChannelStatsRSSITableEntry 2 }

-- OIDs for 5 Ghz radio for wmm and wps
arrisRouterWMM50Cfg			 OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 63}

arrisRouterWMM50Enable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable WiFi MultiMedia (WMM) QOS support.. Note that this applies to only the primary (zero) Wireless network."       
    DEFVAL { true }    
    ::= { arrisRouterWMM50Cfg 1 }

arrisRouterWMM50NoAck OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This refers to the acknowledge policy used at the MAC level. 
				Enabling no-acknowledgement can result in more efficient throughput but 
				higher error rates in a noisy Radio Frequency (RF) environment."				
	DEFVAL { false }    
    ::= { arrisRouterWMM50Cfg 2 }

arrisRouterWMM50APSD OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Automatic Power Save Delivery is a more efficient power management method than legacy 802.11 Power Save Polling.
				Set the value here."
	DEFVAL { true }    
    ::= { arrisRouterWMM50Cfg 3 }

arrisRouterWMM50EDCAAPTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWMM50EDCAAPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of for setting WMM EDCA values for the access point. 
				This affects traffic flowing from the access point to the client station "
    ::= { arrisRouterWMM50Cfg 4 }
    
arrisRouterWMM50EDCAAPEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWMM50EDCAAPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of for setting WMM EDCA values for the access point. 
				This affects traffic flowing from the access point to the client station "
    INDEX   { arrisRouterWMM50EDCAAPIndex }
    ::= { arrisRouterWMM50EDCAAPTable 1 }
    
ArrisRouterWMM50EDCAAPEntry ::= 
    SEQUENCE    {
                arrisRouterWMM50EDCAAPIndex			Integer32,
                arrisRouterWMM50EDCAAPCWmin			Unsigned32,
                arrisRouterWMM50EDCAAPCWmax			Unsigned32,
                arrisRouterWMM50EDCAAPAIFSN			Unsigned32,
                arrisRouterWMM50EDCAAPTxOpBLimit		Unsigned32,
                arrisRouterWMM50EDCAAPTxOpAGLimit		Unsigned32,
				arrisRouterWMM50EDCAAPAdmitCont		TruthValue,
                arrisRouterWMM50EDCAAPDiscardOld		TruthValue
    }
    
arrisRouterWMM50EDCAAPIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..4)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The index into the table will be one of the parameters: 1=ACBE (best effort), 2=ACBK (background), 3=ACVI (video), 4=ACVO (voice)"
    ::= { arrisRouterWMM50EDCAAPEntry 1 }

arrisRouterWMM50EDCAAPCWmin OBJECT-TYPE
    SYNTAX      Unsigned32 
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
	DESCRIPTION "Minimum Contention Window. 
				 This parameter is input to the algorithm that determines the initial random backoff wait time (window) for retry of a transmission. 
				 The value specified here in the Minimum Contention Window is the upper limit of a range from which the initial random backoff 
				 wait time is determined. The first random number generated will be a number between 0 and the number specified here. 
				 If the first random backoff wait time expires before the data frame is sent, a retry counter is incremented and the 
				 random backoff value (window) is doubled. Doubling will continue until the size of the random backoff value reaches the number 
				 defined in the Maximum Contention Window. 
				 Valid values are 1, 3, 7, 15, 31, 63, 127, 255, and 511. 
				 This value must be lower than the value for arrisRouterWMMEDCAAPCWmax"
    ::= { arrisRouterWMM50EDCAAPEntry 2 }

arrisRouterWMM50EDCAAPCWmax OBJECT-TYPE
    SYNTAX      Unsigned32 
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Maximum Contention Window. The value specified here in the Maximum Contention Window is the upper limit for the 
				 doubling of the random backoff value. This doubling continues until either the data frame is sent or the 
				 Maximum Contention Window size is reached. Once the Maximum Contention Window size is reached, retries 
				 will continue until a maximum number of retries allowed is reached. 
				 Valid values are 1, 3, 7, 15, 31, 63, 127, 255, 511, and 1023. 
				 This value must be higher than the value for arrisRouterWMMEDCAAPCWmin."
    ::= { arrisRouterWMM50EDCAAPEntry 3 }

arrisRouterWMM50EDCAAPAIFSN OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS		"milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The Arbitration Inter-Frame Spacing Number specifies a wait time for data frames"
    ::= { arrisRouterWMM50EDCAAPEntry 4 }

arrisRouterWMM50EDCAAPTxOpBLimit OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS		"microseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transmission Opportunity for b mode is an interval of time when a WME AP has the right to initiate 
				transmissions onto the wireless medium (WM). This value specifies the Transmission Opportunity (TXOP) for AP; 
				that is, the interval of time when the WMM AP has the right to initiate transmissions on the wireless network."    
    ::= { arrisRouterWMM50EDCAAPEntry 5 }

arrisRouterWMM50EDCAAPTxOpAGLimit OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    UNITS		"microseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transmission Opportunity for A and G mode is an interval of time when a WME AP has the right to initiate 
				transmissions onto the wireless medium (WM). This value specifies the Transmission Opportunity (TXOP) for AP; 
				that is, the interval of time when the WMM AP has the right to initiate transmissions on the wireless network."    
    ::= { arrisRouterWMM50EDCAAPEntry 6 }
    
arrisRouterWMM50EDCAAPAdmitCont OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable admission control for specific category of traffic."    
    ::= { arrisRouterWMM50EDCAAPEntry 7 }
    
arrisRouterWMM50EDCAAPDiscardOld OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Discard oldest packet first enable/disable."    
    ::= { arrisRouterWMM50EDCAAPEntry 8 }

arrisRouterWiFiExtensionChannel OBJECT-TYPE
     SYNTAX     INTEGER { belowControlChannel(0), aboveControlChannel(1), auto(2) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION  "Set or get the 2.4GHz extension channel for 40MHz operation
                   The value of extension channel depends on the arrisRouterWiFiChannel."
     ::= { arrisRouterWirelessCfg 64 }

arrisRouterWifiLowInitRate OBJECT-TYPE
	 SYNTAX      TruthValue
	 MAX-ACCESS  read-write
	 STATUS      current
	 DESCRIPTION "Set true will reduce data rate based on increasing packet error ratio. Set false will turn off this function.This MIB is for MTK 3352."
	 DEFVAL { false }
	 ::= { arrisRouterWirelessCfg 66 }

arrisRouterWiFiBssStaSteering OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 69}

arrisRouterWiFiBssStaSteeringReset OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Remove all STA Steering Lists (Global) and reset Groups to defaults."
    DEFVAL { false }
    ::= { arrisRouterWiFiBssStaSteering 1 }

arrisRouterWiFiBssStaSteeringDenyCount OBJECT-TYPE
    SYNTAX          INTEGER (1..10)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Number of Association tries before allowing a STA
                     to join a blocked BSS (Global config for all lists)."
    DEFVAL { 5 }
    ::= { arrisRouterWiFiBssStaSteering 2 }

arrisRouterWiFiBssStaSteeringDenyWindow OBJECT-TYPE
    SYNTAX          INTEGER (0..120)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Number of Seconds before Deny Count is reset (Global config for all lists).
                    0 = Deny Window is disabled"
    DEFVAL { 0 }
    ::= { arrisRouterWiFiBssStaSteering 3 }

-- Provide Configuration for Per BSS STA Steering

arrisRouterBssStaSteeringTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterBssStaSteeringEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table containing BSS Steering Entries indexed by ifIndex."
      ::= { arrisRouterWiFiBssStaSteering 4 }

arrisRouterBssStaSteeringEntry OBJECT-TYPE
      SYNTAX      ArrisRouterBssStaSteeringEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table containing STA Steering BSS Group entries."
      INDEX { ifIndex }
      ::= { arrisRouterBssStaSteeringTable 1 }

ArrisRouterBssStaSteeringEntry ::= SEQUENCE {
        arrisRouterBssStaSteeringIndex            Integer32,
        arrisRouterBssStaSteeringTableClear       Integer32,
        arrisRouterBssStaSteeringTableDenyCount   Integer32,
        arrisRouterBssStaSteeringTableDenyWindow  Integer32,
        arrisRouterBssStaSteeringTableStatus      RowStatus
        }

arrisRouterBssStaSteeringIndex OBJECT-TYPE
   SYNTAX      Integer32 (1..16)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "Table index"
   ::= { arrisRouterBssStaSteeringEntry 1  }

arrisRouterBssStaSteeringTableClear OBJECT-TYPE
    SYNTAX          Integer32 (0..2)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "0 - No Action
                     1 - Reset Table to defaults
                     2 - Clear ifIndex Client List"
    DEFVAL { 0 }
    ::= { arrisRouterBssStaSteeringEntry 2 }

arrisRouterBssStaSteeringTableDenyCount OBJECT-TYPE
    SYNTAX          Integer32 (0..10)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION        "Number of Association tries before allowing a STA
                     to join another BSS (Local config for this list)."
    DEFVAL { 5 }
    ::= { arrisRouterBssStaSteeringEntry 3 }

arrisRouterBssStaSteeringTableDenyWindow OBJECT-TYPE
    SYNTAX          Integer32 (0..120)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION        "Number of Seconds before Deny Count is reset (local config for list).
                    0 = Deny Window is disabled"
    DEFVAL { 0 }
    ::= { arrisRouterBssStaSteeringEntry 4 }

arrisRouterBssStaSteeringTableStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.
         To create a row in this table, a manager must set this object to
         either createAndGo(4) or createAndWait(5).
         Until instances of all corresponding columns are appropriately
         configured, the value of the corresponding instance of the
         arrisRouterBssStaSteeringTableStatus column is 'notReady'.
         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterBssStaSteeringEntry 5 }

-- Client Entries for a BSS Group --------------------------------------

arrisRouterBssStaSteeringClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterBssStaSteeringClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION " Station Entries Applied to the BSS Group"
    ::= { arrisRouterWiFiBssStaSteering 5 }

arrisRouterBssStaSteeringClientEntry OBJECT-TYPE
    SYNTAX      ArrisRouterBssStaSteeringClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION " Station Entries for the BSS Group "
    INDEX { ifIndex,
            arrisRouterBssStaSteeringClientIndex  }
    ::= { arrisRouterBssStaSteeringClientTable 1 }

ArrisRouterBssStaSteeringClientEntry ::= SEQUENCE {
        arrisRouterBssStaSteeringClientIndex                  Integer32,
        arrisRouterBssStaSteeringClientMacAddress             MacAddress,
        arrisRouterBssStaSteeringClientLastAssocTime          DateAndTime,
        arrisRouterBssStaSteeringClientOtherBssJoinedCount    Integer32
        }

arrisRouterBssStaSteeringClientIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Table index"
    ::= { arrisRouterBssStaSteeringClientEntry 1  }

arrisRouterBssStaSteeringClientMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "A MAC address of a station which has joined the BSS and should be steered to this BSS."
    ::= { arrisRouterBssStaSteeringClientEntry 2  }

arrisRouterBssStaSteeringClientLastAssocTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The date and time when this Client Last Associated."
    ::= { arrisRouterBssStaSteeringClientEntry 3  }

arrisRouterBssStaSteeringClientOtherBssJoinedCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Times the Client was allowed to join another BSS"
    ::= { arrisRouterBssStaSteeringClientEntry 4  }

arrisRouterWiFiInterworkingIE OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Enable or Disable the Interworking Informational
                      Element for ALL BSSs on all radios."
    DEFVAL { true }
    ::= { arrisRouterWirelessCfg 70}

arrisRouterAirtimeCtrlCfg OBJECT IDENTIFIER ::= { arrisRouterWirelessCfg 99 }

arrisRouterAirtimeCtrlBSSIDEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable the BSSID airtime management feature." 
     DEFVAL { false }
     ::= { arrisRouterAirtimeCtrlCfg 1 }

arrisRouterAirtimeCtrlBSSIDWeightTable OBJECT-TYPE
	SYNTAX		SEQUENCE OF ArrisRouterAirtimeCtrlBSSIDWeightEntry
	MAX-ACCESS 	not-accessible
	STATUS		current
	DESCRIPTION
		"This table assigns bandwidth allocation percentage to the BSSID."
	::= { arrisRouterAirtimeCtrlCfg 2 }
	
arrisRouterAirtimeCtrlBSSIDWeightEntry OBJECT-TYPE
	SYNTAX		ArrisRouterAirtimeCtrlBSSIDWeightEntry
	MAX-ACCESS  not-accessible
	STATUS		current
	DESCRIPTION
		"A row in the table of the arrisRouterAirtimeCtrlBSSIDMappingTable."
    INDEX { ifIndex }	--from IF-MIB
	::= { arrisRouterAirtimeCtrlBSSIDWeightTable 1 }
	
ArrisRouterAirtimeCtrlBSSIDWeightEntry ::=
	SEQUENCE	{
				  arrisRouterAirtimeCtrlBSSIDWeightGuaranteedPercentage		Unsigned32,
				  arrisRouterAirtimeCtrlBSSIDWeightMaximumPercentage	    Unsigned32
	            }

arrisRouterAirtimeCtrlBSSIDWeightGuaranteedPercentage OBJECT-TYPE
	SYNTAX		Unsigned32 (0..100)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
		"The minimum percentage of airtime allocated to the BSSID during periods of congestion."
	DEFVAL { 0 }
   ::= { arrisRouterAirtimeCtrlBSSIDWeightEntry 1 }

arrisRouterAirtimeCtrlBSSIDWeightMaximumPercentage OBJECT-TYPE
     SYNTAX      Unsigned32 (0..100)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The maximum percentage of airtime allocated to the BSSID during periods of non-congestion." 
	 DEFVAL { 100 }
     ::= { arrisRouterAirtimeCtrlBSSIDWeightEntry 2 }


-- firewall settings

arrisRouterFWEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Is the firewall enabled or not"
    DEFVAL { true }
    ::= { arrisRouterFWCfg 1 }


arrisRouterFWEnableDMZ OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable any configured DMZ host"
    ::= { arrisRouterFWCfg 6 }

arrisRouterFWIPAddrTypeDMZ OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "The IP address type of the DMZ host"
    ::= { arrisRouterFWCfg 7 }

arrisRouterFWIPAddrDMZ OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "The IP address of the DMZ host"
    ::= { arrisRouterFWCfg 8 }
    
arrisRouterFWSecurityLevel OBJECT-TYPE
    SYNTAX      INTEGER { minimum(1), medium(2), maximum(3), custom(4) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "This variable can be used to set a generic firewall 'level'.  
				minimum: ALLOWS all incoming and outgoing connections except IDENT (port 113).
				medium: REJECTS all incoming connections and ALLOWS all outgoing connections except IDENT (port 113), ICMP, Kazaa (port 1214), Bittorrent (Ports 6881-6999), Gnutella (6346),
						Vuze (49152-65534)
				maximum: REJECTS all incoming connections.  
						REJECTS all outgoing connections except for: HTTP (80), HTTPS (443), DNS (53), Email (25,110,143,465,587,993,995), NTP (119, 123), VPN (500, 1723), iTunes (3689)
				custom: Custom port filters and triggers are used."
    ::= { arrisRouterFWCfg 9 }
-- Virtual server (port forwarding) table

arrisRouterFWVirtSrvTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWVirtSrvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of 'virtual servers'. This allows for incoming requests on specific port numbers to reach web servers, 
					FTP servers, mail servers, etc. so they can be accessible from the public internet."
    ::= { arrisRouterFWCfg 12 }
	
arrisRouterFWVirtSrvEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWVirtSrvEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of 'virtual servers'. This allows for incoming requests on specific port numbers to reach web servers, 
					FTP servers, mail servers, etc. so they can be accessible from the public internet."
    INDEX   { arrisRouterFWVirtSrvIndex }
    ::= { arrisRouterFWVirtSrvTable 1 }
    
ArrisRouterFWVirtSrvEntry ::= 
    SEQUENCE    {
                arrisRouterFWVirtSrvIndex			Unsigned32,
				arrisRouterFWVirtSrvDesc			DisplayString,
				arrisRouterFWVirtSrvPortStart		Unsigned32,
				arrisRouterFWVirtSrvPortEnd			Unsigned32,
				arrisRouterFWVirtSrvProtoType		INTEGER,
				arrisRouterFWVirtSrvIPAddrType		InetAddressType,
				arrisRouterFWVirtSrvIPAddr			InetAddress,
				arrisRouterFWVirtSrvLocalPortStart	Unsigned32,
				arrisRouterFWVirtSrvLocalPortEnd	Unsigned32,
				arrisRouterFWVirtSrvRowStatus		RowStatus,
				arrisRouterFWSrvTr69InstanceID		Unsigned32
    }
    
arrisRouterFWVirtSrvIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { arrisRouterFWVirtSrvEntry 1 }
    
arrisRouterFWVirtSrvDesc OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "A textual description or name for this virtual server, i.e. My FTP"
    ::= { arrisRouterFWVirtSrvEntry 2 }
    
arrisRouterFWVirtSrvPortStart OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The beginning of the port range to forward to this virtual server."
    ::= { arrisRouterFWVirtSrvEntry 3 }

arrisRouterFWVirtSrvPortEnd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The end of the port range to forward to this virtual server."
    ::= { arrisRouterFWVirtSrvEntry 4 }

arrisRouterFWVirtSrvProtoType OBJECT-TYPE
    SYNTAX      INTEGER { udp(0), tcp(1), both(2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Specifies which protocol(s) are forwarded"
    ::= { arrisRouterFWVirtSrvEntry 5 }

arrisRouterFWVirtSrvIPAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Type of IP address on private network to forward to"
    ::= { arrisRouterFWVirtSrvEntry 6 }

arrisRouterFWVirtSrvIPAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "IP address on private network to forward to"
    ::= { arrisRouterFWVirtSrvEntry 7 }


arrisRouterFWVirtSrvLocalPortStart OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The beginning of the port range to forward to this virtual server."
    ::= { arrisRouterFWVirtSrvEntry 9 }

arrisRouterFWVirtSrvLocalPortEnd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The end of the port range to forward to this virtual server."
    ::= { arrisRouterFWVirtSrvEntry 10 }
	
arrisRouterFWVirtSrvRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Row status to add/remove rows"
    ::= { arrisRouterFWVirtSrvEntry 11 }   
	
arrisRouterFWSrvTr69InstanceID OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The unique ID of Table"
    ::= { arrisRouterFWVirtSrvEntry 14 } 
	
     

-- IP Filtering - filter range(s) of IP addresses to block internet traffic to specific devices on the network

	

arrisRouterFWIPFilterTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWIPFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of IP addresses to filter to block internet traffic to specific devices on the network."
    ::= { arrisRouterFWCfg 13 }
    
arrisRouterFWIPFilterEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWIPFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of IP addresses to filter to block internet traffic to specific devices on the network."
    INDEX   { arrisRouterFWIPFilterIndex }
    ::= { arrisRouterFWIPFilterTable 1 }
    
ArrisRouterFWIPFilterEntry ::= 
    SEQUENCE    {
		arrisRouterFWIPFilterIndex		Unsigned32,
		arrisRouterFWIPFilterDesc		DisplayString,
		arrisRouterFWIPFilterStartType		InetAddressType,
 	        arrisRouterFWIPFilterStartAddr		InetAddress,
		arrisRouterFWIPFilterEndType		InetAddressType,
		arrisRouterFWIPFilterEndAddr		InetAddress,
		arrisRouterFWIPFilterPortStart		Unsigned32,
		arrisRouterFWIPFilterPortEnd		Unsigned32,
		arrisRouterFWIPFilterProtoType		INTEGER,
		arrisRouterFWIPFilterTOD		Integer32,
		arrisRouterFWIPFilterRowStatus		RowStatus,
                arrisRouterFWIPFilterAction             INTEGER,
                arrisRouterFWIPFilterDirection          INTEGER

    }
    
arrisRouterFWIPFilterIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "Indicates the instance of this table row."
    ::= { arrisRouterFWIPFilterEntry 1 }
    
arrisRouterFWIPFilterDesc OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "A textual description or name for this filtering rule/row"
    ::= { arrisRouterFWIPFilterEntry 2 }

arrisRouterFWIPFilterStartType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Type of IP address for beginning of range on private network to filter"
    ::= { arrisRouterFWIPFilterEntry 3 }

arrisRouterFWIPFilterStartAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Beginning of IP address range on private network to filter.  To block ports on all IPs use 0.0.0.0 (IPv4)"
    ::= { arrisRouterFWIPFilterEntry 4 }

arrisRouterFWIPFilterEndType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Type of IP address for end of range on private network to filter"
    ::= { arrisRouterFWIPFilterEntry 5 }

arrisRouterFWIPFilterEndAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "End of IP address range on private network to filter.  To block ports on all IPs use 0.0.0.0 (IPv4)"
    ::= { arrisRouterFWIPFilterEntry 6 }
    
arrisRouterFWIPFilterPortStart OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The beginning of the port range to filter."
    ::= { arrisRouterFWIPFilterEntry 7 }

arrisRouterFWIPFilterPortEnd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The end of the port range to filter."
    ::= { arrisRouterFWIPFilterEntry 8 }

arrisRouterFWIPFilterProtoType OBJECT-TYPE
    SYNTAX      INTEGER { udp(0), tcp(1), both(2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Specifies which protocol(s) are filtered"
    ::= { arrisRouterFWIPFilterEntry 9 }
    
arrisRouterFWIPFilterTOD OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "This is a 32-bit bitmask that sets the time of day to apply and days of the week to apply this rule. 
				Bits 0-6 correspond to Sunday-Saturday.  Set the bit high (1) to enable this rule for the day of the week.
				Bits 7-30 apply to hours of the day 00:00:00-23:00:00.  Each it corresponds to an hour.  Set the bit high to 
				enable the rule for specified hour. "
    ::= { arrisRouterFWIPFilterEntry 10 }   
    
arrisRouterFWIPFilterRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Row status to add/remove rows"
    ::= { arrisRouterFWIPFilterEntry 11 }   

arrisRouterFWIPFilterAction OBJECT-TYPE
    SYNTAX      INTEGER { allow(0), deny(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Does rule allow or deny access"
    ::= { arrisRouterFWIPFilterEntry 12 }
    
arrisRouterFWIPFilterDirection OBJECT-TYPE
    SYNTAX      INTEGER { incoming(0), outgoing(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Does rule apply to incoming or outgoing packets"
    ::= { arrisRouterFWIPFilterEntry 13 }

-- Firewall filtering based on MAC-address

arrisRouterFWAllowAll OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Set to true to allow all devices to connect to the network EXCEPT those in the arrisRouterFWMACFilteTable.
					Set to false to block all devices from connecting to the network EXCEPT those in the arrisRouterFWMACFilteTable."    
    ::= { arrisRouterFWCfg 14 }
	
arrisRouterFWMACFilterTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWMACFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of MAC addresses which are filtered/blocked by the firewall."
    ::= { arrisRouterFWCfg 15 }
    
arrisRouterFWMACFilterEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWMACFilterEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of MAC addresses which are blocked or allowed by the firewall.  The behavior depends on arrisRouterFWAllowAll.
    The ifIndex usually to be the Lan interface ifIndex, like 200."
    INDEX   { ifIndex, arrisRouterFWMACFilterIndex }
    ::= { arrisRouterFWMACFilterTable 1 }
    
ArrisRouterFWMACFilterEntry ::= 
    SEQUENCE    {
                arrisRouterFWMACFilterIndex			Unsigned32,
                arrisRouterFWMACFilterAddr			MacAddress,
                arrisRouterFWMACFilterTOD			Integer32,
                arrisRouterFWMACFilterRowStatus		RowStatus
    }
    
arrisRouterFWMACFilterIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "Indicates the instance of this table row."
    ::= { arrisRouterFWMACFilterEntry 1 }
    
arrisRouterFWMACFilterAddr OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "A MAC address of a device on the local network which is filtered/blocked by the firewall."
    ::= { arrisRouterFWMACFilterEntry 2 }
    
arrisRouterFWMACFilterTOD OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "This is a 32-bit bitmask that sets the time of day to apply and days of the week to apply this rule. 
				Bits 0-6 correspond to Sunday-Saturday.  Set the bit high (1) to enable this rule for the day of the week.
				Bits 7-30 apply to hours of the day 00:00:00-23:00:00.  Each it corresponds to an hour.  Set the bit high to 
				enable the rule for specified hour. "
    ::= { arrisRouterFWMACFilterEntry 3 }   

arrisRouterFWMACFilterRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Row status to add/remove rows"
    ::= { arrisRouterFWMACFilterEntry 4 }   
    

    
-- Port Triggering

arrisRouterFWPortTrigTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWPortTrigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of port Trigs.  This allows configuration of dynamic triggers to specific devices on the Lan
				This allows for special applications that require specific port numbers with bi-directional traffic to function properly. 
				Applications such as video conferencing, voice, gaming, and some messenging program features may require these special settings"
    ::= { arrisRouterFWCfg 16 }
    
arrisRouterFWPortTrigEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWPortTrigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of port Trigs.  This allows configuration of dynamic triggers to specific devices on the Lan
				This allows for special applications that require specific port numbers with bi-directional traffic to function properly. 
				Applications such as video conferencing, voice, gaming, and some messenging program features may require these special settings"
    INDEX   { arrisRouterFWPortTrigIndex }
    ::= { arrisRouterFWPortTrigTable 1 }
    
ArrisRouterFWPortTrigEntry ::= 
    SEQUENCE    {
				arrisRouterFWPortTrigIndex			Unsigned32,
				arrisRouterFWPortTrigDesc			DisplayString,
				arrisRouterFWPortTrigPortStart		Unsigned32,
				arrisRouterFWPortTrigPortEnd		Unsigned32,
				arrisRouterFWPortTargPortStart		Unsigned32,
				arrisRouterFWPortTargPortEnd		Unsigned32,
				arrisRouterFWPortTrigProtoType		INTEGER,
				arrisRouterFWPortTrigRowStatus		RowStatus
			}
    
arrisRouterFWPortTrigIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "Indicates the instance of this table row."
    ::= { arrisRouterFWPortTrigEntry 1 }
    
arrisRouterFWPortTrigDesc OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "A textual description or name for this port trigger"
    ::= { arrisRouterFWPortTrigEntry 2 }

arrisRouterFWPortTrigPortStart OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The beginning of the trigger port range."
    ::= { arrisRouterFWPortTrigEntry 3 }

arrisRouterFWPortTrigPortEnd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The end of the trigger port range."
    ::= { arrisRouterFWPortTrigEntry 4 }

arrisRouterFWPortTargPortStart OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The beginning of the target port range."
    ::= { arrisRouterFWPortTrigEntry 5 }

arrisRouterFWPortTargPortEnd OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "The end of the target port range."
    ::= { arrisRouterFWPortTrigEntry 6 }

arrisRouterFWPortTrigProtoType OBJECT-TYPE
    SYNTAX      INTEGER { udp(0), tcp(1), both(2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Specifies which protocol(s) are filtered"
    ::= { arrisRouterFWPortTrigEntry 7 }
   
    
arrisRouterFWPortTrigRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Row status to add/remove rows"
    ::= { arrisRouterFWPortTrigEntry 9 }   
    

arrisRouterFWFilterRules			 OBJECT IDENTIFIER ::= { arrisRouterFWCfg 17 }

arrisRouterFWBlockFragIPPkts OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable blocking of fragmented IP packets"
    DEFVAL  { false }
    ::= { arrisRouterFWFilterRules 6 }
    
arrisRouterFWPortScanProtect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable port scan protection"
    DEFVAL	{ false }
    ::= { arrisRouterFWFilterRules 7 }
    
arrisRouterFWIPFloodDetect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable detection of IP floods"
    DEFVAL	{ true }
    ::= { arrisRouterFWFilterRules 8 }


arrisRouterFWBlockFragIPPktsV4 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable blocking of fragmented IPv4 packets. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL  { false }
    ::= { arrisRouterFWFilterRules 9 }
    
arrisRouterFWPortScanProtectV4 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable IPv4 port scan protection. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL	{ false }
    ::= { arrisRouterFWFilterRules 10 }
    
arrisRouterFWIPFloodDetectV4 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable detection of IPv4 floods. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL	{ true }
    ::= { arrisRouterFWFilterRules 11 }

arrisRouterFWBlockFragIPPktsV6 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable blocking of fragmented IPv6 packets. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL  { false }
    ::= { arrisRouterFWFilterRules 12 }
    
arrisRouterFWPortScanProtectV6 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable IPv6 port scan protection. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL	{ false }
    ::= { arrisRouterFWFilterRules 13 }
    
arrisRouterFWIPFloodDetectV6 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable detection of IPv6 floods. Six MIBs arrisRouterFWBlockFragIPPktsV4, arrisRouterFWPortScanProtectV4, arrisRouterFWIPFloodDetectV4, arrisRouterFWBlockFragIPPktsV6, arrisRouterFWPortScanProtectV6, arrisRouterFWIPFloodDetectV6 are used to seperate Port scan, fragment block and Dos attack enable/disable into IPv4 and IPv6 respectively. They are only used for LGI at present. The original mibs arrisRouterFWBlockFragIPPkts, arrisRouterFWPortScanProtect and arrisRouterFWIPFloodDetect are still used for implemention for IPv4 and IPv6 together, and are used for Non-LGI customers at present."
    DEFVAL	{ true }
    ::= { arrisRouterFWFilterRules 14 }

    
arrisRouterFWDDNSObjs			 OBJECT IDENTIFIER ::= { arrisRouterFWCfg 18 }

arrisRouterFWDDNSEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable dynamic DNS"
    DEFVAL	{ false }
    ::= { arrisRouterFWDDNSObjs 1 }

arrisRouterFWDDNSType OBJECT-TYPE
    SYNTAX      INTEGER { unknown(0), dynDNS(1), tzo(2), freeDNS(3), zoneEdit(4), noIP(5), easyDNS(6), domainsGoogle(7) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Type of Dynamic DNS."
    ::= { arrisRouterFWDDNSObjs 2 }

arrisRouterFWDDNSUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "User name to login to dynamic DNS service."
    ::= { arrisRouterFWDDNSObjs 3 }
    
arrisRouterFWDDNSPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Password to login to dynamic DNS service."
    ::= { arrisRouterFWDDNSObjs 4 }
    
arrisRouterFWDDNSDomainName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Domain nanme for dynamic DNS service."
    ::= { arrisRouterFWDDNSObjs 5 }

arrisRouterFWDDNSIPAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "Type for current DDNS IP address"
    ::= { arrisRouterFWDDNSObjs 6 }

arrisRouterFWDDNSIPAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "Current DDNS IP address"
    ::= { arrisRouterFWDDNSObjs 7 }

arrisRouterFWDDNSStatus OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION  "String representing current status of DDNS service."
    ::= { arrisRouterFWDDNSObjs 8 }


arrisRouterFWFeatures		OBJECT IDENTIFIER ::= { arrisRouterFWCfg 19 }


arrisRouterFWIPSecPassThru OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable IPSEC passthru."
    DEFVAL { false }
    ::= { arrisRouterFWFeatures 2 }
    
arrisRouterFWPPTPPassThru OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable PPTP passthru."
    DEFVAL { false }
    ::= { arrisRouterFWFeatures 3 }
    
arrisRouterFWEnableMulticast OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable multicast support."
    DEFVAL { true }
    ::= { arrisRouterFWFeatures 4 }

arrisRouterFWEnableRemoteMgmt OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable remote web management."
    DEFVAL { false }
    ::= { arrisRouterFWFeatures 5 }


arrisRouterFWL2TPPassThru OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable L2TP passthru."
    DEFVAL { false }
    ::= { arrisRouterFWFeatures 7 }

arrisRouterFWRemoteMgmt OBJECT IDENTIFIER ::= { arrisRouterFWFeatures 12 }

arrisRouterFWRemoteMgmtHttp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable WAN HTTP."
    DEFVAL { false }
    ::= { arrisRouterFWRemoteMgmt 1 }

arrisRouterFWRemoteMgmtHttps OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable WAN HTTPs."
    DEFVAL { false }
    ::= { arrisRouterFWRemoteMgmt 2 }

arrisRouterFWRemoteMgmtHttpPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "WAN HTTP port"
    ::= { arrisRouterFWRemoteMgmt 3 }
   
arrisRouterFWRemoteMgmtHttpsPort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "WAN HTTPs port"
    ::= { arrisRouterFWRemoteMgmt 4 }

arrisRouterFWRemoteMgmtAllowedType OBJECT-TYPE
    SYNTAX      INTEGER { singleComputer(1), rangeOfIP(2), anyComputer(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "WAN Allowed type"
    ::= { arrisRouterFWRemoteMgmt 5 }

arrisRouterFWRemoteMgmtAllowedIPv4 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv4 address for WAN Allowed SignleComputer."
    ::= { arrisRouterFWRemoteMgmt 6 }

arrisRouterFWRemoteMgmtAllowedIPv6 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv6 address for WAN Allowed SignleComputer."
    ::= { arrisRouterFWRemoteMgmt 7 }

arrisRouterFWRemoteMgmtAllowedStartIPv4 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv4 start address for WAN Allowed RangeOfIP."
    ::= { arrisRouterFWRemoteMgmt 8 }

arrisRouterFWRemoteMgmtAllowedEndIPv4 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv4 end address for WAN Allowed RangeOfIP."
    ::= { arrisRouterFWRemoteMgmt 9 }

arrisRouterFWRemoteMgmtAllowedStartIPv6 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv6 start address for WAN Allowed RangeOfIP."
    ::= { arrisRouterFWRemoteMgmt 10 }

arrisRouterFWRemoteMgmtAllowedEndIPv6 OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "IPv6 end address for WAN Allowed RangeOfIP."
    ::= { arrisRouterFWRemoteMgmt 11 }

arrisRouterFWRemoteMgmtTelnet OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Enable/disable WAN Telnet."
    DEFVAL { false }
    ::= { arrisRouterFWRemoteMgmt 12 }

arrisRouterFWSelectRemoteMgmt OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "Fireware select Remote Management vs WAN ACL to control GW IP."
    ::= { arrisRouterFWFeatures 13 }

arrisRouterFWParentalControls OBJECT IDENTIFIER ::= { arrisRouterFWCfg 20 }

arrisRouterKeywordCount  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current count of keywords in blocktable."
    ::= { arrisRouterFWParentalControls 1 }

    
arrisRouterBlackListCount  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current count of black listed domains."
    ::= { arrisRouterFWParentalControls 3 }

arrisRouterWhiteListCount  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current count of White listed domains."
    ::= { arrisRouterFWParentalControls 5 }
    
arrisRouterKeywordBlkTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterKeywordBlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of keywords to block when web surfing"
    ::= { arrisRouterFWParentalControls 10 }    
    
arrisRouterKeywordBlkEntry OBJECT-TYPE
    SYNTAX      ArrisRouterKeywordBlkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION "A table of keywords to block when web surfing"
    INDEX   { arrisRouterKeywordBlkIndex }
    ::= { arrisRouterKeywordBlkTable 1 }
    
ArrisRouterKeywordBlkEntry ::= 
    SEQUENCE    {
                arrisRouterKeywordBlkIndex		Integer32,
                arrisRouterKeywordBlkWord		DisplayString,
                arrisRouterKeywordBlkTOD		Integer32,
                arrisRouterKeywordBlkStatus		RowStatus
    }
    
arrisRouterKeywordBlkIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..50)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterKeywordBlkEntry 1 }
    
arrisRouterKeywordBlkWord OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The keyword to block."
    ::= { arrisRouterKeywordBlkEntry 2 }
    
arrisRouterKeywordBlkTOD OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "This is a 32-bit bitmask that sets the time of day to apply and days of the week to apply this rule. 
				Bits 0-6 correspond to Sunday-Saturday.  Set the bit high (1) to enable this rule for the day of the week.
				Bits 7-30 apply to hours of the day 00:00:00-23:00:00.  Each it corresponds to an hour.  Set the bit high to 
				enable the rule for specified hour. "
    ::= { arrisRouterKeywordBlkEntry 3 }   
        
arrisRouterKeywordBlkStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterKeywordBlkStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterKeywordBlkEntry 4 }
    
arrisRouterBlackListTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterBlackListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of domain names to block when web surfing"
    ::= { arrisRouterFWParentalControls 12 }
    
arrisRouterBlackListEntry OBJECT-TYPE
    SYNTAX      ArrisRouterBlackListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION "A table of domain names to block when web surfing"
    INDEX   { arrisRouterBlackListIndex }
    ::= { arrisRouterBlackListTable 1 }
    
ArrisRouterBlackListEntry ::= 
    SEQUENCE    {
                arrisRouterBlackListIndex		Integer32,
                arrisRouterBlackListDomain  	DisplayString,
                arrisRouterBlackListTOD			Integer32,
                arrisRouterBlackListStatus		RowStatus
    }
    
arrisRouterBlackListIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterBlackListEntry 1 }
    
arrisRouterBlackListDomain OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The domain to alway block - black listed."
    ::= { arrisRouterBlackListEntry 2 }
    
arrisRouterBlackListTOD OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "This is a 32-bit bitmask that sets the time of day to apply and days of the week to apply this rule. 
				Bits 0-6 correspond to Sunday-Saturday.  Set the bit high (1) to enable this rule for the day of the week.
				Bits 7-30 apply to hours of the day 00:00:00-23:00:00.  Each it corresponds to an hour.  Set the bit high to 
				enable the rule for specified hour. "
    ::= { arrisRouterBlackListEntry 3 }   

arrisRouterBlackListStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterBlackListStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterBlackListEntry 4 }


arrisRouterWhiteListTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterWhiteListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of domains to NEVER block when web surfing."
    ::= { arrisRouterFWParentalControls 14 }
    
arrisRouterWhiteListEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWhiteListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION "A table of domains to NEVER block when web surfing."
    INDEX   { arrisRouterWhiteListIndex }
    ::= { arrisRouterWhiteListTable 1 }
    
ArrisRouterWhiteListEntry ::= 
    SEQUENCE    {
                arrisRouterWhiteListIndex		Integer32,
                arrisRouterWhiteListDomain  	DisplayString,
                arrisRouterWhiteListTOD			Integer32,                
                arrisRouterWhiteListStatus		RowStatus
    }
    
arrisRouterWhiteListIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterWhiteListEntry 1 }
    
arrisRouterWhiteListDomain OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The domain to alway allow - White listed."
    ::= { arrisRouterWhiteListEntry 2 }
    
arrisRouterWhiteListTOD OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "This is a 32-bit bitmask that sets the time of day to apply and days of the week to apply this rule. 
				Bits 0-6 correspond to Sunday-Saturday.  Set the bit high (1) to enable this rule for the day of the week.
				Bits 7-30 apply to hours of the day 00:00:00-23:00:00.  Each it corresponds to an hour.  Set the bit high to 
				enable the rule for specified hour. "
    ::= { arrisRouterWhiteListEntry 3 }   
    
arrisRouterWhiteListStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterWhiteListStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterWhiteListEntry 4 }
    
arrisRouterTrustedDeviceTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterTrustedDeviceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of trusted devices which bypass parental controls."
    ::= { arrisRouterFWParentalControls 16 }
    
arrisRouterTrustedDeviceEntry OBJECT-TYPE
    SYNTAX      ArrisRouterTrustedDeviceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION "A table of trusted devices which bypass parental controls."
    INDEX   { arrisRouterTrustedDeviceIndex }
    ::= { arrisRouterTrustedDeviceTable 1 }
    
ArrisRouterTrustedDeviceEntry ::= 
    SEQUENCE    {
                arrisRouterTrustedDeviceIndex		Integer32,
                arrisRouterTrustedDeviceMAC  		MacAddress,
                arrisRouterTrustedDeviceStatus		RowStatus,
                arrisRouterTrustedDeviceName        DisplayString,
                arrisRouterTrustedDeviceAddrType    InetAddressType,
                arrisRouterTrustedDeviceAddr        InetAddress
    }
    
arrisRouterTrustedDeviceIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..30)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterTrustedDeviceEntry 1 }
    
arrisRouterTrustedDeviceMAC OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The MAC address of a device on the local network that bypasses parental controls."
    ::= { arrisRouterTrustedDeviceEntry 2 }
    
arrisRouterTrustedDeviceStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterTrustedDeviceStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterTrustedDeviceEntry 3 }

arrisRouterTrustedDeviceName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The name of a device on the local network that bypasses parental controls."
    ::= { arrisRouterTrustedDeviceEntry 4 }

arrisRouterTrustedDeviceAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "IP address type for a device on the local network that bypasses parental controls."
    ::= { arrisRouterTrustedDeviceEntry 5 }

arrisRouterTrustedDeviceAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "IP address for a device on the local network that bypasses parental controls."
    ::= { arrisRouterTrustedDeviceEntry 6 }

arrisRouterEnableParentalCont OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable parental controls"
	DEFVAL { false }
    ::= { arrisRouterFWParentalControls 17 }

arrisRouterListActiveType  OBJECT-TYPE
    SYNTAX      INTEGER { blackList(1), whiteList(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Current active list type. Default value is Black List."
    DEFVAL { 1 }
    ::= { arrisRouterFWParentalControls 22 }

arrisRouterExceptionListCount  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current count of Exception listed domain."
    ::= { arrisRouterFWParentalControls 24 }

arrisRouterExceptionListTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterExceptionListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of domains to NEVER block when web surfing."
    ::= { arrisRouterFWParentalControls 25 }

arrisRouterExceptionListEntry OBJECT-TYPE
    SYNTAX      ArrisRouterExceptionListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table of domains to NEVER block when web surfing."
    INDEX   { arrisRouterExceptionListIndex }
    ::= { arrisRouterExceptionListTable 1 }

ArrisRouterExceptionListEntry ::=
    SEQUENCE    {
                arrisRouterExceptionListIndex               Integer32,
                arrisRouterExceptionListDomain              DisplayString,
                arrisRouterExceptionListStatus              RowStatus
    }

arrisRouterExceptionListIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterExceptionListEntry 1 }
    
arrisRouterExceptionListDomain OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The domain to allow which is blocked by keyword - Exception listed."
    ::= { arrisRouterExceptionListEntry 2 }
    
arrisRouterExceptionListStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately
         configured, the value of the corresponding instance of the
         arrisRouterExceptionListStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterExceptionListEntry 3 }

arrisRouterFWAllowICMP OBJECT-TYPE
	SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specify to allow or not allow ICMP messages such as Ping and trace route."
	DEFVAL { true }
    ::= { arrisRouterFWCfg 21 }

arrisRouterFWVirtSrvTableEnabled OBJECT-TYPE
	SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether Port Forwarding is enabled."
	DEFVAL { true }
    ::= { arrisRouterFWCfg 32 }

arrisRouterFWPortTrigTableEnabled OBJECT-TYPE
	SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether port triggering is enabled."
	DEFVAL { true }
    ::= { arrisRouterFWCfg 33 }

arrisRouterFWIPv6Security                         OBJECT IDENTIFIER ::= { arrisRouterFWCfg 40 }

arrisRouterFWIPv6Enable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Is the IPv6 firewall enabled or not"
    DEFVAL { true }
    ::= { arrisRouterFWIPv6Security 7 }

arrisRouterFWMacBridgingWebPageEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether MAC bridging web page displays for admin users."
	DEFVAL { false }
    ::= { arrisRouterFWCfg 41 }

arrisRouterFWMacBridgingFunctionEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether MAC bridging function is enabled."
	DEFVAL { false }
    ::= { arrisRouterFWCfg 42 }

arrisRouterFWMacBridgingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWMacBridgingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of bridged device MAC addresses. Packets from or to these MACs are bridged directly from LAN to WAN, bypassing the normal routing." 
    ::= {  arrisRouterFWCfg 43 }

arrisRouterFWMacBridgingEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWMacBridgingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table of MAC addresses. Device of  these MACs  in LAN are bridged directly from LAN to WAN, bypassing the normal routing."
    INDEX {arrisRouterFWMacBridgingIndex }
    ::= { arrisRouterFWMacBridgingTable 1 }
    
ArrisRouterFWMacBridgingEntry ::= SEQUENCE {
    arrisRouterFWMacBridgingIndex         INTEGER,
    arrisRouterFWMacBridgingName         DisplayString,
    arrisRouterFWMacBridgingMACAddr       MacAddress,
    arrisRouterFWMacBridgingRowStatus     RowStatus
    }

arrisRouterFWMacBridgingIndex OBJECT-TYPE
    SYNTAX  INTEGER (1..6)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION  "The index into the Mac Bridging table."
    ::= {arrisRouterFWMacBridgingEntry 1 }

arrisRouterFWMacBridgingName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "A textual description or name for this MAC."
    ::= { arrisRouterFWMacBridgingEntry 2 }
    
arrisRouterFWMacBridgingMACAddr OBJECT-TYPE
    SYNTAX  MacAddress
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION   "The MAC Address of LAN Device to be bridged directly from LAN to WAN."
    ::= {arrisRouterFWMacBridgingEntry 3 }

arrisRouterFWMacBridgingRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION   "Row status to add/remove an arrisRouterFWMacBridgingTable entry."
    ::= { arrisRouterFWMacBridgingEntry 4 }

arrisRouterFWPortAllowTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFWPortAllowEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table to allow IPV6 client to receive tcp packets with specified port"
    ::= { arrisRouterFWCfg 44 }
    
arrisRouterFWPortAllowEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFWPortAllowEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "A table to allow IPV6 client to receive tcp packets with specified port"
    INDEX   { arrisRouterFWPortAllowIndex }
    ::= { arrisRouterFWPortAllowTable 1 }
    
ArrisRouterFWPortAllowEntry ::= 
    SEQUENCE    {
                arrisRouterFWPortAllowIndex Unsigned32,
                arrisRouterFWPortAllowInboundPort Unsigned32,
                arrisRouterFWPortAllowRowStatus RowStatus
                }
    
arrisRouterFWPortAllowIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "Indicates the instance of this table row."
    ::= { arrisRouterFWPortAllowEntry 1 }
 
arrisRouterFWPortAllowInboundPort OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION  "The inbound tcp port which allowed to forward to v6 client"
    ::= { arrisRouterFWPortAllowEntry 2 }

arrisRouterFWPortAllowRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION  "Row status to add/remove rows"
    ::= { arrisRouterFWPortAllowEntry 3 }     

arrisRouterFWSrvTr69LastInstance OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "A count indicates that how many instance TR-069 create."
    ::= { arrisRouterFWCfg 46 }

arrisRouterAdminPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative password to login to the router local device web UI."
    ::= { arrisRouterSysCfg 1 }

arrisRouterAdminTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS		"seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The administrative login timeout to the router local device web UI."
	DEFVAL { 600 }
    ::= { arrisRouterSysCfg 2 }

arrisRouterTimeZoneUTCOffset OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The timezone setting, in seconds offset from UTC."
    ::= { arrisRouterSysCfg 3 }
    
arrisRouterReboot OBJECT-TYPE
    SYNTAX      INTEGER { restart(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This will restart the eRouter"
    ::= { arrisRouterSysCfg 4 }

arrisRouterDefaults OBJECT-TYPE
    SYNTAX      INTEGER { restoreAll(3), restoreAllNoReboot(6) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This will reset router settings to their defaults.
				To restore all settings on the device, use restoreAll(3)"
    ::= { arrisRouterSysCfg 5 }
    
arrisRouterLanguage OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specify and retrieve the current language setting for the router."
    ::= { arrisRouterSysCfg 6 }
    
arrisRouterName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Optional name for the router/gateway"
    ::= { arrisRouterSysCfg 7 }

arrisRouterSerialNumber OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Device serial number"
    ::= { arrisRouterSysCfg 8 }

arrisRouterBootCodeVersion OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Device boot code version"
    ::= { arrisRouterSysCfg 9 }

arrisRouterHardwareVersion OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Device hardware version"
    ::= { arrisRouterSysCfg 10 }

arrisRouterFirmwareVersion OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Device firmware version"
    ::= { arrisRouterSysCfg 11 }

arrisRouterLogLevel OBJECT-TYPE
    SYNTAX      INTEGER { noLogging(0), logError(1), logWarn(2), logInfo(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The logging level for the Arris SNMP daemon"
	DEFVAL { logError }
    ::= { arrisRouterSysCfg 12 }

arrisRouterCustomSettings OBJECT-TYPE
    SYNTAX      DisplayString 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "A generic string used for web UI settings."
    ::= { arrisRouterSysCfg 13 }

arrisRouterCustomID OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "An integer which represents a customer ID for customization."
    ::= { arrisRouterSysCfg 14 }

arrisRouterCurrentTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The current time on the router."
    ::= { arrisRouterSysCfg 15 }

arrisRouterAuthTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF ArrisRouterAuthEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information about web UI users, roles, and passwords."
      ::= { arrisRouterSysCfg 16 }
  
arrisRouterAuthEntry OBJECT-TYPE
      SYNTAX      ArrisRouterAuthEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains information about web UI users, roles, and passwords."
      INDEX { arrisRouterWanCurrentIPIndex }	
      ::= { arrisRouterAuthTable 1 }  
  
ArrisRouterAuthEntry ::= SEQUENCE {
		arrisRouterAuthIndex			Unsigned32,
		arrisRouterAuthUserName			DisplayString,
		arrisRouterAuthPassword 		DisplayString,
		arrisRouterAuthType			DisplayString,
		arrisRouterAuthAccountEnabled		TruthValue
		}

arrisRouterAuthIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterAuthEntry 1 }

arrisRouterAuthUserName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The user name."
    ::= { arrisRouterAuthEntry 2 }

arrisRouterAuthPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The password for the user."
    ::= { arrisRouterAuthEntry 3 }

arrisRouterAuthType OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "A string describing the type of user, i.e. technician, admin, standard, etc.."
    ::= { arrisRouterAuthEntry 4 }
arrisRouterAuthAccountEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Get/set whether this account is disabled or enabled."
    ::= { arrisRouterAuthEntry 6 }

arrisRouterSNTPSettings			OBJECT IDENTIFIER ::= { arrisRouterSysCfg 17 }

arrisRouterEnableSNTP OBJECT-TYPE
    SYNTAX      INTEGER { disable(0), enable(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enable/disable the SNTP service"
    ::= { arrisRouterSNTPSettings 1 }
    
arrisRouterSNTPServerTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterSNTPServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of SNTP servers."
	::= { arrisRouterSNTPSettings 4 }
    
arrisRouterSNTPServerEntry OBJECT-TYPE
    SYNTAX      ArrisRouterSNTPServerEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of SNTP servers."
    INDEX   { arrisRouterSNTPServerIndex }
    ::= { arrisRouterSNTPServerTable 1 }
    
ArrisRouterSNTPServerEntry ::= 
    SEQUENCE    {
                arrisRouterSNTPServerIndex			Integer32,
				arrisRouterSNTPServerAddrType		InetAddressType,
				arrisRouterSNTPServerAddr			InetAddress,
				arrisRouterSNTPServerName			DisplayString,
				arrisRouterSNTPServerStatus			RowStatus
				}
    
arrisRouterSNTPServerIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..3)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterSNTPServerEntry 1 }

arrisRouterSNTPServerAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "IP address type of Network Time Server."
    ::= { arrisRouterSNTPServerEntry 2 }

arrisRouterSNTPServerAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "IP address of Network Time Server."
    ::= { arrisRouterSNTPServerEntry 3 }
    
arrisRouterSNTPServerName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Host name of Network Time Server."
    ::= { arrisRouterSNTPServerEntry 4 }

arrisRouterSNTPServerStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row.

         To create a row in this table, a manager must set this object to 
         either createAndGo(4) or createAndWait(5).

         Until instances of all corresponding columns are appropriately 
         configured, the value of the corresponding instance of the 
         arrisRouterSNTPServerStatus column is 'notReady'.

         Only rows with a status of active(1) will be applied."
    ::= { arrisRouterSNTPServerEntry 5 }
    

arrisRouterEmailSettings			OBJECT IDENTIFIER ::= { arrisRouterSysCfg 18 }

arrisRouterEmailServerName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Name of email server to use."
    ::= { arrisRouterEmailSettings 1 }

arrisRouterEmailServerUser OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "User name used to login to SMTP email server (optional)."
    ::= { arrisRouterEmailSettings 2 }

arrisRouterEmailServerPW OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Password used to login to SMTP email server (optional)."
    ::= { arrisRouterEmailSettings 3 }

arrisRouterEmailAddress OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Email address to send to"
    ::= { arrisRouterEmailSettings 4 }

arrisRouterEnableLogEmail OBJECT-TYPE
    SYNTAX      TruthValue	 -- make an integer bitmask for log types
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Specify whether or not logs are sent via email"
    DEFVAL { false }
    ::= { arrisRouterEmailSettings 5 }
    
arrisRouterEmailApplySettings OBJECT-TYPE
    SYNTAX      INTEGER { applySettings(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Apply the email settings"
    ::= { arrisRouterEmailSettings 6 }
    

arrisRouterEmailSenderAddress OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Email address of sender"
    ::= { arrisRouterEmailSettings 8 }

arrisRouterEmailSend OBJECT-TYPE
    SYNTAX      INTEGER { none(0), networkCredential(1), modemCredential(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Sends email. Walk of this MIB always returns none(0). "
    ::= { arrisRouterEmailSettings 9 }

arrisRouterLogSettings			OBJECT IDENTIFIER ::= { arrisRouterSysCfg 19 }

arrisRouterUserLogs			OBJECT IDENTIFIER ::= { arrisRouterLogSettings 1 }
arrisRouterMSOLogs			OBJECT IDENTIFIER ::= { arrisRouterLogSettings 2 }

arrisRouterClearLogs OBJECT-TYPE
    SYNTAX      INTEGER { noOp(0), clearUserLogs(1), clearMSOLogs(2), clearAllLogs(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Clear logs"
    ::= { arrisRouterLogSettings 3 }


arrisRouterFirewallLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFirewallLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the firewall log"
	::= { arrisRouterUserLogs 1 }
    
arrisRouterFirewallLogEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFirewallLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the firewall log"
    INDEX   { arrisRouterFWLogIndex }
    ::= { arrisRouterFirewallLogTable 1 }
    
ArrisRouterFirewallLogEntry ::= 
    SEQUENCE    {
                arrisRouterFWLogIndex					Integer32,
				arrisRouterFWLogTime					DateAndTime,
				arrisRouterFWLogInfo					DisplayString
				}
    
arrisRouterFWLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..30)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterFirewallLogEntry 1 }
    
arrisRouterFWLogTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time when this event occurred."
    ::= { arrisRouterFirewallLogEntry 2 }
    
arrisRouterFWLogInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event/log entry"
    ::= { arrisRouterFirewallLogEntry 3 }
    
    
arrisRouterParentalContLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterParentalContLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the parental control log"
	::= { arrisRouterUserLogs 2 }
    
arrisRouterParentalContLogEntry OBJECT-TYPE
    SYNTAX      ArrisRouterParentalContLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the parental control log"
    INDEX   { arrisRouterPCLogIndex }
    ::= { arrisRouterParentalContLogTable 1 }
    
ArrisRouterParentalContLogEntry ::= 
    SEQUENCE    {
                arrisRouterPCLogIndex					Integer32,
				arrisRouterPCLogTime					DateAndTime,
                arrisRouterPCLogInfo                  DisplayString,
                arrisRouterPCLogType                  Integer32
				}
    
arrisRouterPCLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..30)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterParentalContLogEntry 1 }
    
arrisRouterPCLogTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time when this event occurred."
    ::= { arrisRouterParentalContLogEntry 2 }
    
arrisRouterPCLogInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event/log entry"
    ::= { arrisRouterParentalContLogEntry 3 }   
    
arrisRouterPCLogType OBJECT-TYPE
    SYNTAX      Integer32 (0..3)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Indicates the type of log."
    ::= { arrisRouterParentalContLogEntry 4 }
 
arrisRouterChangeLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterChangeLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the user change log.  This is a log of configuration changes by the user."
	::= { arrisRouterUserLogs 3 }
    
arrisRouterChangeLogEntry OBJECT-TYPE
    SYNTAX      ArrisRouterChangeLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the user change log.  This is a log of configuration changes by the user."
    INDEX   { arrisRouterChangeLogIndex }
    ::= { arrisRouterChangeLogTable 1 }
    
ArrisRouterChangeLogEntry ::= 
    SEQUENCE    {
                arrisRouterChangeLogIndex					Integer32,
				arrisRouterChangeLogTime					DateAndTime,
				arrisRouterChangeLogInfo					DisplayString
				}
    
arrisRouterChangeLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..40)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterChangeLogEntry 1 }
    
arrisRouterChangeLogTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time when this event occurred."
    ::= { arrisRouterChangeLogEntry 2 }
    
arrisRouterChangeLogInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event/log entry"
    ::= { arrisRouterChangeLogEntry 3 }   
    


arrisRouterDebugLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterDebugLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents a debug log item."
	::= { arrisRouterUserLogs 4 }
    
arrisRouterDebugLogEntry OBJECT-TYPE
    SYNTAX      ArrisRouterDebugLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents a debug log item."
    INDEX   { arrisRouterDebugLogIndex }
    ::= { arrisRouterDebugLogTable 1 }
    
ArrisRouterDebugLogEntry ::= 
    SEQUENCE    {
                arrisRouterDebugLogIndex				Integer32,
				arrisRouterDebugLogTime					DateAndTime,
				arrisRouterDebugLogInfo					DisplayString
				}
    
arrisRouterDebugLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..100)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterDebugLogEntry 1 }
    
arrisRouterDebugLogTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time when this event occurred."
    ::= { arrisRouterDebugLogEntry 2 }
    
arrisRouterDebugLogInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event/log entry"
    ::= { arrisRouterDebugLogEntry 3 }   
    
arrisRouterFirewallLogExtTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFirewallLogExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "An extended firewall log entry, it is only used for LGI at present."
    ::= { arrisRouterUserLogs 7 }
    
arrisRouterFirewallLogExtEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFirewallLogExtEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION  "An extended firewall log entry, it is only used for LGI at present."
    INDEX   { arrisRouterFWLogExtIndex }
    ::= { arrisRouterFirewallLogExtTable 1 }
    
ArrisRouterFirewallLogExtEntry ::= 
    SEQUENCE    {
                arrisRouterFWLogExtIndex            Integer32,
                arrisRouterFWLogLatestEventTime     DateAndTime,
                arrisRouterFWLogLatestEventInfo     DisplayString,
                arrisRouterFWLogEventCount          Integer32
                }
    
arrisRouterFWLogExtIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..5)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates firewall log event type. It is only used for LGI at present.
                    1.TCP Port Scan
                    2.UDP Port Scan
                    3.SYN Flood
                    4.UDP Flood
                    5.ICMP Flood"
    ::= { arrisRouterFirewallLogExtEntry 1 }
    
arrisRouterFWLogLatestEventTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time of the latest event for each event type. It is only used for LGI at present."
    ::= { arrisRouterFirewallLogExtEntry 2 }
    
arrisRouterFWLogLatestEventInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event log entry of the latest event for each event type. It is only used for LGI at present."
    ::= { arrisRouterFirewallLogExtEntry 3 }

arrisRouterFWLogEventCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates counter of the latest event for each event type. It is only used for LGI at present."
    ::= { arrisRouterFirewallLogExtEntry 4 }




arrisRouterMSOChgLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterMSOChgLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the MSO change log.  This is a log of configuration changes that are not done by the user.  
				Assumed to be the MSO remotely or a technician."
	::= { arrisRouterMSOLogs 1 }
    
arrisRouterMSOChgLogEntry OBJECT-TYPE
    SYNTAX      ArrisRouterMSOChgLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION  "A table of where each row represents an entry in the MSO change log.  This is a log of configuration changes that are not done by the user.  
				Assumed to be the MSO remotely or a technician."	
    INDEX   { arrisRouterMSOChgLogIndex }
    ::= { arrisRouterMSOChgLogTable 1 }
    
ArrisRouterMSOChgLogEntry ::= 
    SEQUENCE    {
                arrisRouterMSOChgLogIndex					Integer32,
				arrisRouterMSOChgLogTime					DateAndTime,
				arrisRouterMSOChgLogInfo					DisplayString
				}
    
arrisRouterMSOChgLogIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..40)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Indicates the instance of this table row."
    ::= { arrisRouterMSOChgLogEntry 1 }
    
arrisRouterMSOChgLogTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Date and time when this event occurred."
    ::= { arrisRouterMSOChgLogEntry 2 }
    
arrisRouterMSOChgLogInfo OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Event/log entry"
    ::= { arrisRouterMSOChgLogEntry 3 }   
    
arrisRouterClearMSOLogs OBJECT-TYPE
    SYNTAX      INTEGER { noOp(0), clearLogs(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Clear user logs"
    ::= { arrisRouterMSOLogs 2 }
		
arrisRouterTACACSAddr OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The FQDN or IP Address of the Server"
    ::= { arrisRouterSysCfg 20 }

arrisRouterTACACSPort OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The Server port"
	DEFVAL { 49 }
    ::= { arrisRouterSysCfg 21 }

arrisRouterTACACSSecretKey OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The secret key used to communicate with the Server"
    ::= { arrisRouterSysCfg 22 }
arrisRouterXmlProvisioningFile OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The fully qualified path to a provisioning file to load.  The file may be an URL using HTTP or TFTP. 
                  This value is not permanently stored in non-volatile memory and is cleared on reboot."
    ::= { arrisRouterSysCfg 23 }
	
arrisRouterXmlProvisioningStatus  OBJECT-TYPE
    SYNTAX INTEGER {
				notSpecified(1),
				inProgress(2),
				downloadSuccess(3),
				serverError(4),
				fileNotFound(5),
				fileFormatError(6),
				downloadFromMgt(7)
				}       
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "This object shows the download status of the Gateway XML 
            configuration file. It can also be used to initiate an on demand 
            download of the XML configuration file by setting the value to 
            downloadFromMgt (7). This value is not permanently stored in 
            non-volatile memory and shall reset to notSpecified (1) upon reboot."
    DEFVAL { notSpecified }
    ::= { arrisRouterSysCfg 24 }
 
arrisRouterInboundTrafficLogEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "If true log recent inbound packets"
	DEFVAL { false }
    ::= { arrisRouterSysCfg 34 }

arrisRouterInboundTrafficLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterInboundTrafficLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Table contains recent inbound packet headers"
    ::= { arrisRouterSysCfg 42 }


arrisRouterInboundTrafficLogEntry OBJECT-TYPE
      SYNTAX      ArrisRouterInboundTrafficLogEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION "Table contains recent inbound packet headers"
      INDEX { arrisRouterInboundTrafficLogIndex }
      ::= { arrisRouterInboundTrafficLogTable 1 }

ArrisRouterInboundTrafficLogEntry ::= SEQUENCE {
        arrisRouterInboundTrafficLogIndex                               Unsigned32,
        arrisRouterInboundTrafficLogData                                OCTET STRING
        }
arrisRouterInboundTrafficLogIndex OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index currently limit to 50."
     ::= { arrisRouterInboundTrafficLogEntry 1 }

arrisRouterInboundTrafficLogData OBJECT-TYPE
     SYNTAX      OCTET STRING
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Raw IP/UDP/TCP Headers for packet (may have extra bytes beyond headers)"
     ::= { arrisRouterInboundTrafficLogEntry 2 }

arrisRouterWirelessBand OBJECT-TYPE
     SYNTAX      INTEGER { unknown(-1), band24GHz(0), band5GHz(1), band24GHzand5GHz(2)}
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "Get the operating band for Wireless Router.
                   -1: unknown
                    0: 2.4 GHz
                    1: 5.0 GHz
                    2: 2.4 and 5.0 GHz"
     ::= { arrisRouterSysCfg 55}

arrisRouterFirstInstallWizardCompletionStatus OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "If first install wizard is complete returns true otherwise false. GUI should set this MIB to true when first install wizard is complete."
     ::= { arrisRouterSysCfg 62 }

arrisRouterTroubleshooterEnable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable/Disable troubleshooting wizard."
     ::= { arrisRouterSysCfg 63 }

-- Temporarily remove ability to modify functionality per PLM
-- arrisRouterSaveMsoPostProvConfig OBJECT-TYPE
--     SYNTAX      TruthValue
--     MAX-ACCESS  read-write
--     STATUS      current
--     DESCRIPTION "This MIB object is used to indicate how modifications made by the MSO to the running 
--                  configuration during post provisioning of the ARRIS router are handled when 
--                  arrisRouterApplyAllSettings is triggered.  User data is defined to be modifications 
--                  made to the running configuration by the end-user via the webGUI.  User data is 
--                  always stored in non-volatile memory (i.e. NVRAM).  MSO data is defined to be 
--                  modifications made to the running configuration by the MSO and is separated into two groups:
--                  1. Modifications made during provisioning via the CM configuration file, Gateway DHCP, 
--                     XML configuration file or TR-069.
--                  2. Modification made post provisioning via the webGUI, Command Line Interface (CLI) or SNMP.
-- 
--                  This MIB object applies to MSO data that is modified during post provisioning only.
-- 
--                  MSO data is stored in NVRAM based on the setting of the MIB object:
-- 
--                  DISABLED:  only user data is stored in NVRAM.  MSO modifications to the running 
--                             configuration is never stored.  To remain persistent MSO modifications 
--                             must be re-applied by the MSO after each reboot.
-- 
--                  ENABLED:   all data from the current running configuration that has been modified 
--                             during post provisioning by the MSO is saved to NVRAM.  This data may 
--                             or may not override User settings depending on the defined precedence. "
-- 
--     ::= { arrisRouterSysCfg 56 }

arrisRouterSaveCurrentConfigFile OBJECT-TYPE
    SYNTAX      INTEGER { save(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set save(1) to trigger device to save current configuration of Router to a specific file.
                This file will be a snapshot of the changes that have been made to the Router from the user.
                Return save(1) for get operation."
    ::= { arrisRouterSysCfg 57 }

arrisRouterRestoreCurrentConfigFile OBJECT-TYPE
    SYNTAX      INTEGER { restore(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Set restore(1) to trigger device to restore configuration of Router from a specific file.
                This backup file will be used by the Router to restore the user's settings.
                Return restore(1) for get operation."
    ::= { arrisRouterSysCfg 58 }

arrisRouterLocalPosixTimeZone OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The local time zone definition, encoded according to IEEE 1003.1 (POSIX). 
                 The following is an example value:
                   EST+5 EDT,M4.1.0/2,M10.5.0/2"
    ::= { arrisRouterSysCfg 59 }

arrisRouterCSRActiveTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The duration for which CSR login is enabled."
    ::= { arrisRouterSysCfg 65 }

-- Settings for enabling SSH and web pages

arrisRouterWebAccessTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterWebAccessEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "This table contains access levels for the web pages"
     ::= { arrisRouterHostAccess 7 }

arrisRouterWebAccessEntry OBJECT-TYPE
    SYNTAX      ArrisRouterWebAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
	DESCRIPTION "This table contains access levels for the web pages"
    INDEX   { arrisRouterWebAccessIndex }
    ::= { arrisRouterWebAccessTable 1 }
    
ArrisRouterWebAccessEntry ::= 
    SEQUENCE    {
                arrisRouterWebAccessIndex			Integer32,
				arrisRouterWebAccessPage			DisplayString,
				arrisRouterWebAccessLevel			INTEGER,
				arrisRouterWebAccessRowStatus		RowStatus
				}

arrisRouterWebAccessIndex OBJECT-TYPE
     SYNTAX      Integer32 (1..50)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Index used to order the arrisRouterWebAccessTable entries."
     ::= { arrisRouterWebAccessEntry 1 }

arrisRouterWebAccessPage OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The web page to grant access to.  i.e. router.html or any unique string that identifies a 'screen' or 'page on the web UI"
     ::= { arrisRouterWebAccessEntry 2 }

arrisRouterWebAccessLevel OBJECT-TYPE
     SYNTAX      INTEGER { noAccessAll(0), accessTech(1), accessUser(2), accessAll(3) }
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Access level for the web page"
     ::= { arrisRouterWebAccessEntry 3 }

arrisRouterWebAccessRowStatus OBJECT-TYPE
     SYNTAX		RowStatus
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION "For creating new rows"
     ::= { arrisRouterWebAccessEntry 4 }


arrisRouterWebAccessWANACL OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
        "Access Control List of IPs that can access GUI and snmp via global WAN
         if empty no restrict to access GUI over global WAN
         format: ip[-ip](;ip[-ip])*
         example: 10.0.0.0-10.255.255.255;172.44.56.0-172.44.56.244"      
     ::= { arrisRouterHostAccess 8 }

-- for ping

arrisRouterPingTargetAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of internet address used for arrisRouterPingTargetAddress.  
        
         This object may be changed while a ping is in progress."
    DEFVAL { ipv4 }
    ::= { arrisRouterPingMgmt 1 }
    
arrisRouterPingTargetAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sets the internet address of the entity to be pinged.  Note that if
         an all-zeros value is specified for this object, then the ping will
         be sent to the default gateway, if one exists.
        
         This object may be changed while a ping is in progress."
    ::= { arrisRouterPingMgmt 2 }
    
arrisRouterPingNumPkts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Allows the client to set the number of pings to be sent.  This can be
         set to any number between 1 and (2^32 - 1), or can be set to 'infinite'
         by setting the value to 0.
        
         Note that if set to infinite, then the ping must be stopped explicitly
         in order to get it to stop.
         
         This object may be changed while a ping is in progress."
    DEFVAL { 3 }
    ::= { arrisRouterPingMgmt 3 }
    
arrisRouterPingPktSize OBJECT-TYPE
    SYNTAX      Unsigned32 (64..1518)
    UNITS       "bytes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Allows the client to set the initial size of the ping packets that will 
         be sent.  This size includes the LLC header, IP header, ICMP header, 
         and the CRC32 at the end.  You must specify values between 64 and 1518, 
         which are the min and max size Ethernet frames.
         
         This object may be changed while a ping is in progress."
    DEFVAL { 64 }
    ::= { arrisRouterPingMgmt 4 }
   
arrisRouterPingInterval OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Allows the client to set the amount of time (in milliseconds) that the
         device will sleep before sending a ping.  Generally, this is the time
         between when a ping reply is received and when the next ping will be
         sent.
        
         Note that the amount of time between sending one ping and sending the
         next ping varies depending on whether or not you enable waiting for
         replies, and how long it takes to receive the reply.
        
         If waiting for replies is disabled, then this is the time between 
         sending one ping and sending the next ping.
         
         This object may be changed while a ping is in progress."
    DEFVAL { 0 }
    ::= { arrisRouterPingMgmt 5 }
    
arrisRouterPingTimeout OBJECT-TYPE
    SYNTAX      Integer32 (-1..65535)
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Allows the client to set the amount of time (in milliseconds) that the
         device should wait for a reply after sending a ping.
         
         If set to any non-negative value, then the device will send a ping and 
         wait for a response for the specified amount of time.  Event if 
         set to 0, the thread will check for and process a reply packet.
         
         If set to -1, then the device will not wait at all, and won't even 
         check for any replies.
         
         This object may be changed while a ping is in progress."
    DEFVAL { 5000 }
    ::= { arrisRouterPingMgmt 6 }
    
    
arrisRouterPingVerifyReply OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enables/disables verification of ping replies.  If enabled, and if 
         waiting for replies is enabled, then if a reply is received, it will 
         verify that it matches the ping that was sent, and that all of the 
         data is intact.
         
         This object may be changed while a ping is in progress."
    DEFVAL { true }
    ::= { arrisRouterPingMgmt 7 }


arrisRouterPingIpStackNumber OBJECT-TYPE
    SYNTAX      Integer32 (0..8)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Allows the client to select the IP stack from which the pings will be
         sent.  Specifying 0 means that the pings will be sent from the same IP
         stack on which this MIB is hosted.
         
         This object may not be changed while a ping is in progress."
    DEFVAL { 0 }
    ::= { arrisRouterPingMgmt 8 }        
    
arrisRouterPingStartStop OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Starts or stops the pings, as well as indicating whether a ping is in
         progress when read.  If a ping is already in progress and this object
         is set to true(1), then the ping will continue but the ping statistics
         will be reset.
         
         This object may be changed while a ping is in progress."
    DEFVAL { true }
    ::= { arrisRouterPingMgmt 9 }
    
arrisRouterPingPktsSent OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of packets sent since the ping was started."
    ::= { arrisRouterPingMgmt 10 }
    
arrisRouterPingRepliesReceived OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of replies received since the ping was started."
    ::= { arrisRouterPingMgmt 11 }
    
arrisRouterPingRepliesVerified OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the number of replies which were verified since the ping was 
         started."
    ::= { arrisRouterPingMgmt 12 }
    
arrisRouterPingOctetsSent OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total number of octets that have been sent in pings
         since the ping was started."
    ::= { arrisRouterPingMgmt 13 }
    
arrisRouterPingOctetsReceived OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total number of octets that have been sent in pings
         since the ping was started."
    ::= { arrisRouterPingMgmt 14 }
    
arrisRouterPingIcmpErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the total ICMP errors which have been received since the 
         ping was started."
    ::= { arrisRouterPingMgmt 15 }
    
arrisRouterPingLastIcmpError OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates value of the last ICMP error which was received, if any.  If 
         there have been no errors, this object will have a value of 0."
    ::= { arrisRouterPingMgmt 16 }

arrisRouterPingAverageRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current average ping round-trip-time (RTT)."
    ::= { arrisRouterPingMgmt 17 }

arrisRouterPingMinRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The minimum ping round-trip-time (RTT) received.  A value
         of 0 for this object implies that no RTT has been received."
    ::= { arrisRouterPingMgmt 18 }

arrisRouterPingMaxRtt OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum ping round-trip-time (RTT) received.  A value
         of 0 for this object implies that no RTT has been received."
    ::= { arrisRouterPingMgmt 19 }

arrisRouterPingTargetDNSQueryIPAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The protocol version (Ipv4/v6) used for sending DNS query if arrisRouterPingTargetAddressType is DNS."
    DEFVAL { ipv4 }
    ::= { arrisRouterPingMgmt 20 }

arrisRouterPingLog OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The ping result log."
    ::= { arrisRouterPingMgmt 21 }

-- traceroute


arrisRouterTraceRtTargAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The type of internet address used for arrisRouterTraceRtTargetAddress."
    DEFVAL { ipv4 }
    ::= { arrisRouterTraceRtMgmt 1 }
    
arrisRouterTraceRtTargetAddr OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Sets the internet address of the entity for the trace route."
    ::= { arrisRouterTraceRtMgmt 2 }
    
arrisRouterTraceRtMaxHops OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The maximum number of hops for the trace route"
    ::= { arrisRouterTraceRtMgmt 3 }

arrisRouterTraceRtDataSize OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The data size of the trace route packet"
    ::= { arrisRouterTraceRtMgmt 4 }

arrisRouterTraceRtResolveHosts OBJECT-TYPE
    SYNTAX      INTEGER { noResolve(0), resolve(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Whether or not to resolve host names"
     DEFVAL		{ resolve }
    ::= { arrisRouterTraceRtMgmt 5 }
    
arrisRouterTraceRtBasePort OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Base port to use for trace route"
    ::= { arrisRouterTraceRtMgmt 6 }

arrisRouterTraceRtStart OBJECT-TYPE
    SYNTAX      INTEGER { traceRouteNotRunning(0), traceRouteRunning(1), startTrace(10), stopTrace(11)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Start a running trace route.  Will return traceRouteRunning(0) if a trace route is currently running. "
    ::= { arrisRouterTraceRtMgmt 7 }

arrisRouterTraceRtLog OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The most recent output log for trace route.  Up to 255 bytes.  Individual lines are separated by a newline \n"
    ::= { arrisRouterTraceRtMgmt 8 }

arrisRouterTraceRtTimeout OBJECT-TYPE
    SYNTAX      Unsigned32 (1..60)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the time-out value, in seconds, for
         a traceroute request."
    DEFVAL { 3 }
    ::= { arrisRouterTraceRtMgmt 9 }

arrisRouterTraceRtDiffServ OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specifies the value to store in the Type of Service
         (TOS) octet in the IPv4 header or in the Traffic
         Class octet in the IPv6 header, respectively, of the
         IP packet used to encapsulate the traceroute probe.

         The octet to be set in the IP header contains the
         Differentiated Services (DS) Field in the six most
         significant bits.

         This option can be used to determine what effect an
         explicit DS Field setting has on a traceroute response.
         Not all values are legal or meaningful.  A value of 0
         means that the function represented by this option is
         not supported.  DS Field usage is often not supported
         by IP implementations, and not all values are supported.
         Refer to RFC 2474 and RFC 3260 for guidance on usage of
         this field."
    REFERENCE
        "Refer to RFC 1812 for the definition of the IPv4 TOS
         octet and to RFC 2460 for the definition of the IPv6
         Traffic Class octet.  Refer to RFC 2474 and RFC 3260
         for the definition of the Differentiated Services Field."
    DEFVAL { 0 }
    ::= { arrisRouterTraceRtMgmt 10 }

arrisRouterICtrlPortMapCount OBJECT-TYPE
    SYNTAX      Integer32 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the rows in the table: arrisRouterICtrlPortMapTable"
    ::= { arrisRouterICtrl 1 }

arrisRouterICtrlPortMapTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF ArrisRouterICtrlPortMapEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "This table contains IP port mappings."
     ::= { arrisRouterICtrl 2 }

arrisRouterICtrlPortMapEntry OBJECT-TYPE
    SYNTAX      ArrisRouterICtrlPortMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table contains IP port mappings"
    INDEX   { arrisRouterICtrlPortMapIndex }
    ::= { arrisRouterICtrlPortMapTable 1 }
    
ArrisRouterICtrlPortMapEntry ::= 
    SEQUENCE    {
                arrisRouterICtrlPortMapIndex                Integer32,
                arrisRouterPortMapDescription               DisplayString,
                arrisRouterPortMapInternalClientAddrType    InetAddressType,
                arrisRouterPortMapInternalClientAddr        InetAddress,
                arrisRouterPortMapProtocol                  INTEGER,
                arrisRouterPortMapExternalPort              Unsigned32,
                arrisRouterPortMapInternalPort              Unsigned32,
                arrisRouterPortMapRowStatus                 RowStatus,
                arrisRouterPortMapInternalStartPort         Unsigned32,
                arrisRouterPortMapInternalEndPort           Unsigned32,
                arrisRouterPortMapExternalStartPort         Unsigned32,
                arrisRouterPortMapExternalEndPort           Unsigned32
                }

arrisRouterICtrlPortMapIndex OBJECT-TYPE
     SYNTAX      Integer32 (1..255)
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION "Table index"
     ::= { arrisRouterICtrlPortMapEntry 1 }

arrisRouterPortMapDescription OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Provides a descriptive human-readable string explaining the
                  usage of the port mapping. For example, Port 80 might be represented as
                  Web Server."
     ::= { arrisRouterICtrlPortMapEntry 2 }

arrisRouterPortMapInternalClientAddrType OBJECT-TYPE
     SYNTAX     InetAddressType
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION  "This is the IP address type of the destination host that traffic assigned to this port from the WAN will be mapped to on the LAN."
     ::= { arrisRouterICtrlPortMapEntry 3 }

arrisRouterPortMapInternalClientAddr OBJECT-TYPE
     SYNTAX     InetAddress
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION  "This is the IP address of the destination host that traffic assigned to this port from the WAN will be mapped to on the LAN."
     ::= { arrisRouterICtrlPortMapEntry 4 }

arrisRouterPortMapProtocol OBJECT-TYPE
     SYNTAX      INTEGER { tcp(1), udp(2) }
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "Can be 'UDP' or 'TCP'. Used to set the specific IP protocol type that this port is mapped for."
     DEFVAL { tcp }
     ::= { arrisRouterICtrlPortMapEntry 5 }

arrisRouterPortMapExternalPort  OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The port number that an external host will connect to on the WAN side of the router that will be mapped"
     ::= { arrisRouterICtrlPortMapEntry 6 }

arrisRouterPortMapInternalPort  OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "port number that will be used on the destination host"
     ::= { arrisRouterICtrlPortMapEntry 7 }
     
arrisRouterPortMapRowStatus OBJECT-TYPE
     SYNTAX     RowStatus
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION "For creating new rows"
     ::= { arrisRouterICtrlPortMapEntry 8 }

arrisRouterPortMapInternalStartPort OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "start port number that will be used on the destination host"
     ::= { arrisRouterICtrlPortMapEntry 9 }

arrisRouterPortMapInternalEndPort OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "end port number that will be used on the destination host"
     ::= { arrisRouterICtrlPortMapEntry 10 }

arrisRouterPortMapExternalStartPort  OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The start port number that an external host will connect to on the WAN side of the router that will be mapped"
     ::= { arrisRouterICtrlPortMapEntry 11 }

arrisRouterPortMapExternalEndPort  OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION "The end port number that an external host will connect to on the WAN side of the router that will be mapped"
     ::= { arrisRouterICtrlPortMapEntry 12 }

    
arrisRouterICtrlGetDeviceSettings                 OBJECT IDENTIFIER ::= { arrisRouterICtrl 3 }
arrisRouterICtrlIsDeviceReady                     OBJECT IDENTIFIER ::= { arrisRouterICtrl 4 }
arrisRouterICtrlReboot                            OBJECT IDENTIFIER ::= { arrisRouterICtrl 5 }
arrisRouterICtrlSetDeviceSettings                 OBJECT IDENTIFIER ::= { arrisRouterICtrl 6 }
arrisRouterICtrlRouterSettings                    OBJECT IDENTIFIER ::= { arrisRouterICtrl 7 }
arrisRouterICtrlWLanRadioSettings                 OBJECT IDENTIFIER ::= { arrisRouterICtrl 8 }
arrisRouterICtrlSetBridgeConnect                  OBJECT IDENTIFIER ::= { arrisRouterICtrl 9 }
arrisRouterICtrlGetWanSettings                    OBJECT IDENTIFIER ::= { arrisRouterICtrl 10 }

arrisRouterICtrlDeviceSettingsFWversion OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "The Firmware Version."
     ::= { arrisRouterICtrlGetDeviceSettings 1 }


arrisRouterICtrlDeviceStatus OBJECT-TYPE
     SYNTAX      INTEGER { error(0), ok(1) }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION "This method is used to determine if a given device is ready to process HNAP calls. 
                  It can be used in a reboot sequence, so that an HNAP client knows when an HNAP server has completed rebooting and is
                  ready to begin processing commands again. If the device returns OK, it must be available to respond to
                  additional requests until further state changes are made."
     ::= { arrisRouterICtrlIsDeviceReady 1 }

arrisRouterICtrlInitiateReboot OBJECT-TYPE
     SYNTAX      INTEGER { reboot(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Initiate a reboot."
     ::= { arrisRouterICtrlReboot 1 }


arrisRouterICtrlSetDeviceName OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "A user-readable friendly name to use for this device. This name is used for the following:
                    End users associate this name with devices when displayed by device management software (for example,
                        the icon that displays in Network Magic's network map for this device).
                    You should use it for DHCP leases and other network identification."
     ::= { arrisRouterICtrlSetDeviceSettings 1 }

arrisRouterICtrlSetAdminPassword OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The administrator password for this device"
     ::= { arrisRouterICtrlSetDeviceSettings 2 }


arrisRouterICtrlRouterManageRemote OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Indicates if remote management is enabled for this device.
                    true: the administrative interface and HNAP interfaces are
                            accessible from the WAN side of the router.
                    false: the administrative interface and HNAP interfaces are
                            only accessible from the LAN side of the router"
     ::= { arrisRouterICtrlRouterSettings 1 }

arrisRouterICtrlRouterRemotePort OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Returns the port number that can be used to access the router management interface from the WAN side"                    
     ::= { arrisRouterICtrlRouterSettings 2 }
     
arrisRouterICtrlRouterRemoteSSL OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Indicates if the secure SSL port is available for this device.
                    true: the remote port specified by RemotePort will ONLY accept SSL connections.
                    false: the remote port specified by RemotePort will NOT accept SSL connections"
     ::= { arrisRouterICtrlRouterSettings 3 }


arrisRouterICtrlWLanRadioMacAddress OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The MAC address for this interface. The device will still return this, even if the WLAN interface is currently disabled."
     ::= { arrisRouterICtrlWLanRadioSettings 1 }

arrisRouterICtrlWLanRadioChannelWidth OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Width of each channel. This corresponds to the 802.11n channel width standard. Valid values are:
                    0: Automatic
                    20: 20 MHz channel width
                    40: 40 MHz channel width
                    Notes:
                        If a router is configured in Automatic selection mode it
                            should return 0 to indicate this.
                        It is not possible for an HNAP client to interrogate the
                            currently selected channel width of a router configured in
                            automatic mode."
     ::= { arrisRouterICtrlWLanRadioSettings 2 }


arrisRouterICtrlSetBridgeEthernetPort OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The parameter 'EthernetPort' determines which physical Ethernet LAN
                    port is able to accept bridged traffic.  This port must correspond to the physically
                    numbered ports on the device."
     ::= { arrisRouterICtrlSetBridgeConnect 1 }

arrisRouterICtrlSetBridgeMinutes OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The parameter 'Minutes' specifies the maximum amount of time the bridge is to remain active after which the bridge is immediately closed without warning,
                 secondary calls to SetBridgeConnect that specify the same port and time value should update the existing timeout value to be based on the time of the 
                 latest call with the latest timeout value (and should not close the bridge for any reason)"
     ::= { arrisRouterICtrlSetBridgeConnect 2 }

arrisRouterICtrlSetBridgePermanentPort4Enable OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Set the port 4 to permanent bridge mode. Default value is false. If this MIB is enabled, it overrides the other two ICtrlSetBridge mibs(arrisRouterICtrlSetBridgeEthernetPort and
     arrisRouterICtrlSetBridgeMinutes), and it ignores HNAP related configuration commands (but responds OK to the device)."
     DEFVAL { false }
     ::= { arrisRouterICtrlSetBridgeConnect 3 }

arrisRouterICtrlGetWanType OBJECT-TYPE
     SYNTAX      DisplayString
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type of configuration. Can be one of the following values, depending on the WAN configurations supported by the device.
                    BigPond
                    DHCP
                    DHCPPPPoE
                    DynamicL2TP
                    DynamicPPTP
                    Static
                    StaticL2TP
                    StaticPPPoE
                    StaticPPTP
                    BridgedOnly
                    Static1483Bridged
                    Dynamic1483Bridged
                    Static1483Routed
                    StaticPPPOA
                    DynamicPPPOA" 
    DEFVAL { "DHCP" }
     ::= { arrisRouterICtrlGetWanSettings 2 }

arrisRouterICtrlGetWanMTU OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The maximum packet size (maximum transmission unit (MTU)) in octets. 
                  This cannot exceed what the router supports (that is, the MTU value that the router provides in response to a GETxxx method)." 
     ::= { arrisRouterICtrlGetWanSettings 3 }
     
arrisRouterICtrlGetWanPrefixLen OBJECT-TYPE
     SYNTAX      InetAddressPrefixLength
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The prefix (netmask) for the Wan connection." 
     ::= { arrisRouterICtrlGetWanSettings 4 }

arrisRouterICtrlGetWanGatewayAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type for the gateway IP address for this router."
     ::= { arrisRouterICtrlGetWanSettings 5 }

arrisRouterICtrlGetWanGatewayAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The the gateway IP address for this router.
                     If Type is set to DHCP, DHCPPPPoE, DynamicPPPOA or Dynamic1483Bridged this returns the DHCPconfigured values. 
                     If DHCP has not acquired an address yet, this should return 0.0.0.0 (for IPv4) or the equivalent IPv6 unconfigured IP address"
     ::= { arrisRouterICtrlGetWanSettings 6 }

arrisRouterICtrlGetWanDNSPrimaryAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type for the DNS address."
     ::= { arrisRouterICtrlGetWanSettings 7 }

arrisRouterICtrlGetWanDNSPrimaryAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The DNS primary setting for this router.
                    If DHCP is being used as the WAN Type, a device should
                    return DNS settings it may have obtained from the DHCP
                    lease. Both DNS settings may be blank in the event that there
                    is no current lease.
                    For non-DHCP WAN Types, these settings should always be
                    valid."
     ::= { arrisRouterICtrlGetWanSettings 8 }

arrisRouterICtrlGetWanDNSSecondaryAddrType OBJECT-TYPE
     SYNTAX      InetAddressType
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The type for the DNS address."
     ::= { arrisRouterICtrlGetWanSettings 9 }

arrisRouterICtrlGetWanDNSSecondaryAddr OBJECT-TYPE
     SYNTAX      InetAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The DNS secondary setting for this router.
                    If DHCP is being used as the WAN Type, a device should
                    return DNS settings it may have obtained from the DHCP
                    lease. Both DNS settings may be blank in the event that there
                    is no current lease.
                    For non-DHCP WAN Types, these settings should always be
                    valid."
     ::= { arrisRouterICtrlGetWanSettings 10 }

arrisRouterICtrlGetWanMacAddress OBJECT-TYPE
     SYNTAX      MacAddress
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The MAC address for the WAN interface."
     ::= { arrisRouterICtrlGetWanSettings 11 }

arrisRouterICtrlHNAPServerPort OBJECT-TYPE
     SYNTAX      Unsigned32
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "The port used by the internal HNAP server to receive messages from the HNAP client."                    
     DEFVAL { 8081 }
     ::= { arrisRouterICtrl 11 }

arrisRouterICtrlEnable OBJECT-TYPE
     SYNTAX      INTEGER { disabled(0), enabled(1) }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION "Enable or disable the IControl Module, default is disabled."
         DEFVAL { disabled }
     ::= { arrisRouterICtrl 12 }

arrisRouterICtrlHashingKey OBJECT-TYPE
	SYNTAX      DisplayString (SIZE (1..127))
	MAX-ACCESS  read-write
	STATUS      current
	DESCRIPTION "Set hashing key for IControl feature to calculate the wpa psk."
	::= { arrisRouterICtrl 13 }

arrisRouterICtrlPortMapTableEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether iCtrl Port Mapping is enabled."
        DEFVAL { true }
    ::= { arrisRouterICtrl 14 }


-- Client Flap List

arrisRouterFlapListEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Is the Flap List enabled or not"
    DEFVAL { false }
    ::= { arrisRouterFlapListCfg 1 }

arrisRouterFlapListWLANInterval OBJECT-TYPE
    SYNTAX          Integer32 (0..3600)
    MAX-ACCESS  	read-write
    STATUS      	current
    DESCRIPTION		"Minimum number of Seconds between subsequent WLAN Associations 
                     from the same client in order to mark it as flapping"
    DEFVAL { 120 }
    ::= { arrisRouterFlapListCfg 2 }
    
arrisRouterFlapListDHCPInterval OBJECT-TYPE
    SYNTAX          Integer32 (0..3600)
    MAX-ACCESS  	read-write
    STATUS      	current
    DESCRIPTION		"Minimum number of Seconds between subsequent DHCP Requests 
                     from the same client in order to mark it as flapping"
    DEFVAL { 300 }
    ::= { arrisRouterFlapListCfg 3 }
  
arrisRouterFlapListReportPeroid OBJECT-TYPE
    SYNTAX          Integer32 (0..86400)
    MAX-ACCESS  	read-write
    STATUS      	current
    DESCRIPTION		"Maximum Number of Seconds to maintian a client in the Flap List."
    DEFVAL { 86400 }
    ::= { arrisRouterFlapListCfg 4 }

arrisRouterFlapListWLANCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total Number of WLAN Clients in the WLAN Flap List."
    ::= { arrisRouterFlapListCfg 5 }

arrisRouterFlapListLANCount OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total Number of LAN Clients in the LAN Flap List"
    ::= { arrisRouterFlapListCfg 6 }

arrisRouterFlapListReqFreqThreshold OBJECT-TYPE
    SYNTAX      Integer32 (0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Minimum number of flap count that determines the client is flapping"
    ::= { arrisRouterFlapListCfg 7 }

arrisRouterFlapListCfg			OBJECT IDENTIFIER ::= { arrisRouterMibObjects 11 }

-- WLAN Flap List Entry Table

arrisRouterFlapListWLANTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFlapListWLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of WLAN Flapping Clients"
    ::= { arrisRouterFlapListCfg 10 }

arrisRouterFlapListWLANEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFlapListWLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of WLAN Flap List Clients"
    INDEX   { arrisRouterFlapListWLANIndex }
    ::= { arrisRouterFlapListWLANTable 1 }

ArrisRouterFlapListWLANEntry ::=
        SEQUENCE    {
		arrisRouterFlapListWLANIndex			Unsigned32,
		arrisRouterFlapListWLANMacAddress 		MacAddress,
		arrisRouterFlapListWLANRemoveTime		DateAndTime,
		arrisRouterFlapListWLANFlapTime   		DateAndTime		
        }

arrisRouterFlapListWLANIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (0..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { arrisRouterFlapListWLANEntry 1 }

arrisRouterFlapListWLANMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A MAC address of a WLAN station which has flapped."
    ::= { arrisRouterFlapListWLANEntry 2 }

arrisRouterFlapListWLANRemoveTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The date and time when this Client Last Flapped."
    ::= { arrisRouterFlapListWLANEntry 3 }

arrisRouterFlapListWLANFlapTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The date and time when this Client can be removed from the List."
    ::= { arrisRouterFlapListWLANEntry 4 }

-- LAN Flap List Entry Table

arrisRouterFlapListLANTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF ArrisRouterFlapListLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of LAN Flapping Clients"
    ::= { arrisRouterFlapListCfg 11 }

arrisRouterFlapListLANEntry OBJECT-TYPE
    SYNTAX      ArrisRouterFlapListLANEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION   "A table of LAN Flap List Clients"
    INDEX   { arrisRouterFlapListLANIndex }
    ::= { arrisRouterFlapListLANTable 1 }

ArrisRouterFlapListLANEntry ::=
        SEQUENCE    {
		arrisRouterFlapListLANIndex		Unsigned32,
		arrisRouterFlapListLANMacAddress       	MacAddress,
		arrisRouterFlapListLANRemoveTime   	DateAndTime,
		arrisRouterFlapListLANFlapTime   	DateAndTime
        }

arrisRouterFlapListLANIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (0..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the instance of this table row."
    ::= { arrisRouterFlapListLANEntry 1 }

arrisRouterFlapListLANMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The MAC address of a LAN Client which has flapped."
    ::= { arrisRouterFlapListLANEntry 2 }

arrisRouterFlapListLANRemoveTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The date and time when this Client Entry can be removed"
    ::= { arrisRouterFlapListLANEntry 3 }

arrisRouterFlapListLANFlapTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The date and time when this Client Last Flapped."
    ::= { arrisRouterFlapListLANEntry 4 }

END


