142 Voice API Programming Guide — June 2005
Cached Prompt Management
2. Call SRLGetPhysicalBoardName( ) to return the physical board name, which is in the form
brdBn, such as brdB1. This function is passed the AUID of the board from step 1. For
information on this function, see the Standard Runtime Library API Library Reference.
3. Call dx_open( ) with brdBn as the device name and get a handle to the physical board device.
4. Use dx_play( ) on a channel device with IO_CACHED specified in the DX_IOTT structure
io_type field. If cached prompt capability is not supported, the function will return
EDX_BADPROD error. For a description of this function, see the Voice API Library
Reference.
12.2.2 Downloading Cached Prompts to a Board
Perform the procedure for downloading a cached prompt to a board at the start of the application or
reinitialization of the board, or periodically during runtime. The steps are as follows:
1. Use dx_getcachesize( ) on the physical board handle to determine the total size of memory
available on the physical board or the remaining size of cache available for cached prompts.
See section Section 12.2.1, “Discovering Cached Prompt Capability”, on page 141 for
information on obtaining the physical board handle.
2. On Linux, use the Linux open command to open the file to be cached. On Windows, use
dx_fileopen() to open the file to be cached.
3. After determining that enough memory is available, use dx_cacheprompt( ) on the physical
board device to cache the file in the board memory.
For a description of these functions, see the Voice API Library Reference.
12.2.3 Playing Cached Prompts
Call dx_play( ) or dx_playiottdata( ) on a channel device to play the prompt. Specify
IO_CACHED in the DX_IOTT structure io_type field.
If running in asynchronous mode, the TDX_CACHEPROMPT event indicates termination of the
play function.
If playing multiple prompts from different sources, see the example code in Section 12.3, “Cached
Prompt Management Example Code”, on page 144 for more information.
12.2.4 Recovering from Errors
The following are some errors that may occur while loading a cached prompt:
If you specify an invalid physical board handle, this produces EDX_BADPARM.
To avoid this situation, be sure to specify a valid physical board handle in the form brdBn.
If there is an error in specifying the data source (DX_IOTT), this produces EDX_BADIOTT.
To troubleshoot this error, check the DX_IOTT structure.