X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=main.h;h=17ea68c4273532e7b975e386415ea2060193d8b2;hp=723d51c5461de0ae3a4b87641174b1a5592ce6e0;hb=refs%2Fheads%2Fbackup2;hpb=3754d8f73ff7cb55e204f7ede6569028407a00e5 diff --git a/main.h b/main.h index 723d51c..17ea68c 100644 --- a/main.h +++ b/main.h @@ -1,6 +1,6 @@ /*****************************************************************************\ ** ** -** LCR ** +** Linux Call Router ** ** ** **---------------------------------------------------------------------------** ** Copyright: Andreas Eversberg ** @@ -9,11 +9,33 @@ ** ** \*****************************************************************************/ -#define NAME "LCR" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#define DEFAULT_ENDPOINT_APP EndpointAppPBX +#define NAME "LCR" -#define VERSION_STRING "0.1 (August 2007)" +#define VERSION_STRING VERSION extern int memuse; extern int mmemuse; @@ -26,13 +48,18 @@ extern int classuse; extern int fduse; extern int fhuse; -#define PDEBUG(mask, fmt, arg...) _printdebug(__FUNCTION__, __LINE__, mask, fmt, ## arg) -#define PERROR(fmt, arg...) _printerror(__FUNCTION__, __LINE__, fmt, ## arg) -#define PDEBUG_RUNTIME(mask, fmt, arg...) _printdebug(NULL, 0, mask, fmt, ## arg) -#define PERROR_RUNTIME(fmt, arg...) _printerror(NULL, 0, fmt, ## arg) -void _printdebug(const char *function, int line, unsigned long mask, const char *fmt, ...); -void _printerror(const char *function, int line, const char *fmt, ...); -void debug(const char *function, int line, char *prefix, char *buffer); +//extern pthread_mutex_t mutex_lcr; // lcr process mutex + +extern FILE *debug_fp; + +#define PDEBUG(mask, fmt, arg...) _printdebug(__FILE__, __FUNCTION__, __LINE__, mask, fmt, ## arg) +#define PERROR(fmt, arg...) _printerror(__FILE__, __FUNCTION__, __LINE__, fmt, ## arg) +#define PDEBUG_RUNTIME(mask, fmt, arg...) _printdebug(NULL, NULL, 0, mask, fmt, ## arg) +#define PERROR_RUNTIME(fmt, arg...) _printerror(NULL, NULL, 0, fmt, ## arg) +void _printdebug(const char *file, const char *function, int line, unsigned int mask, const char *fmt, ...); +void _printerror(const char *file, const char *function, int line, const char *fmt, ...); +#define DEBUG_FUNC +void debug(const char *file, const char *function, int line, const char *prefix, char *buffer); #define DEBUG_CONFIG 0x0001 #define DEBUG_MSG 0x0002 @@ -40,15 +67,16 @@ void debug(const char *function, int line, char *prefix, char *buffer); #define DEBUG_BCHANNEL 0x0008 #define DEBUG_PORT 0x0100 #define DEBUG_ISDN 0x0110 -//#define DEBUG_KNOCK 0x0140 +#define DEBUG_GSM 0x0120 +#define DEBUG_SS5 0x0140 #define DEBUG_VBOX 0x0180 +#define DEBUG_SIP 0x10100 #define DEBUG_EPOINT 0x0200 -#define DEBUG_CALL 0x0400 +#define DEBUG_JOIN 0x0400 #define DEBUG_VERSATEL 0x0800 #define DEBUG_CRYPT 0x1000 #define DEBUG_ROUTE 0x2000 #define DEBUG_IDLETIME 0x4000 -#define DEBUG_LOG 0x7fff // check any faulty malloc #define MALLOC_CHECK_ 1 @@ -56,27 +84,17 @@ void debug(const char *function, int line, char *prefix, char *buffer); /* * one of the bits must be enabled in order to write log files */ -#define DEBUG_LOG 0x7fff +#define DEBUG_LOG 0xfffff /* - * preload transmit buffer to avoid gaps at the beginning due to jitter - * this is also the maximum load that will be kept in tx-buffer - */ -#define ISDN_PRELOAD 1024 // samples - -/* - * interval for refreshing transmit buffer + * load transmit buffer to avoid gaps at the beginning due to jitter */ -#define ISDN_TRANSMIT 256 // samples +#define ISDN_LOAD 1024 // samples /* give sendmail program. if not inside $PATH, give absolute path here (e.g. "/usr/sbin/sendmail") */ #define SENDMAIL "sendmail" -/* maximum number of redial/powerdial and reply numbers to remember - */ -#define MAX_REMEMBER 50 - /* leave it above 1024, because lower values can be unsafe, higher valuse cause * data larger than 512 bytes of hex strings. */ @@ -88,6 +106,11 @@ void debug(const char *function, int line, char *prefix, char *buffer); */ #define RULE_NESTING 10 +/* to debug core bridging, rather than mISDN dsp bridging, enable. + * this is for debugging only, bridging conferences will not work + */ +//#define DEBUG_COREBRIDGE + /* special debugging for buffer overflow bugs * note: whenever a buffer gets strange values, the budetect function must * be modified to detect the change of these values. whenever it is detected, @@ -95,29 +118,26 @@ void debug(const char *function, int line, char *prefix, char *buffer); */ //#define BUDETECT_DEF +/* internal limit of payload type in a message */ + #ifdef BUDETECT_DEF #define BUDETECT budetect(__FILE__, __LINE__, __FUNCTION__); - void budetect(const char *file, int line, char *function); + void budetect(const char *file, int line, const char *function); #else #define BUDETECT ; #endif -#include -#include -#include -#include -#include -#include -//#include -#ifdef __cplusplus -extern "C" { -#endif -#include -#include <../i4lnet/net_l3.h> -#ifdef __cplusplus -} +#ifdef WITH_MISDN + #ifdef __cplusplus + extern "C" { + #endif + #include + #ifdef __cplusplus + } + #endif #endif -#include "save.h" +#include "macro.h" +#include "select.h" #include "options.h" #include "interface.h" #include "extension.h" @@ -125,29 +145,62 @@ extern "C" { #include "endpoint.h" #include "endpointapp.h" #include "apppbx.h" +#include "appbridge.h" +#include "callerid.h" #include "route.h" +#ifdef WITH_VOOTP + #ifdef __cplusplus + extern "C" { + #endif +#include + #ifdef __cplusplus + } + #endif +#endif #include "port.h" +#include "remote.h" +#ifdef WITH_MISDN #include "mISDN.h" #include "dss1.h" +#include "fxs.h" +#endif +#if defined WITH_GSM_BS || defined WITH_GSM_MS +#include "gsm.h" +#endif +#ifdef WITH_GSM_BS +#include "gsm_bs.h" +#endif +#ifdef WITH_GSM_MS +#include "gsm_ms.h" +#endif +#ifdef WITH_SS5 +#include "ss5_encode.h" +#include "ss5_decode.h" +#include "ss5.h" +#endif +#ifdef WITH_SIP +#include "sip.h" +#endif #include "vbox.h" -#include "call.h" -#include "callpbx.h" -#include "callchan.h" +#include "join.h" +#include "joinpbx.h" #include "cause.h" #include "alawulaw.h" #include "tones.h" #include "crypt.h" -#include "admin_server.h" +#include "socket_server.h" #include "trace.h" -extern double now_d; -extern time_t now; -extern struct tm *now_tm; -extern struct timeval now_tv; -extern struct timezone now_tz; +extern int quit; #define DIRECTION_NONE 0 #define DIRECTION_OUT 1 #define DIRECTION_IN 2 +#if 0 +struct lcr_fdset { + struct mISDNport *mISDNport; + int b_index; +}; +#endif