Patent ID: 8503340

Claim:
A WiFi phone system capable of providing voice calls over either a WiFi wireless network or a wired network and of allowing WiFi phone devices to freely move within a group of networks comprising: WiFi wireless access points coupled to each other through a network; WiFi phone devices with built-in wired and WiFi wireless interfaces, wherein: said WiFi phone devices allow real time phone conversations directly through either the wired or the WiFi wireless interface; and said WiFi phone devices automatically switch to said wired interface to conduct real-time bidirectional phone calls if said WiFi phone devices are attached to said wired network and wherein said WiFi wireless interface continues to be used as a secondary communication channel; otherwise, said WiFi phone devices switch to said WiFi wireless interface to place phone calls, and transmit and receive voice and data packets simultaneously; a voice gateway coupled to either of the network, wherein said voice gateway is capable of: placing, routing and receiving external phone calls through said wired interface if said WiFi phone devices are attached to said wired network; and placing, routing and receiving external phone calls through said WiFi wireless interface if said WiFi phone devices are only connected through said WiFi wireless network; and a subscription server operated to maintain a status of each of the WiFi phone devices wherein: each of said WiFi phone devices notifies said subscription server when they move to another network within said group of networks; said subscription server updates a location for each of said WiFi phone devices; and said subscription server notifies said voice gateway and said WiFi wireless access points in the group of networks of updated location of each of said WiFi phone devices to switch the routing of incoming calls and a transmission and receipt of both voice and data packets; and a smart packet dispatcher in said WiFi phone device operated to improve response time for real time packets by setting up two queues, one for voice or real time packets, and the other for regular data packets, the smart packet dispatcher emptying the voice or real time packet queue before the regular data packet queue so that the voice or real time packets are delivered with improved response time.