mpf_dtmf_generator.h File Reference

DTMF generator. More...

#include "apr_pools.h"
#include "apt.h"
#include "mpf_frame.h"
#include "mpf_stream.h"

Go to the source code of this file.

Typedefs

typedef struct mpf_dtmf_generator_t mpf_dtmf_generator_t

Enumerations

enum  mpf_dtmf_generator_band_e { MPF_DTMF_GENERATOR_INBAND = 0x1, MPF_DTMF_GENERATOR_OUTBAND = 0x2, MPF_DTMF_GENERATOR_BOTH = MPF_DTMF_GENERATOR_INBAND | MPF_DTMF_GENERATOR_OUTBAND }

Functions

struct mpf_dtmf_generator_tmpf_dtmf_generator_create_ex (const struct mpf_audio_stream_t *stream, enum mpf_dtmf_generator_band_e band, apr_uint32_t tone_ms, apr_uint32_t silence_ms, struct apr_pool_t *pool)
apt_bool_t mpf_dtmf_generator_enqueue (struct mpf_dtmf_generator_t *generator, const char *digits)
void mpf_dtmf_generator_reset (struct mpf_dtmf_generator_t *generator)
apt_bool_t mpf_dtmf_generator_sending (const struct mpf_dtmf_generator_t *generator)
apt_bool_t mpf_dtmf_generator_put_frame (struct mpf_dtmf_generator_t *generator, struct mpf_frame_t *frame)
void mpf_dtmf_generator_destroy (struct mpf_dtmf_generator_t *generator)

Detailed Description

DTMF generator.

Generator used to send DTMF tones. Capable to send digits either in-band as audible tones or out-of-band according to RFC4733.


Typedef Documentation

Opaque MPF DTMF generator structure definition


Enumeration Type Documentation

DTMF generator band

Enumerator:
MPF_DTMF_GENERATOR_INBAND 

Generate tones in-band

MPF_DTMF_GENERATOR_OUTBAND 

Generate named events out-of-band

MPF_DTMF_GENERATOR_BOTH 

Generate both tones and named events


Function Documentation

struct mpf_dtmf_generator_t* mpf_dtmf_generator_create_ex ( const struct mpf_audio_stream_t stream,
enum mpf_dtmf_generator_band_e  band,
apr_uint32_t  tone_ms,
apr_uint32_t  silence_ms,
struct apr_pool_t *  pool 
) [read]

Create MPF DTMF generator (advanced).

Parameters:
stream A stream to transport digits via.
band MPF_DTMF_GENERATOR_INBAND or MPF_DTMF_GENERATOR_OUTBAND
tone_ms Tone duration in milliseconds.
silence_ms Inter-digit silence in milliseconds.
pool Memory pool to allocate DTMF generator from.
Returns:
The object or NULL on error.
See also:
mpf_dtmf_generator_create
void mpf_dtmf_generator_destroy ( struct mpf_dtmf_generator_t generator  ) 

Free all resources associated with the generator.

Parameters:
generator The generator.
apt_bool_t mpf_dtmf_generator_enqueue ( struct mpf_dtmf_generator_t generator,
const char *  digits 
)

Add DTMF digits to the queue.

Parameters:
generator The generator.
digits DTMF character sequence [0-9*A-D].
Returns:
TRUE if ok, FALSE if there are too many digits.
apt_bool_t mpf_dtmf_generator_put_frame ( struct mpf_dtmf_generator_t generator,
struct mpf_frame_t frame 
)

Put frame into the stream.

Parameters:
generator The generator.
frame Frame object passed in stream_read().
Returns:
TRUE if frame with tone (both in-band and out-of-band) was generated, FALSE otherwise. In contrast to mpf_dtmf_generator_sending, returns FALSE even if generating inter-digit silence. In other words returns TRUE iff the frame object was filled with data. This method MUST be called for each frame for proper timing.
void mpf_dtmf_generator_reset ( struct mpf_dtmf_generator_t generator  ) 

Empty the queue and immediately stop generating.

Parameters:
generator The generator.
apt_bool_t mpf_dtmf_generator_sending ( const struct mpf_dtmf_generator_t generator  ) 

Check state of the generator.

Parameters:
generator The generator.
Returns:
TRUE if generating a digit or there are digits waiting in queue. FALSE if the queue is empty or generating silence after the last digit.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 25 Mar 2013 for UniMRCP by  doxygen 1.6.1