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


---------------------------------------------------------------------------
-- (C)opyright 2011-2014 bintec elmeg GmbH
-- $RCSfile: mib-vms,v $
-- $Revision: 1.19 $
-- $Date: 2014-07-23 13:14:43 $
-- Author: awimmer
---------------------------------------------------------------------------

BINTEC-VMS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
        enterprises
                FROM RFC1155-SMI
        IpAddress, enterprises
                FROM RFC1155-SMI
        MacAddress, DisplayString, TimeStamp, TruthValue
                FROM SNMPv2-TC
        bibo, Date, BitValue
                FROM BINTEC-MIB
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Counter64, TimeTicks
                FROM SNMPv2-SMI
        TRAP-TYPE
                FROM RFC-1215
        TruthValue
                FROM SNMPv2-TC
        ifIndex
                FROM IF-MIB
        OBJECT-TYPE
                FROM RFC-1212
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB;


vmsAdminMIB MODULE-IDENTITY
    LAST-UPDATED "201407230000Z"
    ORGANIZATION "bintec elmeg GmbH"
    CONTACT-INFO
	    "EMail:   info@bintec-elmeg.com
	     Web:     www.bintec-elmeg.com
	    "
    DESCRIPTION
            "The MIB module for voice mail server configuration."
    REVISION      "201101250000Z"
    DESCRIPTION
            "Initial version." 
    ::= { bibo 34 }

    vms    OBJECT IDENTIFIER
    ::= { vmsAdminMIB 1 }


---------------------------------------------------------------------------
-- vms types
AccountIndex                      ::= INTEGER (1..65535)

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

