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;
 }
 

_______________________________________________
Asterisk-Cvs mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-cvs

Reply via email to