User`s guide

Dialogic
®
System Release 6.0 PCI for Windows
®
Release Update, Rev 62 — January 30, 2008 53
Dialogic Corporation
1.5.2 Implementation Guidelines
The following guidelines apply when implementing the media channel reset capability
using the Dialogic
®
Voice API:
It is recommended that you issue the function in asynchronous mode for more
efficient processing. In synchronous mode, the calling thread is blocked until the
function completes, which may take up to a minute in worst-case scenarios.
The dx_resetch( ) function is intended for use on channels that are stuck and not
responding. Do not use it in place of dx_stopch( ). Use dx_resetch( ) only if you do
not receive an event within 30 seconds of when it’s expected. Overuse of this function
creates unnecessary overhead and may affect system performance.
If you call dx_resetch( ) immediately following dx_stopch( ) without waiting at least
30 seconds for dx_stopch( ) to complete, you will not receive events, such as
TDX_PLAY and TDX_RECORD, even if the stop operation is successful and the
channel was not stuck. Instead, you will only receive the TDX_RESET event if the
channel recovery is successful or the TDX_RESETERR event if the channel is not
recoverable.
If you call dx_resetch( ) without first using dx_stopch( ) to stop the channel, the
Voice library will internally call dx_stopch( ) and wait 30 seconds for it to complete. If
the internal stop channel is successful, you will receive the TDX_RESET event only. If
the internal stop channel is unsuccessful, the Voice library will then call
dx_resetch( ). Once a reset is attempted, you will receive the TDX_RESET event if
the channel recovery is successful or the TDX_RESETERR event if the channel is not
recoverable.
Unrecoverable channels are written to a log file in the DebugAngel tool or the Runtime
Trace Facility (RTF) tool. See the Dialogic
®
System Software Diagnostics Guide for
more information on these tools.
The following guidelines apply when implementing the media channel reset capability
using the Dialogic
®
Continuous Speech Processing (CSP) API:
The guidelines described for dx_resetch( ) and dx_stopch( ) apply to the
ec_resetch( ) and ec_stopch( ) functions in the CSP API.
For CSP applications, it is recommended that you use ec_resetch( ) since this
function resets both the voice and the CSP channels. The dx_resetch( ) function
resets the voice channels only.
1.5.3 Restrictions and Limitations
The following restrictions and limitations apply to the media channel reset feature:
This feature only addresses scenarios where the firmware and the host library have
lost synchronization or an event has not been propagated. DSP crashes, catastrophic
firmware failures (killtasks), or unsynchronized firmware state machines are not
recoverable without redownload of the board.
This feature only addresses channels that become stuck while performing play and
record, tone generation, or FSK operations. It also addresses channels that become
stuck during CSP play or record operations.