summaryrefslogtreecommitdiff
path: root/channels/h323
diff options
context:
space:
mode:
authorJeremy McNamara <jj@nufone.net>2004-07-17 19:38:30 +0000
committerJeremy McNamara <jj@nufone.net>2004-07-17 19:38:30 +0000
commitf10148d3e30b7c146e52b12e2a0363d71773a449 (patch)
tree1cf265ad477f9938a00ce02e66f84998226810c8 /channels/h323
parentb1e841edab559ef228a1835293ab10220fb97f57 (diff)
actually implement the setting of noFastStart and noH245Tunneling.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/h323')
-rwxr-xr-xchannels/h323/ast_h323.cpp14
-rwxr-xr-xchannels/h323/chan_h323.h23
2 files changed, 21 insertions, 16 deletions
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp
index c10f17a87..d67e95fd3 100755
--- a/channels/h323/ast_h323.cpp
+++ b/channels/h323/ast_h323.cpp
@@ -62,7 +62,7 @@ int mode = H323_DTMF_RFC2833;
/** Options for connections creation */
BOOL noFastStart = TRUE;
-BOOL noH245Tunnelling;
+BOOL noH245Tunneling;
BOOL noSilenceSuppression;
/**
@@ -479,7 +479,7 @@ H323Connection * MyH323EndPoint::CreateConnection(unsigned callReference, void *
if (noFastStart)
options |= H323Connection::FastStartOptionDisable;
- if (noH245Tunnelling)
+ if (noH245Tunneling)
options |= H323Connection::H245TunnelingOptionDisable;
return new MyH323Connection(*this, callReference, options);
@@ -816,9 +816,13 @@ int h323_end_point_exist(void)
return 1;
}
-void h323_end_point_create(void)
+void h323_end_point_create(int no_fast_start, int no_h245_tunneling)
{
channelsOpen = 0;
+
+ noFastStart = (BOOL)no_fast_start;
+ noH245Tunneling = (BOOL)no_h245_tunneling;
+
localProcess = new MyProcess();
localProcess->Main();
}
@@ -1103,12 +1107,14 @@ int h323_make_call(char *host, call_details_t *cd, call_options_t call_options)
{
int res;
PString token;
+ PString dest(host);
if (!h323_end_point_exist()) {
return 1;
}
- PString dest(host);
+ 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());
diff --git a/channels/h323/chan_h323.h b/channels/h323/chan_h323.h
index e45d3c4dc..bfdd0dd82 100755
--- a/channels/h323/chan_h323.h
+++ b/channels/h323/chan_h323.h
@@ -57,16 +57,16 @@ struct oh323_user {
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;
- struct sockaddr_in addr;
+ int noFastStart;
+ int noH245Tunneling;
+ int noSilenceSuppression;
+ int inUse;
+ int outgoinglimit;
+ int bridge;
+ int nat;
+ int dtmfmode;
int delme;
+ struct sockaddr_in addr;
struct oh323_peer *next;
};
@@ -88,7 +88,7 @@ typedef struct call_options {
char *callerid;
char *callername;
int noFastStart;
- int noH245Tunnelling;
+ int noH245Tunneling;
int noSilenceSuppression;
unsigned int port;
} call_options_t;
@@ -98,7 +98,6 @@ typedef struct call_options {
asterisk channels to acutal h.323 connections */
typedef struct call_details {
unsigned int call_reference;
-
const char *call_token;
const char *call_source_aliases;
const char *call_dest_alias;
@@ -167,7 +166,7 @@ extern "C" {
#endif
void h323_gk_urq(void);
- void h323_end_point_create(void);
+ void h323_end_point_create(int, int);
void h323_end_process(void);
int h323_end_point_exist(void);