1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef __AUDIORECPLY_H__
- #define __AUDIORECPLY_H__
- #pragma once
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "audiostream.h"
- typedef struct audiorecply_t audiorecply_t;
- struct audiorecply_t
- {
- audiostream_t base;
- int ptime;
- int ctype;
- int clock;
- int utype;
- union {
- struct {
- int ellapsed;
- int dtmfterm;
- int maxtime;
- void *wav_handle;
- }rec;
- struct {
- char interdigit[16];
- void *wav_handle;
- }ply;
- struct {
- void *fax_state;
- int issender;
- int timeout;
- int ellapsed;
- int fin;
- int error;
- }fax;
- };
- apr_pool_t *pool;
- };
- apr_status_t audiorecply_create(apr_pool_t *pool, audioengine_t *engine, audiorecply_t **p_recply);
- apr_status_t audiorecply_destroy(audiorecply_t *recply);
- apr_status_t audiorecply_set_ptime(audiorecply_t *recply, int ptime);
- apr_status_t audiorecply_set_clock(audiorecply_t *recply, int clock);
- apr_status_t audiorecply_set_codec(audiorecply_t *recply, int ctype);
- apr_status_t audiorecply_init(audiorecply_t *recply);
- apr_status_t audiorecply_term(audiorecply_t *recply);
- // must en-brace with context lock and unlock
- apr_status_t audiorecply_start_play(audiorecply_t *recply, const char *interdigit, const char *url);
- apr_status_t audiorecply_start_record(audiorecply_t *recply, const char *url, int dtmfterm, int maxtime);
- apr_status_t audiorecply_start_send_fax(audiorecply_t *recply, const char *url, int timeout);
- apr_status_t audiorecply_start_recv_fax(audiorecply_t *recply, const char *url, int itmeout);
- apr_status_t audiorecply_end(audiorecply_t *recply);
- // for IVR functions
- #ifdef __cplusplus
- } // extern "C" {
- #endif
- #endif //__AUDIORECPLY_H__
|