mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-20 03:59:01 +00:00
massive changes, very broken, do not use (from airport)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -37,32 +37,32 @@ endif
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Janus release directives, comment below if your brave enough for Janus
|
# Janus release directives, comment below if your brave enough for Janus
|
||||||
#OSARCH=$(shell uname -s)
|
OSARCH=$(shell uname -s)
|
||||||
#CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
|
CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
|
||||||
#CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations
|
CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations
|
||||||
#CFLAGS += -D_REENTRANT -D_GNU_SOURCE
|
CFLAGS += -D_REENTRANT -D_GNU_SOURCE
|
||||||
#CFLAGS += -I../../include
|
CFLAGS += -I../../include
|
||||||
#CFLAGS += -I$(PWLIBDIR)/include
|
CFLAGS += -I$(PWLIBDIR)/include
|
||||||
#CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes -Wno-missing-declarations
|
CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes -Wno-missing-declarations
|
||||||
|
|
||||||
# Pre Janus release directives
|
# Pre Janus release directives
|
||||||
CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
|
#CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
|
||||||
CFLAGS += -pipe -Wall -fPIC
|
#CFLAGS += -pipe -Wall -fPIC
|
||||||
ifeq (${OSARCH},Linux)
|
#ifeq (${OSARCH},Linux)
|
||||||
CFLAGS += -DP_LINUX
|
#CFLAGS += -DP_LINUX
|
||||||
LIBS+=-lpthread
|
#LIBS+=-lpthread
|
||||||
endif
|
#endif
|
||||||
ifeq ($(findstring BSD,${OSARCH}),BSD)
|
#ifeq ($(findstring BSD,${OSARCH}),BSD)
|
||||||
CFLAGS += -pthread
|
#CFLAGS += -pthread
|
||||||
endif
|
#endif
|
||||||
CFLAGS += -D_REENTRANT -D_GNU_SOURCE
|
#CFLAGS += -D_REENTRANT -D_GNU_SOURCE
|
||||||
CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
|
#CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
|
||||||
CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA
|
#CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA
|
||||||
CFLAGS += -I../../include
|
#CFLAGS += -I../../include
|
||||||
CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include
|
#CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include
|
||||||
CFLAGS += -I$(OPENH323DIR)/include
|
#CFLAGS += -I$(OPENH323DIR)/include
|
||||||
CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations
|
#CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations
|
||||||
LIBS+= -lcrypto -lssl -lexpat
|
#LIBS+= -lcrypto -lssl -lexpat
|
||||||
|
|
||||||
all: libchanh323.a
|
all: libchanh323.a
|
||||||
|
|
||||||
@@ -74,7 +74,11 @@ samples:
|
|||||||
|
|
||||||
|
|
||||||
ast_h323.o: ast_h323.cpp
|
ast_h323.o: ast_h323.cpp
|
||||||
$(CXX) -g -c -fno-rtti -o $@ $(CFLAGS) $<
|
$(CXX) -g -c -o $@ $(CFLAGS) $<
|
||||||
|
|
||||||
|
#ast_h323.o: ast_h323.cpp
|
||||||
|
# $(CXX) -g -c -fno-rtti -o $@ $(CFLAGS) $<
|
||||||
|
|
||||||
|
|
||||||
libchanh323.a: ast_h323.o
|
libchanh323.a: ast_h323.o
|
||||||
ar cr libchanh323.a ast_h323.o
|
ar cr libchanh323.a ast_h323.o
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
* By Jeremy McNamara
|
* By Jeremy McNamara
|
||||||
* For The NuFone Network
|
* For The NuFone Network
|
||||||
*
|
*
|
||||||
* This code has been derived from code created by
|
* chan_h323 has been derived from code created by
|
||||||
* Michael Manousos and Mark Spencer
|
* Michael Manousos and Mark Spencer
|
||||||
*
|
*
|
||||||
* This file is part of the chan_h323 driver for Asterisk
|
* This file is part of the chan_h323 driver for Asterisk
|
||||||
*
|
*
|
||||||
@@ -60,11 +60,6 @@ int channelsOpen;
|
|||||||
/* DTMF Mode */
|
/* DTMF Mode */
|
||||||
int mode = H323_DTMF_RFC2833;
|
int mode = H323_DTMF_RFC2833;
|
||||||
|
|
||||||
/** Options for connections creation */
|
|
||||||
BOOL noFastStart = TRUE;
|
|
||||||
BOOL noH245Tunneling;
|
|
||||||
BOOL noSilenceSuppression;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We assume that only one endPoint should exist.
|
* We assume that only one endPoint should exist.
|
||||||
* The application cannot run the h323_end_point_create() more than once
|
* The application cannot run the h323_end_point_create() more than once
|
||||||
@@ -243,26 +238,27 @@ int MyH323EndPoint::MakeCall(const PString & dest, PString & token, unsigned int
|
|||||||
MyH323Connection * connection;
|
MyH323Connection * connection;
|
||||||
|
|
||||||
/* Determine whether we are using a gatekeeper or not. */
|
/* Determine whether we are using a gatekeeper or not. */
|
||||||
if (GetGatekeeper() != NULL) {
|
if (!GetGatekeeper()) {
|
||||||
fullAddress = dest;
|
fullAddress = dest;
|
||||||
if (h323debug)
|
if (h323debug) {
|
||||||
cout << " -- Making call to " << fullAddress << " using gatekeeper." << endl;
|
cout << " -- Making call to " << fullAddress << " using gatekeeper." << endl;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
fullAddress = dest; /* host */
|
fullAddress = dest;
|
||||||
if (h323debug)
|
if (h323debug) {
|
||||||
cout << " -- Making call to " << fullAddress << "." << endl;
|
cout << " -- Making call to " << fullAddress << "." << endl;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(connection = (MyH323Connection *)H323EndPoint::MakeCallLocked(fullAddress, token))) {
|
if (!(connection = (MyH323Connection *)H323EndPoint::MakeCallLocked(fullAddress, token))) {
|
||||||
if (h323debug)
|
if (h323debug) {
|
||||||
cout << "Error making call to \"" << fullAddress << '"' << endl;
|
cout << "Error making call to \"" << fullAddress << '"' << endl;
|
||||||
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
*callReference = connection->GetCallReference();
|
*callReference = connection->GetCallReference();
|
||||||
|
if (callerid) {
|
||||||
if (callerid)
|
|
||||||
connection->SetLocalPartyName(PString(callerid));
|
connection->SetLocalPartyName(PString(callerid));
|
||||||
|
}
|
||||||
if (callername) {
|
if (callername) {
|
||||||
localAliasNames.RemoveAll();
|
localAliasNames.RemoveAll();
|
||||||
connection->SetLocalPartyName(PString(callername));
|
connection->SetLocalPartyName(PString(callername));
|
||||||
@@ -272,16 +268,14 @@ int MyH323EndPoint::MakeCall(const PString & dest, PString & token, unsigned int
|
|||||||
localAliasNames.RemoveAll();
|
localAliasNames.RemoveAll();
|
||||||
connection->SetLocalPartyName(PString(callerid));
|
connection->SetLocalPartyName(PString(callerid));
|
||||||
}
|
}
|
||||||
|
|
||||||
connection->AST_Outgoing = TRUE;
|
connection->AST_Outgoing = TRUE;
|
||||||
|
|
||||||
connection->Unlock();
|
|
||||||
|
|
||||||
if (h323debug) {
|
if (h323debug) {
|
||||||
cout << " -- " << GetLocalUserName() << " is calling host " << fullAddress << endl;
|
cout << " -- " << GetLocalUserName() << " is calling host " << fullAddress << endl;
|
||||||
cout << " -- " << "Call token is " << (const char *)token << endl;
|
cout << " -- " << "Call token is " << (const char *)token << endl;
|
||||||
cout << " -- Call reference is " << *callReference << endl;
|
cout << " -- Call reference is " << *callReference << endl;
|
||||||
}
|
}
|
||||||
|
connection->Unlock();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -994,6 +988,7 @@ int h323_set_capability(int cap, int dtmfMode)
|
|||||||
} else {
|
} else {
|
||||||
endPoint->SetSendUserInputMode(H323Connection::SendUserInputAsInlineRFC2833);
|
endPoint->SetSendUserInputMode(H323Connection::SendUserInputAsInlineRFC2833);
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
if (cap & AST_FORMAT_SPEEX) {
|
if (cap & AST_FORMAT_SPEEX) {
|
||||||
/* Not real sure if Asterisk acutally supports all
|
/* Not real sure if Asterisk acutally supports all
|
||||||
of the various different bit rates so add them
|
of the various different bit rates so add them
|
||||||
@@ -1005,7 +1000,7 @@ int h323_set_capability(int cap, int dtmfMode)
|
|||||||
endPoint->SetCapability(0, 0, new SpeexNarrow5AudioCapability());
|
endPoint->SetCapability(0, 0, new SpeexNarrow5AudioCapability());
|
||||||
endPoint->SetCapability(0, 0, new SpeexNarrow6AudioCapability());
|
endPoint->SetCapability(0, 0, new SpeexNarrow6AudioCapability());
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (cap & AST_FORMAT_G729A) {
|
if (cap & AST_FORMAT_G729A) {
|
||||||
AST_G729ACapability *g729aCap;
|
AST_G729ACapability *g729aCap;
|
||||||
AST_G729Capability *g729Cap;
|
AST_G729Capability *g729Cap;
|
||||||
@@ -1017,13 +1012,13 @@ int h323_set_capability(int cap, int dtmfMode)
|
|||||||
H323_G7231Capability *g7231Cap;
|
H323_G7231Capability *g7231Cap;
|
||||||
endPoint->SetCapability(0, 0, g7231Cap = new H323_G7231Capability);
|
endPoint->SetCapability(0, 0, g7231Cap = new H323_G7231Capability);
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
if (cap & AST_FORMAT_GSM) {
|
if (cap & AST_FORMAT_GSM) {
|
||||||
H323_GSM0610Capability *gsmCap;
|
H323_GSM0610Capability *gsmCap;
|
||||||
endPoint->SetCapability(0, 0, gsmCap = new H323_GSM0610Capability);
|
endPoint->SetCapability(0, 0, gsmCap = new H323_GSM0610Capability);
|
||||||
gsmCap->SetTxFramesInPacket(gsmFrames);
|
gsmCap->SetTxFramesInPacket(gsmFrames);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (cap & AST_FORMAT_ULAW) {
|
if (cap & AST_FORMAT_ULAW) {
|
||||||
H323_G711Capability *g711uCap;
|
H323_G711Capability *g711uCap;
|
||||||
endPoint->SetCapability(0, 0, g711uCap = new H323_G711Capability(H323_G711Capability::muLaw));
|
endPoint->SetCapability(0, 0, g711uCap = new H323_G711Capability(H323_G711Capability::muLaw));
|
||||||
@@ -1203,13 +1198,8 @@ int h323_make_call(char *host, call_details_t *cd, call_options_t call_options)
|
|||||||
if (!h323_end_point_exist()) {
|
if (!h323_end_point_exist()) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
noFastStart = call_options.noFastStart;
|
|
||||||
noH245Tunneling = call_options.noH245Tunneling;
|
|
||||||
|
|
||||||
res = endPoint->MakeCall(dest, token, &cd->call_reference, call_options.port, call_options.callerid, call_options.callername);
|
res = endPoint->MakeCall(dest, token, &cd->call_reference, call_options.port, call_options.callerid, call_options.callername);
|
||||||
memcpy((char *)(cd->call_token), (const unsigned char *)token, token.GetLength());
|
memcpy((char *)(cd->call_token), (const unsigned char *)token, token.GetLength());
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -56,17 +56,19 @@ struct oh323_user {
|
|||||||
All peers are registered to a GK if there is one */
|
All peers are registered to a GK if there is one */
|
||||||
struct oh323_peer {
|
struct oh323_peer {
|
||||||
char name[80];
|
char name[80];
|
||||||
char context[80];
|
char mailbox[AST_MAX_EXTENSION];
|
||||||
int noFastStart;
|
int capability;
|
||||||
int noH245Tunneling;
|
int noFastStart;
|
||||||
int noSilenceSuppression;
|
int noH245Tunneling;
|
||||||
int inUse;
|
int noSilenceSuppression;
|
||||||
int outgoinglimit;
|
int inUse;
|
||||||
int bridge;
|
int outgoinglimit;
|
||||||
int nat;
|
int bridge;
|
||||||
int dtmfmode;
|
int nat;
|
||||||
|
int dtmfmode;
|
||||||
int delme;
|
int delme;
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
|
struct ast_ha *ha;
|
||||||
struct oh323_peer *next;
|
struct oh323_peer *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -114,7 +116,7 @@ typedef struct rtp_info {
|
|||||||
|
|
||||||
/* This is a callback prototype function, called pass
|
/* This is a callback prototype function, called pass
|
||||||
DTMF down the RTP. */
|
DTMF down the RTP. */
|
||||||
typedef int (*send_digit_cb)(unsigned, char);
|
typedef int (*send_digit_cb)(unsigned, char, const char *);
|
||||||
extern send_digit_cb on_send_digit;
|
extern send_digit_cb on_send_digit;
|
||||||
|
|
||||||
/* This is a callback prototype function, called to collect
|
/* This is a callback prototype function, called to collect
|
||||||
|
Reference in New Issue
Block a user