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


-- (C)opyright 2000-2014 bintec elmeg GmbH, All Rights Reserved

BIANCA-BRICK-IP-PUBLISH-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            IpAddress, Counter, enterprises
                FROM RFC1155-SMI

            DisplayString
                FROM RFC1158-MIB

            Date
                FROM BINTEC-MIB
 
            OBJECT-TYPE
                FROM RFC-1212;

    bintec 	OBJECT IDENTIFIER ::= { enterprises 272 }
    bibo	OBJECT IDENTIFIER ::= { bintec 4 }
    biboip	OBJECT IDENTIFIER
	::= { bibo 5 }

	ipPublishTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF IpPublishEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"This table contains all data for managing dynamic DNS accounts
		 hosted by the providers defined in the ipDynDnsProviderTable."
	::= { biboip 24 }

	ipPublishEntry OBJECT-TYPE
	    SYNTAX  IpPublishEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"This entry contains all data for managing one dynamic DNS
		 account hosted by a provider which is defined in one
		 entry of the ipDynDnsProviderTable."
	    INDEX   { ipPublishInterface, ipPublishService }
	::= { ipPublishTable 1 }

	IpPublishEntry ::=
	    SEQUENCE {
		ipPublishPerm				INTEGER,
		ipPublishService			INTEGER,
		ipPublishStatus				INTEGER,
		ipPublishInterface			INTEGER,

		ipPublishUser				DisplayString,
		ipPublishPassword			DisplayString,
   -- just for info
		ipPublishIPAddress			IpAddress,
		ipPublishLastUpdate			Date,
		ipPublishRetries			INTEGER,
   -- DynDns Specifics
		ipPublishDynProvider			INTEGER,
		ipPublishDynHostName			DisplayString,
		ipPublishDynWild			INTEGER,
		ipPublishDynMX				DisplayString,
		ipPublishDynCheckDNS			DisplayString,
		ipPublishDescription			DisplayString
	    }

	ipPublishPerm OBJECT-TYPE
	    SYNTAX  INTEGER { 
		enabled(1), 
		disabled(2),
		delete(3)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"Controls the use of this dynamic DNS entry."
	    DEFVAL { disabled }
	::= { ipPublishEntry 1 }

	ipPublishService OBJECT-TYPE
	    SYNTAX  INTEGER { 
		ldap(1), 
		dyndns(2)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"Uses LDAP or dynamic DNS protocol for IP Publishing."
	    DEFVAL { dyndns }
	::= { ipPublishEntry 2 }

	ipPublishStatus OBJECT-TYPE
	    SYNTAX  INTEGER {
		failed(1),
		update(2),
		updating(3),
		checking(4),
		up-to-date(5)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"The actual status of the publishing procedure."
	    DEFVAL { failed }
	::= { ipPublishEntry 3 }

	ipPublishInterface OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The interface corresponding to this entry."
	::= { ipPublishEntry 4 }


	ipPublishUser OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The user identification for dynamic DNS ip address updates."
	::= { ipPublishEntry 5 }

	ipPublishPassword OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The password for the dynamic DNS service authentication."
	::= { ipPublishEntry 6 }

	ipPublishIPAddress OBJECT-TYPE
	    SYNTAX  IpAddress
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The ip address which has been published last time."
	::= { ipPublishEntry 7 }

	ipPublishLastUpdate OBJECT-TYPE
	    SYNTAX  Date
	    ACCESS  read-only
	    STATUS  mandatory
	    DESCRIPTION
		"The timestamp of the last ip address update."
	::= { ipPublishEntry 8 }

	ipPublishRetries OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The # of retries if the update of the actual ip address fails."
	    DEFVAL { 5 }
	::= { ipPublishEntry 9 }

   -- DynDns Specifics

	ipPublishDynProvider OBJECT-TYPE
	    SYNTAX  INTEGER (0..10000)
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The index of the dynamic DNS provider in the
		 ipDynDnsProviderTable."
	    DEFVAL { 0 }
	::= { ipPublishEntry 20 }

	ipPublishDynHostName OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"The hostname of the dynamic DNS service provider
		 for ip address updates."
	::= { ipPublishEntry 21 }

	ipPublishDynWild OBJECT-TYPE
	    SYNTAX  INTEGER {
		on(2),
		off(1)
	    }
	    ACCESS  read-write
	    STATUS  mandatory	    
	    DESCRIPTION
		"Enable or disable the use of Wildcards (provider specific)."
	    DEFVAL { off }
	::= { ipPublishEntry 23 }

	ipPublishDynMX OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory	    
	    DESCRIPTION
		"The mx info (provider specific)."
	::= { ipPublishEntry 24 }

	ipPublishDynCheckDNS OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory	    
	    DESCRIPTION
		"The official DNS server of the provider to use for
		 verification of the updated ip address (currently unused)."
	::= { ipPublishEntry 25 }

	ipPublishDescription OBJECT-TYPE
	    SYNTAX  DisplayString (SIZE (0..255))
	    ACCESS  read-write
	    STATUS  mandatory
	    DESCRIPTION
		"A textual string describing this dynDNS client entry."
	::= { ipPublishEntry 26 }

--  *********************************************************************
--	Start Of Provider Table
--
--  *********************************************************************

	ipDynDnsProviderTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF IpDynDnsProviderEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		" "
	::= { biboip 26 }

	ipDynDnsProviderEntry OBJECT-TYPE
	    SYNTAX  IpDynDnsProviderEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		""
	    INDEX   { ipDdnsName }
	::= { ipDynDnsProviderTable 1 }

	IpDynDnsProviderEntry ::=
	    SEQUENCE {
		ipDdnsIndex				INTEGER,
		ipDdnsName				DisplayString,
		ipDdnsServer				DisplayString,
		ipDdnsPath				DisplayString,
		ipDdnsPort				INTEGER,
		ipDdnsProtocol				INTEGER,
		ipDdnsMinWait				INTEGER
	    }

	ipDdnsIndex OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-only
	    STATUS  mandatory

	    DESCRIPTION
		"index of provider entry"
	    DEFVAL { -1 }
	::= { ipDynDnsProviderEntry 1 }

	ipDdnsName OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"name of dyn-dns provider"
	::= { ipDynDnsProviderEntry 2 }

	ipDdnsServer OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"server for publishing"
	    DEFVAL { "localhost" }
	::= { ipDynDnsProviderEntry 3 }

	ipDdnsPath OBJECT-TYPE
	    SYNTAX  DisplayString
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"path for publishing"
	    DEFVAL { "/" }
	::= { ipDynDnsProviderEntry 4 }

	ipDdnsPort OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"port used for publishing"
	    DEFVAL { 80 }
	::= { ipDynDnsProviderEntry 5 }

	ipDdnsProtocol OBJECT-TYPE
	    SYNTAX  INTEGER {
		dyndns(1),
		stat-dyndns(2),
		ods(3),
		hn(4),
		dyns(5),
		gnudip-html(6),
		gnudip-tcp(7),
		cust-dyndns(8),
		dnsexit(9),
		delete(100)
	    }
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"publishing protocol used by provider"
	    DEFVAL { dyndns }
	::= { ipDynDnsProviderEntry 6 }

	ipDdnsMinWait OBJECT-TYPE
	    SYNTAX  INTEGER
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"minimal time to wait between ip updates"
	    DEFVAL { 300 }
	::= { ipDynDnsProviderEntry 7 }


END
