Previous PageTable Of Contents../index.htmlIndexNext Page


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:

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

  • last DV_TPT in the chain

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

  • Loop current drop

DX_IDDTIME

  • Maximum delay between digits

DX_MAXTIME

  • Maximum function time

DX_DIGMASK

  • Specific digit received

DX_PMOFF

  • Pattern of non-silence

DX_PMON

  • Pattern of silence

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:

 
    • DX_MAXTIME
 
    • DX_IDDTIME
 
    • DX_DIGMASK
 
    • DX_PMOFF
 
    • DX_PMON

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.


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Dialogic Customer Engineering

Copyright 2002, Dialogic Corporation
All rights reserved
This page generated February, 2002