---
name: "tonedebug"
section: "1"
platform: "linux"
package: "vpb-utils"
version: "4.2.61-1.4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/tonedebug"
---

# tonedebug(1)

Test parameters for the libvpb programmable tone detector

## NAME

tonedebug - Test parameters for the libvpb programmable tone detector

## SYNOPSIS

**tonedebug** \[*options*\]

## DESCRIPTION

The **tonedebug** utility assists with quickly testing tone detector parameters against the signals they are intended to detect.  It has three main modes of operation for testing single *continuous* or *pulsed* tones, or for testing a set of tones specified in the environment.

## OPTIONS

The following common options apply for all modes:

- **--card** number

  Explicitly select the card to test.  Default is card 0.

- **--port** number

  Explicitly select the port to test. Default is port 0 of the card being tested.

- **-w** wavfile

  Specify a wav file to play the tones from.  For OpenLine and OpenSwitch cards it should be played to an *FXO* port with no phone line connected, and the tone detector will process the reflected signal from the hybrid circuit. The OpenPCI cards have almost no echo from this circuit, but an on hook phone connected to an *FXS* port should produce a detectable echo signal.

- **-s** filename.c

  Writes out a C function that can be included in your own code to configure the tone generator with the settings being tested.

### Environment options

To run **tonedebug** using the settings specified with the **VPB\_TONE** environment variables, call it with the **-e** option.  For example:

 $ tonedebug -e --port 4 -w my.wav

Will use the enviroment settings to try and detect tones from my.wav played into port 4 of card 0.  There are no other options specific to this mode.

### Continuous tone options

If passed the **-c** option, then the **tonedebug** utility will test parameters suitable for a continuous tone.  For example:

 $ tonedebug -c 425 100 2000 -w dialtone.wav -t dial

Will try to detect 2 seconds of 425Hz tone from dialtone.wav, played into port 0 of card 0.  If it succeeds it will report a dial event. The following additional options may be used in this mode:

- **-c** center-freq bandwidth duration

  Specifies the primary tone characteristics, its frequency and bandwidth in Hz. and its minimum duration in milliseconds.

- **-d** center-freq2 bandwidth2

  Specifies the second tone of a multi-frequency tone.

- **-q** twist

  Specifies the twist of a multi-frequency tone.

- **-n** snr

  Specifies the acceptable signal to noise ratio, in dB.

- **-t** dial \| busy \| ringback

  Specifies the name of a predefined tone to replace with the given settings.

### Pulsed tone options

The **-p** options will enable testing for pulsed tones.  In addition to the common options and the options for continuous tones, the following options are supported in this mode:

- **-p** center-freq bandwidth on-time

  Specifies the primary tone characteristics, its frequency and bandwidth in Hz. and its 'on' time in milliseconds.

- **-off off-time**

  The 'off' time of the pulse in milliseconds.

## SEE ALSO

[**tonetrain**(1)](/tonetrain/1.md)

## BUGS

We rely on an echo from the hardware to feed the signal into the tone detector. This should be fixed to feed it in directly at some stage in the future.

## AUTHOR

Ron Lee, David Rowe, Voicetronix \<support@voicetronix.com.au\>

This manual page was written by Ron \<ron@debian.org\>, for the Debian project (but may be used by others).
