1-- *****************************************************************
2-- CISCO-VOICE-DNIS-MIB.my: Voice DNIS MIB file
3--
4-- March 2000  Nicholas Basker
5--
6-- Copyright (c) 2000, 2001, 2002 by cisco Systems, Inc.
7-- All rights reserved.
8-- *****************************************************************
9
10CISCO-VOICE-DNIS-MIB DEFINITIONS ::= BEGIN
11
12IMPORTS
13        MODULE-IDENTITY,
14        OBJECT-TYPE,
15	NOTIFICATION-TYPE
16                FROM SNMPv2-SMI
17        TEXTUAL-CONVENTION,
18        RowStatus,
19        TruthValue,
20        DisplayString
21                FROM SNMPv2-TC
22        MODULE-COMPLIANCE,
23        OBJECT-GROUP,
24        NOTIFICATION-GROUP
25                FROM SNMPv2-CONF
26        ciscoMgmt
27                FROM CISCO-SMI;
28
29ciscoVoiceDnisMIB MODULE-IDENTITY
30        LAST-UPDATED    "200205010000Z"
31        ORGANIZATION    "Cisco Systems, Inc."
32        CONTACT-INFO
33                "       Cisco Systems
34                        Customer Service
35
36                Postal: 170 W. Tasman Drive
37                        San Jose, CA  95134
38                        USA
39
40                Tel: +1 800 553-NETS
41
42                E-mail: cs-voice@cisco.com"
43        DESCRIPTION
44                "The MIB module provides management support for Dialer
45                 Number Information Service (DNIS) mapping.  A DNIS
46                 entry is associated with a Voice XML (VXML) page to
47                 provide audio play back features. Multiple DNIS
48                 entries can be grouped together to form a DNIS
49                 mapping with a unique map name.
50
51                 *** ABBREVIATIONS, ACRONYMS, AND SYMBOLS ***
52
53                 DNIS - Dialer Number Information Service
54
55                 XML  - Extensible Markup Language
56
57                 VXML - Voice XML
58
59                 URL  - Uniform Resource Locator
60                "
61        ::= { ciscoMgmt 219 }
62
63--
64-- Textual Conventions
65--
66
67DnisMapname ::= TEXTUAL-CONVENTION
68        DISPLAY-HINT "32a"
69        STATUS       current
70        DESCRIPTION
71            "An identification for a DNIS map name or a DNIS name. A
72             DNIS map name correspods to a group of individual DNIS
73             names. The DNIS map names are unique in the system, and
74             within each map name, individual DNIS names are unique.
75            "
76        SYNTAX       OCTET STRING (SIZE (0..32))
77
78CvE164String ::= TEXTUAL-CONVENTION
79        DISPLAY-HINT "32a"
80        STATUS       current
81        DESCRIPTION
82            "A UTF-8 string limited to the character set defined for
83             E.164, '0123456789*#,<quote>'.
84             Note that <quote> represents the double quote which
85             cannot be contained in a SMI description clause."
86        SYNTAX       OCTET STRING (SIZE (1..32))
87
88-- Voice DNIS MIB objects definitions
89
90cvDnisMIBObjects OBJECT IDENTIFIER ::= { ciscoVoiceDnisMIB 1 }
91
92-- The Voice DNIS MIB consists of the following group
93-- [1] Voice Dnis Mapping (cvDnisMap)
94
95cvDnisMap                   OBJECT IDENTIFIER ::= { cvDnisMIBObjects 1 }
96
97--********************************************************************
98-- Voice DNIS Mapping
99--********************************************************************
100-- The objects in this group are responsible for providing a relation
101-- between a DNIS map name and the individual DNIS entries it
102-- contains.
103
104--
105-- Voice DNIS Mapping Table
106--
107
108cvDnisMappingTable OBJECT-TYPE
109        SYNTAX      SEQUENCE OF CvDnisMappingEntry
110        MAX-ACCESS  not-accessible
111        STATUS      current
112        DESCRIPTION
113            "The table contains the map name and a url specifying
114             a file name. The file contains DNIS entries that belong
115             to the DNIS mapping.
116            "
117       ::= { cvDnisMap 1 }
118
119cvDnisMappingEntry OBJECT-TYPE
120        SYNTAX      CvDnisMappingEntry
121        MAX-ACCESS  not-accessible
122        STATUS      current
123        DESCRIPTION
124            "Information about a single DNIS mapping. There is a
125             unique DNIS map name. New DNIS mapping can be created
126             using cvDnisMappingStatus.
127
128             The entry can be created with or without a file location
129             specified by cvDnisMappingUrl. The mapping file contains
130             DNIS name and VXML page per line. For example, a
131             cvDnisMappingUrl could be tftp://someserver/dnismap.txt.
132             This file is a text file and the content format is
133               dnis <dnisname> url <urlname>.
134             An example of the contents of the file itself can be
135               dnis 18004251234 url http://www.b.com/p/vwelcome.vxml
136               dnis 18004253421 url http://www.c.com/j/vxmlintf.vxml
137             If a mapping file location is specified, then new rows
138             corresponding to this map name are created and populated
139             in cvDnisNodeTable from the contents of the file. The
140             rows corresponding to this map name in cvDnisNodeTable
141             cannot be created or modified or deleted but can be
142             read.
143
144             If a mapping file location is not specified in
145             cvDnisMappingUrl, then individual DNIS entries
146             corresponding to this map name can be created, modified
147             and deleted in cvDnisNodeTable.
148
149             Deleting an entry deletes all the related entries in
150             cvDnisNodeTable.
151            "
152        INDEX       { IMPLIED cvDnisMappingName }
153      ::= { cvDnisMappingTable 1 }
154
155CvDnisMappingEntry ::= SEQUENCE {
156            cvDnisMappingName               DnisMapname,
157            cvDnisMappingUrl                DisplayString,
158            cvDnisMappingRefresh            INTEGER,
159            cvDnisMappingUrlAccessError     DisplayString,
160            cvDnisMappingStatus             RowStatus
161        }
162
163cvDnisMappingName OBJECT-TYPE
164        SYNTAX      DnisMapname (SIZE (1..32))
165        MAX-ACCESS  not-accessible
166        STATUS      current
167        DESCRIPTION
168            "The name which uniquely identifies a DNIS mapping.
169            "
170        ::= { cvDnisMappingEntry 1 }
171
172cvDnisMappingUrl OBJECT-TYPE
173        SYNTAX      DisplayString
174        MAX-ACCESS  read-create
175        STATUS      current
176        DESCRIPTION
177            "The url specifies a file location. The file contains
178             individual DNIS entries that belong to the DNIS map
179             name specified by cvDnisMappingName.
180
181             Once a url is created and associated with a map name (the
182             association is complete when the row is made active(1)),
183             it cannot be modified while cvDnisMappingStatus is
184             active. If a different url needs to be associated with
185             the current map name, the row status should be made
186             notInService(2) and this object has to be modified to
187             associate a new url. When a new association is made all
188             the DNIS entries corresponding to the old association
189             will be deleted from the cvDnisNodeTable.
190
191             The url is read when the row status is made active(1) or
192             when the row status is active and the object
193	     cvDnisMappingRefresh is explicitly set to refresh(2).
194	     If the url is not accessible then a
195             cvDnisMappingUrlInaccessible notification will be
196             generted.
197            "
198        DEFVAL { "" }
199        ::= { cvDnisMappingEntry 2 }
200
201cvDnisMappingRefresh OBJECT-TYPE
202        SYNTAX      INTEGER {
203            idle     (1),
204            refresh  (2)
205        }
206        MAX-ACCESS  read-create
207        STATUS      current
208        DESCRIPTION
209            "Whenever there is a need to re-read the contents of the
210             file specified by cvDnisMappingUrl, this object can be
211             set to refresh(2). This will cause the contents of the
212             file to be re-read and correspondingly update the
213             cvDnisNodeTable. After the completion of this operation,
214             the value of this object is reset to idle(1). The only
215             operation allowed on this object is setting it to
216             refresh(2). This can only be done when the current value
217             is idle(1) and the rowstatus is active(1).
218
219             idle       - The refreshing process is idle and the user
220                          can modify this object to refresh.
221             refresh    - The refreshing process is currently busy and
222                          the user have to wait till the object
223                          becomes idle to issue new refresh.
224            "
225         DEFVAL { idle }
226         ::= { cvDnisMappingEntry 3 }
227
228cvDnisMappingUrlAccessError OBJECT-TYPE
229        SYNTAX      DisplayString
230        MAX-ACCESS  read-only
231        STATUS      current
232        DESCRIPTION
233            "ASCII text describing the error on last access of the url
234             specified in cvDnisMappingUrl.
235
236             If the url access does not succeed, then this object is
237             populated with an error message indicating the reason for
238             failure. If the url access succeeds, this object is set
239             to null string.
240            "
241        DEFVAL { "" }
242        ::= { cvDnisMappingEntry 4 }
243
244cvDnisMappingStatus OBJECT-TYPE
245        SYNTAX      RowStatus
246        MAX-ACCESS  read-create
247        STATUS      current
248        DESCRIPTION
249            "This object is used to create a new row or modify or
250             delete an existing row in this table. When making the
251             status active(1), if a valid cvDnisMappingUrl is present
252             the contents of the url is downloaded and during that
253             time cvDnisMappingRefresh is set to refresh(2). When
254             cvDnisMappingRefresh is set to refresh(2), only the
255             destroy(6) operation is allowed.
256            "
257        ::= { cvDnisMappingEntry 5 }
258
259
260--
261-- Voice DNIS Node Table
262--
263
264cvDnisNodeTable OBJECT-TYPE
265        SYNTAX      SEQUENCE OF CvDnisNodeEntry
266        MAX-ACCESS  not-accessible
267        STATUS      current
268        DESCRIPTION
269            "The table contains a DNIS name and a url. The url is a
270             pointer to a VXML page for the DNIS name.
271            "
272       ::= { cvDnisMap 2 }
273
274cvDnisNodeEntry OBJECT-TYPE
275        SYNTAX      CvDnisNodeEntry
276        MAX-ACCESS  not-accessible
277        STATUS      current
278        DESCRIPTION
279            "Each entry is a DNIS name and the location of the
280             associated VXML page. New DNIS entries can be created or
281             the existing entries can be modified or deleted only if
282             the corresponding map name (defined in
283             cvDnisMappingTable) does not have any file name provided
284             in the cvDnisMappingUrl object.
285
286             If a file name is provided in cvDnisMappingUrl
287             corresponding to this entry's map name, then this row
288             will have read permission only.
289            "
290        INDEX       { cvDnisMappingName, IMPLIED cvDnisNumber }
291      ::= { cvDnisNodeTable 1 }
292
293CvDnisNodeEntry ::= SEQUENCE {
294            cvDnisNumber                    CvE164String,
295            cvDnisNodeUrl                   DisplayString,
296            cvDnisNodeModifiable            TruthValue,
297            cvDnisNodeStatus                RowStatus
298        }
299
300cvDnisNumber OBJECT-TYPE
301        SYNTAX      CvE164String
302        MAX-ACCESS  not-accessible
303        STATUS      current
304        DESCRIPTION
305            "The individual DNIS name. It is unique within a DNIS
306             mapping.
307            "
308        ::= { cvDnisNodeEntry 1 }
309
310cvDnisNodeUrl OBJECT-TYPE
311        SYNTAX      DisplayString
312        MAX-ACCESS  read-create
313        STATUS      current
314        DESCRIPTION
315            "The url specifies a VXML page. This page contains
316             voice XML links to play audio data.
317
318             This url which is a VXML page is not read immediately
319             when the row is made active(1), but only when a call that
320             requires the use of this DNIS comes through.
321            "
322        DEFVAL { "" }
323        ::= { cvDnisNodeEntry 2 }
324
325cvDnisNodeModifiable OBJECT-TYPE
326        SYNTAX      TruthValue
327        MAX-ACCESS  read-only
328        STATUS      current
329        DESCRIPTION
330            "This object specifies whether the object in a particular
331             row is modifiable. The object is set to true(1) if the
332             corresponding map name (defined in cvDnisMappingTable)
333             does not have any file name provided in the
334             cvDnisMappingUrl object. Otherwise this object is set to
335             false(2) and the row becomes read only.
336            "
337        ::= { cvDnisNodeEntry 3 }
338
339cvDnisNodeStatus OBJECT-TYPE
340        SYNTAX      RowStatus
341        MAX-ACCESS  read-create
342        STATUS      current
343        DESCRIPTION
344            "This object is used to create a new row or modify or
345             delete an existing row in this table. The objects in a
346             row can be modified or deleted while the row status is
347             active(1) and cvDnisNodeModifiable is true(1). The row
348             status cannot be set to notInService(2) or
349             createAndWait(5).
350            "
351        ::= { cvDnisNodeEntry 4 }
352
353--********************************************************************
354-- Notifications
355--********************************************************************
356cvDnisMIBNotificationPrefix OBJECT IDENTIFIER ::=
357                                { ciscoVoiceDnisMIB 2 }
358cvDnisMIBNotifications      OBJECT IDENTIFIER ::=
359                                { cvDnisMIBNotificationPrefix 0 }
360
361cvDnisMappingUrlInaccessible NOTIFICATION-TYPE
362        OBJECTS {
363            cvDnisMappingUrl,
364            cvDnisMappingUrlAccessError
365        }
366        STATUS current
367        DESCRIPTION
368            "Inaccessible DNIS mapping url notification. A
369             cvDnisMappingUrlInaccessible notification is sent if the
370             specified url is not accessible.
371            "
372        ::= { cvDnisMIBNotifications 1 }
373
374cvDnisMIBConformance OBJECT IDENTIFIER ::=
375                                { ciscoVoiceDnisMIB 3 }
376cvDnisMIBCompliances OBJECT IDENTIFIER ::=
377                                { cvDnisMIBConformance 1 }
378cvDnisMIBGroups      OBJECT IDENTIFIER ::=
379                                { cvDnisMIBConformance 2 }
380
381-- compliance statements
382
383cvDnisMIBCompliance MODULE-COMPLIANCE
384        STATUS      current
385        DESCRIPTION
386            "The compliance statement for entities which
387             implement the CISCO VOICE DNIS MIB"
388        MODULE      -- this module
389
390        GROUP cvDnisGroup
391        DESCRIPTION
392            "This group is mandatory for mapping of voice calls on an
393             agent through Dialer Number Information Service (DNIS).
394            "
395
396	GROUP cvDnisNotificationGroup
397	DESCRIPTION
398	    "This group is mandatory for notifying if the specified
399	     url is not accessible.
400	    "
401        ::= { cvDnisMIBCompliances 1 }
402
403
404-- units of conformance
405
406
407cvDnisGroup OBJECT-GROUP
408        OBJECTS {
409            cvDnisMappingUrl,
410            cvDnisMappingRefresh,
411            cvDnisMappingUrlAccessError,
412            cvDnisMappingStatus,
413            cvDnisNodeUrl,
414            cvDnisNodeModifiable,
415            cvDnisNodeStatus
416        }
417        STATUS      current
418        DESCRIPTION
419            "A collection of objects provides a relation between a
420             DNIS map name and the DNIS entries belonging to that map
421             name.
422            "
423        ::= { cvDnisMIBGroups 1 }
424
425cvDnisNotificationGroup NOTIFICATION-GROUP
426        NOTIFICATIONS {
427            cvDnisMappingUrlInaccessible
428        }
429        STATUS      current
430        DESCRIPTION
431            "The notifications for CISCO-VOICE-DNIS-MIB.
432            "
433        ::= { cvDnisMIBGroups 2 }
434END
435