libvpb  4.2.59
Programmable tone detector

More information on the libvpb programmable tone detector is available here. More...

Collaboration diagram for Programmable tone detector:

Classes

struct  VPB_STRAN
 Cadence state transition data for VPB_DETECT. More...
 
struct  VPB_DETECT
 Container for programmable tone detector parameters. More...
 

Enumerations

enum  ToneStateTransition { VPB_TIMER = 0, VPB_RISING = 1, VPB_FALLING = 2, VPB_DELAY = 3 }
 Tone detector state transition types.
 

Functions

void WINAPI vpb_settonedet (VPBPortHandle handle, const VPB_DETECT &d)
 Set or change the parameters for a tone to detect on some port.
 
void WINAPI vpb_settonedet (VPBPortHandle handle, const VPB_DETECT *d)
 
void WINAPI vpb_gettonedet (VPBPortHandle handle, int id, VPB_DETECT *d)
 
void WINAPI vpb_deltonedet (VPBPortHandle handle, const VPB_DETECT &d)
 Revove a tone detector from some port.
 
void WINAPI vpb_deltonedet (VPBPortHandle handle, const VPB_DETECT *d)
 
int WINAPI vpb_debug_tonedet (VPBPortHandle handle, int id, char file_name[], int sec)
 
int WINAPI vpb_enable_tone_event (VPBPortHandle handle, unsigned long mask)
 Enable the TONE events specified by mask for handle. More...
 
int WINAPI vpb_disable_tone_event (VPBPortHandle handle, unsigned long mask)
 Disable the TONE events specified by mask for handle. More...
 
unsigned long WINAPI vpb_get_tone_event_mask (VPBPortHandle handle)
 Return the current TONE event mask for handle.
 
int WINAPI vpb_set_tone_event_mask (VPBPortHandle handle, unsigned long mask)
 Set the TONE event mask. The previous mask value will be overwritten.
 

General limits

#define VPB_MD   10
 The maximum number of tone detectors per device.
 
#define VPB_MS   10
 The maximum number of cadence states to match.
 

Built in tone dectector ID's

#define VPB_DIAL   0
 dial tone detected (US/Aust/sudio308)
 
#define VPB_RINGBACK   1
 ringback detected (US)
 
#define VPB_BUSY   2
 busy tone detected (US)
 
#define VPB_GRUNT   3
 grunt detected
 
#define VPB_RINGBACK_308   4
 ringback detected (studio 308)
 
#define VPB_BUSY_308   5
 busy tone detected (studio 308)
 
#define VPB_FAX   6
 fax CNG tone/preamble
 
#define VPB_BUSY_AUST   7
 busy/disconnect tone detected (Australia)
 
#define VPB_RINGBACK_AUS   8
 ringback detected (Australia)
 
#define VPB_SPARE9   9
 Spare.
 

Tone masks

#define VPB_MDIAL   (1<<VPB_DIAL)
 
#define VPB_MRINGBACK   (1<<VPB_RINGBACK)
 
#define VPB_MBUSY   (1<<VPB_BUSY)
 
#define VPB_MGRUNT   (1<<VPB_GRUNT)
 
#define VPB_MRINGBACK_308   (1<<VPB_RINGBACK_308)
 
#define VPB_MBUSY_308   (1<<VPB_BUSY_308)
 
#define VPB_MFAX   (1<<VPB_FAX)
 
#define VPB_MBUSY_AUST   (1<<VPB_BUSY_AUST)
 
#define VPB_MRINGBACK_AUS   (1<<VPB_RINGBACK_AUS)
 
#define VPB_MSPARE9   (1<<VPB_SPARE9)
 
#define VPB_MALL_TONES   ((unsigned long)-1)
 

Detailed Description

More information on the libvpb programmable tone detector is available here.

Function Documentation

int WINAPI vpb_disable_tone_event ( VPBPortHandle  handle,
unsigned long  mask 
)

Disable the TONE events specified by mask for handle.

Events not included in the mask are unaffected.

References CheckHandle(), and VPB_DEV::tonemask.

int WINAPI vpb_enable_tone_event ( VPBPortHandle  handle,
unsigned long  mask 
)

Enable the TONE events specified by mask for handle.

Events not included in the mask are unaffected.

References CheckHandle(), and VPB_DEV::tonemask.