Firewall-tolerant voice-over-internet-protocol (VoIP) emulating SSL or HTTP sessions embedding voice data in cookies
First Claim
1. A firewall-tolerant Voice-over-Internet-Protocol (VoIP) system comprising:
- a VoIP client that receives local audio captured from a local user, and plays back remote audio from a remote user, the VoIP client comprising;
a sending thread that receives the local audio and generates a hyper-text transfer protocol HTTP GET message that contains an audio cookie, the local audio being embedded in the audio cookie for transport over an Internet;
wherein the audio cookie is an HTTP cookie field specified by an HTTP protocol to contain user data that is generated by a server and stored on a client, but specified to be sent to the server when the client later re-connects with the server;
wherein the HTTP GET message is a message specified to be used to request data from a server;
a receiving thread that receives an HTTP response message from a server on the Internet, the HTTP response message containing a data field that contains the remote audio from the remote user, the receiving thread reading the data field to extract the remote audio for playback to the local user;
whereby local audio is transported to the server in the audio cookie that uses the HTTP cookie field specified to be used for transferring user data generated by the server.
5 Assignments
0 Petitions
Accused Products
Abstract
A voice-over-Internet-Protocol (VoIP) client codes audio data as printable ASCII characters, then embeds the ASCII audio data inside a cookie that is sent over the Internet within an HTTP GET message. The GET message is sent to a server acting as a call proxy or external manager that forwards the audio data to a remote client. Return audio data is sent back to the client in the normal data field of an HTTP response message from the server. When the client receives the HTTP response, it sends another GET message without audio data, allowing the server to send another response. This empty GET allows VoIP to pass through strict firewalls that pair each HTTP response with a GET. For secure-sockets layer (SSL), client and server exchange pseudo-keys in hello and finished messages that establish the SSL session. Audio data is streamed in SSL messages instead of encrypted data.
-
Citations
15 Claims
-
1. A firewall-tolerant Voice-over-Internet-Protocol (VoIP) system comprising:
-
a VoIP client that receives local audio captured from a local user, and plays back remote audio from a remote user, the VoIP client comprising; a sending thread that receives the local audio and generates a hyper-text transfer protocol HTTP GET message that contains an audio cookie, the local audio being embedded in the audio cookie for transport over an Internet; wherein the audio cookie is an HTTP cookie field specified by an HTTP protocol to contain user data that is generated by a server and stored on a client, but specified to be sent to the server when the client later re-connects with the server; wherein the HTTP GET message is a message specified to be used to request data from a server; a receiving thread that receives an HTTP response message from a server on the Internet, the HTTP response message containing a data field that contains the remote audio from the remote user, the receiving thread reading the data field to extract the remote audio for playback to the local user; whereby local audio is transported to the server in the audio cookie that uses the HTTP cookie field specified to be used for transferring user data generated by the server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for making a voice call over an Internet comprising:
-
generating a hyper-text transfer protocol (HTTP) GET message that contains an audio cookie; placing audio data from a local user inside the audio cookie; sending the HTTP GET message with the audio cookie from a client to a server, the server extracting the audio data from the audio cookie for playback to a remote user; receiving an HTTP response message from the server; extracting remote audio data from a data field in the HTTP response message, the remote audio data containing audio from the remote user for playback to the local user; sending an empty GET message from the client to the server when the HTTP response message is received, the empty GET message being an HTTP GET message without a cookie, whereby audio data is placed in the audio cookie. - View Dependent Claims (11, 12, 13)
-
-
14. A computer-program product comprising:
-
a computer-usable medium having computer-readable code means embodied therein for communicating audio data from a client to a server through a firewall, the computer-readable program code means in the computer-program product further comprising; hyper-text transfer protocol (HTTP) means for opening an HTTP window in the firewall, the HTTP means comprising; cookie means, receiving a client audio stream, for placing the audio data from the client inside a cookie; GET means, receiving the cookie from the cookie means, for generating a GET message that contains the cookie, the GET message being sent to the server using one or more of TCP packets; wherein the audio data is sent to the server inside the cookie; response means, receiving a remote audio stream for playback to the client, for receiving from the server remote audio data in the remote audio stream, a remote audio streaming means extracting the remote audio data from a server-data field in HTTP response messages sent by the server to the client, the HTTP response messages carrying the remote audio data in the server-data field; and empty GET means for sending an empty GET message to the server when the HTTP response message is received but the GET message with the cookie is not generated; wherein the HTTP response messages are paired with the empty GET message or the GET message with the cookie, whereby the remote audio data is received from the server in the server-data field but the audio data is sent to the server inside the cookie. - View Dependent Claims (15)
-
Specification