-- *****************************************************************
-- ciscoVismCasMIB
--   The MIB is for CAS feature on VISM(Voice Interworking Service Module)
--
-- July 2003, George Ogagan
--
-- Copyright (c) 2003 by cisco Systems, Inc.
-- All rights reserved.
-- ****************************************************************

CISCO-VISM-CAS-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32
                               FROM SNMPv2-SMI
    DisplayString
                               FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP               FROM SNMPv2-CONF
    voice                      FROM BASIS-MIB
    ciscoWan                   FROM CISCOWAN-SMI;

ciscoVismCasMIB MODULE-IDENTITY
    LAST-UPDATED    "200307160000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "       Cisco Systems
                        Customer Service

                Postal: 170 W Tasman Drive
                        San Jose, CA  95134
                        USA

                        Tel: +1 800 553-NETS

                E-mail: cs-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module contain the CAS backhaul feature in VISM"

    REVISION    "200307160000Z"
    DESCRIPTION
        "Initial version of the MIB.

        The content of this MIB was originally available
        in SMIv1 version. The MIB has been converted to
        SMIv2 version and descriptions of some of the objects
        have been modified."
    ::= { ciscoWan 88 }

 
vismCasGrp              OBJECT IDENTIFIER ::= { voice 8 }

-- ------------------------------------------------------------------
--
-- vismCasConfig group
--
--
-- The MIB variables in this group have been defined to configure
-- the CAS backhaul feature on VISM. In the current release, CAS
-- is backhauled to the Call Agent using SGCP protocol. VISM card
-- can be configured with different CAS variants by downlading the
-- file which contains the signal definition and the state machine
-- information about the CAS variant.
--
-- ------------------------------------------------------------------

vismCasVariantTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VismCasVariantEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "This table contains configuration information about 
         different CAS variants.
        "
    ::= { vismCasGrp 1 }

vismCasVariantEntry OBJECT-TYPE
    SYNTAX  VismCasVariantEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "An entry in the vismCasVariantTable. Each entry consists 
         of configuration information for a specific CAS variant.

         An entry may be created by specifying vismCasVariantName, 
         and vismCasFileName. Upon the creation of the table entry, 
         the file specified by vismCasFileName will be downloaded 
         and the CAS finite state machine will be initialized based 
         on the information contained in this file.
        "
    INDEX { vismCasVariantName }
    ::= { vismCasVariantTable 1 }

VismCasVariantEntry ::=
    SEQUENCE {
        vismCasVariantName      DisplayString,
        vismCasFileName         DisplayString,
        vismCasTRinging         Integer32,
        vismCasDigitMethod      INTEGER,
        vismCasInterdigitTpart  Integer32,
        vismCasInterdigitTcrit  Integer32,
        vismCasInterdigitTMF    Integer32,
        vismCasVariantState     INTEGER,
        vismCasRowStatus        INTEGER,
        vismCasCountryCode      DisplayString,
        vismCasVariantSource    INTEGER
        }

vismCasVariantName    OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This object is a string identifier for the CAS variant. 
         It is used as index to the table.
         The maximum length allowed is 64 bytes.
        "
    ::= { vismCasVariantEntry 1 }

vismCasFileName    OBJECT-TYPE
    SYNTAX  DisplayString(SIZE (2..64))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object gives the name of the file which contains
         the signal definition and the Finite State Machine 
         definition for the CAS variant. The name is supplied 
         during the creation of the table entry. Modifying the 
         value of this object is not allowed. Upon the creation 
         of the table entry, the file will be downloaded from a tftp 
         server configured in the vismTftpServerDn object
         and the CAS finite state machine will be initialized
         based on the information contained in this file.
         This object must be provided in order to create en entry 
         in this table.
        "
    ::= { vismCasVariantEntry 2 }

-- This object is deprecated as we have a separate ringing timeout
-- on a per line basis

vismCasTRinging    OBJECT-TYPE
    SYNTAX  Integer32(10..600) 
    MAX-ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
        " This object gives the ringing time in seconds for the Cas 
          Variant. The ringing will be on until this timer expires or 
          until an off hook is received. 
        "
    DEFVAL { 180 }
    ::= { vismCasVariantEntry 3 }

