1 /*****************************************************************************\
3 ** Linux Call Router **
5 **---------------------------------------------------------------------------**
6 ** Copyright: Andreas Eversberg **
8 ** Header file for defining fixed values for the current version **
10 \*****************************************************************************/
25 #include <sys/types.h>
28 #include <sys/ioctl.h>
31 #include <sys/resource.h>
35 #define DEFAULT_ENDPOINT_APP EndpointAppPBX
37 #define VERSION_STRING VERSION
50 //extern pthread_mutex_t mutex_lcr; // lcr process mutex
52 extern FILE *debug_fp;
54 #define PDEBUG(mask, fmt, arg...) _printdebug(__FILE__, __FUNCTION__, __LINE__, mask, fmt, ## arg)
55 #define PERROR(fmt, arg...) _printerror(__FILE__, __FUNCTION__, __LINE__, fmt, ## arg)
56 #define PDEBUG_RUNTIME(mask, fmt, arg...) _printdebug(NULL, NULL, 0, mask, fmt, ## arg)
57 #define PERROR_RUNTIME(fmt, arg...) _printerror(NULL, NULL, 0, fmt, ## arg)
58 void _printdebug(const char *file, const char *function, int line, unsigned int mask, const char *fmt, ...);
59 void _printerror(const char *file, const char *function, int line, const char *fmt, ...);
61 void debug(const char *file, const char *function, int line, const char *prefix, char *buffer);
63 #define DEBUG_CONFIG 0x0001
64 #define DEBUG_MSG 0x0002
65 #define DEBUG_STACK 0x0004
66 #define DEBUG_BCHANNEL 0x0008
67 #define DEBUG_PORT 0x0100
68 #define DEBUG_ISDN 0x0110
69 #define DEBUG_GSM 0x0120
70 #define DEBUG_SS5 0x0140
71 #define DEBUG_VBOX 0x0180
72 #define DEBUG_SIP 0x10100
73 #define DEBUG_EPOINT 0x0200
74 #define DEBUG_JOIN 0x0400
75 #define DEBUG_VERSATEL 0x0800
76 #define DEBUG_CRYPT 0x1000
77 #define DEBUG_ROUTE 0x2000
78 #define DEBUG_IDLETIME 0x4000
80 // check any faulty malloc
81 #define MALLOC_CHECK_ 1
84 * one of the bits must be enabled in order to write log files
86 #define DEBUG_LOG 0xfffff
89 * load transmit buffer to avoid gaps at the beginning due to jitter
90 * also the maximum load that will be kept in tx-buffer
91 * also the (minimum) number of data to transmit in a frame
93 #define ISDN_LOAD 1024 // samples
94 #define ISDN_MAXLOAD 2048 // samples
96 /* give sendmail program. if not inside $PATH, give absolute path here (e.g. "/usr/sbin/sendmail")
98 #define SENDMAIL "sendmail"
100 /* leave it above 1024, because lower values can be unsafe, higher valuse cause
101 * data larger than 512 bytes of hex strings.
103 #define RSA_BITS 1536
105 /* 'goto' or 'menu' actions may cause infinite loops. they will be prevented by this limit.
106 * Also other recursions, like redialing the 'redial' action must be prevented.
107 * increase it ONLY IF you have a deeper tree of rule sets, than the value given here.
109 #define RULE_NESTING 10
111 /* to debug core bridging, rather than mISDN dsp bridging, enable.
112 * this is for debugging only, bridging conferences will not work
114 //#define DEBUG_COREBRIDGE
116 /* special debugging for buffer overflow bugs
117 * note: whenever a buffer gets strange values, the budetect function must
118 * be modified to detect the change of these values. whenever it is detected,
119 * an error message is given at budetect function.
121 //#define BUDETECT_DEF
124 #define BUDETECT budetect(__FILE__, __LINE__, __FUNCTION__);
125 void budetect(const char *file, int line, const char *function);
133 #include <mISDN/mbuffer.h>
140 #include "interface.h"
141 #include "extension.h"
143 #include "endpoint.h"
144 #include "endpointapp.h"
146 #include "callerid.h"
153 #if defined WITH_GSM_BS || defined WITH_GSM_MS
163 #include "ss5_encode.h"
164 #include "ss5_decode.h"
173 #include "joinremote.h"
175 #include "alawulaw.h"
178 #include "socket_server.h"
183 #define DIRECTION_NONE 0
184 #define DIRECTION_OUT 1
185 #define DIRECTION_IN 2
189 struct mISDNport *mISDNport;