-- MIB file created 10-Dec-2003 14:51:35, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-VOICE-DNIS-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-VOICE-DNIS-MIB.my"
-- Compile options "4 7 F H N W 03 06 0B 0G 0N 0T"

IMPORTS
    RowStatus, TruthValue, DisplayString
            FROM SNMPv2-TC-v1
    ciscoMgmt
            FROM CISCO-SMI
    OBJECT-TYPE
            FROM RFC-1212
    TRAP-TYPE
            FROM RFC-1215;

ciscoVoiceDnisMIB OBJECT IDENTIFIER ::= { ciscoMgmt 219 }
-- MODULE-IDENTITY
--  LastUpdated
--    200205010000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--           Cisco Systems
--            Customer Service
--    
--    Postal: 170 W. Tasman Drive
--            San Jose, CA  95134
--            USA
--    
--    Tel: +1 800 553-NETS
--    
--    E-mail: cs-voice@cisco.com
--  Descr
--    The MIB module provides management support for Dialer
--     Number Information Service (DNIS) mapping.  A DNIS
--     entry is associated with a Voice XML (VXML) page to
--     provide audio play back features. Multiple DNIS
--     entries can be grouped together to form a DNIS
--     mapping with a unique map name.
--    
--     *** ABBREVIATIONS, ACRONYMS, AND SYMBOLS ***
--     
--     DNIS - Dialer Number Information Service
--    
--     XML  - Extensible Markup Language
--    
--     VXML - Voice XML
--    
--     URL  - Uniform Resource Locator  

cvDnisMIBObjects OBJECT IDENTIFIER ::= { ciscoVoiceDnisMIB 1 }
cvDnisMap       OBJECT IDENTIFIER ::= { cvDnisMIBObjects 1 }
cvDnisMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoVoiceDnisMIB 2 }
cvDnisMIBNotifications OBJECT IDENTIFIER ::= { cvDnisMIBNotificationPrefix 0 }
cvDnisMIBConformance OBJECT IDENTIFIER ::= { ciscoVoiceDnisMIB 3 }
cvDnisMIBCompliances OBJECT IDENTIFIER ::= { cvDnisMIBConformance 1 }
cvDnisMIBGroups OBJECT IDENTIFIER ::= { cvDnisMIBConformance 2 }

DnisMapname ::= OCTET STRING(SIZE(0..32))
-- TEXTUAL-CONVENTION
--  DspHint
--    32a
--  Status
--    mandatory
--  Descr
--    An identification for a DNIS map name or a DNIS name. A
--     DNIS map name correspods to a group of individual DNIS
--     names. The DNIS map names are unique in the system, and
--     within each map name, individual DNIS names are unique.

CvE164String ::= OCTET STRING(SIZE(1..32))
-- TEXTUAL-CONVENTION
--  DspHint
--    32a
--  Status
--    mandatory
--  Descr
--    A UTF-8 string limited to the character set defined for
--     E.164, '0123456789*#,<quote>'.
--     Note that <quote> represents the double quote which
--     cannot be contained in a SMI description clause.

cvDnisMappingTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CvDnisMappingEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The table contains the map name and a url specifying
         a file name. The file contains DNIS entries that belong
         to the DNIS mapping."
    ::= { cvDnisMap 1 }