vismCasDigitMethod    OBJECT-TYPE
    SYNTAX  INTEGER {
             mf (1),
             dtmf (2)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " The default digit method to be used for digit collection.
          If the digit method can not be derived from the digit map
          specified by the call agent in the XGCP message, this digit
          method will be used.
        "
    DEFVAL { dtmf }
    ::= { vismCasVariantEntry 4 }

vismCasInterdigitTpart    OBJECT-TYPE
    SYNTAX  Integer32 (10..10000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " This object represents the partial dial timing in
          seconds and is used along with a digit map as the 
          inter-digit timer.
          The timer is not started untill the first digit is 
          entered, and the timer is restarted after each new 
          digit is entered untill either a digit map match or 
          mismatch occurs. 
        "
    DEFVAL { 16 }
    ::= { vismCasVariantEntry 5 }

vismCasInterdigitTcrit    OBJECT-TYPE
    SYNTAX Integer32  (0..10000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " This object represents the critical timing in 
          seconds. If used along with a digit map, the timer 
          is started when the last digit is received. i.e and
          when no more digits are required for a digit map 
          match. After this timer
          expires, the digit map match is assumed to be complete.
          If used without a digit map, the timer is started 
          immediately and cancelled (but not restarted) as soon 
          as a digit is entered.
        "
    DEFVAL { 4 }
    ::= { vismCasVariantEntry 6 }

vismCasInterdigitTMF    OBJECT-TYPE
    SYNTAX Integer32 (1..10) 
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object represents the interdigit timeout value for MF
         digits. The timeout value is in seconds. 
        "
    DEFVAL { 1 }
    ::= { vismCasVariantEntry 7 }

vismCasVariantState    OBJECT-TYPE
    SYNTAX  INTEGER {
            notConfigured  (1),
            configInProgress (2),
            configured (3)
            }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "This variable indicates the configuration status of 
         the CAS variant. When the table entry is created, 
         downloading of the file will be initiated and the 
         state will be set to configInProgress. Once the file 
         is successfully downloaded and the CAS finite state machine 
         successfully initialized, the state will be set to configured. 
         If the initialization fails, the state will be set 
         to notConfigured.
        "
    ::= { vismCasVariantEntry 8 }

vismCasRowStatus  OBJECT-TYPE		
	SYNTAX	INTEGER {
		active(1),
		createAndGo(4),
		destroy(6)
		}
	MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
        "This variable allows to add, delete or modify the entry for
         a CAS variant.

         createAndGo: Use this to add an entry in this table, provided the
                      vismCasVariantName and vismCasFileName MIB objects are 
                      available to be set.

         active: This values is returned, once the row is created

         destroy: Use this to delete an entry from this table.
        "
        ::= { vismCasVariantEntry 9 }

-- This object is deprecated as we have a seperate country code tone plans
-- on a per line basis

vismCasCountryCode    OBJECT-TYPE
    SYNTAX  DisplayString(SIZE (0..2))
    MAX-ACCESS  read-write
    STATUS  deprecated
    DESCRIPTION
        " Represents a case-insensitive 2-letter country code
          taken from ISO-3166. 
        "
    DEFVAL { "US" }
    ::= { vismCasVariantEntry 10 }

vismCasVariantSource    OBJECT-TYPE
    SYNTAX  INTEGER {
            unspecified (1),
            internal    (2),
            external    (3)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This object specifies where the file defining this CAS variant
         resides.

         1. Unspecified. This value indicates that the location of the file is not
                         specified here. In this case, the location is determined
                         based on whether the TFTP server domain is defined on
                         VISM. The file is built into the firmware if no tftp
                         domain is defined on VISM and resides on the TFTP server
                         if a TFTP domain is defined on VISM.
         2. Internal. Indicates that the file is built into the firmware.
         3. External. Indicates that the file resides on the TFTP server
                      configured on VISM.
        "
    DEFVAL { unspecified }
    ::= { vismCasVariantEntry 11 }

-- --------------------------------------------
-- vismCasXgcpVariantTable
-- --------------------------------------------

vismCasXgcpVariantTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF VismCasXgcpVariantEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "
         An entry in this table is implicitly created/deleted
         when an entry in vismCasVariantTable is created/deleted in 
         switching mode ."
    ::= { vismCasGrp 2 }

vismCasXgcpVariantEntry OBJECT-TYPE
    SYNTAX  VismCasXgcpVariantEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "An entry in the vismCasXgcpVariantTable.
        "
    INDEX { vismCasXgcpVariantName }
    ::= { vismCasXgcpVariantTable 1 }

VismCasXgcpVariantEntry ::=
    SEQUENCE {
        vismCasXgcpVariantName        DisplayString,
        vismCasXgcpFileName           DisplayString,
        vismCasXgcpMaxReXmitTime      Integer32,
        vismCasXgcpInitialReXmitTime  Integer32,
        vismCasXgcpMaxRetries         Integer32
        }

vismCasXgcpVariantName    OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        " This object is a string identifier for the CAS variant. 
          It is used as index to the table.
        "
    ::= { vismCasXgcpVariantEntry 1 }

vismCasXgcpFileName    OBJECT-TYPE
    SYNTAX  DisplayString 
    MAX-ACCESS  read-only
    STATUS  current
-- obsolete
    DESCRIPTION
        " This object gives the name of the file which contains the 
          signal definition and the Finite State Machine definition 
          for the CAS variant.
        "
    ::= { vismCasXgcpVariantEntry 2 }

vismCasXgcpMaxReXmitTime    OBJECT-TYPE
    SYNTAX Integer32 (10..10000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " This object represents the maximum timeout value in 
          milli seconds, used for retransmitting unacknowledged 
          XGCP messages at the Call Agent - CAS/PBX interface. 
          The value of this object is settable in 10 ms increments. 
        "
    DEFVAL { 500 }
    ::= { vismCasXgcpVariantEntry 3 }

vismCasXgcpInitialReXmitTime    OBJECT-TYPE
    SYNTAX  Integer32 (10..10000)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " This object represents the initial timeout value in 
          milli seconds, used for retransmitting unacknowledged XGCP 
          messages at the Call Agent - CAS/PBX interface. The value 
          of this object is settable in 10 ms increments. 
        "
    DEFVAL { 100 }
    ::= { vismCasXgcpVariantEntry 4 }

vismCasXgcpMaxRetries    OBJECT-TYPE
    SYNTAX  Integer32 (0..10)
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        " This object specifies the number of retries for a 
          message that exceeds vismCasXgcpMaxReXmitTime or 
          vismCasXgcpInitialReXmitTime.
        "
    DEFVAL { 4 }
    ::= { vismCasXgcpVariantEntry 5 }
 
-- conformance information

ciscoVismCasMIBConformance  OBJECT IDENTIFIER ::= { ciscoVismCasMIB 2 }

ciscoVismCasMIBGroups       OBJECT IDENTIFIER ::=
                              { ciscoVismCasMIBConformance 1 }

ciscoVismCasMIBCompliances  OBJECT IDENTIFIER ::=
                              { ciscoVismCasMIBConformance 2 }

-- compliance statements

ciscoVismCasCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to VISM-CAS-MIB."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoVismCasVariantGroup,
            ciscoVismCasXgcpVariantGroup
        }
    ::= { ciscoVismCasMIBCompliances 1 }

ciscoVismCasVariantGroup OBJECT-GROUP
     OBJECTS {
        vismCasVariantName,
        vismCasFileName,
        vismCasDigitMethod,
        vismCasInterdigitTpart,
        vismCasInterdigitTcrit,
        vismCasInterdigitTMF,
        vismCasVariantState,
        vismCasRowStatus,
        vismCasVariantSource
     }
     STATUS current
     DESCRIPTION
          "The collection of objects which are used to represent
          VISM CAS varient."
      ::= { ciscoVismCasMIBGroups 1 }

ciscoVismCasXgcpVariantGroup OBJECT-GROUP
    OBJECTS {
        vismCasXgcpVariantName,
        vismCasXgcpFileName,
        vismCasXgcpMaxReXmitTime,
        vismCasXgcpInitialReXmitTime,
        vismCasXgcpMaxRetries
      }
      STATUS current
      DESCRIPTION
          "The collection of objects that is implicitly created/deleted
          when an entry in vismCasVariantTable is created/deleted in
          switching mode."
      ::= { ciscoVismCasMIBGroups 2 }

cvcVariantDeprecatedGroup OBJECT-GROUP
     OBJECTS {
        vismCasTRinging,
        vismCasCountryCode
     }
     STATUS deprecated 
     DESCRIPTION
         "The collection of objects that were
         supported earlier but deprecated now." 
      ::= { ciscoVismCasMIBGroups 3 }


END
