X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=main.h;h=17ea68c4273532e7b975e386415ea2060193d8b2;hp=d09239e988911bf66db5de2c0fbe4125bcec88cf;hb=034d3a91404addedc1c7a3494862c79532b0b878;hpb=2ed0fee489c37a6e2d4473f6185ebbe3e746ac11 diff --git a/main.h b/main.h index d09239e..17ea68c 100644 --- a/main.h +++ b/main.h @@ -1,6 +1,6 @@ /*****************************************************************************\ ** ** -** PBX4Linux ** +** Linux Call Router ** ** ** **---------------------------------------------------------------------------** ** Copyright: Andreas Eversberg ** @@ -9,11 +9,33 @@ ** ** \*****************************************************************************/ -#define NAME "PBX4Linux" +#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 "3.6 (Januar 2006)" +#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 printlog(const char *fmt, ...); -void _printerror(const char *function, int line, const char *fmt, ...); +//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,17 +67,16 @@ void _printerror(const char *function, int line, const char *fmt, ...); #define DEBUG_BCHANNEL 0x0008 #define DEBUG_PORT 0x0100 #define DEBUG_ISDN 0x0110 -#define DEBUG_OPAL 0x0120 -#define DEBUG_H323 0x0130 -//#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 @@ -58,41 +84,17 @@ void _printerror(const char *function, int line, const char *fmt, ...); /* * one of the bits must be enabled in order to write log files */ -#define DEBUG_LOG 0x7fff - -/* audio buffer for mixer and recording. - * all partys within a call (most time two endpoints) write audio data to the buffer. this is used because - * the buffer experience jitter. if the buffer is too small, jitter will cause drops and gaps. - * if the buffer is too large, the delay is large. 768 is a good value to start with. - */ -#ifdef VOIP -#warning to be removed soon -#endif -#define PORT_BUFFER 768 - -/* keep this 0 for minimum delay */ -#ifdef VOIP -#warning to be removed soon -#endif -#define ISDN_PRELOAD 0 +#define DEBUG_LOG 0xfffff -/* the jitterlimit specifies the number of samples received too fast, before - * it recognizes a stalling process. - * but should NOT be less 256. +/* + * load transmit buffer to avoid gaps at the beginning due to jitter */ -#ifdef VOIP -#warning to be removed soon -#endif -#define ISDN_JITTERLIMIT 512 /* maximum samples received before dropping */ +#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. */ @@ -104,6 +106,11 @@ void _printerror(const char *function, int line, const char *fmt, ...); */ #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, @@ -111,92 +118,89 @@ void _printerror(const char *function, int line, const char *fmt, ...); */ //#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 -#ifdef H323 -#define VOIP -#ifdef OPAL -#error It is not allowed to use H323 and OPAL. Please disable H323, because it is included in OPAL. +#ifdef WITH_MISDN + #ifdef __cplusplus + extern "C" { + #endif + #include + #ifdef __cplusplus + } + #endif #endif -#endif -#ifdef OPAL -#define VOIP -#endif - -#ifdef H323INCLUDE -#define NO_VIDEO_CAPTURE -//#include -//#include -#include -#include -#include -#include -#include -#include -#endif - -#include -#include -#include -#include -#include -#include -//#include -#ifdef __cplusplus -extern "C" { -#endif -#include -#include -#ifdef __cplusplus -} -#endif -#include "save.h" +#include "macro.h" +#include "select.h" #include "options.h" #include "interface.h" -#include "h323conf.h" #include "extension.h" #include "message.h" #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" -#ifdef H323 -#include "h323.h" +#include "fxs.h" +#endif +#if defined WITH_GSM_BS || defined WITH_GSM_MS +#include "gsm.h" #endif -#ifdef OPAL -#include "opal.h" +#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" - -extern double now_d; -extern time_t now; -extern struct tm *now_tm; -extern struct timeval now_tv; -extern struct timezone now_tz; +#include "socket_server.h" +#include "trace.h" +extern int quit; -#ifdef H323INCLUDE -#include "h323_ep.h" -#include "h323_con.h" -#include "h323_chan.h" +#define DIRECTION_NONE 0 +#define DIRECTION_OUT 1 +#define DIRECTION_IN 2 -extern PMutex mutex_h323; // mutual exclude for synchroniszing threads -extern H323_ep *h323_ep; +#if 0 +struct lcr_fdset { + struct mISDNport *mISDNport; + int b_index; +}; #endif