cvDnisMappingEntry OBJECT-TYPE
    SYNTAX CvDnisMappingEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Information about a single DNIS mapping. There is a
         unique DNIS map name. New DNIS mapping can be created
         using cvDnisMappingStatus.
        
         The entry can be created with or without a file location 
         specified by cvDnisMappingUrl. The mapping file contains
         DNIS name and VXML page per line. For example, a 
         cvDnisMappingUrl could be tftp://someserver/dnismap.txt.
         This file is a text file and the content format is
           dnis <dnisname> url <urlname>.
         An example of the contents of the file itself can be
           dnis 18004251234 url http://www.b.com/p/vwelcome.vxml
           dnis 18004253421 url http://www.c.com/j/vxmlintf.vxml
         If a mapping file location is specified, then new rows
         corresponding to this map name are created and populated
         in cvDnisNodeTable from the contents of the file. The
         rows corresponding to this map name in cvDnisNodeTable
         cannot be created or modified or deleted but can be
         read. 
        
         If a mapping file location is not specified in
         cvDnisMappingUrl, then individual DNIS entries
         corresponding to this map name can be created, modified
         and deleted in cvDnisNodeTable. 
        
         Deleting an entry deletes all the related entries in
         cvDnisNodeTable. "
    INDEX { --?? IMPLIED may cause problems
            IMPLIED cvDnisMappingName }
    ::= { cvDnisMappingTable 1 }

CvDnisMappingEntry ::= SEQUENCE {
    cvDnisMappingName DnisMapname,
    cvDnisMappingUrl DisplayString,
    cvDnisMappingRefresh INTEGER,
    cvDnisMappingUrlAccessError DisplayString,
    cvDnisMappingStatus RowStatus
    }

cvDnisMappingName OBJECT-TYPE
    SYNTAX DnisMapname(SIZE(1..32))
--    Rsyntax OCTET STRING(SIZE(1..32))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The name which uniquely identifies a DNIS mapping. "
    ::= { cvDnisMappingEntry 1 }

cvDnisMappingUrl OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The url specifies a file location. The file contains
         individual DNIS entries that belong to the DNIS map 
         name specified by cvDnisMappingName.
        
         Once a url is created and associated with a map name (the
         association is complete when the row is made active(1)),
         it cannot be modified while cvDnisMappingStatus is
         active. If a different url needs to be associated with
         the current map name, the row status should be made
         notInService(2) and this object has to be modified to
         associate a new url. When a new association is made all
         the DNIS entries corresponding to the old association
         will be deleted from the cvDnisNodeTable.
        
         The url is read when the row status is made active(1) or
         when the row status is active and the object 
        cvDnisMappingRefresh is explicitly set to refresh(2). 
        If the url is not accessible then a
         cvDnisMappingUrlInaccessible notification will be
         generted. "
    DEFVAL { "" }
    ::= { cvDnisMappingEntry 2 }

