1-- *********************************************************************
2-- CISCO-ANNOUNCEMENT-MIB.my:
3--            Media Gateway Announcement MIB file
4--
5-- March 2003, Yizhong Shen
6--
7-- Copyright (c) 2003 by Cisco Systems, Inc.
8-- All rights reserved.
9--
10-- *********************************************************************
11
12CISCO-ANNOUNCEMENT-MIB DEFINITIONS ::= BEGIN
13
14IMPORTS
15    MODULE-IDENTITY,
16    OBJECT-TYPE,
17    Unsigned32          FROM SNMPv2-SMI
18    RowStatus           FROM SNMPv2-TC
19    MODULE-COMPLIANCE,
20    OBJECT-GROUP        FROM SNMPv2-CONF
21    InetAddress,
22    InetAddressType     FROM INET-ADDRESS-MIB
23    SnmpAdminString     FROM SNMP-FRAMEWORK-MIB
24    cmgwIndex           FROM CISCO-MEDIA-GATEWAY-MIB
25    ciscoMgmt           FROM CISCO-SMI;
26
27ciscoAnnouncementMIB MODULE-IDENTITY
28    LAST-UPDATED "200303250000Z"
29    ORGANIZATION "Cisco Systems, Inc."
30    CONTACT-INFO
31            "       Cisco Systems
32                    Customer Service
33
34                Postal: 170 W Tasman Drive
35                        San Jose, CA 95134
36                        USA
37
38                        Tel: +1 800 553-NETS
39
40                E-mail: cs-voice-gateway@cisco.com"
41
42    DESCRIPTION
43            "This MIB defines the objects for announcement
44             system supported on media gateway.
45
46             With announcement system setup, media gateway will
47             have the capability to play pre-recorded audio files.
48             The audio files can be played in either direction
49             over existing connections (calls) or towards the Time
50             Division Multiplexed (TDM) network on a TDM endpoint
51             that is terminated on the media gateway.
52            "
53    REVISION "200303250000Z"
54    DESCRIPTION
55             "Initial version of the MIB."
56
57    ::= { ciscoMgmt 8888 }
58
59ciscoAnnouncementMIBNotifs          OBJECT IDENTIFIER ::=
60                                    { ciscoAnnouncementMIB 0 }
61
62ciscoAnnouncementMIBObjects         OBJECT IDENTIFIER ::=
63                                    { ciscoAnnouncementMIB 1}
64
65ciscoAnnouncementMIBConformance     OBJECT IDENTIFIER  ::=
66                                    { ciscoAnnouncementMIB 2}
67
68cannoGeneric                   OBJECT IDENTIFIER ::=
69                                    { ciscoAnnouncementMIBObjects 1 }
70cannoControlConfig             OBJECT IDENTIFIER ::=
71                                    { cannoGeneric 1 }
72cannoAudioFileConfig        OBJECT IDENTIFIER ::=
73                                    { cannoGeneric 2 }
74
75-- *********************************************************************
76--
77-- Announcement Control Table
78--
79-- *********************************************************************
80
81cannoControlTable   OBJECT-TYPE
82    SYNTAX        SEQUENCE OF CannoControlEntry
83    MAX-ACCESS    not-accessible
84    STATUS        current
85    DESCRIPTION
86        "The MIB objects in this table are used to control
87         the announcement system of media gateway.
88        "
89    ::= { cannoControlConfig 1 }
90
91cannoControlEntry OBJECT-TYPE
92    SYNTAX         CannoControlEntry
93    MAX-ACCESS     not-accessible
94    STATUS         current
95    DESCRIPTION
96        "An entry in this table contains the control parameters of
97         the announcement system on media gateway.
98        "
99    INDEX { cmgwIndex }
100    ::= { cannoControlTable 1 }
101
102CannoControlEntry ::=
103    SEQUENCE {
104        cannoAudioFileServerName     SnmpAdminString,
105        cannoDnResolution            INTEGER,
106        cannoIpAddressType           InetAddressType,
107        cannoIpAddress               InetAddress,
108        cannoAgeTime                 Unsigned32,
109        cannoSubDirPath              SnmpAdminString,
110        cannoReqTimeout              Unsigned32,
111        cannoMaxPermanent            Unsigned32
112        }
113
114cannoAudioFileServerName  OBJECT-TYPE
115    SYNTAX           SnmpAdminString (SIZE (0..64))
116    MAX-ACCESS       read-write
117    STATUS           current
118    DESCRIPTION
119        "This object specifies the domain name of an announcement
120         file server that resides in an IP network and is reachable
121         from the media gateway.
122         The default value of this object is NULL string(size is 0).
123         Before using any object in this table, this object should
124         be configured to non NULL.
125        "
126    DEFVAL { "" }
127    ::= { cannoControlEntry 1 }
128
129cannoDnResolution  OBJECT-TYPE
130    SYNTAX        INTEGER{
131                         internalOnly(1),
132                         externalOnly(2)
133                  }
134    MAX-ACCESS    read-write
135    STATUS        current
136    DESCRIPTION
137        "This object specifies the domain name resolution for
138         the domain name of the Announcement File server which is
139         specified by the cannoAudioFileServerName object.
140
141         If this object is set to internalOnly(1), the IP address
142         associated with the file server (cannoAudioFileServerName) will
143         be determined by the cannoIpAddress object.
144        "
145    DEFVAL { internalOnly }
146    ::= { cannoControlEntry 2 }
147
148cannoIpAddressType  OBJECT-TYPE
149    SYNTAX        InetAddressType
150    MAX-ACCESS    read-write
151    STATUS        current
152    DESCRIPTION
153        "This object specifies the IP address type of
154         cannoIpAddress.
155
156         This object is not applicable when cannoDnResolution
157         is set to externalOnly(2).
158        "
159    DEFVAL { ipv4 }
160    ::= { cannoControlEntry 3 }
161
162cannoIpAddress  OBJECT-TYPE
163    SYNTAX        InetAddress
164    MAX-ACCESS    read-write
165    STATUS        current
166    DESCRIPTION
167        "This object specifies the IP address associated with the
168         cannoAudioFileServerName.
169
170         This object is not applicable when cannoDnResolution
171         is set to externalOnly(2).
172        "
173    DEFVAL { '00000000'h }
174    ::= { cannoControlEntry 4 }
175
176cannoAgeTime         OBJECT-TYPE
177    SYNTAX           Unsigned32 (0..65535)
178    UNITS            "minutes"
179    MAX-ACCESS       read-write
180    STATUS           current
181    DESCRIPTION
182        "This object specifies the maximum life-span(in minutes) of
183         the dynamic announcement files in the cache.
184
185         A dynamic announcement file starts aging as soon as it is
186         brought into the cache from the file server. When a dynamic
187         file age crosses the 'cannoAgeTime' threshold, the file
188         will be removed from the cache.
189
190         The value zero time specifies that 'cannoAgeTime' is
191         disabled.
192        "
193    DEFVAL { 10080 }
194    ::= { cannoControlEntry 5 }
195
196cannoSubDirPath      OBJECT-TYPE
197    SYNTAX           SnmpAdminString (SIZE (0..255))
198    MAX-ACCESS       read-write
199    STATUS           current
200    DESCRIPTION
201        "This object specifies the directory path under the default
202         TFTP directory in the Announcement File server for
203         announcement files.
204
205         The individual characters in cannoSubDirPath may be
206         alphanumeric characters, forward slashes, backward slashes,
207         periods, dashes, and underscores, but no embedded spaces.
208         The last character of cannoSubDirPath must not be a dash.
209        "
210    DEFVAL { "" }
211    ::= { cannoControlEntry 6 }
212
213cannoReqTimeout      OBJECT-TYPE
214    SYNTAX           Unsigned32 (0..50)
215    UNITS            "seconds"
216    MAX-ACCESS       read-write
217    STATUS           current
218    DESCRIPTION
219        "This object specifies the time for a play announcement
220         request to be serviced.
221         The cannoReqTimeout is the time within which an
222         announcement must start playing after receiving announcement
223         request.
224
225         If the announcement system cannot start playing the
226         announcement within cannoReqTimeout seconds since the
227         request was received, the play request will be aborted.
228
229         The value zero time specifies that 'cannoReqTimeout' is
230         disabled.
231        "
232    DEFVAL { 5 }
233    ::= { cannoControlEntry 7 }
234
235cannoMaxPermanent    OBJECT-TYPE
236    SYNTAX           Unsigned32 (0..500)
237    MAX-ACCESS       read-write
238    STATUS           current
239    DESCRIPTION
240        "This object specifies the maximum number of permanent
241         announcement files that can be added to the media gateway.
242
243         The space on media gateway cache is reserved for the
244         cannoMaxPermanent number of permanent announcement files
245         and the permanent announcement files should be stored on media
246         gateway cache forever until to be deleted.
247
248         The value zero specifies that media gateway only support
249         dynamic announcement file.
250        "
251    DEFVAL { 41 }
252    ::= { cannoControlEntry 8 }
253
254-- *********************************************************************
255--
256-- Announcement AUDIO File Table
257--
258-- *********************************************************************
259
260cannoAudioFileTable   OBJECT-TYPE
261    SYNTAX        SEQUENCE OF CannoAudioFileEntry
262    MAX-ACCESS    not-accessible
263    STATUS        current
264    DESCRIPTION
265        "The MIB objects in this table contain information to
266         manage audio announcement files.
267        "
268    ::= { cannoAudioFileConfig 1 }
269
270cannoAudioFileEntry   OBJECT-TYPE
271    SYNTAX        CannoAudioFileEntry
272    MAX-ACCESS    not-accessible
273    STATUS        current
274    DESCRIPTION
275        "Each entry in the cannoAudioFileTable consists of
276         management information for a specific announcement file,
277         which include file descriptor, name, type, age, duration,
278         number of cycles, status.
279        "
280    INDEX { cmgwIndex, cannoAudioFileNumber }
281    ::= { cannoAudioFileTable 1 }
282
283
284CannoAudioFileEntry ::=
285    SEQUENCE {
286        cannoAudioFileNumber          Unsigned32,
287        cannoAudioFileDescr           SnmpAdminString,
288        cannoAudioFileName            SnmpAdminString,
289        cannoAudioFileStatus          INTEGER,
290        cannoAudioFileOperStatus      INTEGER,
291        cannoAudioFilePlayNoc         Unsigned32,
292        cannoAudioFileDuration        Unsigned32,
293        cannoAudioFileType            INTEGER,
294        cannoAudioFileAge             Unsigned32,
295        cannoAudioFileAdminDeletion   INTEGER,
296        cannoAudioFileRowStatus       RowStatus
297        }
298
299cannoAudioFileNumber     OBJECT-TYPE
300    SYNTAX           Unsigned32 (1..9999)
301    MAX-ACCESS       not-accessible
302    STATUS           current
303    DESCRIPTION
304        "A unique index to identify announcement file
305         to be used in media gateway.
306        "
307    ::= { cannoAudioFileEntry 1 }
308
309cannoAudioFileDescr     OBJECT-TYPE
310    SYNTAX           SnmpAdminString (SIZE (0..64))
311    MAX-ACCESS       read-create
312    STATUS           current
313    DESCRIPTION
314        "A textual string containing information about the
315         audio file.
316         User can store any information to this object such as
317         which customer using this audio file, usage of the
318         audio file, etc..
319        "
320    ::= { cannoAudioFileEntry 2 }
321
322cannoAudioFileName         OBJECT-TYPE
323    SYNTAX            SnmpAdminString (SIZE (0..64))
324    MAX-ACCESS        read-create
325    STATUS            current
326    DESCRIPTION
327        "This object specifies the name of a valid announcement file
328         which has been stored in cannoAudioFileTable. This file name
329         may include path or subdirectory information.
330
331         The individual characters in this name may be alphanumeric
332         characters, forward slashes, backward slashes, periods,
333         dashes, and underscores, but no embedded spaces.  The last
334         character of the name must not be a dash or a forward slash.
335        "
336    ::= { cannoAudioFileEntry 3 }
337
338cannoAudioFileStatus   OBJECT-TYPE
339    SYNTAX        INTEGER{
340                          cached         (1),
341                          loading        (2),
342                          invalidFile    (3),
343                          loadFailed     (4),
344                          notCached      (5)
345                         }
346    MAX-ACCESS    read-only
347    STATUS        current
348    DESCRIPTION
349        "This object indicates the status of the the audio file:
350
351         cached     (1): the file successfully downloaded to media
352                         gateway cache
353                         cache is the memory on media gateway which
354                         is used to store announcement files.
355         loading    (2): the file in process of downloading
356         invalidFile(3): the file on Announcement File server is too
357                         large or corrupted
358         loadFailed (4): timeout when trying to download the file
359         notCached  (5): the file is not in cache
360
361         Note:
362           The cache is the memory on media gateway which is used to
363           store announcement files. Some of space on the cache is
364           reserved for the permanent announcement files (refer to
365           'cannoMaxPermanent'), the rest of cache is for the
366           dynamic announcement files.
367
368           The 'notCached' is applicable only for the dynamic
369           announcement files in the following cases:
370           1. The dynamic file age reaches to 'cannoAgeTime', the
371              status of the file will be changed from 'cached' to
372              'notCached'.
373           2. If the cache is full for the dynamic files, and if user
374              try to add a new dynamic file, the one of the dynamic
375              files on cache  will be removed by LRU algorithm. The
376              status of that file will be changed from 'cached' to
377              'notCached'.
378           3. If there is no space for the dynamic files (whole cache
379              is reserved for the permanent file), the status of the
380              dynamic files is set to 'notCached'.
381         "
382    ::= { cannoAudioFileEntry 4 }
383
384cannoAudioFileOperStatus   OBJECT-TYPE
385    SYNTAX        INTEGER{
386                          inPlaying  (1),
387                          notPlaying (2),
388                          delPending (3)
389                         }
390    MAX-ACCESS    read-only
391    STATUS        current
392    DESCRIPTION
393        "This object indicates the current operational status of
394         the entry:
395
396         inPlaying  (1): the file is in playing
397         notPlaying (2): the file is not in playing
398         delPending (3): deletion is pending because the file is
399                         in playing
400         "
401    ::= { cannoAudioFileEntry 5 }
402
403cannoAudioFilePlayNoc          OBJECT-TYPE
404    SYNTAX            Unsigned32 (0..2147483647)
405    MAX-ACCESS        read-create
406    STATUS            current
407    DESCRIPTION
408        "This object specifies number of cycles the announcement file
409         is played.
410         This object is used only when the Play Announcement signal
411         from the MGC does not include a 'cannoAudioFilePlayNoc'
412         parameter.
413         The value zero  is used to represent an announcement that
414         continuously plays or loops.
415        "
416    DEFVAL { 1 }
417    ::= { cannoAudioFileEntry 6 }
418
419cannoAudioFileDuration   OBJECT-TYPE
420   SYNTAX            Unsigned32 (0..4294967295)
421   UNITS             "10 milliseconds"
422   MAX-ACCESS        read-create
423   STATUS            current
424
425   DESCRIPTION
426       "This object indicates the duration to play the
427        announcement for one cycle, it is applicable only for the
428        fixed announcement play.
429        This object is used only when the Play Announcement signal
430        from the MGC does not include a 'cannoAudioFileDuration'
431        parameter.
432
433        For the fixed announcement play, the 'cannoAudioFilePlayNoc'
434        and the 'cannoAudioFileDuration' are used together to
435        determine how long the announcement is to be played.
436
437        The value zero indicates that this is a variable announcement
438        play and only the 'cannoAudioFilePlayNoc' is used to determine
439        the play time.
440       "
441   DEFVAL { 0 }
442    ::= { cannoAudioFileEntry 7 }
443
444cannoAudioFileType     OBJECT-TYPE
445    SYNTAX        INTEGER{
446                          dynamic   (1),
447                          permanent (2)
448                  }
449    MAX-ACCESS        read-create
450    STATUS            current
451    DESCRIPTION
452        "This object specifies announcement file type.
453
454         dynamic(1)  : Dynamic file can be removed from cache if
455                       file age(cannoAudioFileAge) reaches cannoAgeTime
456                       or according to LRU algorithm when cache is full
457
458         permanent(2): Permanent file should be stored on cache forever
459                       except to be deleted.
460                       The max number of permanent file can be stored on
461                       cache is determined by cannoMaxPermanent.
462        "
463    DEFVAL { dynamic }
464    ::= { cannoAudioFileEntry 8 }
465
466cannoAudioFileAge         OBJECT-TYPE
467    SYNTAX           Unsigned32 (0..65535)
468    UNITS            "minutes"
469    MAX-ACCESS       read-only
470    STATUS           current
471    DESCRIPTION
472        "This object indicates that announcement file age in cache, it
473         is only for dynamic file.
474
475         A dynamic announcement file starts aging as soon as it
476         is brought into the cache from the Announcement File server.
477         When the 'cannoAudioFileAge' reach to 'cannoAgeTime', then
478         the file will be removed from cache.
479
480         This object is not applicable for two cases:
481         (1)For the permanent files, because the the permanent files
482            should be stored on cache forever except to be deleted.
483         (2)The 'cannoAgeTime' is set to zero which means the
484            cannoAgeTime is infinite and 'cannoAudioFileAge' can never
485            reach the cannoAgeTime.
486        "
487    ::= { cannoAudioFileEntry 9 }
488
489cannoAudioFileAdminDeletion   OBJECT-TYPE
490    SYNTAX        INTEGER{
491                          gracefully  (1),
492                          forcefully  (2)
493                         }
494    MAX-ACCESS    read-create
495    STATUS        current
496    DESCRIPTION
497        "This object specifies entry deletion behavior:
498
499         gracefully(1): gateway will not stop the current announcement
500                        file playing (till it completes) while deleting
501                        this entry.
502         forcefully(2): gateway will immediately stop current
503                        announcement file playing while deleting this
504                        entry
505        "
506    DEFVAL { gracefully }
507    ::= { cannoAudioFileEntry 10 }
508
509cannoAudioFileRowStatus        OBJECT-TYPE
510    SYNTAX            RowStatus
511    MAX-ACCESS        read-create
512    STATUS            current
513    DESCRIPTION
514        "This object is used to create or delete an entry.
515
516         The mandatory objects for creating an entry in this table:
517           'cannoAudioFileName'
518
519         The following objects are not allowed to be modified after
520         the entry to be added:
521           'cannoAudioFileName'
522           'cannoAudioFileType'
523        "
524    ::= { cannoAudioFileEntry 11 }
525
526
527-- *********************************************************************
528-- Conformance
529-- *********************************************************************
530
531
532cannoMIBCompliances     OBJECT IDENTIFIER  ::=
533                                    { ciscoAnnouncementMIBConformance 1}
534cannoMIBGroups          OBJECT IDENTIFIER  ::=
535                                    { ciscoAnnouncementMIBConformance 2}
536
537--
538-- Conformance and compliance statements statements
539--
540
541cannoMIBCompliance MODULE-COMPLIANCE
542    STATUS     current
543    DESCRIPTION
544            " The compliance statement for Announcement File"
545    MODULE  -- this module
546        MANDATORY-GROUPS { cannoControlGroup,
547                           cannoAudioFileGroup
548                         }
549    ::= { cannoMIBCompliances 1 }
550--
551-- units of conformance
552--
553-- MIB Groups
554--
555
556cannoControlGroup OBJECT-GROUP
557         OBJECTS {
558                  cannoAudioFileServerName,
559                  cannoDnResolution,
560                  cannoIpAddressType,
561                  cannoIpAddress,
562                  cannoAgeTime,
563                  cannoSubDirPath,
564                  cannoReqTimeout,
565                  cannoMaxPermanent
566                 }
567    STATUS    current
568    DESCRIPTION
569            "This group contains objects related to announcement
570             system control on media gateway.
571             "
572    ::= { cannoMIBGroups 1 }
573
574cannoAudioFileGroup OBJECT-GROUP
575         OBJECTS {
576                  cannoAudioFileDescr,
577                  cannoAudioFileName,
578                  cannoAudioFileStatus,
579                  cannoAudioFileOperStatus,
580                  cannoAudioFilePlayNoc,
581                  cannoAudioFileDuration,
582                  cannoAudioFileType,
583                  cannoAudioFileAge,
584                  cannoAudioFileAdminDeletion,
585                  cannoAudioFileRowStatus
586                 }
587    STATUS    current
588    DESCRIPTION
589            "This group contains objects related to announcement
590             files on media gateway.
591             "
592    ::= { cannoMIBGroups 2 }
593
594END
595