26#if !defined(_SPANDSP_DTMF_H_)
27#define _SPANDSP_DTMF_H_
74#define MAX_DTMF_DIGITS 128
76typedef void (*digits_rx_callback_t)(
void *user_data,
const char *digits,
int len);
77typedef void (*digits_tx_callback_t)(
void *user_data);
90#if defined(__cplusplus)
131 digits_tx_callback_t callback,
154 tone_report_func_t callback,
217 digits_rx_callback_t callback,
230#if defined(__cplusplus)
void dtmf_tx_set_level(dtmf_tx_state_t *s, int level, int twist)
Change the transmit level for a DTMF tone generator context.
Definition dtmf.c:561
void dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, tone_report_func_t callback, void *user_data)
Set a realtime callback for a DTMF receiver context.
Definition dtmf.c:364
int dtmf_tx_free(dtmf_tx_state_t *s)
Free a DTMF tone generator context.
Definition dtmf.c:605
size_t dtmf_rx_get(dtmf_rx_state_t *s, char *buf, int max)
Get a string of digits from a DTMF receiver's output buffer.
Definition dtmf.c:349
logging_state_t * dtmf_rx_get_logging_state(dtmf_rx_state_t *s)
Get the logging context associated with a DTMF receiver context.
Definition dtmf.c:406
int dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples)
Generate a buffer of DTMF tones.
Definition dtmf.c:501
dtmf_tx_state_t * dtmf_tx_init(dtmf_tx_state_t *s, digits_tx_callback_t callback, void *user_data)
Initialise a DTMF tone generator context.
Definition dtmf.c:575
int dtmf_rx_status(dtmf_rx_state_t *s)
Get the status of DTMF detection during processing of the last audio chunk.
Definition dtmf.c:339
dtmf_rx_state_t * dtmf_rx_init(dtmf_rx_state_t *s, digits_rx_callback_t callback, void *user_data)
Initialise a DTMF receiver context.
Definition dtmf.c:412
int dtmf_rx_free(dtmf_rx_state_t *s)
Free a DTMF receiver context.
Definition dtmf.c:467
int dtmf_rx(dtmf_rx_state_t *s, const int16_t amp[], int samples)
Process a block of received DTMF audio samples.
Definition dtmf.c:112
int dtmf_rx_release(dtmf_rx_state_t *s)
Release a DTMF receiver context.
Definition dtmf.c:461
int dtmf_tx_put(dtmf_tx_state_t *s, const char *digits, int len)
Put a string of digits in a DTMF generator's input buffer.
Definition dtmf.c:541
int dtmf_tx_release(dtmf_tx_state_t *s)
Release a DTMF tone generator context.
Definition dtmf.c:598
int dtmf_rx_fillin(dtmf_rx_state_t *s, int samples)
Fake processing of a missing block of received DTMF audio samples.
Definition dtmf.c:321
void dtmf_tx_set_timing(dtmf_tx_state_t *s, int on_time, int off_time)
Change the transmit on and off time for a DTMF tone generator context.
Definition dtmf.c:568
void dtmf_rx_parms(dtmf_rx_state_t *s, int filter_dialtone, float twist, float reverse_twist, float threshold)
Adjust a DTMF receiver context.
Definition dtmf.c:374
Definition private/dtmf.h:55
float reverse_twist
Definition private/dtmf.h:87
float threshold
Definition private/dtmf.h:89
bool filter_dialtone
Definition private/dtmf.h:65
char digits[MAX_DTMF_DIGITS+1]
Definition private/dtmf.h:112
Definition private/dtmf.h:34
Definition private/logging.h:34