From 588801931f69143f93af224fb79ac1d2eac301b6 Mon Sep 17 00:00:00 2001 From: Jeremy McNamara Date: Tue, 25 May 2004 02:27:59 +0000 Subject: [PATCH] optmize call setup process git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3063 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/h323/ast_h323.cpp | 48 +++++++++++--------------------------- channels/h323/ast_h323.h | 4 ---- 2 files changed, 14 insertions(+), 38 deletions(-) diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp index b021e1d90d..ba7de93f75 100755 --- a/channels/h323/ast_h323.cpp +++ b/channels/h323/ast_h323.cpp @@ -471,9 +471,6 @@ MyH323Connection::MyH323Connection(MyH323EndPoint & ep, unsigned callReference, unsigned options) : H323Connection(ep, callReference, options) { - remoteIpAddress = 0; // IP Address of remote endpoint - remotePort = 0; // remote endpoint Data port (control is dataPort+1) - if (h323debug) { cout << " == New H.323 Connection created." << endl; } @@ -722,24 +719,14 @@ BOOL MyH323Connection::OnStartLogicalChannel(H323Channel & channel) cout << ((channel.GetDirection()==H323Channel::IsTransmitter)?"sending ":((channel.GetDirection()==H323Channel::IsReceiver)?"receiving ":" ")); cout << (const char *)(channel.GetCapability()).GetFormatName() << endl; } - // adjust the count of channels we have open + + /* adjust the count of channels we have open */ channelsOpen++; + if (h323debug) { cout << " -- channelsOpen = " << channelsOpen << endl; } - H323_ExternalRTPChannel & external = (H323_ExternalRTPChannel &)channel; - external.GetRemoteAddress(remoteIpAddress, remotePort); - - if (h323debug) { - if (channel.GetDirection()==H323Channel::IsReceiver) { - cout << " -- remoteIpAddress: " << remoteIpAddress << endl; - cout << " -- remotePort: " << remotePort << endl; - } - } - /* Notify Asterisk of remote RTP information */ - on_start_logical_channel(GetCallReference(), (const char *)remoteIpAddress.AsString(), remotePort); - return TRUE; } @@ -752,10 +739,6 @@ MyH323_ExternalRTPChannel::MyH323_ExternalRTPChannel(MyH323Connection & connecti WORD dataPort) : H323_ExternalRTPChannel(connection, capability, direction, sessionID, ip, dataPort) { - if (h323debug) { - cout << " == New H.323 ExternalRTPChannel created." << endl; - } - return; } MyH323_ExternalRTPChannel::MyH323_ExternalRTPChannel(MyH323Connection & connection, @@ -778,32 +761,29 @@ MyH323_ExternalRTPChannel::MyH323_ExternalRTPChannel(MyH323Connection & connecti MyH323_ExternalRTPChannel::~MyH323_ExternalRTPChannel() { - if (h323debug) { - cout << " == H.323 ExternalRTPChannel deleted." << endl; - } - return; } BOOL MyH323_ExternalRTPChannel::OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param) { - PIPSocket::Address remoteIpAddress; - WORD remotePort; + PIPSocket::Address remoteIpAddress; + WORD remotePort; + + if (H323_ExternalRTPChannel::OnReceivedAckPDU(param)) { + H323_ExternalRTPChannel::GetRemoteAddress(remoteIpAddress, remotePort); + /* Notify Asterisk of remote RTP information */ + on_start_logical_channel(connection.GetCallReference(), (const char *)remoteIpAddress.AsString(), remotePort); + return TRUE; + } + return FALSE; - if (H323_ExternalRTPChannel::OnReceivedAckPDU(param)) { - H323_ExternalRTPChannel::GetRemoteAddress(remoteIpAddress, remotePort); - /* Notify Asterisk of remote RTP information */ - on_start_logical_channel(connection.GetCallReference(), (const char *)remoteIpAddress.AsString(), remotePort); - return TRUE; - } - return FALSE; } - /** IMPLEMENTATION OF C FUNCTIONS */ /** * The extern "C" directive takes care for * the ANSI-C representation of linkable symbols */ + extern "C" { int h323_end_point_exist(void) diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h index 4be7f74400..ab30c44351 100755 --- a/channels/h323/ast_h323.h +++ b/channels/h323/ast_h323.h @@ -248,9 +248,7 @@ class MyH323Connection : public H323Connection { PString destE164; PIPSocket::Address externalIpAddress; - PIPSocket::Address remoteIpAddress; WORD externalPort; - WORD remotePort; WORD sessionId; BOOL bridging; }; @@ -289,9 +287,7 @@ class MyH323_ExternalRTPChannel : public H323_ExternalRTPChannel { BOOL OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param); PIPSocket::Address externalIpAddress; - PIPSocket::Address remoteIpAddress; WORD externalPort; - WORD remotePort; }; /**