Patent ID: 7369537
Filing Date: 2008-05-06
Classification: H04L

Abstract:
1. A Voice-over-Internet-Protocol (VoIP) system comprising: a plurality of client Voice-over-Internet-Protocol (VoIP) applications for running on a plurality of clients connected to the Internet, the client Voice-over-Internet-Protocol (VoIP) applications including a first client and a second client; an external manager function running on a server accessible to the client Voice-over-Internet-Protocol (VoIP) applications, the external manager receiving registration requests and call requests from the client Voice-over-Internet-Protocol (VoIP) applications; a test-packet replier running on a server accessible to the client Voice-over-Internet-Protocol (VoIP) applications, for responding to test packets containing test data by generating response packets with the test data sent back to a sending client; a voice-proxy server accessible to the client Voice-over-Internet-Protocol (VoIP) applications using a standard web-browser connection; a transport-capability discovery function on the external manager, and a transport-capability discovery function on each client, executed before a call request is sent to the external manager, for detecting transport capabilities of the client; a registration process whereby a client sends its discovered transport capabilities to the external manager, and the external manager stores those capabilities prior to a client being called; a call setup function executed by the external manager, for responding to a call request from the first client requesting to call the second client, whereby the setup function sends the first and second client a selected transport method, including protocols, port addresses and communication sequencing, as derived from the registration information, for transporting voice data directly or indirectly between the clients; wherein stateful UDP is selected as the transport method, wherein the second client further comprises a null-packet transmitter that in response to instructions from the call setup function of the external manager sends a null User Datagram Protocol (UDP) packet to the first client to open up a direct communication path when neither the first nor the second client has the incoming User Datagram Protocol (UDP) capability.