-- This file is corresponding to Release 6.1.2.100 from 2001/09/26 00:00:00
-- (C)opyright 1991-1999 BinTec Communications AG, All Rights Reserved
--  $RCSfile: mibmodem,v $ 
-- $Revision: 1.14 $ 
 
BIANCA-BRICK-MIBMODEM-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
		DisplayString FROM SNMPv2-TC
            Counter
                FROM RFC1155-SMI
 
            OBJECT-TYPE
                FROM RFC-1212;

    org         OBJECT IDENTIFIER ::= { iso 3 }
    dod         OBJECT IDENTIFIER ::= { org 6 }
    internet    OBJECT IDENTIFIER ::= { dod 1 }
    private     OBJECT IDENTIFIER ::= { internet 4 }
    enterprises OBJECT IDENTIFIER ::= { private 1 }
    bintec      OBJECT IDENTIFIER ::= { enterprises 272 }
    bibo        OBJECT IDENTIFIER ::= { bintec 4 }
    mdm         OBJECT IDENTIFIER
        ::= { bibo 18 }

	mdmProfileTable OBJECT-TYPE
	    SYNTAX  SEQUENCE OF MdmProfileEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		"This Table contains entries for the modem profiles. For
		 PPP connections, modem profiles are assigned to incoming
		 connections via the isdnDispatchtable. For outgoing
		 connections, the profile is assigned by the biboPppTable.
		 Profile 1 is used as default profile for ppp and is the
		 only profile available for isdnlogin connections."
	::= { mdm 1 }

	mdmProfileEntry OBJECT-TYPE
	    SYNTAX  MdmProfileEntry
	    ACCESS  not-accessible
	    STATUS  mandatory
	    DESCRIPTION
		""
	    INDEX { mdmProfileName }
	::= { mdmProfileTable 1 }

	MdmProfileEntry ::=
	    SEQUENCE {
		mdmProfileName				INTEGER,
		mdmProfileDescr				DisplayString,
		mdmProfileModulation			INTEGER,
		mdmProfileMinBps			INTEGER,
		mdmProfileMaxRecvBps			INTEGER,
		mdmProfileMaxXmitBps			INTEGER,
		mdmProfileAutoMode			INTEGER,
		mdmProfileComprV42bis			INTEGER,
		mdmProfileComprMNP5			INTEGER,
		mdmProfileErrorCorr			INTEGER,
		mdmProfileXmitLevel			INTEGER,
		mdmProfileCDWaitTime			INTEGER,
		mdmProfileCDRespTime			INTEGER,
		mdmProfileCDDiscTime			INTEGER,
		mdmProfileRetrain			INTEGER,
		mdmProfileIdleTimerMode			INTEGER,
		mdmProfileIdleTimerFixedDelay		INTEGER,
		mdmProfileIdleTimerCharDelay		INTEGER
	    }

	mdmProfileName OBJECT-TYPE
	    SYNTAX  INTEGER {
		profile-1(1), profile-2(2), profile-3(3), profile-4(4),
		profile-5(5), profile-6(6), profile-7(7), profile-8(8)
	    } 
	    ACCESS  read-only
	    STATUS  mandatory

	    DESCRIPTION
		"The name of the profile. Eight profiles are available."
	::= { mdmProfileEntry 1 }

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

	    DESCRIPTION
		"Profile Description. Info only."
	::= { mdmProfileEntry 2 }

