You are here: CSP Developer’s Guide: Overview > 8 DSP Series 2 Cards Product Description > File Storage

File Storage

Introduction

Recorded voice files are stored remotely on one or more separate Network File System servers and in volatile memory. Each DSP Series 2 card can store up to three hours of files in a local cache. This cache holds files to be played as well as temporary recordings. Files are stored in cache blocks of one second, and longer messages link multiple blocks together.

The File Record/Playback function supports the playing of pre-recorded voice files referenced by a universal, 32-bit file ID. Although it is not necessary to use a unique file ID for each file, having a unique ID allows you to track the status of individual files in alarms and status messages.

Vocabulary Index File

You must use an ASCII Vocabulary Index File (VIF) to track File IDs below 0x00100000.

If the File ID is 0x00100000 or higher, you need to include the TLV 0x05E1 (File Format) and TLV 0x05E2 (File Location), in addition to the TLV 0x05E0(File ID) in order to access them.

You can modify the VIF using any ASCII text editor. Make sure that the File IDs you use for temporary, internal recordings are always different from the File IDs you use for Playback Files. Consider designating one range for the first type and another range for the second type.

Make sure that the File IDs you use for temporary, internal recordings are always different from the File IDs you use for Playback Files. Consider designating one range for the first type and another range for the second type.

Each line of the file corresponds to a valid File ID that can be played. The information elements on each line must be separated by white space, and each line must end in a carriage return and a line feed.

The size of the VIF is 2 MB. The size allows the DSP Series 2 card to handle more announcements, an important capability when adding multiple language support for global customers.

A VIF supports up to 40,000 lines without noticeable pre-start delay. If a VIF has greater than 40,000 lines, it may take approximately one second before the file starts to play.

When the VIF is updated, all caches are cleared.

See VIF Format.

Vocabulary Index File (VIF) Bypass

You can indicate a cached file’s location, format, and encoding type in the Play File Start message (0x011B) instead of using the VIF.

NFS File Failure

If an NFS file fails and is not covered by redundancy, the CSP retries the file a number of times (you can configure this number). If the file fails to play after the configured number of retries, the file is designated as "bad" and there will be no more attempts to play the file. This way, other files from other servers are not delayed.

Backward Compatibility

You can use the Recorded Announcement Connect (0x0055) message with the DSP Series 2 card, but only for Recorded Announcement IDs below 4,096 stored on the DSP Card. To store files on an NFS and to take advantage of all the voice file functionality of the DSP Series 2 card, you must use the Resource Connect message.

Permanent Recordings

You should use higher File IDs for longer files and for files you want to keep for a significant period. File IDs of 0x00100000 or higher are not stored on the card. They are stored on a separate NFS server, accessed through the I/O card. These files are not stored in cache, but as they are being played, they temporarily use a small amount of cache, so you should consider this when designing your cache management.

If the file ID is 0x00100000 or higher and the DSP Series 2 card is configured for Network File System (NFS) the DSP Series 2 card automatically starts retrieving this file from the NFS server. The location of the file and any other information that is needed about this file such as encoding, offset, and length, is sent in either the Play File Start or Record File Start message. Files with these high IDs cannot be chained.

Temporary Recordings

Temporary recordings, such as those used for directory assistance requests, should use File IDs below 0x00100000. The host application must play back the temporary file on the same DSP Series 2 card that did the recording.

These temporary files are erased after being played to clear space for newer files. However, because you can't replicate temporary recordings such as directory assistance requests once they are erased, they are always erased last.

Files below 0x00100000 originate on the NFS server but they are cached on the DSP Series 2 card. Make sure that the File IDs you use for temporary recordings are always different from the File IDs you use for permanent files. Consider designating one range for the first type and another range for the second type.

If the DSP Series 2 card is configured to use NFS and the File ID is below 0x00100000, the DSP Series 2 card first checks its cache. If the File ID is not found in cache, the DSP Series 2 card checks the NFS server.

File Chaining

Using the Play File Start message, you can transmit up to 32 chained voice files stored on the card. Only file IDs listed in the Vocabulary File Index can be chained. File IDs below 4096 support existing RAN messages, and up to 64 of these can be chained.

Summary of File IDs

| 0x00100000 and higher | 4096-FFFFF | File IDs 0-4095
Storage | Stored on an external network server, accessed via I/O card | Cached on the DSP 2 card after being downloaded once | Cached on the DSP 2 card
Chaining | Cannot be chained | Up to 32 can be chained, using the Play File Start message | Up to 32 can be chained using the Play File Start message Up to 64 can be chained using the Recorded Announcement Connect message
Tracking | Use the File Location TLV or VIF Bypass feature | Use the Vocabulary Index File or VIF Bypass feature | Use the Vocabulary Index File or VIF Bypass feature
Compatible with RAN messages | No | No | Yes
Queueing | Yes | Yes | Yes, using the Play File Start message

Digital Signal Processor
American Standard Code for Information Interchange
Tag-Length-Value block. A standardized block that allows data to inserted in a standard way into API messages.
See Recorded Announcements.