[Asterisk-cvs] asterisk/channels/h323 ast_h323.cpp,1.73,1.74

jeremy at lists.digium.com jeremy at lists.digium.com
Wed May 11 09:14:29 CDT 2005


Update of /usr/cvsroot/asterisk/channels/h323
In directory mongoose.digium.com:/tmp/cvs-serv10172

Modified Files:
	ast_h323.cpp 
Log Message:
Fix one way audio with some broken Endpoints and to shut bkw up. Bug #4164

Index: ast_h323.cpp
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/ast_h323.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- ast_h323.cpp	2 May 2005 18:46:01 -0000	1.73
+++ ast_h323.cpp	11 May 2005 13:20:32 -0000	1.74
@@ -1013,21 +1013,27 @@
 		return FALSE;
 	}
 
-	/* Collect the remote information */
-	H323_ExternalRTPChannel::GetRemoteAddress(remoteIpAddr, remotePort);
-
-        if (h323debug) {
-        	cout << "\t\tExternal RTP Session Starting" << endl;
-        	cout << "\t\tRTP channel id " << sessionID << " parameters:" << endl;
-                cout << "\t\t-- remoteIpAddress: " << remoteIpAddr << endl;
-                cout << "\t\t-- remotePort: " << remotePort << endl;
-                cout << "\t\t-- ExternalIpAddress: " <<  localIpAddr << endl;
-                cout << "\t\t-- ExternalPort: " << localPort << endl;
+	if (h323debug) {
+		cout << "\t\tExternal RTP Session Starting" << endl;
+		cout << "\t\tRTP channel id " << sessionID << " parameters:" << endl;
 	}
 
-	/* Notify Asterisk of remote RTP information */
-	on_start_rtp_channel(connection.GetCallReference(), (const char *)remoteIpAddr.AsString(), remotePort, 
-		(const char *)connection.GetCallToken(), (int)payloadCode);
+	/* Update RTP parameters by outgoing voice path only */
+	if (GetDirection() == IsTransmitter) {
+		/* Collect the remote information */
+		H323_ExternalRTPChannel::GetRemoteAddress(remoteIpAddr, remotePort);
+
+		if (h323debug) {
+			cout << "\t\t-- remoteIpAddress: " << remoteIpAddr << endl;
+			cout << "\t\t-- remotePort: " << remotePort << endl;
+			cout << "\t\t-- ExternalIpAddress: " <<  localIpAddr << endl;
+			cout << "\t\t-- ExternalPort: " << localPort << endl;
+		}
+
+		/* Notify Asterisk of remote RTP information */
+		on_start_rtp_channel(connection.GetCallReference(), (const char *)remoteIpAddr.AsString(), remotePort, 
+			(const char *)connection.GetCallToken(), (int)payloadCode);
+	}
 	return TRUE;
 }
 




More information about the svn-commits mailing list