cvDnisMappingRefresh OBJECT-TYPE
    SYNTAX INTEGER {
        idle(1),
        refresh(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Whenever there is a need to re-read the contents of the
         file specified by cvDnisMappingUrl, this object can be
         set to refresh(2). This will cause the contents of the
         file to be re-read and correspondingly update the
         cvDnisNodeTable. After the completion of this operation,
         the value of this object is reset to idle(1). The only
         operation allowed on this object is setting it to
         refresh(2). This can only be done when the current value
         is idle(1) and the rowstatus is active(1).
        
         idle       - The refreshing process is idle and the user
                      can modify this object to refresh.
         refresh    - The refreshing process is currently busy and
                      the user have to wait till the object
                      becomes idle to issue new refresh."
    DEFVAL { idle }
    ::= { cvDnisMappingEntry 3 }

cvDnisMappingUrlAccessError OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "ASCII text describing the error on last access of the url
         specified in cvDnisMappingUrl.
        
         If the url access does not succeed, then this object is
         populated with an error message indicating the reason for
         failure. If the url access succeeds, this object is set
         to null string."
    DEFVAL { "" }
    ::= { cvDnisMappingEntry 4 }

cvDnisMappingStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to create a new row or modify or
         delete an existing row in this table. When making the
         status active(1), if a valid cvDnisMappingUrl is present
         the contents of the url is downloaded and during that
         time cvDnisMappingRefresh is set to refresh(2). When
         cvDnisMappingRefresh is set to refresh(2), only the
         destroy(6) operation is allowed."
    ::= { cvDnisMappingEntry 5 }

cvDnisNodeTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CvDnisNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The table contains a DNIS name and a url. The url is a
         pointer to a VXML page for the DNIS name. "
    ::= { cvDnisMap 2 }

cvDnisNodeEntry OBJECT-TYPE
    SYNTAX CvDnisNodeEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Each entry is a DNIS name and the location of the
         associated VXML page. New DNIS entries can be created or
         the existing entries can be modified or deleted only if
         the corresponding map name (defined in
         cvDnisMappingTable) does not have any file name provided
         in the cvDnisMappingUrl object. 
        
         If a file name is provided in cvDnisMappingUrl
         corresponding to this entry's map name, then this row
         will have read permission only."
    INDEX { cvDnisMappingName, --?? IMPLIED may cause problems
            IMPLIED cvDnisNumber }
    ::= { cvDnisNodeTable 1 }

CvDnisNodeEntry ::= SEQUENCE {
    cvDnisNumber CvE164String,
    cvDnisNodeUrl DisplayString,
    cvDnisNodeModifiable TruthValue,
    cvDnisNodeStatus RowStatus
    }

cvDnisNumber OBJECT-TYPE
    SYNTAX CvE164String
--    Rsyntax OCTET STRING(SIZE(1..32))
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The individual DNIS name. It is unique within a DNIS
         mapping."
    ::= { cvDnisNodeEntry 1 }

cvDnisNodeUrl OBJECT-TYPE
    SYNTAX DisplayString
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The url specifies a VXML page. This page contains
         voice XML links to play audio data.
        
         This url which is a VXML page is not read immediately
         when the row is made active(1), but only when a call that
         requires the use of this DNIS comes through."
    DEFVAL { "" }
    ::= { cvDnisNodeEntry 2 }

cvDnisNodeModifiable OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies whether the object in a particular
         row is modifiable. The object is set to true(1) if the
         corresponding map name (defined in cvDnisMappingTable)
         does not have any file name provided in the
         cvDnisMappingUrl object. Otherwise this object is set to
         false(2) and the row becomes read only.  "
    ::= { cvDnisNodeEntry 3 }

cvDnisNodeStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to create a new row or modify or
         delete an existing row in this table. The objects in a
         row can be modified or deleted while the row status is
         active(1) and cvDnisNodeModifiable is true(1). The row
         status cannot be set to notInService(2) or
         createAndWait(5). "
    ::= { cvDnisNodeEntry 4 }

cvDnisMappingUrlInaccessible TRAP-TYPE
-- Reverse mappable trap
    ENTERPRISE cvDnisMIBNotificationPrefix
    VARIABLES {
        cvDnisMappingUrl, cvDnisMappingUrlAccessError }
--  Status
--    mandatory
    DESCRIPTION
        "Inaccessible DNIS mapping url notification. A
         cvDnisMappingUrlInaccessible notification is sent if the
         specified url is not accessible."
    ::= 1

cvDnisGroup OBJECT IDENTIFIER ::= { cvDnisMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects provides a relation between a
--     DNIS map name and the DNIS entries belonging to that map
--     name. 
--  objects
--    cvDnisMappingUrl, cvDnisMappingRefresh, 
--    cvDnisMappingUrlAccessError, cvDnisMappingStatus, 
--    cvDnisNodeUrl, cvDnisNodeModifiable, cvDnisNodeStatus

cvDnisNotificationGroup OBJECT IDENTIFIER ::= { cvDnisMIBGroups 2 }
-- NOTIFICATION-GROUP
--  Status
--    mandatory
--  Descr
--    The notifications for CISCO-VOICE-DNIS-MIB.
--  notifications
--    cvDnisMappingUrlInaccessible

cvDnisMIBCompliance OBJECT IDENTIFIER ::= { cvDnisMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for entities which
--     implement the CISCO VOICE DNIS MIB
--  Module
--    >>current<<
--   OptGroup
--    cvDnisGroup
--   OptGroup
--    cvDnisNotificationGroup


END

