spandsp  0.0.6
modem_connect_tones.h File Reference

Go to the source code of this file.

Macros

#define MODEM_CONNECT_TONES_FAX_CED   MODEM_CONNECT_TONES_ANS
 FAX CED tone is the same as ANS tone.
 

Typedefs

typedef struct modem_connect_tones_tx_state_s modem_connect_tones_tx_state_t
 
typedef struct modem_connect_tones_rx_state_s modem_connect_tones_rx_state_t
 

Enumerations

enum  {
  MODEM_CONNECT_TONES_NONE = 0, MODEM_CONNECT_TONES_FAX_CNG = 1, MODEM_CONNECT_TONES_ANS = 2, MODEM_CONNECT_TONES_ANS_PR = 3,
  MODEM_CONNECT_TONES_ANSAM = 4, MODEM_CONNECT_TONES_ANSAM_PR = 5, MODEM_CONNECT_TONES_FAX_PREAMBLE = 6, MODEM_CONNECT_TONES_FAX_CED_OR_PREAMBLE = 7,
  MODEM_CONNECT_TONES_BELL_ANS = 8, MODEM_CONNECT_TONES_CALLING_TONE = 9
}
 

Functions

modem_connect_tones_tx_state_tmodem_connect_tones_tx_init (modem_connect_tones_tx_state_t *s, int tone_type)
 Initialise an instance of the modem connect tones generator. More...
 
int modem_connect_tones_tx_release (modem_connect_tones_tx_state_t *s)
 Release an instance of the modem connect tones generator. More...
 
int modem_connect_tones_tx_free (modem_connect_tones_tx_state_t *s)
 Free an instance of the modem connect tones generator. More...
 
 SPAN_DECLARE_NONSTD (int) modem_connect_tones_tx(modem_connect_tones_tx_state_t *s
 Generate a block of modem connect tones samples. More...
 
int modem_connect_tones_rx_get (modem_connect_tones_rx_state_t *s)
 Test if a modem_connect tone has been detected. More...
 
modem_connect_tones_rx_state_tmodem_connect_tones_rx_init (modem_connect_tones_rx_state_t *s, int tone_type, tone_report_func_t tone_callback, void *user_data)
 Initialise an instance of the modem connect tones detector. More...
 
int modem_connect_tones_rx_release (modem_connect_tones_rx_state_t *s)
 Release an instance of the modem connect tones detector. More...
 
int modem_connect_tones_rx_free (modem_connect_tones_rx_state_t *s)
 Free an instance of the modem connect tones detector. More...
 
const char * modem_connect_tone_to_str (int tone)
 

Variables

int16_t amp []
 
int16_t int len
 

Typedef Documentation

◆ modem_connect_tones_rx_state_t

Modem connect tones receiver descriptor. This defines the state of a single working instance of the tone detector.

◆ modem_connect_tones_tx_state_t

Modem connect tones generator descriptor. This defines the state of a single working instance of the tone generator.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MODEM_CONNECT_TONES_NONE 

This is reported when a tone stops.

MODEM_CONNECT_TONES_FAX_CNG 

CNG tone is a pure 1100Hz tone, in 0.5s bursts, with 3s silences in between. The bursts repeat for as long as is required.

MODEM_CONNECT_TONES_ANS 

ANS tone is a pure continuous 2100Hz+-15Hz tone for 3.3s+-0.7s.

MODEM_CONNECT_TONES_ANS_PR 

ANS with phase reversals tone is a 2100Hz+-15Hz tone for 3.3s+-0.7s, with a 180 degree phase jump every 450ms+-25ms.

MODEM_CONNECT_TONES_ANSAM 

The ANSam tone is a version of ANS with 20% of 15Hz+-0.1Hz AM modulation, as per V.8.

MODEM_CONNECT_TONES_ANSAM_PR 

The ANSam with phase reversals tone is a version of ANS_PR with 20% of 15Hz+-0.1Hz AM modulation, as per V.8.

MODEM_CONNECT_TONES_FAX_PREAMBLE 

FAX preamble in a string of V.21 HDLC flag octets.

MODEM_CONNECT_TONES_FAX_CED_OR_PREAMBLE 

CED tone is the same as ANS tone. FAX preamble in a string of V.21 HDLC flag octets. This is only valid as a tone type to receive. It is never reported as a detected tone type. The report will either be for FAX preamble or CED/ANS tone.

MODEM_CONNECT_TONES_BELL_ANS 

Bell ANS tone is a pure continuous 2225Hz+-15Hz tone for 3.3s+-0.7s.

MODEM_CONNECT_TONES_CALLING_TONE 

Calling tone is a pure 1300Hz tone, in 0.6s bursts, with 2s silences in between. The bursts repeat for as long as is required.

Function Documentation

◆ modem_connect_tones_rx_free()

int modem_connect_tones_rx_free ( modem_connect_tones_rx_state_t s)

Free an instance of the modem connect tones detector.

Parameters
sThe context.
Returns
0 for OK, else -1.

◆ modem_connect_tones_rx_get()

int modem_connect_tones_rx_get ( modem_connect_tones_rx_state_t s)

Test if a modem_connect tone has been detected.

Parameters
sThe context.
Returns
TRUE if tone is detected, else FALSE.

References modem_connect_tones_rx_state_s::hit, and MODEM_CONNECT_TONES_NONE.

◆ modem_connect_tones_rx_init()

modem_connect_tones_rx_state_t* modem_connect_tones_rx_init ( modem_connect_tones_rx_state_t s,
int  tone_type,
tone_report_func_t  tone_callback,
void *  user_data 
)

Initialise an instance of the modem connect tones detector.

Parameters
sThe context.
tone_typeThe type of connect tone being tested for.
tone_callbackAn optional callback routine, used to report tones
user_dataAn opaque pointer passed to the callback routine,
Returns
A pointer to the context.

◆ modem_connect_tones_rx_release()

int modem_connect_tones_rx_release ( modem_connect_tones_rx_state_t s)

Release an instance of the modem connect tones detector.

Parameters
sThe context.
Returns
0 for OK, else -1.

◆ modem_connect_tones_tx_free()

int modem_connect_tones_tx_free ( modem_connect_tones_tx_state_t s)

Free an instance of the modem connect tones generator.

Parameters
sThe context.
Returns
0 for OK, else -1.

◆ modem_connect_tones_tx_init()

modem_connect_tones_tx_state_t* modem_connect_tones_tx_init ( modem_connect_tones_tx_state_t s,
int  tone_type 
)

Initialise an instance of the modem connect tones generator.

Parameters
sThe context.

◆ modem_connect_tones_tx_release()

int modem_connect_tones_tx_release ( modem_connect_tones_tx_state_t s)

Release an instance of the modem connect tones generator.

Parameters
sThe context.
Returns
0 for OK, else -1.

◆ SPAN_DECLARE_NONSTD()

SPAN_DECLARE_NONSTD ( int  )

Generate a block of modem connect tones samples.

Get the next bit of data from a T.38 rate adapting non-ECM buffer context.

Get a bit of received non-ECM image data.

Get the next bit of a transmitted serial bit stream.

Process a block of samples through an instance of the modem connect tones detector.

Parameters
sThe context.
ampAn array of signal samples.
lenThe number of samples to generate.
Returns
The number of samples generated.
Parameters
sThe context.
ampAn array of signal samples.
lenThe number of samples in the array.
Returns
The number of unprocessed samples.