1 /*****************************************************************************\
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** Header file for defining fixed values for the current version **
10 \*****************************************************************************/
12 #define NAME "PBX4Linux"
14 #define DEFAULT_ENDPOINT_APP EndpointAppPBX
16 #define VERSION_STRING "3.6 (Januar 2006)"
29 #define PDEBUG(mask, fmt, arg...) _printdebug(__FUNCTION__, __LINE__, mask, fmt, ## arg)
30 #define PERROR(fmt, arg...) _printerror(__FUNCTION__, __LINE__, fmt, ## arg)
31 #define PDEBUG_RUNTIME(mask, fmt, arg...) _printdebug(NULL, 0, mask, fmt, ## arg)
32 #define PERROR_RUNTIME(fmt, arg...) _printerror(NULL, 0, fmt, ## arg)
33 void _printdebug(const char *function, int line, unsigned long mask, const char *fmt, ...);
34 void printlog(const char *fmt, ...);
35 void _printerror(const char *function, int line, const char *fmt, ...);
37 #define DEBUG_CONFIG 0x0001
38 #define DEBUG_MSG 0x0002
39 #define DEBUG_STACK 0x0004
40 #define DEBUG_BCHANNEL 0x0008
41 #define DEBUG_PORT 0x0100
42 #define DEBUG_ISDN 0x0110
43 //#define DEBUG_KNOCK 0x0140
44 #define DEBUG_VBOX 0x0180
45 #define DEBUG_EPOINT 0x0200
46 #define DEBUG_CALL 0x0400
47 #define DEBUG_VERSATEL 0x0800
48 #define DEBUG_CRYPT 0x1000
49 #define DEBUG_ROUTE 0x2000
50 #define DEBUG_IDLETIME 0x4000
51 #define DEBUG_LOG 0x7fff
53 // check any faulty malloc
54 #define MALLOC_CHECK_ 1
57 * one of the bits must be enabled in order to write log files
59 #define DEBUG_LOG 0x7fff
62 * preload transmit buffer to avoid gaps at the beginning due to jitter
63 * this is also the maximum load that will be kept in tx-buffer
65 #define ISDN_PRELOAD 128 // 1024 samples
68 * interval for refreshing transmit buffer
70 #define ISDN_TRANSMIT 32 // 256 samples
72 /* give sendmail program. if not inside $PATH, give absolute path here (e.g. "/usr/sbin/sendmail")
74 #define SENDMAIL "sendmail"
76 /* maximum number of redial/powerdial and reply numbers to remember
78 #define MAX_REMEMBER 50
80 /* leave it above 1024, because lower values can be unsafe, higher valuse cause
81 * data larger than 512 bytes of hex strings.
85 /* 'goto' or 'menu' actions may cause infinite loops. they will be prevented by this limit.
86 * Also other recursions, like redialing the 'redial' action must be prevented.
87 * increase it ONLY IF you have a deeper tree of rule sets, than the value given here.
89 #define RULE_NESTING 10
91 /* special debugging for buffer overflow bugs
92 * note: whenever a buffer gets strange values, the budetect function must
93 * be modified to detect the change of these values. whenever it is detected,
94 * an error message is given at budetect function.
96 //#define BUDETECT_DEF
99 #define BUDETECT budetect(__FILE__, __LINE__, __FUNCTION__);
100 void budetect(const char *file, int line, char *function);
110 #include <sys/time.h>
111 //#include <asm/bitops.h>
115 #include <isdn_net.h>
122 #include "interface.h"
123 #include "extension.h"
125 #include "endpoint.h"
126 #include "endpointapp.h"
135 #include "callchan.h"
137 #include "alawulaw.h"
140 #include "admin_server.h"
145 extern struct tm *now_tm;
146 extern struct timeval now_tv;
147 extern struct timezone now_tz;
149 #define DIRECTION_NONE 0
150 #define DIRECTION_OUT 1
151 #define DIRECTION_IN 2