From 2e12cb472384a279a33056b889825cfd64336f10 Mon Sep 17 00:00:00 2001 From: jeremy Date: Sat, 17 Jul 2004 19:38:30 +0000 Subject: actually implement the setting of noFastStart and noH245Tunneling. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3459 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/h323/ast_h323.cpp | 14 ++++++++++---- channels/h323/chan_h323.h | 23 +++++++++++------------ 2 files changed, 21 insertions(+), 16 deletions(-) (limited to 'channels/h323') 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); -- cgit v1.2.3