fixup
[lcr.git] / vbox.h
1 /*****************************************************************************\
2 **                                                                           **
3 ** Linux Call Router                                                         **
4 **                                                                           **
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg                                              **
7 **                                                                           **
8 ** vbox-port header file                                                     **
9 **                                                                           **
10 \*****************************************************************************/ 
11
12 /* answering machine port class */
13 class VBoxPort : public Port
14 {
15         public:
16         VBoxPort(int type, struct port_settings *settings);
17         ~VBoxPort();
18         int message_epoint(unsigned int epoint_id, int message, union parameter *param);
19         void send_announcement(void);
20
21         int bridge_rx(unsigned char *data, int len);
22
23         private:
24         struct EndpointAppPBX *p_vbox_apppbx;           /* pbx application */
25         unsigned int p_vbox_timeout;                    /* timeout for recording */
26         char p_vbox_extension[32];                      /* current extension */
27
28 //      int p_vbox_recording;                           /* if currently recording */
29         int p_vbox_announce_fh;                         /* the announcement filehandler */
30         int p_vbox_announce_codec;                      /* the announcement codec */
31         signed int p_vbox_announce_left;                /* the number of bytes left of announcement sample */
32         signed int p_vbox_announce_size;                /* size of current announcement (in bytes) */
33         int p_vbox_mode;                                /* type of recording VBOX_MODE_* */
34         long long p_vbox_audio_start;                   /* time stamp of starting of audio (0 == not yet started) */ 
35         unsigned int p_vbox_audio_transferred;          /* number of samples sent to endpoint */
36         struct lcr_timer p_vbox_announce_timer;         /* timer for sending announcement */
37         struct lcr_timer p_vbox_record_timeout;         /* timer for recording limit */
38         signed int p_vbox_record_limit;         /* limit for recording */
39
40         struct extension p_vbox_ext;                    /* save settings of extension */
41 };
42