-- ------------------------------------ watch out for mdmModulation
	mdmProfileModulation OBJECT-TYPE
	    SYNTAX  INTEGER {
		bell103(1), bell212(2),
		v21(3), v22(4), v22bis(5), v23(6), v32(7), v32bis(8),
		v34(9), k56flex(10), vfc(11), v90(12)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the preferred modulation (automode on)
		 or the modulation (automode disabled) to be used in originating
		 or answering a connection.
		 bell103  (1) : 300
		 bell212  (2) : 1200
		 v21      (3) : 300
		 v22      (4) : 1200
		 v22bis   (5) : 2400 or 1200
		 v23      (6) : 75/1200 or 1200/75
 		 v32      (7) :  9600,  4800
		 v32bis   (8) : 14000, 12000,  9600,  7200, 4800
		 v34      (9) : 33600, 31200, 28800, 26400, 24000, 21600, 19200, 
		                16800, 14400, 12000,  9600,  7200,  4800,  2400
		 k56flex (10) : 56000, 54000, 52000, 50000, 48000, 46000,
		                44000, 42000, 40000, 38000, 36000, 34000, 32000
                 vfc     (11) : 28800, 26400, 24000, 21600, 19200, 16800, 14400,
		                12000,  9600
                 v90     (12) : 56000, 54667, 53333, 52000, 50667, 49333, 48000, 46667,
		                45333, 42667, 41333, 40000, 38667, 37333, 36000, 34667,
				33333, 32000, 30667, 29333, 28000
		 " 
	::= { mdmProfileEntry 3 }

	mdmProfileMinBps OBJECT-TYPE
	    SYNTAX  INTEGER {
		b300(300), b1200(1200), b2400(2400), b4800(4800),
		b7200(7200), b9600(9600), b12000(12000), b14400(14400),
		b16800(16800), b19200(19200), b21600(21600),
		b24000(24000), b26400(26400), b28800(28800),
		b31200(31200), b33600(33600),
		b32000(32000), b34000(34000), b36000(36000), b38000(38000),
		b40000(40000), b42000(42000), b44000(44000), b46000(46000),
		b48000(48000), b50000(50000), b52000(52000), b54000(54000),
		b56000(56000), b75(75)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specified the lowest rate, at which the modem may
		 establish a connection."
	::= { mdmProfileEntry 4 }

	mdmProfileMaxRecvBps OBJECT-TYPE
	    SYNTAX  INTEGER {
		b300(300), b1200(1200), b2400(2400), b4800(4800),
		b7200(7200), b9600(9600), b12000(12000), b14400(14400),
		b16800(16800), b19200(19200), b21600(21600),
		b24000(24000), b26400(26400), b28800(28800),
		b31200(31200), b33600(33600),
		b32000(32000), b34000(34000), b36000(36000), b38000(38000),
		b40000(40000), b42000(42000), b44000(44000), b46000(46000),
		b48000(48000), b50000(50000), b52000(52000), b54000(54000),
		b56000(56000)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the highest receive rate, at which the
		 modem may establsh a connection."
	::= { mdmProfileEntry 5 }

	mdmProfileMaxXmitBps OBJECT-TYPE
	    SYNTAX  INTEGER {
		b300(300), b1200(1200), b2400(2400), b4800(4800),
		b7200(7200), b9600(9600), b12000(12000), b14400(14400),
		b16800(16800), b19200(19200), b21600(21600),
		b24000(24000), b26400(26400), b28800(28800),
		b31200(31200), b33600(33600),
		b32000(32000), b34000(34000), b36000(36000), b38000(38000),
		b40000(40000), b42000(42000), b44000(44000), b46000(46000),
		b48000(48000), b50000(50000), b52000(52000), b54000(54000),
		b56000(56000)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the highest transmit rate, at which the
		 modem may establsh a connection."
	::= { mdmProfileEntry 6 }

	mdmProfileAutoMode OBJECT-TYPE
	    SYNTAX  INTEGER { off(1), on(2) } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"When this object is set to on, the modem will automatically
		 negotiate the best rates beginning with the selected
		 Modulation and MaxBps values. Otherwise, it will use only
		 the selected modulation in the range between MinBps and
		 MaxBps."
	::= { mdmProfileEntry 7 }

	mdmProfileComprV42bis OBJECT-TYPE
	    SYNTAX  INTEGER { off(1), auto(2) } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies, whether V.42bis compression
		 shall be used for modem connections. When set to off,
		 V.42bis compression will never be used. When set to auto,
		 compression may be negotiated with the partner modem."
	::= { mdmProfileEntry 8 }

	mdmProfileComprMNP5 OBJECT-TYPE
	    SYNTAX  INTEGER { off(1), auto(2) } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies, whether MNP Class 5 compression
		 shall be used for modem connections. When set to off,
		 MNP Class 5 compression will never be used. When set to auto,
		 compression may be negotiated with the partner modem."
	::= { mdmProfileEntry 9 }

	mdmProfileErrorCorr OBJECT-TYPE
	    SYNTAX  INTEGER {
		none(1), required(2), auto(3), lapm(4), mnp(5)
	    } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the kind of error correction being
		 used for a connection:
			none		no error correction will be used.

			required	either LAPM or MNP will be used.
					If the partner is not able to
					do error correction, the connection
					cannot be established.

			auto		negotiation takes place to
					use either LAPM, MNP or no
					error correction.

			lapm		Enforce LAPM error correction.
					If the partner is not able to
					do LAPM, the connection
					cannot be established.

			mnp		use MNP error connection
					If the partner is not able to
					do MNP, the connection
					cannot be established.
		"
	::= { mdmProfileEntry 10 }

	mdmProfileXmitLevel OBJECT-TYPE
	    SYNTAX  INTEGER ( -15..0 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the transmit attenuation in dB."
	::= { mdmProfileEntry 11 }

	mdmProfileCDWaitTime OBJECT-TYPE
	    SYNTAX  INTEGER ( 1000..255000 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the amount of time in milliseconds,
		 the modem will wait for the appearance of the carrier. If
		 the carrier will not appear in this time period, the
		 connection will be disconnected."
	::= { mdmProfileEntry 12 }

	mdmProfileCDRespTime OBJECT-TYPE
	    SYNTAX  INTEGER ( 100..25500 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the period of time in milliseconds,
		 a carrier has to be present, before it will be recognized
		 as a carrier."
	::= { mdmProfileEntry 13 }

	mdmProfileCDDiscTime OBJECT-TYPE
	    SYNTAX  INTEGER ( 100..25500 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
		"This object specifies the amount of time, the carrier has to
		 drop, before the modem will assume the carrier to be lost."
	::= { mdmProfileEntry 14 }

	mdmProfileRetrain OBJECT-TYPE
	    SYNTAX  INTEGER { off(1), retrain(2), fallbf(3) } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
 	    "The modem will :
	    off     (1) : disable line quality monitor and auto-retrain.
	    retrain (2) : enable line quality monitor and auto-retrain.
	    fallbf  (3) : enable line quality monitor and fallback/fall forward."
	::= { mdmProfileEntry 15 }

	mdmProfileIdleTimerMode OBJECT-TYPE
	    SYNTAX  INTEGER { static(1), dynamic(2) } 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
 	    "The idle timer is used to specify the duration of an interval between
	    successive characters received from the modem which, when exceeded,
	    will cause the modem driver to terminate the assembly of a data packet
	    and to forward it to the higher-layer protocols (this is in analogy to
	    the ITU X.3 parameter #4). This object specifies the mode how the idle
	    timer is set:
	      static  (1): the idle time is taken from the object
	                   mdmProfileIdleTimerFixedDelay (default)
	      dynamic (2): the idle time is set to the duration that a number of
	                   mdmProfileIdleTimerCharDelay characters (octets) would
	                   take for transmission corresponding to the actually
	                   used receive bit-rate of the modem. If the bit-rate can
	                   not be found out, the static mode is used instead."
	::= { mdmProfileEntry 16 }

	mdmProfileIdleTimerFixedDelay OBJECT-TYPE
	    SYNTAX  INTEGER ( 1..10000 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
 	    "This object specifies the duration of the idle timer in milliseconds
	    (see the object mdmProfileIdleTimerMode for further description).
            Default: 5"
	::= { mdmProfileEntry 17 }

	mdmProfileIdleTimerCharDelay OBJECT-TYPE
	    SYNTAX  INTEGER ( 1..1024 ) 
	    ACCESS  read-write
	    STATUS  mandatory

	    DESCRIPTION
 	    "This object specifies the number of characters (octets) which is used
	    to calculate the idle timer corresponding to the actually used receive
            bit-rate of the modem (see the object mdmProfileIdleTimerMode for further
	    description). Default: 3"
	::= { mdmProfileEntry 18 }


-- **************************************************************************

	mdmTable OBJECT-TYPE
	    SYNTAX SEQUENCE OF MdmEntry
	    ACCESS not-accessible
	    STATUS mandatory
	    DESCRIPTION
	    "The mdmTable contains information for each modem. The entries
	    contain various statistical data for modem connections. Only the
	    system can add entries to this table. The user is able to reboot,
	    enable or disable a modem. The system updates infos about the
	    current connection."

	    ::= { mdm 2 }

	mdmEntry OBJECT-TYPE
	    SYNTAX MdmEntry
	    ACCESS not-accessible
	    STATUS mandatory
	    DESCRIPTION
	    ""

	    INDEX { mdmIndex }
	    ::= { mdmTable 1 }

	MdmEntry ::= 
	    SEQUENCE {
		mdmIndex		INTEGER,
		mdmAction		INTEGER,
		mdmType			INTEGER,

		mdmState		INTEGER,
		mdmMode			INTEGER,
		mdmModulation		INTEGER,

		mdmErrorCorr		INTEGER,
		mdmCompression		INTEGER,
		mdmXmitSpeed		INTEGER,

		mdmRcvSpeed		INTEGER,
		mdmIfIndex		INTEGER,
		mdmIfBchannel		INTEGER
		
	    }

-- ------------------------------------
	mdmIndex OBJECT-TYPE
	    SYNTAX INTEGER 
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Index of this modem (Slot/Cpu/Modem)"
	    ::= { mdmEntry 1 }

	mdmAction OBJECT-TYPE
	    SYNTAX INTEGER { reboot(1), disabled(2), enabled(3) }
	    ACCESS read-write
	    STATUS mandatory
	    DESCRIPTION
		"Writing to this variable
		   reboot   (1) : initiates a reboot.
		   disabled (2) : remove modem resource from allocation pool.
		   enabled  (3) : put modem to allocation resource pool.
		"
	    ::= { mdmEntry 2 }

	mdmType OBJECT-TYPE
	    SYNTAX INTEGER {
		csm56K(1), csm336(2), mdm144(3), mdm336(4), telindus(5)
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Type of this modem
		    csm56K   (1) : CentralSiteModem K56Flex
		    csm336   (2) : CentralSiteModem 33600
		    mdm144   (3) : ClientSiteModem 14400
		    mdm336   (4) : ClientSiteModem 33600
		    telindus (5) : ADSP with Telindus firmware
		"
	    ::= { mdmEntry 3 }

-- ------------------------------------
	mdmState OBJECT-TYPE
	    SYNTAX INTEGER {
		booting(1), idle(2), calling(3), called(4), connected(5), 
		hangup(6), stopped(7)
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Current status of the modem.
		   booting   (1) : init phase
		   idle      (2) : this modem resource is available
		   calling   (3) : outgoing call initiated
		   called    (4) : incoming call initiated
		   connected (5) : data transfer phase established
		   hangup    (6) : going to terminate a connection
		   stopped   (7) : out of order, modem ist not useable
		"
	    ::= { mdmEntry 4 }

	mdmMode OBJECT-TYPE
	    SYNTAX INTEGER { 
	    	modem(1), ppp(2), fax(3), dtmf(4), none(7)
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Type of mode
	    	   modem (1) : modem native
		   ppp   (2) : modem native + async hdlc
		   fax   (3) : fax mode
		   dtmf  (4) : receive and signal DTMF touchtones
		   none  (7) : modem curently not used
		"
	    ::= { mdmEntry 5 }

	mdmModulation OBJECT-TYPE
                                     	-- watch out for mdmProfileModulation
	    SYNTAX INTEGER {
		bell103(1), bell212(2),
		v21(3), v22(4), v22bis(5), v23(6), v32(7), v32bis(8),
		v34(9), k56flex(10), vfc(11), v90(12), unknown(31)
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Negotiated modulation. same as mdmProfileModulation."
	    ::= { mdmEntry 6 }

-- ------------------------------------
	mdmErrorCorr OBJECT-TYPE
	    SYNTAX INTEGER {
		none(1), alt(2), lapm(3)	
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Negotiated error correction protocol.
		   none (1) : no error correction 
		   alt  (2) : MNP error correction established 
		   lapm (3) : LAPM error correction established
		"	
	    ::= { mdmEntry 7 }

	mdmCompression OBJECT-TYPE
	    SYNTAX INTEGER {
		none(1), class5(2), v42bis(3)
	    }
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Negotiated compression correction protocol.
		   none   (1) : no compression
		   class5 (2) : MNP5 compression 
		   v42bis (3) : V.42bis compression
		"
	    ::= { mdmEntry 8 }

	mdmXmitSpeed OBJECT-TYPE
	    SYNTAX INTEGER
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Negotiated transmit speed."
	    ::= { mdmEntry 9 }

-- ------------------------------------
	mdmRcvSpeed OBJECT-TYPE
	    SYNTAX INTEGER
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"Negotiated receive speed."
	    ::= { mdmEntry 10 }

	mdmIfIndex OBJECT-TYPE
	    SYNTAX INTEGER
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"the (ISDN) interface's slot this modem is connected to"
	    ::= { mdmEntry 11 }

	mdmIfBchannel OBJECT-TYPE
	    SYNTAX INTEGER (0..31)
	    ACCESS read-only
	    STATUS mandatory
	    DESCRIPTION
		"the (ISDN) interface's B channel this modem is connected to"
	    ::= { mdmEntry 12 }

-- ------------------------------------
END
