43 lines
2.1 KiB
C++
43 lines
2.1 KiB
C++
/*****************************************************************************\
|
|
** **
|
|
** Linux Call Router **
|
|
** **
|
|
**---------------------------------------------------------------------------**
|
|
** Copyright: Andreas Eversberg **
|
|
** **
|
|
** vbox-port header file **
|
|
** **
|
|
\*****************************************************************************/
|
|
|
|
/* answering machine port class */
|
|
class VBoxPort : public Port
|
|
{
|
|
public:
|
|
VBoxPort(int type, struct port_settings *settings);
|
|
~VBoxPort();
|
|
int message_epoint(unsigned int epoint_id, int message, union parameter *param);
|
|
void send_announcement(void);
|
|
|
|
int bridge_rx(unsigned char *data, int len);
|
|
|
|
private:
|
|
struct EndpointAppPBX *p_vbox_apppbx; /* pbx application */
|
|
unsigned int p_vbox_timeout; /* timeout for recording */
|
|
char p_vbox_extension[32]; /* current extension */
|
|
|
|
// int p_vbox_recording; /* if currently recording */
|
|
int p_vbox_announce_fh; /* the announcement filehandler */
|
|
int p_vbox_announce_codec; /* the announcement codec */
|
|
signed int p_vbox_announce_left; /* the number of bytes left of announcement sample */
|
|
signed int p_vbox_announce_size; /* size of current announcement (in bytes) */
|
|
int p_vbox_mode; /* type of recording VBOX_MODE_* */
|
|
long long p_vbox_audio_start; /* time stamp of starting of audio (0 == not yet started) */
|
|
unsigned int p_vbox_audio_transferred; /* number of samples sent to endpoint */
|
|
struct lcr_timer p_vbox_announce_timer; /* timer for sending announcement */
|
|
struct lcr_timer p_vbox_record_timeout; /* timer for recording limit */
|
|
signed int p_vbox_record_limit; /* limit for recording */
|
|
|
|
struct extension p_vbox_ext; /* save settings of extension */
|
|
};
|
|
|