-- **********************************************************************
-- *    vmsGlobalAdmTable  TABLE
-- **********************************************************************
vmsGlobalAdm OBJECT IDENTIFIER
    ::= { vms 1 }

    vmsGlobalAdmStatus OBJECT-TYPE
        SYNTAX INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Activate or deactivate the voice mail system."
    DEFVAL { disabled }
    ::= { vmsGlobalAdm 1 }

    vmsGlobalAdmAccountRef OBJECT-TYPE
 	SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This value contains the reference to the account number of the
	     Voice Mail Server.
             Reference to mpsExtensionIndex in mpsExtensionTable."
    DEFVAL { 0 }
    ::= { vmsGlobalAdm 2 }

    vmsGlobalAdmSipPort OBJECT-TYPE
 	SYNTAX  INTEGER(1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "UDP port number used for (system internal) SIP connect."
    DEFVAL { 5070 }
    ::= { vmsGlobalAdm 3 }
    
   vmsGlobalAdmLanguage OBJECT-TYPE
 	SYNTAX  INTEGER {
            german(1),
            dutch(2),
            english(3),
            italian(5),
            spanish(7),
            french(10),
            portuguese(11)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The global language setting for the voice mail server."
    DEFVAL { german }
    ::= { vmsGlobalAdm 4 }
    
    vmsGlobalAdmSmtpServer OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The IP address of the SMTP server.
             This object may contain either an IP address or a domain name."
    ::= { vmsGlobalAdm 5 }

    vmsGlobalAdmSmtpPort OBJECT-TYPE
 	SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The TCP port to be used in order to connect to vmsGlobSmtpServer."
    DEFVAL { 25 }
    ::= { vmsGlobalAdm 6 }

    vmsGlobalAdmSmtpFrom OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Sender adress, e.g. voicemail@thecompany.com."
    ::= { vmsGlobalAdm 7 }

    vmsGlobalAdmSmtpUser OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "SMTP account/user name."
    ::= { vmsGlobalAdm 8 }

    vmsGlobalAdmSmtpPassword OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "SMTP password."
    ::= { vmsGlobalAdm 9 }
    
    vmsGlobalAdmFileAdminStatus OBJECT-TYPE
 	SYNTAX  INTEGER {
            idle(1),
            create(2),
            remove(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "File admin status:
             idle(1)  : no action
             create(2): new wave files shall be stored on the storage device
             remove(3): files shall be deleted on the storage device"
    DEFVAL { idle }
    ::= { vmsGlobalAdm 10 }    
    
    vmsGlobalAdmFileOperStatus OBJECT-TYPE
 	SYNTAX  INTEGER {
            unavailable(1),
            inProgress(2),
            available(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "File oper status:
            unavailable(1): Ann. wave files not yet available on the storage device
            inProgress(2) : Create or remove file just in progress
            available(3)  : synchronization of storage device with MIB is done."
    DEFVAL { unavailable }
    ::= { vmsGlobalAdm 11 }
    
    vmsGlobalAdmMaxLifeTime OBJECT-TYPE
 	SYNTAX  INTEGER(10..60)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Maximum life time of messages in days. After this time a message can
             be displaced by a new message."
    DEFVAL { 60 }
    ::= { vmsGlobalAdm 12 }
    
     
-- **********************************************************************
-- *    vmsGlobalStatusTable  TABLE
-- **********************************************************************
vmsGlobalStatus OBJECT IDENTIFIER
    ::= { vms 2 }
    
    vmsGlobalStatusAccountDir OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This value contains the directory of the account data,
             This value will be changed by the system."
    ::= { vmsGlobalStatus 1 }

    vmsGlobalStatusWaveDir OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This value contains the directory of the wave files,
             This value will be changed by the system."
    ::= { vmsGlobalStatus 2 }
   
    vmsGlobalStatusFileUploadResult OBJECT-TYPE
        SYNTAX INTEGER { 
            success(1),
            no-mem-card(2),
            no-mem-space(3),
            incomp-format(4),
            transfer-error(5),
            write-protection(6),
            internal-error(7)
        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "file upload result (error) code: 
             success(1)         : the file upload was successful,
             no-mem-card(2)     : no memory card plugged,
             no-mem-space(3)    : no more space available on the memory card,
             incomp-format(4)   : the file format doesn't match the requirements,
             transfer-error(5)  : any transfer error occured during upload,
             write-protection(6): active write protection on storage device,
             internal-error(7)  : unexpected internal error occured."
    DEFVAL { success }
    ::= { vmsGlobalStatus 3 }


-- **********************************************************************
-- *    vmsAccountTable  TABLE
-- **********************************************************************

vmsAccountTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VmsAccountEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "This table lists the Voice Account configured for
             VMS call redirect.
            "
    ::= { vms 3 }

    vmsAccountEntry OBJECT-TYPE
    SYNTAX  VmsAccountEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    ""
    INDEX { vmsAccountIndex }
    ::= { vmsAccountTable 1 }

    VmsAccountEntry ::=
    SEQUENCE {
        vmsAccountIndex       	        AccountIndex,
        vmsAccountType		       	INTEGER,
        vmsAccountReference		INTEGER,
        vmsAccountLanguage		INTEGER,
        vmsAccountNotify		INTEGER,
        vmsAccountMailTo	 	DisplayString,
        vmsAccountMaxRecordingLength 	INTEGER,
        vmsAccountCalendarIndex		INTEGER,
        vmsAccountAdminStatus		INTEGER,
        vmsAccountOperStatus		INTEGER,
        vmsAccountNewMessages		INTEGER,
        vmsAccountOldMessages		INTEGER,
        vmsAccountSavedMessages		INTEGER,
        vmsAccountMaxMessages		INTEGER
    }

    vmsAccountIndex OBJECT-TYPE
        SYNTAX AccountIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A unique value for each Account."
    ::= { vmsAccountEntry 1 }

    vmsAccountType OBJECT-TYPE
        SYNTAX INTEGER {
            extension(1),
            group(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Type of account: group or extension."
    DEFVAL { extension }
    ::= { vmsAccountEntry 2 }

    vmsAccountReference OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This value contains a reference for the voice mail account,
             it depends on vmsAccountType:
              - vmsAccountType extension: reference to mpsExtensionTable
              - vmsAccountType group    : reference to mpsGroupTable
              ."
    DEFVAL { 0 }    
    ::= { vmsAccountEntry 3 }

    vmsAccountLanguage OBJECT-TYPE
 	SYNTAX  INTEGER {
            german(1),
            dutch(2),
            english(3),
            italian(5),
            spanish(7),
            french(10),
            portuguese(11),
            use-default(99)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The account-specific language setting for the voice mail server.
             use-default(99): use language setting from vmsGlobalLanguage."
    DEFVAL { use-default }
    ::= { vmsAccountEntry 4 }

    vmsAccountNotify OBJECT-TYPE
 	SYNTAX  INTEGER {
            no(1),
            mail(2),
            mail-attachment(3),
            use-user-config(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specifies the (admin) mail notification mode:
             no(1)             : no mail is sent
             mail(2)           : send a mail without attachment
             mail-attachment(3): send a mail with the new message attached
             use-user-config(4): use settings from vmsAccountUserNotify
            "
    DEFVAL { no }
    ::= { vmsAccountEntry 5 }

    vmsAccountMailTo OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specifies the notification recipient. 
             If not defined use mail address from mpsUserTable."
    ::= { vmsAccountEntry 6 }

    vmsAccountMaxRecordingLength OBJECT-TYPE
        SYNTAX INTEGER (5..300)
        UNITS           "s"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Maximum recording length (in seconds) of the messages for this
	     account."
    DEFVAL { 180 }
    ::= { vmsAccountEntry 7 }

    vmsAccountCalendarIndex OBJECT-TYPE
        SYNTAX INTEGER 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The announcement business or outside business can be switched
	     automatically by a calendar.
	     This is the reference to mpsCalendarTable if active."
        DEFVAL { 0 }
    ::= { vmsAccountEntry 8 }

    vmsAccountAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER { enable(1), delete(2), disable(3) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Enable, disable or delete VMS account."
        DEFVAL { enable }
        ::= { vmsAccountEntry 9 }

   vmsAccountOperStatus OBJECT-TYPE
        SYNTAX  INTEGER { up(1), down(2), licMissing(3) }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Operational status of the account."
        DEFVAL { down }
        ::= { vmsAccountEntry 10 }

    vmsAccountNewMessages OBJECT-TYPE
        SYNTAX INTEGER (0..1000)
        MAX-ACCESS      read-only
        STATUS          current
       DESCRIPTION
            "This value contains the number of new messages 
             for this account.
            "
        DEFVAL { 0 }
        ::= { vmsAccountEntry 11 }

    vmsAccountOldMessages OBJECT-TYPE
        SYNTAX INTEGER (0..1000)
        MAX-ACCESS      read-only
        STATUS          current
       DESCRIPTION
            "This value contains the number of old messages 
             for this account.
            "
        DEFVAL { 0 }
        ::= { vmsAccountEntry 12 }

    vmsAccountSavedMessages OBJECT-TYPE
        SYNTAX INTEGER (0..1000)
        MAX-ACCESS      read-only
        STATUS          current
       DESCRIPTION
            "This value contains the number of saved messages 
             for this account.
            "
        DEFVAL { 0 }
        ::= { vmsAccountEntry 13 }

    vmsAccountMaxMessages OBJECT-TYPE
        SYNTAX INTEGER (0..1000)
        MAX-ACCESS      read-write
        STATUS          current
       DESCRIPTION
            "This value contains the maximum number of allowed messages
             for this account. If this amount is reached, no more
             recordings are possible.
            "
        DEFVAL { 60 }
        ::= { vmsAccountEntry 14 }

-- **********************************************************************
-- *    vmsAccountUserTable  TABLE
-- **********************************************************************

vmsAccountUserTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VmsAccountUserEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "This table lists the Voice Account User configured for
             VMS call redirect.
            "
    ::= { vms 4 }

    vmsAccountUserEntry OBJECT-TYPE
    SYNTAX  VmsAccountUserEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    ""
    INDEX { vmsAccountUserIndex }
    ::= { vmsAccountUserTable 1 }

    VmsAccountUserEntry ::=
    SEQUENCE {
        vmsAccountUserIndex		AccountIndex,
        vmsAccountUserPin	       	DisplayString,
        vmsAccountUserMode		INTEGER,
        vmsAccountUserFacilities	BITS,
        vmsAccountUserBusinessType	INTEGER,
        vmsAccountUserOutBusinessType	INTEGER,
        vmsAccountUserAdminStatus	INTEGER,
        vmsAccountUserNotify		INTEGER
    }

    vmsAccountUserIndex OBJECT-TYPE
        SYNTAX AccountIndex
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "A unique value for each Account User Entry."
    ::= { vmsAccountUserEntry 1 }

    vmsAccountUserPin OBJECT-TYPE
 	SYNTAX  DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "PIN for access to this account.
             If no PIN defined, then use PIN from mpsUserTable."
    ::= { vmsAccountUserEntry 2 }

    vmsAccountUserMode OBJECT-TYPE
 	SYNTAX  INTEGER {
            business(1),
            outsideBusiness(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This value contains the active mode of the voice box.
	     It simply chooses the announcement type the VMS shall use.
	     This item can be changed by several means, for instance calendar
	     or web user portal."
    DEFVAL { business }
    ::= { vmsAccountUserEntry 3 }

    vmsAccountUserFacilities OBJECT-TYPE
        SYNTAX          BITS {
                            pin-less-access(0),
                            file-move-after-email(1),
                            file-delete-after-email(2)
                        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Facility settings for the VMS account:
             pin-less-access: no PIN check for call of voice box owner.
             file-move-after-email: new messages are moved to old folder after
                                    email notification
             file-delete-after-email: delete file after successful email notification"
    ::= { vmsAccountUserEntry 4 }

    vmsAccountUserBusinessType OBJECT-TYPE
 	SYNTAX  INTEGER {
            annOnly(1),
            annAndRec(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Voice Box usage within business time.
             annOnly: Announcement only (infobox)
             annAndRec: Announcement and recording
             "
    DEFVAL { annAndRec }
    ::= { vmsAccountUserEntry 5 }
    
    vmsAccountUserOutBusinessType OBJECT-TYPE
 	SYNTAX  INTEGER {
            annOnly(1),
            annAndRec(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Voice box usage outside business time.
             annOnly: Announcement only (infobox)
             annAndRec: Announcement and recording
            "
    DEFVAL { annOnly }
    ::= { vmsAccountUserEntry 6 }
   
    vmsAccountUserAdminStatus OBJECT-TYPE
        SYNTAX          INTEGER { enable(1), delete(2)}
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Just for MIB entry deletion."
        DEFVAL { enable }
        ::= { vmsAccountUserEntry 7 }
        

     vmsAccountUserNotify OBJECT-TYPE
 	SYNTAX  	INTEGER {
            		no(1),
            		mail(2),
            		mail-attachment(3)
        		}
        MAX-ACCESS 	read-write
        STATUS 		current
        DESCRIPTION
            "Specifies the (user) mail notification mode:
             no(1)             : no mail is sent
             mail(2)           : send a mail without attachment
             mail-attachment(3): send a mail with the new message attached
            "
    	DEFVAL { no }
    	::= { vmsAccountUserEntry 8 }
        
-- **********************************************************************
-- *    vmsMessageTable  TABLE
-- **********************************************************************

vmsMessageTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VmsMessageEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "This table lists the received messages."
    ::= { vms 5 }

    vmsMessageEntry OBJECT-TYPE
    SYNTAX  VmsMessageEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
    ""
    INDEX { vmsMessageIndex }
    ::= { vmsMessageTable 1 }

    VmsMessageEntry ::=
    SEQUENCE {
        vmsMessageIndex         INTEGER,
        vmsMessageAccountIdx    AccountIndex,
        vmsMessageCaller        DisplayString,
        vmsMessageReceived      Date,
        vmsMessageFile          DisplayString,
        vmsMessageStatus        INTEGER,
        vmsMessageAdminStatus   INTEGER,
        vmsMessageAccessStatus  BITS
    }

    vmsMessageIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Unique Index of the received message."
    ::= { vmsMessageEntry 1 }

    vmsMessageAccountIdx OBJECT-TYPE
        SYNTAX  AccountIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of the associated Voice extension (reference to the
	     vmsAccountTable)."
    ::= { vmsMessageEntry 2 }

    vmsMessageCaller OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Originator of the message."
    ::= { vmsMessageEntry 3 }

    vmsMessageReceived OBJECT-TYPE
        SYNTAX  Date
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time and Date of the message."
    ::= { vmsMessageEntry 4 }

    vmsMessageFile OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Message file name."
    ::= { vmsMessageEntry 5 }

    vmsMessageStatus OBJECT-TYPE
        SYNTAX INTEGER { 
            new(1),
            old(2),
            saved(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Status of the messages.
             new(1)  : new unheard message
             old(2)  : heard message
             saved(3): message was heared and saved"
        DEFVAL { new }
        ::= { vmsMessageEntry 6 }

    vmsMessageAdminStatus OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            move-to-old(2),
            move-to-saved(3),
            delete(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Admin status of the messages.
             enabled(1): no action for this message active
             move-to-old(2): new message should be moved to old
             move-to-saved(3): now/old message should be moved to saved
             delete(4) : message should be deleted"
        DEFVAL { enabled }
        ::= { vmsMessageEntry 7 }

    vmsMessageAccessStatus OBJECT-TYPE
        SYNTAX BITS {
            playing(0),
            sending(1),
            recording(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Access flags.
             playing  : read access for playing
             sending  : read access for sending e-mail
             recording: write access for recording"
        ::= { vmsMessageEntry 8 }

END
