diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-03-20 14:24:20 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-03-20 14:24:20 +0000 |
commit | af28977d7359124e4bbc37af53fc2db57c08a653 (patch) | |
tree | a55dcbd41d8167047804409bd4412cddd1de7351 /channels/h323 | |
parent | 19471f4a8f35654870492dae2a376595b7b1f1ec (diff) |
rollback everything to known good state. E.164 and prefix routing patches are broken
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2498 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323')
-rwxr-xr-x | channels/h323/ast_h323.cpp | 92 | ||||
-rwxr-xr-x | channels/h323/ast_h323.h | 21 |
2 files changed, 17 insertions, 96 deletions
diff --git a/channels/h323/ast_h323.cpp b/channels/h323/ast_h323.cpp index 9dbc1aa6f..44e816350 100755 --- a/channels/h323/ast_h323.cpp +++ b/channels/h323/ast_h323.cpp @@ -687,7 +687,7 @@ H323Channel * MyH323Connection::CreateRealTimeLogicalChannel(const H323Capabilit cout << " -- SessionID: " << sessionID << endl; cout << " -- Direction: " << dir << endl; } - return new MyH323_ExternalRTPChannel(*this, capability, dir, sessionID, externalIpAddress, externalPort); + return new H323_ExternalRTPChannel(*this, capability, dir, sessionID, externalIpAddress, externalPort); } /** This callback function is invoked once upon creation of each @@ -720,63 +720,6 @@ BOOL MyH323Connection::OnStartLogicalChannel(H323Channel & channel) return TRUE; } -/* MyH323_ExternalRTPChannel */ -MyH323_ExternalRTPChannel::MyH323_ExternalRTPChannel(MyH323Connection & connection, - const H323Capability & capability, - Directions direction, - unsigned sessionID, - const PIPSocket::Address & ip, - WORD dataPort) - : H323_ExternalRTPChannel(connection, capability, direction, sessionID, ip, dataPort) -{ - if (h323debug) { - cout << " == New H.323 ExternalRTPChannel created." << endl; - } - return; -} - -MyH323_ExternalRTPChannel::~MyH323_ExternalRTPChannel() -{ - if (h323debug) { - cout << " == H.323 ExternalRTPChannel deleted." << endl; - } - return; -} - -BOOL MyH323_ExternalRTPChannel::OnReceivedPDU( - const H245_H2250LogicalChannelParameters & param, - unsigned & errorCode) -{ - if (h323debug) { - cout << " MyH323_ExternalRTPChannel::OnReceivedPDU " << endl; - } - return H323_ExternalRTPChannel::OnReceivedPDU( param, errorCode ); -} - -BOOL MyH323_ExternalRTPChannel::OnReceivedAckPDU( - const H245_H2250LogicalChannelAckParameters & param) -{ - - PIPSocket::Address remoteIpAddress; // IP Address of remote endpoint - WORD remotePort; // remote endpoint Data port (control is dataPort+1) - - if (h323debug) { - cout << " MyH323_ExternalRTPChannel::OnReceivedAckPDU " << endl; - } - - if (H323_ExternalRTPChannel::OnReceivedAckPDU( param )) { - GetRemoteAddress(remoteIpAddress, remotePort); - if (h323debug) { - cout << " -- remoteIpAddress: " << remoteIpAddress << endl; - cout << " -- remotePort: " << remotePort << endl; - } - /* 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 */ @@ -943,7 +886,10 @@ int h323_start_listener(int listenPort, struct sockaddr_in bindaddr) int h323_set_alias(struct oh323_alias *alias) { + char *p; + char *num; PString h323id(alias->name); + PString e164(alias->e164); if (!h323_end_point_exist()) { cout << "ERROR: [h323_set_alias] No Endpoint, this is bad!" << endl; @@ -954,26 +900,18 @@ int h323_set_alias(struct oh323_alias *alias) endPoint->AddAliasName(h323id); endPoint->RemoveAliasName(localProcess->GetUserName()); - if(alias->e164) { - struct e164_number *num = alias->e164; - while(num) { - if(strlen(num->number)) { - cout << " == Adding E.164 \"" << num->number << "\" to endpoint" << endl; - endPoint->AddAliasName(num->number); - } - num = num->next; - } + if (!e164.IsEmpty()) { + cout << " == Adding E.164 \"" << e164 << "\" to endpoint" << endl; + endPoint->AddAliasName(e164); } - - if(alias->prefix) { - struct e164_number *num = alias->prefix; + if (strlen(alias->prefix)) { + p = alias->prefix; + num = strsep(&p, ","); while(num) { - if(strlen(num->number)) { - cout << " == Adding Prefix \"" << num->number << "\" to endpoint" << endl; - endPoint->SupportedPrefixes += PString(num->number); - endPoint->SetGateway(); - } - num = num->next; + cout << " == Adding Prefix \"" << num << "\" to endpoint" << endl; + endPoint->SupportedPrefixes += PString(num); + endPoint->SetGateway(); + num = strsep(&p, ","); } } @@ -1159,3 +1097,5 @@ void h323_native_bridge(const char *token, char *them, char *capability) } /* extern "C" */ + + diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h index 91ebab0ae..e079d960e 100755 --- a/channels/h323/ast_h323.h +++ b/channels/h323/ast_h323.h @@ -253,26 +253,6 @@ class MyH323Connection : public H323Connection { BOOL bridging; // Used to help determine which IP to use }; -class MyH323_ExternalRTPChannel : public H323_ExternalRTPChannel { - - PCLASSINFO(MyH323_ExternalRTPChannel, H323_ExternalRTPChannel); - - public: - - MyH323_ExternalRTPChannel(MyH323Connection &, const H323Capability &, Directions, - unsigned, const PIPSocket::Address &, WORD); - - ~MyH323_ExternalRTPChannel(); - - BOOL OnReceivedPDU( - const H245_H2250LogicalChannelParameters & param, /// Acknowledgement PDU - unsigned & errorCode /// Error on failure - ); - - BOOL OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param); - -}; - /** * The MyProcess is a necessary descendant PProcess class so that the H323EndPoint * objected to be created from within that class. (Who owns main() problem). @@ -289,3 +269,4 @@ class MyProcess : public PProcess { }; + |