US 7,574,736 B2
System and method for efficiently transferring media across firewalls
Rao Salapaka, Redmond, Wash. (US); Srikanth Shoroff, Sammamish, Wash. (US); and Gur Kimchi, Bellevue, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Mar. 03, 2004, as Appl. No. 10/792,349.
Prior Publication US 2005/0198499 A1, Sep. 08, 2005
Int. Cl. G06F 17/00 (2006.01)
U.S. Cl. 726—13  [726/14; 726/15] 12 Claims
OG exemplary drawing
 
1. A computer-implemented process for receiving from a plurality of sending clients media packets across a firewall sent to a single destination address and a single destination port of a firewall, each media packet not including an unencrypted Synchronization Source Identifier (SSRC) but including an encrypted Synchronization Source Identifier, comprising the process actions of:
establishing a plurality of security associations (SAs) for dialogs between sending clients and receiving clients, each SA including source information of a sending client and an indication of a receiving client;
receiving from a sending client an encrypted media packet sent using Real-time Transport Protocol (RTP) message format at a media-relay server, the encrypted media packet being sent to the destination address and the destination port;
determining whether the sending client's Security Association (SA) exists using the sender's source information received with the media packet the sender's source information being unencrypted and including a source address;
if no SA exists, dropping the media packet at the media-relay server; and
if a SA does exist, decrypting the media packet including decrypting a media packet Synchronization Source Identifier included in the media packet;
obtaining obtained Synchronization Source Identifier from the SA;
comparing the media packet Synchronization Source Identifier included in the decrypted media packet with the obtained Synchronization Source Identifier obtained from the SA;
if the media packet Synchronization Source Identifier included in the decrypted packet does not match the obtained Synchronization Source Identifier obtained from the SA, dropping the media packet;
and
if the media packet Synchronization Source Identifier in the decrypted packet matches to the obtained Synchronization Source Identifier obtained from the SA, forwarding the packet to a receiving client indicated in the SA based on the sender's source information
wherein a plurality of sending clients send media packets with different encrypted Synchronization Source Identifiers to the destination address and the destination port.