Claims
- 1. A method of providing a media session channel for communication of real time streaming media data from a remote client to a client served by an address translation firewall, the method comprising:
receiving a ping datagram originated by the client that identifies the client; extracting a source network address and a source port number from the ping datagram; receiving a session signaling message from a remote device, the session signaling message identifying the client and including a caller network address and a caller port number established for receipt of media session datagrams; and sending a client session signaling message to the client utilizing the source network address and source port number in response to receipt of the session signaling message from the remote device.
- 2. The method of claim 1:further comprising:
extracting a remote device source network address and a remote device source port number from the session signaling message; determining whether the caller network address matches a source network address; determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address and the designated port number being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein:
the client session signaling message includes the designated network address and designated port number.
- 3. The method of claim 2, further comprising:
receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and the caller designated port number being:
the client designated network address and the client designated port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and sending a remote device response message to the remote device that includes the caller designated network address and the caller designated port number.
- 4. A method of sending a call signaling message to a client independent of whether the client is served an address translation firewall, the method comprising:
receiving a registration message from the client, the registration message identifying a network address of the client; extracting a source network address and a source port number from the registration message; comparing the a designated network address to the source network address; receiving a directory inquiry message from a remote device identifying the client; providing a directory inquiry response message to the remote device, the directory inquiry response message including a signaling address, the signaling address being:
the network address if the network address and the source network address are the same network address; and a directory server network address if the network address and the source network address are not the same.
- 5. The method of claim 4, further comprising:
receiving a session signaling message from a remote device and for the client; and sending a client session signaling message to the client utilizing the source network address and the source port number.
- 6. The method of claim 5, wherein:
the session signaling message includes a caller network address and a caller port number established for receipt of media session datagrams; and the method further includes:
extracting a remote device source network address and a remote device source port number from the session signaling message; determining whether the caller network address matches the remote device source network address; determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address and the designated port number being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein the client session signaling message includes the designated network address and designated port number.
- 7. The method of claim 6, further comprising:
receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and the caller designated port number being:
the client network address and the client port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and sending a remote device response message to the remote device that includes the caller designated network address and the caller designated port number.
- 8. The method of claim 4, further comprising:
assigning a session identifier to the session in response to the directory inquiry; associating the session identifier to the client; and providing the session identifier to the remote device in the directory inquiry response message.
- 9. The method of claim 8, further comprising:
receiving a session signaling message from the remote device includes the session identifier; identifying the client to which the session identifier is associated; and sending a client session signaling message to the client utilizing the source network address and source port number.
- 10. The method of claim 9, wherein:
the session signaling message includes a caller network address and a caller port number established for receipt of media session datagrams; and the method further comprises:
determining whether the caller network address matches a remote device source network address; determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein the client session signaling message includes the designated network address and the designated port number.
- 11. The method of claim 10, further comprising:
receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and caller designated port number being:
the client network address and the client port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and sending a remote device response message to the remote device that includes the caller network address and the caller port number.
- 12. A director server for providing a media session channel for communication of real time streaming media data from a remote client to a client served by an address translation firewall, the directory server comprising:
means for receiving a ping datagram originated by the client that identifies the client; means for extracting a source network address and a source port number from the ping datagram; means for receiving a session signaling message from a remote device, the session signaling message identifying the client and including a caller network address and a caller port number established for receipt of media session datagrams; and means for sending a client session signaling message to the client utilizing the source network address and source port number in response to receipt of the session signaling message from the remote device.
- 13. The directory server of claim 12:
further comprising:
means for extracting a remote device source network address and a remote device source port number from the session signaling message; means for determining whether the caller network address matches a source network address; means for determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address and the designated port number being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and it a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein:
the client session signaling message includes the designated network address and designated port number.
- 14. The directory server of claim 13, further comprising:
means for receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; means for determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and the caller designated port number being:
the client designated network address and the client designated port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and means for sending a remote device response message to the remote device that includes the caller designated network address and the caller designated port number.
- 15. A directory server for sending a call signaling message to a client independent of whether the client is served an address translation firewall, the directory server comprising:
means for receiving a registration message from the client, the registration message identifying a network address of the client; means for extracting a source network address and a source port number from the registration message; means for comparing the a designated network address to the source network address; means for receiving a directory inquiry message from a remote device identifying the client; means for providing a directory inquiry response message to the remote device, the directory inquiry response message including a signaling address, the signaling address being:
the network address if the network address and the source network address are the same network address; and a directory server network address if the network address and the source network address are not the same.
- 16. The directory server of claim 15, further comprising:
means for receiving a session signaling message from a remote device and for the client; and means for sending a client session signaling message to the client utilizing the source network address and the source port number.
- 17. The directory server of claim 16, wherein:
the session signaling message includes a caller network address and a caller port number established for receipt of media session datagrams; and the directory server further comprises:
means for extracting a remote device source network address and a remote device source port number from the session signaling message; means for determining whether the caller network address matches the remote device source network address; means for determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address and the designated port number being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein the client session signaling message includes the designated network address and designated port number.
- 18. The directory server of claim 17, further comprising:
means for receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; means for determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and the caller designated port number being:
the client network address and the client port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and means for sending a remote device response message to the remote device that includes the caller designated network address and the caller designated port number.
- 19. The directory server of claim 5, further comprising:
means for assigning a session identifier to the session in response to the directory inquiry; means for associating the session identifier to the client; and means for providing the session identifier to the remote device in the directory inquiry response message.
- 20. The directory server of claim 19, further comprising:
means for receiving a session signaling message from the remote device includes the session identifier; means for identifying the client to which the session identifier is associated; and means for sending a client session signaling message to the client utilizing the source network address and source port number.
- 21. The directory server of claim 20, wherein:
the session signaling message includes a caller network address and a caller port number established for receipt of media session datagrams; and the directory server further comprises:
means for determining whether the caller network address matches a remote device source network address; means for determining a designated network address and designated port number to which the client is to send media session datagrams, the designated network address being:
the caller network address and the caller port number if the caller network address matches the remote device source network address; and a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and wherein the client session signaling message includes the designated network address and the designated port number.
- 22. The directory server of claim 21, further comprising:
means for receiving a response message originated by the client that includes a client network address and a client port number for receipt of media session datagrams; means for determining a caller designated network address and a caller designated port number to which the caller is to send media session datagrams, the caller designated network address and caller designated port number being:
the client network address and the client port number if the caller network address matches the remote device source network address; and edit a relay server network address and a relay server port number if the caller network address does not match the remote device source network address; and means for sending a remote device response message to the remote device that includes the caller network address and the caller port number.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of U.S. patent application Ser. No. 09/788,865, entitled Method for Communicating Audio Data in a Packet Switched Network, filed on Feb. 20, 2001; is a continuation-in-part of U.S. patent application Ser. No. 09/819,492, entitled System and Method for Determining a Connectionless Communication Path for Communicating Audio Data through an Address and Port Translation Device, filed on Mar. 28, 2001; and is a continuation-in-part of U.S. patent application Ser. No. 091977,438, entitled System and Method For Providing Real Time Connectionless Communication of Media Data Through a Firewall, filed on Oct. 15, 2001. The above referenced patent applications are incorporated herein in their entirety.
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
09788865 |
Feb 2001 |
US |
Child |
10077205 |
Feb 2002 |
US |
Parent |
09819492 |
Mar 2001 |
US |
Child |
10077205 |
Feb 2002 |
US |
Parent |
09977438 |
Oct 2001 |
US |
Child |
10077205 |
Feb 2002 |
US |