-- This file is corresponding to Release 9.1.10.101 from 2014/08/11 00:00:00


---------------------------------------------------------------------------
-- (C)opyright 2006-2014 bintec elmeg GmbH
-- $RCSfile: mib-tr069,v $
-- $Revision: 1.10 $
-- $Date: 2014-02-24 12:02:35 $
---------------------------------------------------------------------------

FEC-TR069-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
    Integer32, Unsigned32, Counter32, Counter64, IpAddress, TimeTicks,
    mib-2, enterprises
        FROM SNMPv2-SMI

    DisplayString, TimeStamp
        FROM SNMPv2-TC

    admin-2, Date, BitValue, HexValue
	FROM BINTEC-MIB

    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF;

---------------------------------------------------------------------------

tr069MIB MODULE-IDENTITY
    LAST-UPDATED "200906240000Z"
    ORGANIZATION "bintec elmeg GmbH"
    CONTACT-INFO
            "EMail:   info@bintec-elmeg.com
	     Web:     www.bintec-elmeg.com
	    "
    DESCRIPTION
            "The MIB module for TR069 administration entities.
            "
    REVISION      "200609040000Z"
    DESCRIPTION
            "TR069 MIB."

    ::= { admin-2 6 }

---------------------------------------------------------------------------
-- OID groups & all tables
---------------------------------------------------------------------------
    -- tr069Admin			tr069MIB.1
    -- tr069Persistent			tr069MIB.2
    -- tr069InformEvent			tr069MIB.4
    -- tr069FileTransfer		tr069MIB.5
    -- tr069NotifACL			tr069MIB.6
    -- tr069Route			tr069MIB.7

---------------------------------------------------------------------------
-- types
---------------------------------------------------------------------------

---------------------------------------------------------------------------


