System and method for integrated communications over a local IP network

Abstract: A system and method for multi-telecommunication over a local IP network are provided. The multi-telecommunication system includes an IP network (110), a local IP network (101), a plurality of terminals (102 ... 109) connected to the local IP network (101), for conducting a voice call or a video call over the local IP network (101), a home gateway (100) connected to the IP network (110) and the local IP network (101), for interfacing between the IP network (110) and the plurality of terminals (102 ... 109), assigning an ID and a port to each terminal (102 ... 109) to discriminate terminals sharing one IP address in processing an incoming call and an outgoing call, and converting IP and port information in the header and payload of a received or transmitted packet according to an assigned ID and port number, and a gatekeeper (120) connected to the IP network (110), for performing registration and call connection admission and managing the state of the IP network (110).

Description: The present invention relates generally to telephony over a local IP (Internet Protocol) network, and in particular, to a system and method for conducting a telephone call for a plurality of users over a local IP network to which a single IP address is assigned. Figure 1 is a block diagram of a conventional system for telephony over an IP network, Figure 2 illustrates protocols for telephony in a terminal of the conventional system, Figure 3 is a signal flow diagram for discovering a gatekeeper in the conventional system, and Figure 4 is a signal flow diagram for a call process in the conventional system. Referring to Figure 1, a VOIP (Voice Over Internet Protocol)-based telephone call is conducted over an IP network 110 according to the ITU-T (International Telecommunication Union-Telecommunication Sector) Recommendation H.323. A gatekeeper 120 acts as a server for conversion between a telephone number input by an end user and an IP address and provides registration, authentication, and RAS (Registration Admission Status) management. Computers 150 and 151 are assigned to unique IP addresses and connected to the IP network 110. The IP network 110 is connected to the PSTN (Public Switched Telecommunication Network) 180 and 181 via gateways 190 and 191. An I-PHONE 160 is an Internet phone for an Internet call. H.323 provides protocols as shown in Figure 2. According to H.323, a communication is conducted by TCP (Transmission Control Protocol) 210 or UDP (User Data Protocol) 220 based on IP (Internet Protocol) 200. For attempt and connection of an initial call, call signaling is performed according to H.225 (Q.931) 211, call control according to H.245 212, and data transmission according to T.120 213. H.225, H.245, and T.120 are based on TCP 210. After call connection, G.7XX 221 takes charge of voice transmission and H.26X 222, video transmission. G.7XX and H.26X are processed by RTP (Real Time Protocol) 223 for real-time transmission and RTCP 224 controls an RTP channel. G.7XX, H.26X, RTP, and RTCP are based on UDP 220. TCP requests an acknowledgment and UDP transmits data regardless of the acknowledgment. UDP 220 processes voice or video data because its slight loss is negligible to a user in data recovery. Referring to Figure 3, a description will be made of an operation of discovering the gatekeeper 120 for a telephone call over the IP network 110 in the computer 150. In step 300, the computer 150 transmits a gatekeeper request message, GRQ using a multicast address by UDP in order to discover the gatekeeper 120. The gatekeeper 120 transmits a gatekeeper confirm message GCF as a response for the gatekeeper request message GRQ to the computer 150 in step 310. The gatekeeper confirm message, GCF contains the IP address of the gatekeeper 120. Upon receipt of the gatekeeper confirm message GCF, the computer 150 transmits a registration request message RRQ to the gatekeeper 120, thereby registering a Q.931 transport address (IP address + TCP port number) and an alias address of the computer 150 and the IP address of a destination (i.e., a receiving computer). The alias address is registered in the case that a local IP network is assigned to a plurality of IP addresses. Such a local IP network dynamically allocates the IP addresses to computers connected to the local IP network upon request of Internet access and a gatekeeper registers the IP addresses assigned to the computers. When registration is completed, the gatekeeper 120 transmits a registration confirm message RCF to the computer 150 in step 330. For this purpose, the ITU-T defines UDP and TCP channels as shown in Table 1 below. GATEKEEPER DISCOVERY MULTICAST ADDRESS 224.0.1.41 GATEKEEPER UDP DISCOVERY PORT 1718 GATEKEEPER UDP REGISTRATION AND STATUS PORT 1719 ENDPOINT TCP CALL SIGNALLING PORT (in the case of direct call signaling to an endpoint without a gatekeeper) 1720 A procedure subsequent to the registration will be described with reference to Figure 4. Referring to Figure 4, the computer 150 transmits an admission request message ARQ to the gatekeeper 120 in step 400 and the gatekeeper 120 transmits an admission confirm message ACF to the computer 150 in response to the admission request message, ARQ so far as the receiving computer is not busy in step 410. Then, the computer 150 opens a TCP channel for call signaling according to Q.931 in step 420 and transmits its transport address to the computer 151, requesting connection in step 430. The computer 151 transmits the admission request message ARQ to the gatekeeper 120, requesting a connection admission. In step 450, the gatekeeper 120 transmits the admission confirm message ACF to the computer 151. After the call connection is admitted, the computer 150 transmits an H.245 transport address to the computer 151, notifying completed connection in step 460. The computer 150 opens a TCP channel for H.245 in step 470 and establishes an RTP/RTCP channel for a voice or video call in real time by exchanging H.245 messages in step 480. Then, the call progresses by UDP in step 490. The above call process has been described in the context of the ITU-T recommendations and its detailed description is omitted here. Telephony over the IP network is viable on the premise that each terminal (computer, Internet phone, etc.) is assigned to its unique IP address. In other words, a terminal connected to a local IP network and having no unique IP address cannot receive/transmit data. When a telephone call is conducted over the IP network, each IP address functions as a telephone number. Therefore, a computer without an IP address cannot conduct a telephone call. WO 97/40610 discloses an Internet Protocol filter which connects a public network such as the internet to a private network, wherein private nodes present on the private network do not have a public network address such as an IP address. The internet protocol filter assigns private side IP sessions to a unique port of the IP filter's address by replacing a source address in a packet header with the Internet Protocol filter's IP address and a port number. This document forms the pre-characterising portion of the claims appended hereto. H.323 Gatekeepers: Essential Software For IP Telephony And Multimedia Conferencing (URL): HTTP://www.tmcnet.com/articles/ctimag/0298/developer001. HTM) describes the functions of a gatekeeper entity in the International Telecommunications Union (ITU) H.323 standard. It is, therefore, an aim of embodiments of the present invention to provide a system and method for conducting a telephone call using a single IP address in a plurality of terminals connected to a local IP network. It is another aim of embodiments of the present invention to provide a system and method for interfacing between a terminal connected to an IP network and a terminal connected to a local IP network in the case that a plurality of terminals connected to the local IP network conduct telephone calls using a single IP address. According to a first aspect of the present invention, there is provided a system for communication over a local IP network, comprising: an IP network; a local IP network; a plurality of network nodes connected to the local IP network; a network device connected to the IP network and the local IP network; characterised in that: the system is a system for multi-telecommunication over the local IP network; the plurality of network nodes are a plurality of terminals connected to the local IP network, for conducting a voice call or a video call over the local IP network; the network device is a home gateway connected to the IP network and the local IP network, for interfacing between the IP network and the plurality of terminals, assigning an ID and a port to each terminal to discriminate terminals sharing one IP address in processing an incoming call and an outgoing call, and converting IP and port information in the header and payload of a received or transmitted packet according to an assigned ID and port number; and a gatekeeper connected to the IP network, for performing registration and call connection admission and managing the state of the IP network. Preferably, the home gateway includes a memory for storing the IDs and port numbers to process calls incoming and outgoing from and to the local IP network. The home gateway may operate based on the following protocols: H.323 message control and call processing TCP UDP TCP' UDP' IP IP' MAC MAC' IP network local IP network According to a second aspect of the invention, there is provided a method of originating a connection over a local IP network, comprising the steps of: assigning a port to a terminal and storing the ID and port information of the terminal; characterised in that: the method is a method of originating a call for multi-telecommunications over the local IP network, comprising the steps of: assigning the port to the terminal when the terminal requests a call origination, and storing the ID and port information of the terminal; converting a transmission packet according to the stored information and transmitting the converted transmission packet; and converting a received packet when the packet corresponding to the stored information is received, converting the received packet according to the stored information, and transmitting the converted packet to the terminal. Preferably, IP and port information in the header and payload of the packet is changed in the packet conversion. The method may further comprise the step of discovering a gatekeeper in an IP network connected to the local IP network and registering the terminal in the gatekeeper, upon request of the call origination. The method may further comprise the steps of: searching for a gatekeeper using a multicast address by the local IP network upon request of the call origination; registering the terminal that requests the call origination in the gatekeeper by an IP address assigned to the local IP network and a port number assigned to the terminal to discriminate the terminal from the other terminals sharing the IP address, when the gatekeeper responds; and receiving a registration confirmation from the gatekeeper. The method may further comprise the steps of: requesting the call origination to the gatekeeper by the calling terminal when the registration is completed; and admitting call connection according to the state of a called terminal by the gatekeeper. The method may further comprise the step of requesting call connection by transmitting the IP address and port number of the calling terminal to the called terminal when the call connection is admitted. The method may further comprise the steps of: requesting a call connection to the gatekeeper by the called terminal upon the call request; and transmitting an IP address and a port number of the called terminal to the calling terminal when the gatekeeper admits the call connection. The method may further comprise the step of establishing channels for real-time transmission between the calling terminal and the called terminal by opening channels according to the exchanged IP and port information and exchanging messages. The method may further comprise the step of conducting a voice call or a video call on UDP channels when the real-time transmission channels are established. The ID of the terminal is preferably an internal IP address assigned by the local IP network. A plurality of terminals connected to the local IP network are preferably discriminated by different TCP and UDP ports. Preferably, TCP is a protocol for searching for the gatekeeper, registering the terminals in the gatekeeper, gaining admission to call connection from the gatekeeper for the calling terminal, transmitting the IP and port information of the calling terminal to the called terminal, gaining admission to call connection from the gatekeeper for the called terminal, transmitting the IP and port information of the called terminal to the calling terminal, and establishing the real-time transmission channels. Preferably, transmitted and received packets are converted using the IP address assigned to the local IP network and the internal IP address and port number of the terminal. Preferably, a memory map for storing the IP and port information is constructed in the following structure. Terminal Assigned IP address Internal IP address Assigned port number Terminal #1 203. 234. 47. 18 10. 0. 0. 0 6 Terminal #2 203. 234. 47. 18 10. 0. 0. 1 7 Terminal #3 203. 234. 47. 18 10. 0. 0. 2 8 · 203. 234. 47. 18 · · · · · · · · Terminal #9 203. 234. 47. 18 10. 0. 255. 0 11 Terminal #10 203. 234. 47. 19 10. 0. 255. 1 6 Terminal #11 203. 234. 47. 19 10. 0. 255. 2 7 Terminal #12 203. 234. 47. 19 10. 0. 255. 3 8 · 203. 234. 47. 19 · · · . . . . . Terminal #N 203. 234. 47. 19 10. 0. 255. 255 P The port information may be registered in the gatekeeper and updated by the gatekeeper when the port information is changed. According to another aspect of the invention, there is provided a method of operating a home gateway for multi-telecommunication over a local IP network, comprising the steps of: determining whether a call connection is requested by analyzing a packet upon receipt of the packet and checking whether the number of connection lines currently sharing the same IP address is a threshold or above upon request of the call connection; opening a channel for a called terminal according to the IP and port information of a destination in the packet if the number of connection lines is the threshold or below; converting the packet according to the IP and port information of a calling terminal and the called terminal and transmitting the packet; and denying call connection and performing an error-related operation if the number of the connection lines is above the threshold. In a further aspect, there is provided a packet receiving method, characterised in that: the method is a packet receiving method for multi-telecommunication over a local IP network, comprising the steps of: determining whether a call connection to a terminal connected to the local IP network is requested by analyzing a packet upon receipt of the packet from an IP network; opening a channel for the called terminal according to the IP and port information of a destination in the packet upon request of the call connection; and converting transmitted and received packets according to the IP and port information of a calling terminal and the called terminal. IP and port information in the header and payload of the packet is preferably changed in the packet conversion. The method may further comprise the steps of: requesting admission to call connection to a gatekeeper in the IP network connected to the local IP network upon request of packet receipt; transmitting the IP and port number of the called terminal to a calling terminal when the gatekeeper admits the call connection. The method may further comprise the step of establishing channels for real-time transmission between the calling terminal and the called terminal by opening channels according to the exchanged IP and port information and exchanging messages. The method may further comprise the step of conducting a voice call or a video call on UDP channels when the real-time transmission channels are established. A plurality of terminals connected to the local IP network are preferably discriminated by internal IP addresses assigned to the terminals. The plurality of terminals connected to the local IP network are preferably discriminated by different TCP and UDP ports assigned to the terminals by the IP network. Preferably, TCP is a protocol for gaining admission to call connection from the gatekeeper, transmitting the IP and port information of the calling terminal to the called terminal, and establishing the real-time transmission channels. Preferably, transmitted and received packets are converted using the IP address assigned to the local IP network and the internal IP address and port number of the terminal connected to the local IP network. Preferably, a memory map for storing the IP and port information is constructed in the following structure. Terminal Assigned IP address Internal IP address Assigned port number Terminal #1 203. 234. 47. 18 10. 0. 0. 0 6 Terminal #2 203. 234. 47. 18 10. 0. 0. 1 7 Terminal #3 203. 234. 47. 18 10. 0. 0. 2 8 · 203. 234. 47. 18 · · . · · . . . Terminal #9 203. 234. 47. 18 10. 0. 255. 0 11 Terminal #10 203. 234. 47. 19 10. 0. 255. 1 6 Terminal #11 203. 234. 47. 19 10. 0. 255. 2 7 Terminal #12 203. 234. 47. 19 10. 0. 255. 3 8 · 203. 234. 47. 19 · · · · · · · · Terminal #N 203. 234. 47. 19 10. 0. 255. 255 P The port information may be registered in the gatekeeper and updated by the gatekeeper when the port information is changed. According to another aspect of the invention, there is provided a method of conducting a telephone call using one IP address in a plurality of terminals connected to a local IP network, comprising the steps of: determining whether a packet is assigned to the local IP network by a home gateway of the local IP network, upon receipt of the packet from an IP network; determining whether the packet is for a telephone call if the packet is assigned to the local IP network; converting the header and payload of the packet according to IP and port information preset for the telephone call, if the packet is for the telephone call, and transmitting the converted packet to a terminal connected to the local IP network; determining whether the packet is for conventional Internet communication if the packet is not for the telephone call; and converting the packet according to IP and port information preset for the conventional Internet communication if the packet is for the conventional Internet communication and transmitting the converted packet to the terminal connected to the local IP network. Preferably, the port information indicate a port assigned for the conventional Internet communication and a port assigned to the terminal for the telephone call to identify the terminal from the other terminals sharing the same IP address. The ports may be TCP and UDP ports. In a still further aspect, there is provided a method of conducting a telephone call using one IP address in a plurality of terminals connected to a local IP network, comprising the steps of: determining whether a packet is for a telephone call by a home gateway of the local IP network, upon receipt of the packet from a terminal connected to the local IP network; converting the header and payload of the packet according to IP and port information preset for the telephone call, if the packet is for the telephone call, and transmitting the converted packet to an IP network; determining whether the packet is for conventional Internet communication if the packet is not for the telephone call; converting the packet according to IP and port information preset for the conventional Internet communication if the packet is for the conventional Internet communication and transmitting the converted packet to the IP network; and registering an IP address and a port number of the packet for new Internet communication if the packet is neither for the telephone call nor for the conventional Internet communication. Preferably, the port information indicate a port assigned for the conventional Internet communication and a port assigned to the terminal for the telephone call to identify the terminal from the other terminals sharing the same IP address. Preferably, the ports are TCP and UDP ports. For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawings in which: Figure 1 is a block diagram of a conventional system for conducting a VOIP-based telephone call; Figure 2 illustrates the structure of protocols for a telephone call in a terminal of the conventional system; Figure 3 is a signal flow diagram for discovering a gatekeeper in the conventional system; Figure 4 is a signal flow diagram for a telephone call process in the conventional system; Figure 5 illustrates a multi-telecommunication system according to an embodiment of the present invention; Figure 6 illustrates the structure of protocols for a home gateway according to the embodiment of the present invention; Figure 7 is a signal flow diagram for discovering a gatekeeper according to the embodiment of the present invention; Figure 8 is a signal flow diagram for registration in the gatekeeper according to the embodiment of the present invention; Figure 9 is a signal flow diagram for a telephone call process according to the embodiment of the present invention; Figure 10 is a signal flow diagram for protocol conversion in the home gateway; Figure 11 is a signal flow diagram for processing an incoming call according to the embodiment of the present invention; and Figure 12 is a signal flow diagram for processing an outgoing call according to the embodiment of the present invention. A preferred embodiment of the present invention will be described hereinbelow with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Referring to Figures 5 and 6, a multi-telecommunication system according to an embodiment of the present invention will be described. In Figure 5, a home gateway 100, which controls a plurality of computers 102 to 109 via a local IP network 101, executes a different function from that of a conventional home gateway as shown in Figure 1. Only protocol conversion is executed in the conventional home gateway to interface between the IP network 110 and the computers 102 to 109. That is, externally input packets of TCP/UDP 610, IP 620, and MAC 630 are converted to packets of TCP'/UDP' 611, IP' 621, and MAC'631 for connection to the local IP network 110. However, the home gateway 100 additionally provides packet conversion according to the ITU-T Recommendation H.323. Therefore, the home gateway 100 converts both the header and payload of a packet referring to a predetermined table. The local IP network 101 is usually assigned to less IP addresses in number than the computers 102 to 109 on the assumption that all the computers 102 to 109 are not connected to the IP network 110. Hence, the home gateway dynamically assigns the IP addresses to computers that request access to the IP network, which implies that a different IP address is assigned to a computer depending on situations. Consequently, the computers 102 to 109, dynamically assigned to IP addresses, cannot access the IP network for call connection. To overcome the problem, the home gateway 100 discriminate computers that share an identical IP address by port numbers to conduct a telephone call over the IP network 110 in the present invention. In general, an IP address in an IP network serves as a telephone number to identify an end user. However, an IP address assigned to the local IP network 101 acts as a local number and a port number, as a telephone number. Table 2 below shows how the home gateway 100 identifies the computers 102 to 109 connected to the local IP network 101. Terminal Assigned IP address Internal IP address Assigned port number Terminal #1 203. 234. 47. 18 10. 0. 0. 0 6 Terminal #2 203. 234. 47. 18 10. 0. 0. 1 7 Terminal #3 203. 234. 47. 18 10. 0. 0. 2 8 · 203. 234. 47. 18 · · · · · · · · Terminal #9 203. 234. 47. 18 10. 0. 255. 0 11 Terminal #10 203. 234. 47. 19 10. 0. 255. 1 6 Terminal #11 203. 234. 47. 19 10. 0. 255. 2 7 Terminal #12 203. 234. 47. 19 10. 0. 255. 3 8 · 203. 234. 47. 19 · · · · · · · · Terminal #N 203. 234. 47. 19 10. 0. 255. 255 P As shown in Table 2, the local IP network 101connected to the IP network 110 has N terminals and is assigned to two IP addresses, 203.234.47.18 and 203.234.47.19. Each IP address is shared by a plurality of terminals. The local IP network 101 identifies each terminal by an internal IP address, that is, 10.0.0.0 to 10.0.255.255. According to the embodiment of the present invention, each terminal is assigned to a different port number to make a distinction between the terminals of the local IP network 101. Here, a port refers to a TCP/UDP port, not in a physical or hardware sense. In general, an IP network assigns particular ports to process HTTP, E-mail, and FTP and has a plurality of reserved ports. These reserved ports are used as IDs to identify the terminals connected to the local IP network 101 in the embodiment of the present invention. By the port numbers, the IP network 110 and the computers 150 and 151 connected to the IP network 110 identify the computers 102 to 109 connected to the local IP network 101. The ports may be assigned by a network operator. Information about assigned ports and IP addresses are stored in a memory for use in packet conversion. Assigned and updated port numbers and IP addresses are transmitted to and registered in the gatekeeper 120 that manages the IP network 110. A packet is typically divided into a header indicating a destination and a source and a payload containing real user data. When H.323 is used for a voice call or a video call, the IP, TCP, and UDP information of a destination is included in the payload as well as in the header of a packet. Therefore, when only the header is changed, a terminal just notifies the presence of an error by an error check on the payload, not conducting a call. The home gateway 100 changes the information of the header and payload according to predetermined values (Table 2), to thereby conduct a telephone call. Now, call origination and call termination will be described. Figure 7 is a signal flow diagram for discovering the gatekeeper 120. Referring to Figure 7, the home gateway 100 operates to discover the gatekeeper 120 of the IP network 110 in step 700. This step is performed in a similar manner to the conventional method. In step 700, the computer 102 connected to the local IP network 101 transmits a gatekeeper request message GRQ' to the home gateway 100. The home gateway 100 converts a GRQ' packet to a GRQ packet referring to Table 2 and transmits the GRQ packet to the IP network 110 in step 710. The packet conversion represents changing the contents of the header and payload of the GRQ' packet. "'" of GRQ' indicates a packet generated in the local IP network 101 or a packet directed to a terminal connected to the local IP network 101. The packet conversion will be described with an example taken. The computer 102 transmits a packet for a telephone call to the home gateway 100. The header of the packet includes a multicast IP address to discover the gatekeeper 120 and an internal IP address assigned to the computer 102 by the local IP network 101. Then, the home gateway 100 changes the internal IP address to an IP address assigned to the local IP network 101 by the IP network 110 and writes a port number assigned for a telephone call in the payload as well as in the header of the packet, and transmits the converted packet to the IP network 110. Upon receipt of the gatekeeper request message GRQ from the IP network 110, the gatekeeper 120 transmits the gatekeeper confirm message including the IP address of the gatekeeper 120, GCF to the home gateway 100 in step 720. The message GCF is transmitted to a corresponding IP address and port number according to the information of the GRQ packet. If H.323 is used, information in the payload of the GCF packet is also determined according to the received GRQ packet. Upon receipt of the gatekeeper confirm message GCF, the home gateway 100 checks whether there is a terminal with the corresponding IP address and port number referring to Table 2. If the terminal exists, the home gateway 100 detects an internal IP address assigned to the port, converts the IP and port information of the header and payload in the GCF packet, and transmits the converted GCF' packet to the computer 102 in step 730. In steps 701, 711, 721, and 731, another computer 109 searches for the gatekeeper 120. Their description will be omitted herein. As shown in Table 2, terminals connected to the local IP network are discriminated by different ports though they use the same IP address assigned to the local IP network. The ports are TCP/UDP ports as shown in Figure 6 and different or the same ports may be used for TCP and UDP as shown in Table 2. In the embodiment of the present invention, terminals in the local IP network share the same IP address to emphasize that they are discriminated by ports when they communicate with the IP network. Figure 8 is a signal flow diagram for registering the computer 102 that requests a call in the gatekeeper 120. In step 800, the computer 102 transmits a registration request message RRQ' to the home gateway 100 to request a telephone call to the gatekeeper 120. The home gateway 100 converts the RRQ' packet to an RRQ packet referring to Table 2 and transmits the RRQ packet to the gatekeeper 120 in step 810. As stated above, the conversion is performed on the contents of the header and payload of the RRQ' packet. "'" of RRQ' indicates that the packet is generated in the local IP network 101 or that the packet is directed to a terminal connected to the local IP network 101. The packet conversion will be described with an example taken. The computer 102 transmits a packet for registration to the home gateway 100. The header of the packet includes the IP address of the gatekeeper 120 and an internal IP address of the computer 102 assigned by the local IP network 101. Then, the home gateway 100 changes the internal IP address to an IP address assigned to the local IP network 101 by the IP network 110 and writes a port number assigned for a telephone call in the payload as well as in the header of the packet, and transmits the converted packet to the gatekeeper 120. Upon receipt of the gatekeeper request message RRQ, the gatekeeper 120 transmits the registration confirm message RCF to the home gateway 100 in step 820. The message RCF is transmitted to a corresponding IP address and port number according to the information of the RRQ packet. If H.323 is used, the information of the payload of the RCF packet is also determined according to the received RRQ packet. Upon receipt of the registration confirm message RCF, the home gateway 100 checks whether there is a terminal with the corresponding IP address and port number referring to Table 2. If the terminal exists, the home gateway 100 detects an internal IP address assigned to the port, converts the IP and port information of the header and payload in the RCF packet, and transmits the converted RCF' packet to the computer 102 in step 830. In steps 801, 811, 821, and 831, another computer 109 is registered in the gatekeeper 120. Their description will be omitted herein. Figure 9 is a signal flow diagram for a post-registration procedure. In step 900, the computer 102 transmits an admission request message including the IP and port information of a destination, ARQ' to the home gateway 100. The home gateway 100 converts the ARQ' packet to an ARQ packet referring to Table 2 and transmits the ARQ packet to the gatekeeper 120 in step 910. The gatekeeper 120 detects the IP address and port number of the destination from the received ARQ packet and checks whether the destination terminal is communicable with the computer 102. If the terminal is communicable, the gatekeeper 120 transmits an admission confirm message ACF to the home gateway 100 in step 920. Packets exchanged in the procedures of Figures 7 and 8 and in steps 900, 910, 920, and 930 in Figure 9 use channels that have been established for communication with the gatekeeper 120. After the computer 102 gains admission, it transmits a message SETUP' including the IP address and port of the computer 102 to the home gateway 100 in step 940. The home gateway 100 converts the SETUP' packet to a SETUP packet and transmits the SETUP packet to the receiving computer 150 in step 950. The computer 150 gains a connection admission from the gatekeeper 120 in steps 960 and 970 and transmits a message CONNECT including the IP address and port number of the computer 150 to the home gateway 100 in step 980. The home gateway 100 converts the CONNECT packet to a CONNECT' packet and transmits the CONNECT' packet to the computer 102 in step 990. Steps 901, 911, 921, ..., and 991 are the same as the above procedure except that a call is terminated in a computer connected to the local IP network. Thus, their description is omitted. In Figure 9, messages indicated by single-line arrows are transmitted on channels established for communication with the gatekeeper 120 and message indicated by double-line arrows, on channels established for communication with the receiving computer. In the case that a call is originated from the IP network 110, information about the address of a receiver has already been registered in the gatekeeper 120 according to Q.931. Hence, the home gateway 100 also has the same IP and port information so that the call can be connected to the corresponding terminal according to the received IP and port information and the data of Table 2. On the other hand, when a call is originated from the local IP network 101, the home gateway 100 has address information according to Q.931 and packet conversion information as shown in Table 2 for use in transmitting a packet to the IP network 110. Figure 10 is a signal flow diagram for a post-connection procedure. In step A, the computer 102 transmits an RTCP channel message for media transport control and a message OPENLOGICALCHANNEL to the receiving computer 150 via the home gateway 100. Then, the computer 150 transmits an acknowledgment message including the RTCP channel information of the computer 150, OPENLOGICALCHANNELACK to the computer 102 in steps C and D. Steps E to H are similar to the above steps except that a call is terminated at a terminal connected to the local IP network from the IP network, which will not be described here. After RTCP channels are opened in steps A to D or steps E to H, a voice call or a video call is conducted by RTP and RTCP. The UDP port numbers used discriminate terminals connected to the local IP network 101 like TCP port numbers. Figure 11 is a flowchart illustrating an operation of processing a call incoming from the IP network 110 in the home gateway 100. Upon receipt of a packet in step 1100, the home gateway 100 determines the type of the received packet by checking the header of the packet. The home gateway 100 looks up an NAPT (Network Address Port Table) in step 1102. The NAPT is made in the same manner as Table 2 and temporarily exists as long as a terminal connected to the local IP network 101 is connected to the Internet. The NAPT includes IP and port information. In general, the port and IP information generated during the Internet connection and the internal IP information are deleted when the connection is released. In the embodiment of the present invention, however, information related with a telephone call is preferably preserved for later call termination. If the received packet turns out to have an IP address and a port number identical to Internet connection information in the NAPT in step 1104, the home gateway 100 converts the IP address in the header of the packet to an internal IP address and transmits the received packet to a corresponding terminal connected to the local IP network 110 in step 1106. If the IP address and port number of the received packet are not identical to any IP address and port number in the NAPT, the home gateway 100 looks up a forwarding table in step 1108. The forwarding table is made for call origination and call termination, including assigned IP addresses, internal IP addresses, and port numbers, similarly to Table 2. If the forwarding table has the detected IP address and port number in step 1110, the home gateway 100 converts the received packet referring to the forwarding table and transmits the converted packet to the terminal in step 1112. If the forwarding table does not have the detected IP address and port number, the home gateway 100 discards the received packet in step 1114. In summary, the home gateway 100 detects the IP address and port number of a destination by analyzing a received packet. If the detected IP address and port number are present in an Internet connection table, the NAPT, the home gateway 100 converts the received packet referring to the table, considering that the received packet is related with Internet connection and transmits the converted packet to the destination. If the detected IP address and port number are present in the forwarding table, the home gateway 100 converts the received packet referring to the table, considering that the received packet is related with a telephone call and transmits the converted packet to the destination. If the detected IP address and port number are present neither in the NAPT nor in the forwarding table, the home gateway 100 discards the received packet. Figure 12 is a flowchart illustrating an operation of processing an outgoing call of the local IP network 101 in the home gateway 100. Upon receipt of a packet in step 1200, the home gateway 100 determines the type of the received packet by checking the header of the packet. The home gateway 100 looks up the NAPT in step 1202. The NAPT is made in the same manner as Table 2 and temporarily exists as long as a terminal connected to the local IP network 101 is connected to the Internet. The NAPT includes IP and port information. If the received packet has an IP address and a port number that are identical to Internet connection information in the NAPT in step 1204, the home gateway 100 converts the IP address in the header of the packet to an internal IP address and transmits the received packet to the IP network 110 in step 1206. If the IP address and port number of the received packet are not identical to any IP address and port number in the NAPT, the home gateway 100 looks up a the forwarding table in step 1208. The forwarding table is made for call origination and call termination, including assigned IP addresses, internal IP addresses, and port numbers, similarly to Table 2. If the forwarding table has the detected IP address and port number, the home gateway 100 converts the received packet referring to the forwarding table and transmits the converted packet to the terminal in step 1212. If the forwarding table does not have the detected IP address and port number, the home gateway 100 stores information about the packet in the NAPT, converts the header of the packet, and transmits the converted packet to the IP network 110 in step 1214. In summary, the home gateway 100 detects the IP address and port number of a destination by analyzing a packet received from the local IP network 101. If the detected IP address and port number are present in the NAPT, the home gateway 100 converts the received packet referring to the table, considering that the received packet is related with Internet connection and transmits the converted packet to the IP network 110. If the detected IP address and port number are present in a forwarding table, the home gateway 100 converts the received packet referring to the table, considering that the received packet is related with a telephone call and transmits the converted packet to the IP network. If the detected IP address and port number are present neither in the NAPT nor in the forwarding table, the home gateway 100 updates the NAPT. The NAPT and forwarding table may be incorporated into one table and different port numbers may be assigned to Internet connection for a telephone call and conventional Internet connection (e.g., for data search). While the IP and port information generated from the conventional Internet connection can be deleted as the Internet connection is released, information related with a telephone call over the Internet is not deleted but preserved or updated in the case that the telephone call information is changed in the gatekeeper 120. Telephony using an identical IP address has been described. Since use of the same IP address decreases a transmission rate, the number of terminals that use the same IP address simultaneously may be limited. Considering that real-time transmission is essential to a telephone call, the increase in number of terminals sharing the same IP address may make the real-time transmission impossible. Therefore, it is desirable to limit the number of terminals that can share the same IP address to an optimal value. In accordance with the present invention as described above, upon receipt of a packet from a terminal connected to a local IP network, a home gateway checks whether the packet is for a telephone call. If the packet is for a telephone call, the home gateway converts the header and payload of the packet according to preset IP and port information and transmits the converted packet to an IP network. If the packet is not for a telephone call, it is determined whether the packet is for conventional Internet communication. If the packet is for the conventional Internet communication, the home gateway converts the packet according to preset IP and port information and transmits the converted packet to the IP network. If the packet is neither for a telephone call not for the conventional Internet communication, the IP address and port number of the packet are registered for Internet connection. Therefore, a plurality of terminals connected to the local IP network can conduct telephone calls by a single IP address. In this case, terminals connected to the IP network can be interfaced with terminals connected to the local IP network. While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention as defined by the appended claims. The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features. The invention is not restricted to the details of the foregoing embodiment(s). The invention extend to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

