aboutsummaryrefslogtreecommitdiffstats
path: root/channels/h323
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-30 19:30:49 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-30 19:30:49 +0000
commitfc4f22736d33f75761e1a45c7af431c9d57f13c0 (patch)
treee92019c026cb2017fdcb83fc298be84a1c82a17b /channels/h323
parent12e33c79bee8b77c8e67e435d4fd37808f1ae857 (diff)
massive changes, very broken, do not use (from airport)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3859 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323')
-rwxr-xr-xchannels/h323/Makefile52
-rwxr-xr-xchannels/h323/ast_h323.cpp48
-rwxr-xr-xchannels/h323/chan_h323.h22
3 files changed, 59 insertions, 63 deletions
diff --git a/channels/h323/Makefile b/channels/h323/Makefile
index 52004c1fd..ef52b4d8f 100755
--- a/channels/h323/Makefile
+++ b/channels/h323/Makefile
@@ -37,32 +37,32 @@ endif
#
#
# Janus release directives, comment below if your brave enough for Janus
-#OSARCH=$(shell uname -s)
-#CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
-#CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations
-#CFLAGS += -D_REENTRANT -D_GNU_SOURCE
-#CFLAGS += -I../../include
-#CFLAGS += -I$(PWLIBDIR)/include
-#CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes -Wno-missing-declarations
-
-# Pre Janus release directives
+OSARCH=$(shell uname -s)
CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
-CFLAGS += -pipe -Wall -fPIC
-ifeq (${OSARCH},Linux)
-CFLAGS += -DP_LINUX
-LIBS+=-lpthread
-endif
-ifeq ($(findstring BSD,${OSARCH}),BSD)
-CFLAGS += -pthread
-endif
+CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations
CFLAGS += -D_REENTRANT -D_GNU_SOURCE
-CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
-CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA
CFLAGS += -I../../include
-CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include
-CFLAGS += -I$(OPENH323DIR)/include
-CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations
-LIBS+= -lcrypto -lssl -lexpat
+CFLAGS += -I$(PWLIBDIR)/include
+CFLAGS += -I$(OPENH323DIR)/include -Wno-missing-prototypes -Wno-missing-declarations
+
+# Pre Janus release directives
+#CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
+#CFLAGS += -pipe -Wall -fPIC
+#ifeq (${OSARCH},Linux)
+#CFLAGS += -DP_LINUX
+#LIBS+=-lpthread
+#endif
+#ifeq ($(findstring BSD,${OSARCH}),BSD)
+#CFLAGS += -pthread
+#endif
+#CFLAGS += -D_REENTRANT -D_GNU_SOURCE
+#CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
+#CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA
+#CFLAGS += -I../../include
+#CFLAGS += -I$(PWLIBDIR)/include/ptlib/unix -I$(PWLIBDIR)/include
+#CFLAGS += -I$(OPENH323DIR)/include
+#CFLAGS += -Wno-missing-prototypes -Wno-missing-declarations
+#LIBS+= -lcrypto -lssl -lexpat
all: libchanh323.a
@@ -74,7 +74,11 @@ samples:
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
ar cr libchanh323.a ast_h323.o
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp
index afeee365e..746668207 100755
--- a/channels/h323/ast_h323.cpp
+++ b/channels/h323/ast_h323.cpp
@@ -5,8 +5,8 @@
* By Jeremy McNamara
* For The NuFone Network
*
- * This code has been derived from code created by
- * Michael Manousos and Mark Spencer
+ * chan_h323 has been derived from code created by
+ * Michael Manousos and Mark Spencer
*
* This file is part of the chan_h323 driver for Asterisk
*
@@ -60,11 +60,6 @@ int channelsOpen;
/* DTMF Mode */
int mode = H323_DTMF_RFC2833;
-/** Options for connections creation */
-BOOL noFastStart = TRUE;
-BOOL noH245Tunneling;
-BOOL noSilenceSuppression;
-
/**
* We assume that only one endPoint should exist.
* 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;
/* Determine whether we are using a gatekeeper or not. */
- if (GetGatekeeper() != NULL) {
+ if (!GetGatekeeper()) {
fullAddress = dest;
- if (h323debug)
+ if (h323debug) {
cout << " -- Making call to " << fullAddress << " using gatekeeper." << endl;
+ }
} else {
- fullAddress = dest; /* host */
- if (h323debug)
- cout << " -- Making call to " << fullAddress << "." << endl;
+ fullAddress = dest;
+ if (h323debug) {
+ cout << " -- Making call to " << fullAddress << "." << endl;
+ }
}
-
if (!(connection = (MyH323Connection *)H323EndPoint::MakeCallLocked(fullAddress, token))) {
- if (h323debug)
+ if (h323debug) {
cout << "Error making call to \"" << fullAddress << '"' << endl;
+ }
return 1;
}
-
- *callReference = connection->GetCallReference();
-
- if (callerid)
+ *callReference = connection->GetCallReference();
+ if (callerid) {
connection->SetLocalPartyName(PString(callerid));
+ }
if (callername) {
localAliasNames.RemoveAll();
connection->SetLocalPartyName(PString(callername));
@@ -272,16 +268,14 @@ int MyH323EndPoint::MakeCall(const PString & dest, PString & token, unsigned int
localAliasNames.RemoveAll();
connection->SetLocalPartyName(PString(callerid));
}
-
connection->AST_Outgoing = TRUE;
- connection->Unlock();
-
if (h323debug) {
cout << " -- " << GetLocalUserName() << " is calling host " << fullAddress << endl;
cout << " -- " << "Call token is " << (const char *)token << endl;
cout << " -- Call reference is " << *callReference << endl;
}
+ connection->Unlock();
return 0;
}
@@ -994,6 +988,7 @@ int h323_set_capability(int cap, int dtmfMode)
} else {
endPoint->SetSendUserInputMode(H323Connection::SendUserInputAsInlineRFC2833);
}
+#if 0
if (cap & AST_FORMAT_SPEEX) {
/* Not real sure if Asterisk acutally supports all
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 SpeexNarrow6AudioCapability());
}
-
+#endif
if (cap & AST_FORMAT_G729A) {
AST_G729ACapability *g729aCap;
AST_G729Capability *g729Cap;
@@ -1017,13 +1012,13 @@ int h323_set_capability(int cap, int dtmfMode)
H323_G7231Capability *g7231Cap;
endPoint->SetCapability(0, 0, g7231Cap = new H323_G7231Capability);
}
-
+#if 0
if (cap & AST_FORMAT_GSM) {
H323_GSM0610Capability *gsmCap;
endPoint->SetCapability(0, 0, gsmCap = new H323_GSM0610Capability);
gsmCap->SetTxFramesInPacket(gsmFrames);
}
-
+#endif
if (cap & AST_FORMAT_ULAW) {
H323_G711Capability *g711uCap;
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()) {
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);
memcpy((char *)(cd->call_token), (const unsigned char *)token, token.GetLength());
-
return res;
};
diff --git a/channels/h323/chan_h323.h b/channels/h323/chan_h323.h
index 1b277c499..0215054f2 100755
--- a/channels/h323/chan_h323.h
+++ b/channels/h323/chan_h323.h
@@ -56,17 +56,19 @@ struct oh323_user {
All peers are registered to a GK if there is one */
struct oh323_peer {
char name[80];
- char context[80];
- int noFastStart;
- int noH245Tunneling;
- int noSilenceSuppression;
- int inUse;
- int outgoinglimit;
- int bridge;
- int nat;
- int dtmfmode;
+ char mailbox[AST_MAX_EXTENSION];
+ int capability;
+ int noFastStart;
+ int noH245Tunneling;
+ int noSilenceSuppression;
+ int inUse;
+ int outgoinglimit;
+ int bridge;
+ int nat;
+ int dtmfmode;
int delme;
struct sockaddr_in addr;
+ struct ast_ha *ha;
struct oh323_peer *next;
};
@@ -114,7 +116,7 @@ typedef struct rtp_info {
/* This is a callback prototype function, called pass
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;
/* This is a callback prototype function, called to collect