This invention relates to network equipment and more specifically to a network equipment with PPPoE bridging function in a local network for Voice over Internet Protocol (VoIP) telephony.
In U.S. patent application Ser. No. 11/280,688, entitled “Using PSTN to Communicate IP Addresses for Point-to-Point Text, Voice, Video, or Data Communication,” filed on Nov. 15, 2005, discloses a method for using the public switched telephone network (PSTN) to exchange Internet protocol (IP) addresses for point-to-point communication between two devices over a public computer network (e.g., the Internet). In one example, a first device uses the PSTN to send its IP address to a second device to setup a network connection over the public computer network. The second device then sends a network connection request to the first device over the public computer network using the IP address. Once the network connection has been established, the first and the second devices exchange data packets carrying text, voice, video, or other communications data between their users.
Use of the same reference numbers in different figures indicates similar or identical elements.
In one embodiment of the invention, a method is provided for a telephone gateway device to bridge a local area network (LAN) equipment and a broadband modem to a wide area network (WAN). The method includes starting a PPPoE server process to establish a first PPPoE connection to the LAN equipment connected at a LAN interface of the gateway device, starting a PPPoE client process to establish a second PPPoE connection to the broadband modem connected to a WAN interface of the gateway device, exchanging a first PPPoE negotiation information from the LAN equipment and a second PPPoE negotiation information from the broadband modem through the PPPoE server and the PPPoE client processes, establishing the first PPPoE connection to the LAN equipment at the LAN interface and the second PPPoE connection to the broadband modem at the WAN interface, and bridging the first and the second PPPoE connections.
Point to Point Protocol over Ethernet (PPPoE) is a standard protocol that specifies how a host personal computer (PC) interacts with a broadband modem (i.e. xDSL, cable, wireless, etc.) to access the Internet through an Internet Service Provider (ISP).
VoIP telephone gateway 304 serves as a PPPoE bridge between router 220 and broadband modem 222. VoIP telephone gateway 304 also serves as an IP telephone device for communicating with another VoIP telephone gateway. By locating VoIP telephone gateway 304 before router 220, VoIP telephone gateway 304 is able to obtain the public IP address and establish point-to-point communication with another VoIP device.
In step 602, VoIP telephone gateway 304 starts PPPoE server process 502 on the LAN interface connected to the LAN equipment. For more details regarding the PPPoE protocol, please refer to RFC 2516—A Method for Transmitting PPP over Ethernet (PPPoE) and RFC 1661—The Point-to-Point Protocol (PPP).
In step 604, PPPoE server 502 on VoIP telephone gateway 304 receives PPPoE negotiation parameters from the LAN equipment on the LAN interface. The negotiation parameters include PPPoE discovery and session phase messages, such as username and password with the ISP. VoIP telephone gateway device 304 stores the PPPoE negotiation parameters in memory for establishing future PPPoE connection.
In step 606, VoIP telephone gateway 304 starts a PPPoE client process on the WAN interface connected to broadband modem 222.
In step 608, PPPoE client process 504 on VoIP telephone gateway 304 receives PPPoE negotiation parameters from broadband modem 222 on the WAN interface. The negotiation parameters include PPPoE discovery phase messages. Note that broadband modem 222 originally receives the PPPoE negotiation parameters from the ISP. Using the PPPoE negotiation parameters from the LAN equipment, VoIP telephone gateway 304 negotiates a PPPoE session with broadband modem 222.
In step 610, VoIP telephone gateway 304 sends negotiation response information from broadband modem 222 to the LAN equipment through the LAN interface. At this point, PPPoE server process 502 of VoIP telephone gateway 304 has established one PPPoE connection with the LAN equipment at the LAN interface, and PPPoE client process 504 has established another PPPoE connection with broadband modem 222 at the WAN interface. The negotiation response information includes the IP address, subnet mask, default gateway, and DNS server. The LAN equipment uses the negotiation response information to access WAN 108.
In step 612, VoIP telephone gateway 304 maintains synchronization of the PPPoE server 502 and client 504 by passing the status of the PPPoE connections at the WAN and the LAN interfaces. For example, VoIP telephone gateway 304 sends a link down message to the LAN equipment when the PPPoE connection at the WAN interface is down.
After the PPPoE connection to WAN 108 has been established, other equipment (e.g., computer 226) in local area network 307 can also access WAN 108 through router 220. Furthermore, VoIP software 506 in VoIP telephone gateway 304 can use the PPPoE connection to communicate with another VoIP device over WAN 108 using the pubic IP address received during the PPPoE negotiation. Specifically, VoIP software 506 sends and receives packets through PPPoE client process 504 to another VoIP device. VoIP telephone gateway 304 uses a port map that to intercept data packets destined for VoIP software 506 and pass data packets destined for other devices in LAN 307 through router 220. Even if the original PPPoE connection is broken, VoIP software 506 can request PPPoE client process 504 to establish another PPPoE connection with WAN 108 using the saved PPPoE negotiation parameters stored in memory.
In step 702, gateway device 304 maintains the PPPoE connection on the WAN interface as long as the LAN equipment or VoIP software 506 is accessing WAN 108. Step 702 is followed by step 704.
In step 704, gateway device 304 receives an instruction from the LAN equipment to break the PPPoE connection or detects the link to the LAN equipment is down. In response, VoIP telephone gateway 304 breaks the PPPoE connection at the LAN interface but maintains the PPPoE connection at the WAN interface. In other words, VoIP telephone gateway 304 causes PPPoE server process 502 to break the PPPoE connection to the LAN equipment without causing PPPoE client process 504 to break the PPPoE connection to WAN 108. Step 704 is followed by step 706.
In step 706, VoIP telephone gateway 304 determines if there is a need to access WAN 108. There is a need to access WAN 108 when VoIP software 506 is still communicating with another device over WAN 108. There is also a need to access WAN 108 when any device connected through router 220 is still accessing WAN 108. If so, then step 706 repeats until there is not a need to access WAN 108. Thus, even if the PPPoE connection at the LAN interface is broken, VoIP software 506 or another device connected through router 222 can still access WAN 108. If VoIP software 506 is not accessing WAN 108, then step 706 is followed by step 708.
In step 708, VoIP telephone gateway 304 breaks the PPPoE connection on the WAN interface. More specifically, VoIP telephone gateway 304 causes PPPoE client process 504 to break the PPPoE connection to WAN 108.
In step 802, VoIP telephone gateway 304 detects VoIP software 506 or the LAN equipment needs to send or receive data over WAN 108. For example, the LAN equipment may wish to access a website on WAN 108). When VoIP software 506 needs to access WAN 108, VoIP telephone gateway 304 uses the stored the saved PPPoE negotiation parameters stored in memory. When the LAN equipment needs to access WAN 108, VoIP telephone gateway 304 will receive PPPoE negotiation parameters from the LAN equipment as described in step 604 (
In step 804, VoIP telephone gateway 304 determines whether or not the PPPoE connection at the WAN interface is operating. If so, then step 804 is followed by step 808. If the PPPoE connection at the WAN interface is broken, then step 804 is followed by step 806.
In step 806, VoIP telephone gateway 304 reestablishes the PPPoE connection at the WAN interface as described in steps 606 to 612 (
In step 808, VoIP telephone gateway 304 transfers the data to and from WAN 108.
Various other adaptations and combinations of features of the embodiments disclosed are within the scope of the invention. Numerous embodiments are encompassed by the following claims.
This application is related to U.S. application Ser. No. 11/280,688 entitled “Using PSTN to Communicate IP Addresses for Point-to-Point Text, Voice, Video, or Data Communication,” Attorney Docket No. ARC-P152, which is commonly assigned and incorporated herein by reference. This application is further related to (1) U.S. application Ser. No. ______, entitled “Point-to-Point Communication Using UPnP Protocol,” Attorney Docket No. ARC-P161, (2) U.S. application Ser. No. ______, entitled “Determining Pairings of Telephone Numbers and IP Addresses from Caching and Peer-to-Peer Lookup,” Attorney Docket No. ARC-P163, (3) U.S. application Ser. No. ______, entitled “Regional Service by Phone,” Attorney Docket No. ARC-P164, and (4) U.S. application Ser. No. ______, entitled “Using Second Channel to Communicate IP Address for Point-to-Point Text, Voice, Video, or Data communication,” Attorney Docket No. ARC-P165, which are concurrently filed, commonly assigned, and incorporated herein by reference.