X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=main.h;h=9fbf12870ebb4b89dc0406c2a179b72a8bafecd8;hp=d09239e988911bf66db5de2c0fbe4125bcec88cf;hb=701b046a45c2c79cc6d07ac3a4f84f499f7ed376;hpb=2ed0fee489c37a6e2d4473f6185ebbe3e746ac11 diff --git a/main.h b/main.h index d09239e..9fbf128 100644 --- a/main.h +++ b/main.h @@ -1,6 +1,6 @@ /*****************************************************************************\ ** ** -** PBX4Linux ** +** Linux Call Router ** ** ** **---------------------------------------------------------------------------** ** Copyright: Andreas Eversberg ** @@ -9,11 +9,11 @@ ** ** \*****************************************************************************/ -#define NAME "PBX4Linux" +#define NAME "LCR" #define DEFAULT_ENDPOINT_APP EndpointAppPBX -#define VERSION_STRING "3.6 (Januar 2006)" +#define VERSION_STRING "0.1 (August 2007)" extern int memuse; extern int mmemuse; @@ -31,8 +31,9 @@ extern int fhuse; #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, ...); +#define DEBUG_FUNC +void debug(const char *function, int line, char *prefix, char *buffer); #define DEBUG_CONFIG 0x0001 #define DEBUG_MSG 0x0002 @@ -40,12 +41,10 @@ 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_VBOX 0x0180 #define DEBUG_EPOINT 0x0200 -#define DEBUG_CALL 0x0400 +#define DEBUG_JOIN 0x0400 #define DEBUG_VERSATEL 0x0800 #define DEBUG_CRYPT 0x1000 #define DEBUG_ROUTE 0x2000 @@ -60,39 +59,19 @@ void _printerror(const char *function, int line, const char *fmt, ...); */ #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. +/* + * load transmit buffer to avoid gaps at the beginning due to jitter + * also the maximum load that will be kept in tx-buffer + * also the (minimum) number of data to transmit in a frame */ -#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 - -/* the jitterlimit specifies the number of samples received too fast, before - * it recognizes a stalling process. - * but should NOT be less 256. - */ -#ifdef VOIP -#warning to be removed soon -#endif -#define ISDN_JITTERLIMIT 512 /* maximum samples received before dropping */ +#define ISDN_LOAD 1024 // samples +#define ISDN_MAXLOAD 2048 // samples +#define ISDN_TRANSMIT 256 // 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 +83,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, @@ -118,28 +102,6 @@ void _printerror(const char *function, int line, const char *fmt, ...); #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. -#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 @@ -151,14 +113,13 @@ void _printerror(const char *function, int line, const char *fmt, ...); extern "C" { #endif #include -#include +#include <../i4lnet/net_l3.h> #ifdef __cplusplus } #endif -#include "save.h" +#include "macro.h" #include "options.h" #include "interface.h" -#include "h323conf.h" #include "extension.h" #include "message.h" #include "endpoint.h" @@ -168,21 +129,16 @@ extern "C" { #include "port.h" #include "mISDN.h" #include "dss1.h" -#ifdef H323 -#include "h323.h" -#endif -#ifdef OPAL -#include "opal.h" -#endif #include "vbox.h" -#include "call.h" -#include "callpbx.h" -#include "callchan.h" +#include "join.h" +#include "joinpbx.h" +#include "joinremote.h" #include "cause.h" #include "alawulaw.h" #include "tones.h" #include "crypt.h" #include "admin_server.h" +#include "trace.h" extern double now_d; extern time_t now; @@ -190,13 +146,8 @@ extern struct tm *now_tm; extern struct timeval now_tv; extern struct timezone now_tz; +#define DIRECTION_NONE 0 +#define DIRECTION_OUT 1 +#define DIRECTION_IN 2 -#ifdef H323INCLUDE -#include "h323_ep.h" -#include "h323_con.h" -#include "h323_chan.h" - -extern PMutex mutex_h323; // mutual exclude for synchroniszing threads -extern H323_ep *h323_ep; -#endif