26 #if !defined(_SPANDSP_DTMF_H_) 27 #define _SPANDSP_DTMF_H_ 74 #define MAX_DTMF_DIGITS 128 76 typedef void (*digits_rx_callback_t)(
void *user_data,
const char *digits,
int len);
77 typedef void (*digits_tx_callback_t)(
void *user_data);
90 #if defined(__cplusplus) 131 digits_tx_callback_t callback,
154 span_tone_report_func_t callback,
217 digits_rx_callback_t callback,
230 #if defined(__cplusplus) Definition: private/dtmf.h:54
char digits[MAX_DTMF_DIGITS+1]
Definition: private/dtmf.h:112
Definition: private/dtmf.h:33
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:421
int dtmf_rx_free(dtmf_rx_state_t *s)
Free a DTMF receiver context.
Definition: dtmf.c:514
float threshold
Definition: private/dtmf.h:89
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:598
int dtmf_tx(dtmf_tx_state_t *s, int16_t amp[], int max_samples)
Generate a buffer of DTMF tones.
Definition: dtmf.c:551
int dtmf_tx_free(dtmf_tx_state_t *s)
Free a DTMF tone generator context.
Definition: dtmf.c:669
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:394
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:382
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:622
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:363
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:132
bool filter_dialtone
Definition: private/dtmf.h:65
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:454
void dtmf_rx_set_realtime_callback(dtmf_rx_state_t *s, span_tone_report_func_t callback, void *user_data)
Set a realtime callback for a DTMF receiver context.
Definition: dtmf.c:411
float reverse_twist
Definition: private/dtmf.h:87
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:629
Definition: private/logging.h:33
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:636
int dtmf_tx_release(dtmf_tx_state_t *s)
Release a DTMF tone generator context.
Definition: dtmf.c:662
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:448
int dtmf_rx_release(dtmf_rx_state_t *s)
Release a DTMF receiver context.
Definition: dtmf.c:508