Claims: A system for communication over a local IP network, comprising: an IP network (110); a local IP network (101); a plurality of network nodes (102...109) connected to the local IP network (101); a network device (100) connected to the IP network (110) and the local IP network (101); characterised in that : the system is a system for multi-telecommunication over the local IP network (101); the plurality of network nodes (102...109) are a plurality of terminals (102 ... 109) connected to the local IP network (101), for conducting a voice call or a video call over the local IP network (101); the network device (100) is a home gateway (100) connected to the IP network (110) and the local IP network (101), for interfacing between the IP network (110) and the plurality of terminals (102 ... 109), assigning an ID and a port to each terminal (102 ... 109) to discriminate terminals sharing one IP address in processing an incoming call and an outgoing call, and converting IP and port information in the header and payload of a received or transmitted packet according to an assigned ID and port number; and a gatekeeper (120) connected to the IP network (110), for performing registration and call connection admission and managing the state of the IP network (110). The system of claim 1, wherein the home gateway (100) includes a memory for storing the IDs and port numbers to process calls incoming and outgoing from and to the local IP network. The system of claim 1 or 2, wherein the home gateway (100) operates based on the following protocols: H.323 message control and call processing TCP UDP TCP' UDP' IP IP' MAC MAC' IP network local IP network A method of originating a connection over a local IP network (101), comprising the steps of: assigning a port to a terminal (102) and storing the ID and port information of the terminal (102); characterised in that : the method is a method of originating a call for multi-telecommunications over the local IP network (101), comprising the steps of: assigning the port to the terminal (102) when the terminal (102) requests a call origination, and storing the ID and port information of the terminal (102); converting a transmission packet according to the stored information and transmitting the converted transmission packet; and converting a received packet when the packet corresponding to the stored information is received, converting the received packet according to the stored information, and transmitting the converted packet to the terminal (102). The method of claim 4, wherein IP and port information in the header and payload of the packet is changed in the packet conversion. The method of claim 4, further comprising the step of discovering a gatekeeper (120) in an IP network (110) connected to the local IP network (101) and registering the terminal (102) in the gatekeeper (120), upon request of the call origination. The method of claim 4, 5 or 6, further comprising the steps of: searching for a gatekeeper (120) using a multicast address by the local IP network (101) upon request of the call origination; registering the terminal (102) that requests the call origination in the gatekeeper (120) by an IP address assigned to the local IP network (101) and a port number assigned to the terminal (102) to discriminate the terminal (102) from the other terminals (103 ... 109) sharing the IP address, when the gatekeeper (120) responds; and receiving a registration confirmation from the gatekeeper (120). The method of claim 7, further comprising the steps of: requesting the call origination to the gatekeeper (120) by the calling terminal (102) when the registration is completed; and admitting call connection according to the state of a called terminal by the gatekeeper (120). The method of claim 8, further comprising the step of requesting call connection by transmitting the IP address and port number of the calling terminal (102) to the called terminal when the call connection is admitted. The method of claim 9, further comprising the steps of: requesting a call connection to the gatekeeper (120) by the called terminal upon the call request; and transmitting an IP address and a port number of the called terminal to the calling terminal when the gatekeeper (120) admits the call connection. The method of claim 10, further comprising the step of establishing channels for real-time transmission between the calling terminal and the called terminal by opening channels according to the exchanged IP and port information and exchanging messages. The method of claim 11, further comprising the step of conducting a voice call or a video call on UDP channels when the real-time transmission channels are established. The method of claim 12, wherein the ID of the terminal is an internal IP address assigned by the local IP network (101). The method of claim 12, wherein a plurality of terminals (102 ... 109) connected to the local IP network are discriminated by different TCP and UDP ports. The method of claim 12, wherein TCP is a protocol for searching for the gatekeeper (120), registering the terminals (102 ... 109) in the gatekeeper (120), gaining admission to call connection from the gatekeeper (120) for the calling terminal, transmitting the IP and port information of the calling terminal to the called terminal, gaining admission to call connection from the gatekeeper (120) for the called terminal, transmitting the IP and port information of the called terminal to the calling terminal, and establishing the real-time transmission channels. The method of any of claims 4 to 15, wherein transmitted and received packets are converted using the IP address assigned to the local IP network (101) and the internal IP address and port number of the terminal. The method of claim 16, wherein a memory map for storing the IP and port information is constructed in the following structure. Terminal Assigned IP address Internal IP address Assigned port number Terminal #1 203. 234. 47. 18 10. 0. 0. 0 6 Terminal #2 203. 234. 47. 18 10. 0. 0. 1 7 Terminal #3 203. 234. 47. 18 10. 0. 0. 2 8 . 203. 234. 47. 18 . . . . . . . . Terminal #9 203. 234. 47. 18 10. 0. 255. 0 11 Terminal #10 203. 234. 47. 19 10. 0. 255. 1 6 Terminal #11 203. 234. 47. 19 10. 0. 255. 2 7 Terminal #12 203. 234. 47. 19 10. 0. 255. 3 8 . 203. 234. 47. 19 . . . . . . . . Terminal #N 203. 234. 47. 19 10. 0. 255. 255 P The method of claim 16, wherein the port information is registered in the gatekeeper (120) and updated by the gatekeeper (120) when the port information is changed. A method of operating a home gateway for multi-telecommunication over a local IP network, comprising the steps of: determining whether a call connection is requested by analyzing a packet upon receipt of the packet and checking whether the number of connection lines currently sharing the same IP address is at threshold or above upon request of the call connection; opening a channel for a called terminal according to the IP and port information of a destination in the packet if the number of connection lines is at the threshold or below; converting the packet according to the IP and port information of a calling terminal and the called terminal and transmitting the packet; and denying call connection and performing an error-related operation if the number of the connection lines is above the threshold. A packet receiving method, characterised in that : the method is a packet receiving method for multi-telecommunication over a local IP network, comprising the steps of: determining whether a call connection to a terminal connected to the local IP network (101) is requested by analyzing a packet upon receipt of the packet from an IP network; opening a channel for the called terminal according to the IP and port information of a destination in the packet upon request of the call connection; and converting transmitted and received packets according to the IP and port information of a calling terminal and the called terminal. The method of claim 20, wherein IP and port information in the header and payload of the packet is changed in the packet conversion. The method of claim 21, further comprising the steps of: requesting admission to call connection to a gatekeeper (120) in the IP network (110) connected to the local IP network (101) upon request of packet receipt; transmitting the IP and port number of the called terminal to a calling terminal when the gatekeeper admits the call connection. The method of claim 22, further comprising the step of establishing channels for real-time transmission between the calling terminal and the called terminal by opening channels according to the exchanged IP and port information and exchanging messages. The method of claim 23, further comprising the step of conducting a voice call or a video call on UDP channels when the real-time transmission channels are established. The method of claim 24, wherein a plurality of terminals connected to the local IP network (101) are discriminated by internal IP addresses assigned to the terminals. The method of claim 25, wherein the plurality of terminals connected to the local IP network (101) are discriminated by different TCP and UDP ports assigned to the terminals by the IP network. The method of claim 26, wherein TCP is a protocol for gaining admission to call connection from the gatekeeper (120), transmitting the IP and port information of the calling terminal to the called terminal, and establishing the real-time transmission channels. The method of claim 20, wherein transmitted and received packets are converted using the IP address assigned to the local IP network and the internal IP address and port number of the terminal connected to the local IP network. The method of claim 28, wherein a memory map for storing the IP and port information is constructed in the following structure. Terminal Assigned IP address Internal IP address Assigned port number Terminal #1 203. 234. 47. 18 10. 0. 0. 0 6 Terminal #2 203. 234. 47. 18 10. 0. 0. 1 7 Terminal #3 203. 234. 47. 18 10. 0. 0. 2 8 . 203. 234. 47. 18 . . . . . . . . Terminal #9 203. 234. 47. 18 10. 0. 255. 0 11 Terminal #10 203. 234. 47. 19 10. 0. 255. 1 6 Terminal #11 203. 234. 47. 19 10. 0. 255. 2 7 Terminal #12 203. 234. 47. 19 10. 0. 255. 3 8 . 203. 234. 47. 19 . . . . . . . . Terminal #N 203. 234. 47. 19 10. 0. 255. 255 P The method of claim 29, wherein the port information is registered in the gatekeeper (120) and updated by the gatekeeper (120) when the port information is changed. A method of conducting a telephone call using one IP address in a plurality of terminals connected to a local IP network (110), comprising the steps of: determining whether a packet is assigned to the local IP network (101) by a home gateway of the local IP network (101), upon receipt of the packet from an IP network (110); determining whether the packet is for a telephone call if the packet is assigned to the local IP network (101); converting the header and payload of the packet according to IP and port information preset for the telephone call, if the packet is for the telephone call, and transmitting the converted packet to a terminal connected to the local IP network (101); determining whether the packet is for conventional Internet communication if the packet is not for the telephone call; and converting the packet according to IP and port information preset for the conventional Internet communication if the packet is for the conventional Internet communication and transmitting the converted packet to the terminal connected to the local IP network. The method of claim 31, wherein the port information indicate a port assigned for the conventional Internet communication and a port assigned to the terminal for the telephone call to identify the terminal from the other terminals sharing the same IP address. The method of claim 31 or 32, wherein the ports are TCP and UDP ports. A method of conducting a telephone call using one IP address in a plurality of terminals (102 ... 109) connected to a local IP network (101), comprising the steps of: determining whether a packet is for a telephone call by a home gateway of the local IP network, upon receipt of the packet from a terminal connected to the local IP network; converting the header and payload of the packet according to IP and port information preset for the telephone call, if the packet is for the telephone call, and transmitting the converted packet to an IP network (110); determining whether the packet is for conventional Internet communication if the packet is not for the telephone call; converting the packet according to IP and port information preset for the conventional Internet communication if the packet is for the conventional Internet communication and transmitting the converted packet to the IP network (110); and registering an IP address and a port number of the packet for new Internet communication if the packet is neither for the telephone call nor for the conventional Internet communication. The method of claim 34, wherein the port information indicate a port assigned for the conventional Internet communication and a port assigned to the terminal for the telephone call to identify the terminal from the other terminals sharing the same IP address. The method of claim 34 or 35, wherein the ports are TCP and UDP ports.

Inventors: KOO CHAN-KYU, KOO, CHAN-KYU
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO. LTD.
Application year: 2001
Main classification: H04L29
IPC codes: H04M3, H04L29, H04L12, H04M7, H04Q3