---------------------------------------------------------------------------
--  tr069Admin
---------------------------------------------------------------------------
tr069Admin OBJECT IDENTIFIER ::= { tr069MIB 1 }

    tr069URL		OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "URL for the CPE to connect to the ACS using
	     the CPE WAN Management Protocol.
	     
	     See TR-106 Amendment 2, Common Object Definitions: URL
	    "
	DEFVAL { "http://10.0.0.1:9675/live/CPEManager/CPEs/thecompany/" }
    ::= { tr069Admin 1 }

    tr069Username	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "Username used to authenticate the CPE when
	     establishing a HTTP connection to the ACS using the CPE
	     WAN management protocol.

	     See TR-106 Am.2, Common Object Definitions: Username
	    "
    ::= { tr069Admin 2 }

    tr069Password	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "Password used to authenticate the CPE when
	     establishing a connection to the ACS.

	     See TR-106 Am.2, Common Object Definitions: Password
	    "
    ::= { tr069Admin 3 }

    tr069PeriodicInformEnable OBJECT-TYPE
	SYNTAX		INTEGER { false(1), true(2) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "If set to true, the CPE must periodically connect to the ACS
	     server and send CPE information using the Inform method call.

	     See TR-106 Am.2, Common Object Definitions: PeriodicInformEnable
	    "
	DEFVAL { false }
    ::= { tr069Admin 4 }

    tr069PeriodicInformInterval	OBJECT-TYPE
	SYNTAX		INTEGER (1..2147483647)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "The duration in seconds of the interval for which
	     the CPE MUST attempt to connect with the ACS and call
	     the Inform method if PeriodicInform-Enable is true.

	     See TR-106 Am.2, Common Object Definitions: PeriodicInformInterval
	    "
	DEFVAL { 3600 }
    ::= { tr069Admin 5 }

    tr069PeriodicInformTime	OBJECT-TYPE
	SYNTAX		INTEGER (0..2147483647)
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "An absolute time reference in UTC to determine when the CPE
	     should initiate the Inform method calls. Each inform call must 
	     occur at this reference time plus or minus an integer multiple
	     of the PeriodicInformInterval.
	     A zero value inidicates that no particular time reference is
	     specified. That is, the CPE may locally choose the time
	     referencer, required only to adhere to the specified 
	     PeriodicInformInterval.

	     See TR-106 Amendment 2, Common Object Definitions: 
						PeriodicInformInterval

	     Currently not supported! Set only 0!
	    "
	DEFVAL { 0 }
    ::= { tr069Admin 6 }

--    ::= { tr069Admin 7 } used to be tr069ConnectionRequestPort which is obsolete

    tr069ConnectionRequestUsername	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "The username the ACS uses to authenticate itself to the CPE.

	     See TR-106 Am.2, Common Object Definitions: 
						ConnectionRequestUsername
	    "
	DEFVAL { "tr069" }
    ::= { tr069Admin 8 }

    tr069ConnectionRequestPassword	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "The password the ACS uses to authenticate itself to the CPE.

	     See TR-106 Am.2, Common Object Definitions: 
						ConnectionRequestPassword
	    "
	DEFVAL { "tr069" }
    ::= { tr069Admin 9 }

    tr069UpgradesManaged OBJECT-TYPE
	SYNTAX		INTEGER { false(1), true(2) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "Indicates whether or not the ACS will manage upgrades for the CPE.
	     If true, the CPE SHOULD not use other means other than the ACS
	     to seek out available upgrades. If false, the CPE MAY use
	     other means for this purpose.

	     Currently not supported, the CPE does not check for 
	     automatic upgrades.
	    "
	DEFVAL { false }
    ::= { tr069Admin 10 }

    tr069Enabled OBJECT-TYPE
	SYNTAX		INTEGER { false(1), true(2) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "Global switch to enable or disable the TR-069 completely."
	DEFVAL { false }
    ::= { tr069Admin 11 }

    tr069ACSAuthEnforced OBJECT-TYPE
	SYNTAX		INTEGER { false(1), true(2) }
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "If true and the ACS URL is https(SSL) the ACS must authenticate 
	     itself to the CPE."
	DEFVAL { false }
    ::= { tr069Admin 12 }

    tr069ConnectionRequestPath	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..31))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "The path of the URL the ACS must access to request a connection.
	    "
    ::= { tr069Admin 13 }

    tr069DHCPURL	OBJECT-TYPE
	SYNTAX		DisplayString (SIZE (0..255))
	MAX-ACCESS	read-write
	STATUS		current
	DESCRIPTION
	    "If an ACS URL ist received via DHCP vendor
	     option, it is stored here"
	DEFVAL { "" }
    ::= { tr069Admin 14 }

    tr069CaCertIndex	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The index of the ca certificate to use (from the certTable)."
	::= { tr069Admin 15 }

    tr069CertIndex	OBJECT-TYPE
	SYNTAX		INTEGER
	ACCESS		read-write
	STATUS		current
	DESCRIPTION
		"The index of the certificate to use (from the certTable)."
	::= { tr069Admin 16 }

---------------------------------------------------------------------------
--  tr069Persistent
--  (tr069 specific data that has to be stored in flash memory)
---------------------------------------------------------------------------
tr069Persistent	OBJECT IDENTIFIER ::= { tr069MIB 2 }

	tr069ProvisioningCode	OBJECT-TYPE
		SYNTAX		DisplayString (SIZE (0..64))
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
	    		"Identifier of the primary service provider and other
	     		provisioning parameters."
	::= { tr069Persistent 1 }

	tr069Bootstrap OBJECT-TYPE
		SYNTAX		INTEGER { false(1), true(2) }
		MAX-ACCESS	read-write
		STATUS		current
		DESCRIPTION
		    "Set on first startup or after ACS URL change to
		     indicate bootstrap on next inform to the ACS."
		DEFVAL { true }
	::= { tr069Persistent 7 }

--    ::= { tr069Persistent 8 } used to be tr069MonitoredTable which is obsoleted


-- Cross reference table for mapping of TR-069 objects to MIB table entries

    tr069WANDeviceXrefTable	OBJECT-TYPE
    	SYNTAX		SEQUENCE OF Tr069WANDeviceXrefEntry
    	MAX-ACCESS	not-accessible
    	STATUS		current
    	DESCRIPTION
    		"Cross reference table for mapping WANDevices
    		to atm, ethoa/pppoa/rpoa and ppp table entries."
    ::= { tr069Persistent 9 }

	tr069WANDeviceXrefEntry	OBJECT-TYPE
    		SYNTAX		Tr069WANDeviceXrefEntry
    		MAX-ACCESS	not-accessible
    		STATUS		current
    		DESCRIPTION
    			"An entry containing a cross reference between
    			a WANDevice and associated local table entries."
    		INDEX	{ tr069WANConnectionDeviceIdx }
    	::= { tr069WANDeviceXrefTable 1 }

	Tr069WANDeviceXrefEntry ::=
		SEQUENCE {
			tr069WANDeviceIdx		INTEGER,
			tr069WANDeviceATMIfIndex	INTEGER,
			tr069WANConnectionDeviceIdx	INTEGER,
			tr069WANConnectionDeviceType	INTEGER,
			tr069WANConnectionDeviceIfIndex	INTEGER,
			tr069WANConnectionDeviceIfType  INTEGER,
			tr069WANPPPConnectionIdx	INTEGER,
			tr069WANPPPIfIndex		INTEGER,
			tr069WANXMLTreeState		INTEGER,
			tr069WANIPConnectionIdx		INTEGER

		}

		tr069WANDeviceIdx	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this WAN device as represented to TR-069."
		::= { tr069WANDeviceXrefEntry 1 }

		tr069WANDeviceATMIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"ATM Interface for this Device."
		::= { tr069WANDeviceXrefEntry 2 }

		tr069WANConnectionDeviceIdx	OBJECT-TYPE
			SYNTAX		INTEGER (0..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this WANConnectionDevice as
				represented to TR-069."
		::= { tr069WANDeviceXrefEntry 3 }

		tr069WANConnectionDeviceType	OBJECT-TYPE
			SYNTAX		INTEGER { pPPoE(1), pPPoA(2), iPoA(3), unconfigured(4), delete(5) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Type of this WANConnectionDevice."
			DEFVAL		{ unconfigured }
		::= { tr069WANDeviceXrefEntry 4 }

		tr069WANConnectionDeviceIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of the interface for this WANConnectionDevice."
		::= { tr069WANDeviceXrefEntry 5 }

		tr069WANConnectionDeviceIfType	OBJECT-TYPE
			SYNTAX		INTEGER { ethoa(1), pppoa(2), rpoa(3), undefined(4) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Type of the interface associated with this WANConnectionDevice."
			DEFVAL		{ undefined }
		::= { tr069WANDeviceXrefEntry 6 }

		tr069WANPPPConnectionIdx	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this PPP connection as represented to TR-069."
		::= { tr069WANDeviceXrefEntry 7 }

		tr069WANPPPIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this PPP interface."
		::= { tr069WANDeviceXrefEntry 8 }

		tr069WANXMLTreeState	OBJECT-TYPE
			SYNTAX		INTEGER { setup(1), new(2), present(3), purge(4) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Whether this entry is present in the XML tree."
			DEFVAL		{ setup }
		::= { tr069WANDeviceXrefEntry 9 }

		tr069WANIPConnectionIdx	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this IP connection as represented to TR-069."
		::= { tr069WANDeviceXrefEntry 10 }



-- tr069LANDeviceXrefTable: Cross reference table for mapping
--                          of TR-069 objects to MIB table entries

    tr069LANDeviceXrefTable	OBJECT-TYPE
    	SYNTAX		SEQUENCE OF Tr069LANDeviceXrefEntry
    	MAX-ACCESS	not-accessible
    	STATUS		current
    	DESCRIPTION
    		"Cross reference table for mapping LANDevices
    		to ethernet and WLAN related tables."
    ::= { tr069Persistent 10 }

	tr069LANDeviceXrefEntry	OBJECT-TYPE
    		SYNTAX		Tr069LANDeviceXrefEntry
    		MAX-ACCESS	not-accessible
    		STATUS		current
    		DESCRIPTION
    			"An entry containing a cross reference between
    			a LANDevice and associated local table entries."
    		INDEX	{ tr069LANDeviceIdx }
    	::= { tr069LANDeviceXrefTable 1 }

	Tr069LANDeviceXrefEntry ::=
		SEQUENCE {
			tr069LANDeviceIdx		INTEGER,
			tr069LANEthConfigIdx		INTEGER,
			tr069LANEthIfIndex		INTEGER,
			tr069LANHostCfgIfIndex		INTEGER,
			tr069LANDHCPServerConfigurable	INTEGER,
			tr069LANWLANConfigIdx		INTEGER,
			tr069LANWLANIfIndex		INTEGER,
			tr069LANXMLTreeState		INTEGER
		}

		tr069LANDeviceIdx	OBJECT-TYPE
			SYNTAX		INTEGER (0..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this LAN device as presented to TR-069."
		::= { tr069LANDeviceXrefEntry 1 }

		tr069LANEthConfigIdx	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this EthernetInterfaceConfig as
				presented to TR-069. A value of 0 is used
				to indicate the absence of an Ethernet device."
		::= { tr069LANDeviceXrefEntry 2 }

		tr069LANEthIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Interface identifier representing one
				 ethernet interface associated with this entry.
				 A value of 0 is used to indicate the absence
				 of an Ethernet device."
		::= { tr069LANDeviceXrefEntry 3 }

		tr069LANHostCfgIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Identifier representing the interface that
				 carries the IP configuration associated with
				 this entry."
		::= { tr069LANDeviceXrefEntry 4 }

		tr069LANDHCPServerConfigurable OBJECT-TYPE
			SYNTAX		INTEGER { false(1), true(2) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
			    "Whether the LAN side DHCP server is configured
			     by the ACS."
			DEFVAL { false }
		::= { tr069LANDeviceXrefEntry 5 }

		tr069LANWLANConfigIdx	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this WLANConfiguration as presented
				 to TR-069. A value of 0 is used to indicate
				 the absence of a WLAN device."
		::= { tr069LANDeviceXrefEntry 6 }

		tr069LANWLANIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Identifier representing one WLAN interface
				 associated with this entry. A value of 0 is
				 used to indicate the absence of a WLAN device."
		::= { tr069LANDeviceXrefEntry 7 }

		tr069LANXMLTreeState	OBJECT-TYPE
			SYNTAX		INTEGER { setup(1), new(2), present(3), purge(4), delete(5) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Whether this entry is present in the XML tree."
			DEFVAL		{ setup }
		::= { tr069LANDeviceXrefEntry 8 }




-- tr069IpLANDeviceXrefTable: Cross reference table for mapping
--                            of TR-069 objects to MIB table entries

    tr069IpLANDeviceXrefTable	OBJECT-TYPE
    	SYNTAX		SEQUENCE OF Tr069IpLANDeviceXrefEntry
    	MAX-ACCESS	not-accessible
    	STATUS		current
    	DESCRIPTION
    		"Cross reference table for mapping IPInterfaces
    		to ethernet and WLAN related tables."
    ::= { tr069Persistent 11 }

	tr069IpLANDeviceXrefEntry	OBJECT-TYPE
    		SYNTAX		Tr069IpLANDeviceXrefEntry
    		MAX-ACCESS	not-accessible
    		STATUS		current
    		DESCRIPTION
    			"An entry containing a cross reference between
    			an IPInterface object and associated local table entries."
    		INDEX	{ tr069IpLANIpInterfaceIdx }
    	::= { tr069IpLANDeviceXrefTable 1 }

	Tr069IpLANDeviceXrefEntry ::=
		SEQUENCE {
			tr069IpLANDeviceIdx		INTEGER,
			tr069IpLANIpInterfaceIdx	INTEGER,
			tr069IpLANHostCfgIfIndex	INTEGER,
			tr069IpLANType			INTEGER,
			tr069IpLANAddress		IpAddress,
			tr069IpLANMask			IpAddress,
			tr069IpLANEnable		INTEGER,
			tr069IpLANXMLTreeState		INTEGER
		}

		tr069IpLANDeviceIdx	OBJECT-TYPE
			SYNTAX		INTEGER (0..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of the LANDevice associated with this entry
				 as presented to TR-069."
		::= { tr069IpLANDeviceXrefEntry 1 }

		tr069IpLANIpInterfaceIdx	OBJECT-TYPE
			SYNTAX		INTEGER (1..2147483647)
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Index of this IpInterface as presented to TR-069."
		::= { tr069IpLANDeviceXrefEntry 2 }

		tr069IpLANHostCfgIfIndex	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Identifier representing the interface that
				 carries the IP configuration associated with
				 this entry."
		::= { tr069IpLANDeviceXrefEntry 3 }

		tr069IpLANType		OBJECT-TYPE
			SYNTAX		INTEGER { dhcp(1), static(2), delete(3) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Addressing type of this interface."
			DEFVAL		{ dhcp }
		::= { tr069IpLANDeviceXrefEntry 4 }

		tr069IpLANAddress	OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"IP address associated with this entry. Has
				 no effect if Type == dhcp."
		::= { tr069IpLANDeviceXrefEntry 5 }

		tr069IpLANMask OBJECT-TYPE
			SYNTAX		IpAddress
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
			    "Netmask associated with this entry. Has
			     no effect if Type == dhcp."
		::= { tr069IpLANDeviceXrefEntry 6 }

		tr069IpLANEnable	OBJECT-TYPE
			SYNTAX		INTEGER { false(1), true(2) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Whether this entry is enabled."
			DEFVAL		{ false }
		::= { tr069IpLANDeviceXrefEntry 7 }

		tr069IpLANXMLTreeState	OBJECT-TYPE
			SYNTAX		INTEGER { setup(1), new(2), present(3), purge(4) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Whether this entry is present in the XML tree."
			DEFVAL		{ setup }
		::= { tr069IpLANDeviceXrefEntry 8 }



---------------------------------------------------------------------------
--  tr069InformEvents This table stores all events that need to be
--  communicated to the ACS within the next Inform
---------------------------------------------------------------------------
tr069InformEvent OBJECT IDENTIFIER ::= { tr069MIB 4 }

    tr069InformEventTable	OBJECT-TYPE
    	SYNTAX			SEQUENCE OF Tr069InformEventEntry
    	MAX-ACCESS		not-accessible
    	STATUS			current
    	DESCRIPTION
    		"Table of pending TR069 Inform events"
    ::= { tr069InformEvent 1 }

	tr069InformEventEntry	OBJECT-TYPE
    		SYNTAX		Tr069InformEventEntry
    		MAX-ACCESS	not-accessible
    		STATUS		current
    		DESCRIPTION
    		    "Table of pending TR069 Inform events"
    		INDEX	{ tr069EventCommandKey }
	::= { tr069InformEventTable 1 }

	Tr069InformEventEntry ::=
		SEQUENCE {
			tr069EventCode			INTEGER,
			tr069EventName			DisplayString,
			tr069EventTime			INTEGER,
			tr069EventCommandKey		DisplayString
		}

	    	tr069EventCode OBJECT-TYPE
			SYNTAX		INTEGER { bootstrap(1), boot(2), periodic(3), scheduled(4), valuechange(5), kicked(6), connectionrequest(7), transfercomplete(8), diagnosticscomplete(9), requestdownload(10), methodinduced(11), vendorspecific(12) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Type of the event."
			DEFVAL { bootstrap }
		::= { tr069InformEventEntry 1 }

		tr069EventName	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..32))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"This is transmitted as EventCode (see spec).
				Only necessary for EventTypes 9 & 10"
			DEFVAL { "" }
		::= { tr069InformEventEntry 2 }

		tr069EventTime OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Absolute time (time_t localtime) the event is scheduled to fire. 0 means ASAP"
			DEFVAL { 0 }
		::= { tr069InformEventEntry 3 }

		tr069EventCommandKey	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..32))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Opaque value proivded by the ACS"
			DEFVAL { "" }
		::= { tr069InformEventEntry 4 }

--------------------------------------------------------------------------
-- tr069FileTransfer: Table to store information about up-/download files
--------------------------------------------------------------------------
tr069FileTransfer OBJECT IDENTIFIER ::= { tr069MIB 5 }

	tr069FileTransferTable	OBJECT-TYPE
		SYNTAX		SEQUENCE OF Tr069FileTransferEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Table to store information about pending up-
			or downloads of firmwares/configurations."
	::= { tr069FileTransfer 1 }

	tr069FileTransferEntry	OBJECT-TYPE
		SYNTAX		Tr069FileTransferEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"An entry containing information about one
			pending up- or download."
		INDEX	{ tr069FileTransferType }
	::= { tr069FileTransferTable 1 }

	Tr069FileTransferEntry ::=
		SEQUENCE {
			tr069FileTransferType		INTEGER,
			tr069FileTransferDirection	INTEGER,
			tr069FileTransferURL		DisplayString,
			tr069FileTransferUsername	DisplayString,
			tr069FileTransferPassword	DisplayString,
			tr069FileTransferCommandKey	DisplayString,
			tr069FileTransferStartTime	INTEGER,
			tr069FileTransferCompleteTime	INTEGER,
			tr069FileTransferFaultCode	INTEGER

		}

		tr069FileTransferType	OBJECT-TYPE
			SYNTAX		INTEGER {firmware(1), configuration(2), log(3) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Type of file to up- or download."
			DEFVAL { firmware }
		::= { tr069FileTransferEntry 2 }

		tr069FileTransferDirection	OBJECT-TYPE
			SYNTAX		INTEGER {download(1), upload(2) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Direction of the file transfer."
			DEFVAL { download}
		::= { tr069FileTransferEntry 3 }

		tr069FileTransferURL	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..256))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"URL to contact for the up- / download."
		::= { tr069FileTransferEntry 4 }

		tr069FileTransferUsername	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..256))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Username to be used to authenticate with the file server."
		::= { tr069FileTransferEntry 5 }

		tr069FileTransferPassword	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..256))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Password to be used to authenticate with the file server."
		::= { tr069FileTransferEntry 6 }

		tr069FileTransferCommandKey	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..32))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Opaque parameter to be sent along
				with a TransferComplete RPC."
		::= { tr069FileTransferEntry 7 }

		tr069FileTransferStartTime	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Time the transfer starts."
		::= { tr069FileTransferEntry 8 }

		tr069FileTransferCompleteTime	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Time the transfer completed."
		::= { tr069FileTransferEntry 9 }

		tr069FileTransferFaultCode	OBJECT-TYPE
			SYNTAX		INTEGER
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Fault code related to this file transfer."
		::= { tr069FileTransferEntry 10 }


------------------------------------------------------------------------
-- tr069NotifACLTable: Table to store the state of ACS set notifications
-- and AccessLists
------------------------------------------------------------------------
tr069NotifACL OBJECT IDENTIFIER ::= { tr069MIB 6 }

	tr069NotifACLTable	OBJECT-TYPE
		SYNTAX		SEQUENCE OF Tr069NotifACLEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"Table to store the state of all notifica-
			tions and acesslists that have been set"
	::= { tr069NotifACL 1 }

	tr069NotifACLEntry	OBJECT-TYPE
		SYNTAX		Tr069NotifACLEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
			"An entry containing information about one
			objects state regarding notifications/acls"
		INDEX	{ tr069ObjectName }
	::= { tr069NotifACLTable 1 }

	Tr069NotifACLEntry ::=
		SEQUENCE {
			tr069ObjectName			DisplayString,
			tr069Notification		INTEGER,
			tr069AccessList			INTEGER
		}

		tr069ObjectName	OBJECT-TYPE
			SYNTAX		DisplayString (SIZE (0..256))
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Name of the Object"
		::= { tr069NotifACLEntry 2 }

		tr069Notification	OBJECT-TYPE
			SYNTAX		INTEGER { none(1), passive(2), active(3) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Type of notification"
			DEFVAL { none }
		::= { tr069NotifACLEntry 3 }

		tr069AccessList	OBJECT-TYPE
			SYNTAX		INTEGER { subscriber(1), acsonly(2) }
			MAX-ACCESS	read-write
			STATUS		current
			DESCRIPTION
				"Access List"
			DEFVAL { subscriber }
		::= { tr069NotifACLEntry 4 }



------------------------------------------------------------------------
-- tr069RouteTable: Extended Routing table.
-- this is necessary because BOSS routes have no enable flag.
------------------------------------------------------------------------
tr069Route	OBJECT IDENTIFIER ::= { tr069MIB 7 }

	tr069RouteTable	OBJECT-TYPE
		SYNTAX		SEQUENCE OF Tr069RouteEntry
		MAX-ACCESS	not-accessible
		STATUS		current
		DESCRIPTION
		"Table to store routes for TR-069"
	::= { tr069Route 1 }

        tr069RouteEntry OBJECT-TYPE
            SYNTAX  Tr069RouteEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "A route to a particular destination."
              INDEX   { tr069RouteIdx }
       ::= { tr069RouteTable 1 }

	Tr069RouteEntry ::=
	    SEQUENCE {
		tr069RouteProtocol			INTEGER,
		tr069RouteSrcIfIndex			INTEGER,
		tr069RouteSrcAddr			IpAddress,
		tr069RouteSrcMask			IpAddress,
		tr069RouteSrcPort			INTEGER,
		tr069RouteSrcPortRange			INTEGER,
		tr069RouteDstAddr			IpAddress,
		tr069RouteDstMask			IpAddress,
		tr069RouteDstPort			INTEGER,
		tr069RouteDstPortRange			INTEGER,
		tr069RouteTos				INTEGER,
		tr069RouteTosMask			INTEGER,
		tr069RouteDstIfMode			INTEGER,
		tr069RouteDstIfIndex			INTEGER,
		tr069RouteNextHop			IpAddress,
		tr069RouteType				INTEGER,
		tr069RouteMetric1			INTEGER,
		tr069RouteMetric2			INTEGER,
		tr069RouteMetric3			INTEGER,
		tr069RouteMetric4			INTEGER,
		tr069RouteMetric5			INTEGER,
		tr069RouteProto				INTEGER,
		tr069RouteAge				TimeTicks,
		tr069RouteIdx				INTEGER,
		tr069RouteState				INTEGER,
		tr069RouteOrigin			INTEGER,
		tr069RouteOrigRow			INTEGER
	    }

	tr069RouteProtocol OBJECT-TYPE
	    SYNTAX  INTEGER {
		icmp(1),
		ggp(3),
		tcp(6),
		egp(8),
		pup(12),
		udp(17),
		hmp(20),
		xns-idp(22),
		rdp(27),
		rsvp(46),
		ipv6(41),
		gre(47),
		esp(50),
		ah(51),
		igrp(88),
		ospf(89),
		l2tp(115),
		dont-verify(256)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object specifies the value of the protocol field in
		 the ip header for all IP-datagrams belonging to the set.
		 If this object is set to dont-verify, the value of the
		 protocol field is not specified and can take any value."
	    DEFVAL { dont-verify }
	::= { tr069RouteEntry 1 }

	tr069RouteSrcIfIndex OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object specifies the source index of the IP-datagrams.
		 If this object has a value other than 0, only datagrams
		 received  over the interface with the appropriate interface
		 index are considered to be part of the set. If this object
		 is set to 0, the source interface index for the datagrams
		 belonging to the set is not specified."
	::= { tr069RouteEntry 2 }

	tr069RouteSrcAddr OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteSrcMask the
		 range of the source-addresses of the IP-datagrams belonging
		 to the set. If both objects are set to 0.0.0.0 the source-
		 addresses for the datagrams in the set is not specified
		 and can take any value."
	::= { tr069RouteEntry 3 }

	tr069RouteSrcMask OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteSrcAddr the
		 range of the source-addresses of the IP-datagrams belonging
		 to the set. If both objects are set to 0.0.0.0 the source-
		 addresses for the datagrams in the set is not specified
		 and can take any value."
	::= { tr069RouteEntry 4 }

	tr069RouteSrcPort OBJECT-TYPE
	    SYNTAX  INTEGER (-1..65535)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteSrcPortRange the
		 range of source portnumbers of the IP-datagrams belonging to
		 the set. All portnumbers between and including the two
		 objects are within the range.

		 If both objects are the to -1, the value of the source
		 portnumber is not specified and can take any value."
	    DEFVAL { -1 }
	::= { tr069RouteEntry 5 }

	tr069RouteSrcPortRange OBJECT-TYPE
	    SYNTAX  INTEGER (-1..65535)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteSrcPort the
		 range of source portnumbers of the IP-datagrams belonging to
		 the set. All portnumbers between and including the two
		 objects are within the range.

		 If both objects are the to -1, the value of the source
		 portnumber is not specified and can take any value."
	    DEFVAL { -1 }
	::= { tr069RouteEntry 6 }

	tr069RouteDstAddr OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteDstMask the
		 range of the target-addresses of the IP-datagrams belonging
		 to the set. If both objects are set to 0.0.0.0 the target-
		 addresses for the datagrams in the set is not specified
		 and can take any value."
	::= { tr069RouteEntry 7 }

	tr069RouteDstMask OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteDstAddr the
		 range of the target-addresses of the IP-datagrams belonging
		 to the set. If both objects are set to 0.0.0.0 the target-
		 addresses for the datagrams in the set is not specified
		 and can take any value."
	::= { tr069RouteEntry 8 }

	tr069RouteDstPort OBJECT-TYPE
	    SYNTAX  INTEGER (-1..65535)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteDstPortRange the
		 range of target-portnumbers of the IP-datagrams belonging to
		 the set. All portnumbers between and including the two
		 objects are within the range.

		 If both objects are the to -1, the value of the target
		 portnumber is not specified and can take any value."
	    DEFVAL { -1 }
	::= { tr069RouteEntry 9 }

	tr069RouteDstPortRange OBJECT-TYPE
	    SYNTAX  INTEGER (-1..65535)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteDstPort the
		 range of target-portnumbers of the IP-datagrams belonging to
		 the set. All portnumbers between and including the two
		 objects are within the range.

		 If both objects are the to -1, the value of the target
		 portnumber is not specified and can take any value."
	    DEFVAL { -1 }
	::= { tr069RouteEntry 10 }

	tr069RouteTos OBJECT-TYPE
	    SYNTAX  INTEGER (0..255)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteTosMask the
		 range of the Type of Service field (TOS) in the IP-header
		 of the IP-datagrams belonging to the set. A TOS value is
		 considered within the range, when the following equation
		 is valid:

		 (tos & tr069RouteTosMask) == (tr069RouteTos & tr069RouteTosMask)

		 If both objects are set to 0 the TOS value of the datagrams
		 in the set is not specified and can take any value."
	::= { tr069RouteEntry 11 }

	tr069RouteTosMask OBJECT-TYPE
	    SYNTAX  INTEGER (0..255)
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes together with tr069RouteTos the
		 range of the Type of Service field (TOS) in the IP-header
		 of the IP-datagrams belonging to the set. A TOS value is
		 considered within the range, when the following equation
		 is valid:

		 (tos & tr069RouteTosMask) == (tr069RouteTos & tr069RouteTosMask)

		 If both objects are set to 0 the TOS value of the datagrams
		 in the set is not specified and can take any value."
	::= { tr069RouteEntry 12 }

	tr069RouteDstIfMode OBJECT-TYPE
	    SYNTAX  INTEGER {
		dialup-wait(1),
		dialup-continue(2),
		up-only(3),
		always(4) ,
		dialup-always(5)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes different behavior depending on the
		 ifOperStatus of the destination interface:

		 dialup-wait:
			The route matches, when the ifOperStatus of the
			destination interface is either up or dormant.
			If the status is dormant, the ifAdminStatus is
			set to dialup to bring the interface to the up
			state. The datagram will wait until the ifOperStatus
			reaches the up state.

			For all other states, the routing tables will be
			searched for a different matching entry.

		 dialup-continue:
			The route matches, if the ifOperStatus of the
			destination interface is up. For all other states,
			the routing tables are searched for different matching
			entry. However, if the ifOperStatus was dormant and
			no other extendend route (with different DstIfMode or
			established link) is matching, the ifAdminStatus will
			be set to dialup to bring the interface to the up state.

			This setting can be used to establish a better
			path for a specific service and to use an existing
			path for that service as long as the better path
			could not be established.

		up-only:
			The route matches, if the ifOperStatus of the
			destination interface is up. For all other states,
			the routing tables are searched for different matching
			entry.

		always:
			The route matches independantly of the ifOperStatus
			of the destination interface. If it is up, the
			interface is used. If the state is dormant,
			ifAdminStatus is set to dialup to bring the interface
			in the up state. For all other states, the destination
			is considered unreachable.

		dialup-always:
			Same as dialup-wait(1), however, if the ifOperStatus
			was dormant, the ifAdminStatus will be set to dialup
			to bring the interface to the up state if the value
			of tr069RouteMetric1 is the lowest of all matching routes
			in this table.
		 "
	    DEFVAL { dialup-wait }
	::= { tr069RouteEntry 13 }

	tr069RouteDstIfIndex OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object specifies the destination interface for the
		 IP-datagrams belonging to the set. If the value of this
		 object is set to 0, the datagrams of the set are discarded
		 and an ICMP destination unreachable datagram is sent
		 back to the originator."
	::= { tr069RouteEntry 14 }

	tr069RouteNextHop OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object is used on point-to-multipoint interfaces
		 with indirect routes (see ipExrRtType) to specify
		 the IP-address of the gateway on the network, where
		 the datagram should be routed to."
	::= { tr069RouteEntry 15 }

	tr069RouteType OBJECT-TYPE
	    SYNTAX  INTEGER {
		other(1), invalid(2),
		direct(3), indirect(4)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object specifies, on point-to-multipoint interface
		 whether the datagram shall be sent to the destination
		 IP address in the IP datagram header (direct) or
		 to a gateway (indirect). In the later case, the IP-addres
		 of the gateway is specified by tr069RouteNextHop.

		 If this object is set to other, the entry is not
		 used for routing.

		 The complete entry can also be deleted, by setting this
		 object to invalid.
		"
	    DEFVAL { indirect }
	::= { tr069RouteEntry 16 }

	tr069RouteMetric1 OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object is used to specify an order on the entries
		 in the tr069RouteTable. If a datagram is matching multiple
		 entries, the entry with the lowest value of tr069RouteMetric1
		 is choosen. The decision is undefined, when even after
		 interpreting the metric, there are still multiple entries
		 matching the IP-datagram."
	::= { tr069RouteEntry 17 }

	tr069RouteMetric2 OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"Undefined yet; for further extension"
	::= { tr069RouteEntry 18 }

	tr069RouteMetric3 OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"Undefined yet; for further extension"
	::= { tr069RouteEntry 19 }

	tr069RouteMetric4 OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"Undefined yet; for further extension"
	::= { tr069RouteEntry 20 }

	tr069RouteMetric5 OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"Undefined yet; for further extension"
	::= { tr069RouteEntry 21 }

	tr069RouteProto OBJECT-TYPE
	    SYNTAX  INTEGER {
		other(1),
		local(2),
		netmgmt(3),
		icmp(4),
		egp(5),
		ggp(6),
		hello(7),
		rip(8),
		is-is(9),
		es-is(10),
		ciscoIgrp(11),
		bbnSpfIgp(12),
		ospf(13),
		bgp(14)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object describes, how the route has been gained.
		 This will normaly be netmgmt, because there is currently
		 no routing protocol, that is able to handle extended routes."
	    DEFVAL { netmgmt }
	::= { tr069RouteEntry 22 }

	tr069RouteAge OBJECT-TYPE
	    SYNTAX  TimeTicks
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This object specifies the age of the route."
	::= { tr069RouteEntry 23 }

	tr069RouteIdx OBJECT-TYPE
	    SYNTAX  INTEGER (1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS  current

	    DESCRIPTION
		"This is the TR-069 index of the route."
	::= { tr069RouteEntry 24 }

	tr069RouteState OBJECT-TYPE
	    SYNTAX  INTEGER {
		disabled(1), enabled(2)
	    }
	    MAX-ACCESS  read-write
	    STATUS  current

	    DESCRIPTION
		"This is the TR-069 enabled state of the route."
	    DEFVAL { disabled }
	::= { tr069RouteEntry 25 }

	tr069RouteOrigin OBJECT-TYPE
	    SYNTAX  INTEGER {
		ipRouteTable(1), ipExtRtTable(2), aCScreated(3)
	    }
	    MAX-ACCESS  read-only
	    STATUS  current

	    DESCRIPTION
		"This is the table the route was imported from."
	    DEFVAL { ipRouteTable }
	::= { tr069RouteEntry 26 }

	tr069RouteOrigRow OBJECT-TYPE
	    SYNTAX  INTEGER (1..2147483647)
	    MAX-ACCESS  read-only
	    STATUS  current

	    DESCRIPTION
		"This is the row no. of the original entry."
	::= { tr069RouteEntry 27 }


END
