Intel 05-1832-002 IP Phone User Manual


 
288 Voice API for Windows Operating Systems Library Reference — November 2003
dx_mreciottdata( ) — record voice data from two TDM bus time slots
On Springware boards, because the DSP sums the PCM values of the two TDM bus time slots
before processing them during transaction recording, all voice-related terminating conditions
or features such as DTMF detection, Automatic Gain Control (AGC), and sample rate change
will apply to both time slots. In other words, for terminating conditions specified by a DTMF
digit, either time slot containing the DTMF digit will stop the recording. Also, maximum
silence length requires simultaneous silence from both time slots to meet the specification.
If both time slots transmit a DTMF digit at the same time, the recording will contain an
unintelligible result.
Since this API uses dx_listen( ) to connect the channel to the first specified time slot, any error
returned from dx_listen( ) will terminate the API with the error indicated.
The API will connect the channel to the time slot specified in the SC_TSINFO data structure
sc_tsarrayp[0] field and remain connected after the function has been completed. Both
sc_tsarrayp[0] and sc_tsarrayp[1] must be within the range 0 to 1023. No checking is done
to verify that sc_tsarrayp[0] or sc_tsarrayp[1] has been connected to a valid channel.
Upon termination of the dx_mreciottdata( ) function, the recording channel continues to
listen to the first time slot (pointed to by sc_tsarray[0]).
The application should check for a TDX_RECORD event with T_STOP event data after
executing a dx_stopch( ) function during normal and transaction recording. This will ensure
that all data is written to the disk.
On Springware boards, the recording channel can only detect a loop current drop on a physical
analog front end that is associated with that channel. If you have a configuration where the
recording channel is not listening to its corresponding front end, you will have to design the
application to detect the loop current drop and issue a dx_stopch( ) to the recording device.
The recording channel hook state should be off-hook while the recording is in progress.
The transaction record feature may not detect a DTMF digit over a dial tone.
When using dx_mreciottdata( ) and a dial tone is present on one of the time slots, digits will
not be detected until dial tone is no longer present. This is because the DSP cannot determine
the difference between dial tone and DTMF tones.
On DM3 boards, tone termination conditions such as DTMF and TONE apply only to the
primary input of the function; that is, the TDM time slot specified in the SC_TSINFO data
structure sc_tsarrayp[0] field.
!
!!
! Errors
If the function returns -1, use the Standard Runtime Library (SRL) Standard Attribute function
ATDV_LASTERR( ) to obtain the error code or use ATDV_ERRMSGP( ) to obtain a descriptive
error message. One of the following error codes may be returned:
EDX_BADDEV
Invalid device handle
EDX_BADIOTT
Invalid DX_IOTT entry
EDX_BADPARM
Invalid parameter passed
EDX_BADTPT
Invalid DV_TPT entry