




DV_TPT Structure
The DV_TPT termination parameter table sets termination conditions for a range of Dialogic products. The valid values for the DV_TPT when using a Voice board are contained in this section.
The DV_TPT structure is used to set I/O function termination conditions. This structure is used by the following I/O functions:
The I/O functions will terminate when one of the conditions set in the DV_TPT structure occurs. If you set more than one termination condition, the first one that occurs will terminate the I/O function. The DV_TPT structures can be configured as a linked list or array, with each DV_TPT specifying a terminating condition.
The structure has the following format:
typedef struct DV_TPT {
unsigned short tp_type; /* Flags describing this entry */
unsigned short tp_termno; /* Termination Parameter number */
unsigned short tp_length; /* Length of terminator */
unsigned short tp_flags; /* Parameter attribute flag */
unsigned short tp_data; /* Optional additional data */
unsigned short rfu; /* Reserved */
DV_TPT *tp_nextp; /* Pointer to next termination
* parameter if IO_LINK set
*/
}DV_TPT;
Each field is defined in the sections that follow. Table 19, located after the field descriptions, contains a summary of the valid field settings for each termination condition.
tp_type
tp_type specifies whether the structure is part of a linked list, part of an array, or the last DV_TPT entry in the DV_TPT table. Enter one of the following defines in tp_type:
|
IO_LINK
|
- tp_nextp points to next DV_TPT structure
|
IO_EOT
|
|
IO_CONT
|
- next DV_TPT entry is contiguous
|
tp_termno
tp_termno specifies the termination condition. The Voice device termination defines are
|
DX_MAXDTMF
|
- Maximum number of digits received
|
DX_MAXSIL
|
- Maximum length of silence
|
DX_MAXNOSIL
|
- Maximum length of non-silence
|
DX_LCOFF
|
|
DX_IDDTIME
|
- Maximum delay between digits
|
DX_MAXTIME
|
|
DX_DIGMASK
|
|
DX_PMOFF
|
|
DX_PMON
|
|
DX_DIGTYPE
|
- Digit termination for user-defined tone. (D/21D, D/41D, D/21E, D/41E, D/41ESC, D/81A, D/12x, D/160SC-LS, D/240SC, D/240SC-T1, D/300SC-E1 and D/320SC only).
|
DX_TONE
|
- Tone On/Off termination (D/21D, D/41D, D/41E, D/41ESC, D/81A, D/12x, D/160SC-LS, D/240SC, D/240SC-T1, D/300SC-E1 and D/320SC onlyGTD term conditions)
|
A more detailed description of these I/O terminations is contained in the Voice Software Reference: Voice Features Guide.
- NOTE:
- When using the DX_PMON and DX_PMOFF termination conditions, some of the DV_TPT fields are set differently from the other termination conditions.
You can call the Extended Attribute function ATDX_TERMMSK( ) to determine all the terminating conditions that occurred. This function returns a bitmap of terminating conditions. The "TM_" defines corresponding to this bitmap of terminating conditions are provided in the function description for ATDX_TERMMSK( ).
tp_length
tp_length refers to the length or size for each specific terminating condition. When tp_length represents length of time for a terminating condition, the maximum value allowed is 60000. The field can represent the following:
Table 19. tp_length Settings
tp_length value
|
tp_length description
|
|
time in 10 or 100ms units
|
Applies to any terminating condition that specifies termination after a specific period of time, up to 60000.
|
|
# of digits
|
Applies when using DX_MAXDTMF which specifies termination after a certain number of digits is received.
|
|
digit type
description
|
Applies when using DX_DIGTYPE which specifies termination on a user-specified digit. Specify the digit type in the high byte and the ASCII digit value in the low byte. See the Global Tone Detection functions in the Voice Software Reference: Voice Features Guide for information.
|
digit bit mask
|
Applies to DX_DIGMASK, which specifies a bit mask of digits to terminate on. Set the digit bitmask using one or more of the appropriate digit defines from the table below:
|
|
|
Digit
|
Digit Define
|
Digit Define
|
Digit Define
|
Digit
|
Digit Define
|
|
|
0
|
DM_0
|
|
|
|
|
|
|
1
|
DM_1
|
6
|
DM_6
|
#
|
DM_P
|
|
|
2
|
DM_2
|
7
|
DM_7
|
a
|
DM_A
|
|
|
3
|
DM_3
|
8
|
DM_8
|
b
|
DM_B
|
|
|
4
|
DM_4
|
9
|
DM_9
|
c
|
DM_C
|
|
|
5
|
DM_5
|
*
|
DM_S
|
d
|
DM_D
|
number of pattern repetitions
|
Applies to DX_PMOFF, which specifies the number of times a pattern should repeat before termination.
|
- NOTE:
- When DX_PMON is the termination condition, tp_length contains the tp_flags information. See the tp_flags description and also Using DX_PMOFF and DX_PMON section (in this appendix) for more information.
|
tp_flags
tp_flags is a bit mask representing various characteristics of the termination condition to use.
The defines for the termination flags are:
|
TF_EDGE
|
- termination condition is edge-sensitive
|
TF_LEVEL
|
- termination condition is level-sensitive
|
TF_CLREND
|
- history cleared when function terminates
|
TF_CLRBEG
|
- history cleared when function begins
|
TF_USE
|
- terminator used for termination
|
TF_SETINIT
|
- DX_MAXSIL only - initial length of silence to terminate on
|
TF_10MS
|
- set units of time to 10 ms (default is 100 ms)
|
TF_FIRST
|
- DX_IDDTIME only - start looking for termination condition (interdigit delay) to be satisfied after first digit is received
|
A set of default tp_flags values for the termination conditions is available. These default values are:
|
TF_MAXDTMF
|
(TF_LEVEL|TF_USE)
|
TF_MAXSIL
|
(TF_EDGE|TF_USE)
|
TF_MAXNOSIL
|
(TF_EDGE|TF_USE)
|
TF_LCOFF
|
(TF_LEVEL|TF_USE|TF_CLREND)
|
TF_IDDTIME
|
(TF_EDGE)
|
TF_MAXTIME
|
(TF_EDGE)
|
TF_DIGMASK
|
(TF_LEVEL)
|
TF_PMON
|
(TF_EDGE)
|
TF_TONE
|
(TF_LEVEL|TF_USE|TF_CLREND)
|
TF_DIGTYPE
|
(TF_LEVEL)
|
- NOTES:
- 1. DX_PMOFF and DX_PMON must be used in tandem.
|
- 2. DX_PMOFF does not have a default tp_flags value.
|
- The tp_flags value for DX_PMON is set in tp_length (i.e., TF_PMON is set in tp_length). See the tp_length description and also Using DX_PMOFF and DX_PMON section (in this appendix) for more information.
|
- 3. TF_IDDTIME or TF_MAXTIME must be specified in tp_flags if DX_IDDTIME or DX_MAXTIME are specified in tp_termno. Other flags may be set at the same time using an OR combination.
|
The bitmap for the tp_flags field is as follows:
Bits
|
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
Name
|
rfu
|
rfu
|
units
|
ini
|
use
|
beg
|
end
|
level
|
The description of each bit is listed below:
|
bit 0 (level):
|
If set, the termination condition is level-sensitive.
|
|
|
Level-sensitive means that if the condition is satisfied when the function starts, termination will occur immediately. Terminating conditions that can be level have a 'history' associated with them which records the state of the terminator before the function started. If this bit is not set, the termination condition is edge-sensitive and the function will not terminate unless the condition occurs after the function starts. The table below shows which terminating conditions can be edge-sensitive and which can be level-sensitive.
|
|
|
- NOTE:
- A level-sensitive termination condition only has to have occurred sometime in the history associated with that terminator to cause the function to terminate; the condition does not have to be present when the function starts in order to terminate the function.
|
|
|
Term. Condition
|
Level-sensitive
|
Edge-sensitive
|
|
|
DX_DIGTYPE
|
X
|
X
|
|
|
DX_MAXDTMF
|
X
|
X
|
|
|
DX_MAXSIL
|
X
|
X
|
|
|
DX_MAXNOSIL
|
X
|
X
|
|
|
DX_LCOFF
|
X
|
X
|
|
|
DX_DIGMASK
|
X
|
X
|
|
|
DX_IDDTIME
|
-
|
X
|
|
|
DX_MAXTIME
|
-
|
X
|
|
|
DX_PMON/OFF
|
-
|
X
|
|
|
DX_TONE
|
X
|
X
|
|
bit 1 (end):
|
If set, the history of this terminator will be cleared when the function terminates. This bit has special meaning for DX_IDDTIME. If set, the terminator will be started after the first digit is received. Otherwise it will be started as soon as the function is started.
|
|
bit 2 (beg):
|
If set, the history of this terminator will be cleared when the function starts. This bit will override the level bit (bit 0). If both are set, the history will be cleared and no past history of this terminator will be taken into account.
|
|
bit 3 (use):
|
If this bit is set, the terminator will be used for termination. If the bit is not set, the history for the terminator will be cleared (depending on bits 1 & 2), but the terminator will still not be used for termination. This bit is not valid for the following terminating conditions:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bit 4 (ini):
|
This bit is only used for DX_MAXSIL termination. If the termination is edge-sensitive and this bit is set, the tp_data field should contain an initial length of silence to terminate upon if silence is detected before non-silence. In general, the initial length of silence to terminate on in tp_data should be greater than the value in tp_length.
|
|
|
If the termination is level sensitive then this bit must be set to 0 and tp_length will be used for the termination.
|
|
bit 5 (units):
|
If set the units of time will be in 10 ms. The default is 100 ms units.
|
|
|
- NOTES:
- 1. The 10 ms timer resolution is only available with version 0.62 or later of the D/4x firmware.
|
|
|
- 2. tp_flags is used differently for DX_PMON.
|
tp_data
tp_data specifies optional additional data. This bit can be set as follows:
Table 20. tp_data Valid Values
Value in tp_termno
|
tp_data Entry
|
|
DX_MAXSIL
|
initial length of silence to terminate on
|
DX_PMOFF
|
maximum time of silence off
|
DX_PMON
|
maximum time of silence on
|
|
|
DX_TONEON - terminate after a tone-on event
|
|
|
DX_TONEOFF - terminate after a tone-off event
|
tp_nextp
tp_nextp contains a pointer to the next DV_TPT structure in a linked list. The tp_type field must be set to IO_LINK in this case.
The table that follows indicates how DV_TPT fields should be filled.
- NOTE:
- An asterisk indicates the default tp_flags setting, defined when tp_flags is set to TF_(term name), where (term name) is the suffix of the tp_termno setting, as in DX_(term name). To override defaults, set the bits in tp_flags individually, as required.
Table 21. DV_TPT Fields Settings Summary
- NOTE:
- The tp_flags column describes the effect of the field when set to one and not set to one. "*" indicates the default value for each bit. The defaults defines for the tp_flags field are listed in the tp_flags description in this appendix.
|
tp_termno
|
tp_type
|
tp_length
|
tp_flags:
not set
|
tp_flags:
set
|
tp_data
|
tp_nextp
|
DX_MAXDTMF
|
IO_LINK
IO_EOT
IO_CONT
|
max number of digits
|
bit 0: TF_EDGE
bit 1: no clr*
bit 2: no clr*
bit 3: clr hist
|
TF_LEVEL*
TF_CLREND
TF_CLRBEG
TF_USE*
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_MAXSIL
|
IO_LINK
IO_EOT
IO_CONT
|
max length silence
|
bit 0:
bit 1: no clr*
bit 2: no clr*
bit 3: clr hist
bit 4: no-setinit
bit 5: 100ms*
|
TF_EDGE*
TF_LEVEL
TF_CLREND
TF_CLRBEG
TF_USE*
TF_SETINIT
TF_10MS
|
length of init silence
|
pointer to next DV_TPT in linked list
|
DX_MAXNOSIL
|
IO_LINK
IO_EOT
IO_CONT
|
max length non-silence
|
bit 0: TF_EDGE*
bit 1: no clr*
bit 1: no clr*
bit 2: no clr*
bit 3: clr hist
bit 4: N/A
bit 5: 100ms*
|
TF_LEVEL
TF_CLREND
TF_CLRBEG
TF_USE*
N/A
TF_10MS
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_LCOFF
|
IO_LINK
IO_EOT
IO_CONT
|
max length loop current drop
|
bit 0: TF_EDGE
bit 1: no clr
bit 2: no clr*
bit 3: clr hist
bit 4: N/A
bit 5: 100ms*
|
TF_LEVEL*
TF_CLREND*
TF_CLRBEG
TF_USE*
N/A
TF_10MS
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_IDDTIME
|
IO_LINK
IO_EOT
IO_CONT
|
max length interdigit delay
|
bit 0: TF_EDGE*
bit 1: strt@call*
bit 2: N/A
bit 3: N/A
bit 4: N/A
bit 5: 100ms*
|
N/A
strt@1st
N/A
N/A
N/A
TF_10MS
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_MAXTIME
|
IO_LINK
IO_EOT
IO_CONT
|
max length function time
|
bit 0: TF_EDGE*
bit 1: N/A
bit 2: N/A
bit 3: N/A
bit 4: N/A
bit 5: 100ms*
|
N/A
N/A
N/A
N/A
N/A
TF_10MS
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_DIGMASK
|
IO_LINK
IO_EOT
IO_CONT
|
bit 0: d (set)
bit 1: 1 .
bit 2: 2 .
bit 3: 3 .
bit 4: 4
bit 5: 5
bit 6: 6
bit 7: 7
bit 8: 8
bit 9: 9
bit 10: 0
bit 11: *
bit 12: #
bit 13: a
bit 14: b
bit 15: c
|
bit 0: TF_EDGE
|
TF_LEVEL*
|
N/A
|
pointer to next DV_TPT if linked list
|
DX_PM-+OFF
|
IO_LINK
IO_EOT
IO_CONT
|
number of pattern repetitions
|
minimum time silence off
|
max time silence off
|
pointer to next DV_TPT iflinked list
|
DX_PMON
|
IO_LINK
IO_EOT
IO_CONT
|
bit 0: TF_EDGE*/
TF_LEVEL
bit 1: N/A
bit 2: N/A
bit 3: N/A
bit 4: N/A
bit 5: 100ms/
TF_10MS
|
maximum time silence on
|
max time silence on
|
pointer to next DV_TPT if linked list
|
|
DX_TONE
|
IO_LINK
IO_EOT
IO_CONT
|
Tone ID
|
bit 0: TF_EDGE
bit 1: no clr
bit 2: no clr*
bit 3: clr hist
|
TF_LEVEL*
TF_CRLREND*
TF_CLRBEG
TF_USE*
|
DX_
TONEON
DX_
TONEOFF
|
pointer to next DV_TPT if linked list
|
DX_DIGTYPE
|
IO_LINK
IO_EOT
IO_CONT
|
low byte:ASCII val.
*hi byte:digit type
|
bit 0: TF_EDGE
|
TF_LEVEL
|
N/A
|
pointer to next DV_TPT if linked list
|
|
*The tp_flags column describes the effect of the field when set to one and not set to one. "*" indicates the default value for each bit. The defaults defines for the tp_flags field are listed in the tp_flags description in this appendix.
|
|
Since DX_PMON requires that the tp_length field is set with tp_flags values, the previous statements apply to tp_length for DX_PMON.
|





Click here to contact Dialogic Customer Engineering
Copyright 2002, Dialogic Corporation
All rights reserved
This page generated February, 2002