Patent ID: 8311038

Claim:
An instant Internet browser based voice over Internet protocol (VoIP) system, comprising: an Internet based browser and a plug-in; a VoIP client, said plug-in embedding said client into said browser; a click-to-call (C2Call) VoIP applet that performs the functions of said client; a C2Call client application program interface (API) that manages contact lists, call history and client authentication for said applet; a register and presence handler for submitting and retrieving register information and presence information from any contacts for said applet; a VoIP command API to initiate, receive and terminate VoIP calls for said applet; a VoIP notifier that notifies said browser of incoming said VoIP calls, online status information and any change of presence status of said contacts for said applet; an audio handler that sends and retrieves audio data from said browser and implements audio playback and recording functions for said applet; an encoder and decoder that manages audio encoding and audio decoding performed by a plurality of audio codecs for said applet; a rich text format (RTP) session handler for implementing RTP audio output streams, RTP audio input streams and firewall strategies of said VoIP client for said applet; a main web server with an application server for managing said contacts and relationships between callers and callees of said VoIP calls that also provides all Web forms and call link management and a postfix mail transfer agent (MTA) to handle email transfers for call links, invite emails and confirmations to a plurality of outside Web browsers; a C2Call session initiation protocol (SIP) proxy that handles said presence information in combination with said register and presence handler; a C2Call relay that serves as a gateway into any PSTN networks that is used when a peer to peer communication cannot be achieved by said VoIP applet; and a circular buffer with a plurality of buckets, a playback thread and a network thread to efficiently manage and buffer said RTP streams with a plurality of incoming data packets and a plurality of audio packets, that works in combination with said RTP session handler.