Abstract:
A method for enabling a first terminal of a packet-based network to communicate with a second terminal connected to a remote access server includes the steps of: registering the aliases and IP addresses of the first terminal and the remote access server in the gatekeeper; letting the first terminal to send a message to the gatekeeper for requesting a connection with the second terminal; causing the gatekeeper to request the remote access server to connect with the second terminal even when the second terminal is not registered with the gatekeeper; causing the remote access server to request the second terminal to register its alias and IP address in the gatekeeper; and, establishing communication between the first and second terminals through the gatekeeper.

Description:
CLAIM OF PRIORITY 
     This application makes reference to and claims all benefits accruing under 35 U.S.C. Section 119 from an application, METHOD OF ESTABLISHING COMMUNICATION EXCHANGE BETWEEN A TERMINAL OF A PACKET-BASED NETWORK AND A TERMINAL CONNECTED TO A REMOTE ACCESS SERVER, filed earlier in the Korean Industrial Property Office on Sep. 6, 1999 and there duly assigned Serial No. 37650/1999. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a method of establishing communication between a terminal coupled to an Internet Protocol (IP) network and a terminal coupled (via Point-to-Point Protocol (PPP) to a remote access server. More particularly, the present invention relates to a communication protocol between a gatekeeper and a remote access server. 
     2. Description of the Related Art 
       FIG. 1  illustrates a simplified network structure diagram for enabling the terminal C  12  connected to a Public Switched Telephone Network (PSTN) or Integrated Service Digital Network (ISDN)  10  to access the IP network by performing a dial-up connection to a remote access server  20 . In this case, the terminal C  12  makes a direct point-to-point (PPP) connection to the remote access server  20  that is assigned to an IP address, so that the terminal  12  can exchange packet data with a particular host through the IP network  30 . 
       FIG. 2  is a simplified network structure as recommended by International Telecommunication Union-Telecommunication (ITU-T) Standardization Sector, namely, Packet-based Multimedia Communications System, H.323. The H.323 provides a standard for enabling the H.323 terminals to make multimedia communication with each other in a packet-based network, such as IP network, which includes a gatekeeper  38 , terminals  32  and  36 , a gateway  34 , and a Multipoint Control Unit (MCU)(not shown). The communication protocol between these entities is provided to perform network specific protocol functions. According to the communication protocol, the terminals should register their aliases and IP addresses in the gatekeeper  38  and receive admission from the gatekeeper  38  to communicate with each other. To this end, specific protocol functions, such as the Registration, Admission, Status (RAS), and the Q.931 signaling of ITU-T Line Transmission of Non-Telephone Signals H.225.0 are performed. 
       FIG. 3  is a flow diagram illustrating the process of exchanging messages to enable the terminal A to make a connection to the terminal B of  FIG. 2  in a H.323 communication compliant network. Firstly, both the terminals A and B send Registration Request (RRQ) messages to a gatekeeper to register their aliases (or telephone number) and IP addresses in steps  50 - 1  and  50 - 3 , and in turn receive Registration Confirm (RCF) messages from the gatekeeper in steps  50 - 2  and  50 - 4 . Secondly, the terminals are enabled to communicate with each other using the aliases and IP addresses information retrieved from the gatekeeper. In response to retrieving the IP address information of the receiving terminal, the sending terminal A exchanges an Admission Request (ARQ) message and an Admission Confirm (ACF) message with the gatekeeper, in steps  50 - 5  and  50 - 6 , in order to receive the admission for communication. Upon receiving the ACF message from the gatekeeper, the sending terminal A sends the Q.931 setup message for call signaling to the receiving terminal B in step  50 - 7 , as shown in FIG.  3 . Then, the receiving terminal B in turn exchanges the ARQ message and the ACF message with the gatekeeper, in steps  50 - 8  and  50 - 9 , in order to receive the admission for communication. Upon receiving the ACF message from the gatekeeper, the receiving terminal B sends the Q.931 connection message to the sending terminal A in step  50 - 10 , then the terminal A performs the H.245 call signaling to establish communication with the terminal B in step  50 - 11 . 
       FIG. 4  illustrates a simplified structure of the combined networks in  FIGS. 1 and 2 . In such an environment, exchanging messages between the terminals is performed by accessing the remote access server  20  by the terminal C  12  to communicate with a specific H.232 terminal, such as terminal A  32  or B  36  connected to the IP network  30 . To this end, the terminal C  12  connected to the IP network  30  should register its alias and IP address in the gatekeeper  38  and receive the admission for communication. Thus, if the terminal C  12  maintains a dial-up connection with the remote access server  20 , the terminals coupled to the IP network  30  may communicate with the terminal C  12  at any time thereafter. However, when the terminal C  12  does not require communication with the terminals of the IP network  30 , the terminal c  12  usually maintains an off-line connection with the remote access server  20  to save the dial-up modem connection charge. If the dial-up connection with the remote access server  20  is terminated, the terminal C  12  loses its IP address and its registered information in the gatekeeper  38 . As a result, the terminals coupled to the IP network can not establish communication with the terminal C connected to a circuit network, such as PSTN or ISDN. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a method for enabling a first terminal in an IP network to communicate with a second terminal connected to a remote access server even when the second terminal has terminated the dial-up connection with the remote access server. 
     According to an object of the present invention, a method for enabling a first terminal on a packet-based network to communicate with a second terminal connected to a remote access server includes the steps of: registering the aliases and the IP addresses of the first terminal and the remote access server in the gatekeeper; transmitting from the first terminal to the gatekeeper a message for requesting a connection with the second terminal; causing the gatekeeper to request the remote access server to connect with the second terminal even when the second terminal is not registered in the gatekeeper; causing the remote access server to request the second terminal to register its alias and IP address in the gatekeeper; and, establishing communication between the first and second terminals through the gatekeeper. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       A more complete understanding of the method and apparatus of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein: 
         FIG. 1  is a diagram for illustrating the structure of a communication network for a terminal connected to PSTN or ISDN to make a dial-up connection with an IP network through a remote access server; 
         FIG. 2  is diagram for illustrating a communication network recommended by the ITU-T H.323; 
         FIG. 3  is a flow diagram for illustrating the flowing of messages between terminals according to the H.323 network; 
         FIG. 4  is a combined network of  FIGS. 1 and 2 ; and, 
         FIG. 5  is a flow diagram for illustrating the process of connecting the terminal of an IP network and the terminal connected to the remote access server according to the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     In the following description, for purposes of explanation rather than limitation, specific details are set forth such as the particular architecture, interfaces, techniques, etc., in order to provide a thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. For the purpose of clarity, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail. 
     The present invention provides a communication protocol between a gatekeeper and a remote access server according to the message flows as shown in  FIG. 5 , and the message syntax and the data structure comply with the Abstract Syntax Notation No. 1 (ASN.1), as shown in Table 1. 
     
       
         
               
               
             
               
               
               
             
               
               
             
               
               
               
             
               
               
             
               
               
               
             
               
               
             
               
               
               
             
               
               
             
               
               
             
               
               
               
             
               
               
             
               
               
               
               
             
               
               
             
               
               
             
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
             
             
               
                   
                 ModemGWInfo = SEQUENCE 
               
               
                   
                 { 
               
             
          
           
               
                   
                 dataRatesSupported 
                 SEQUENCE OF DataRate, 
               
               
                   
                 supportedPrefixes 
                 SEQUENCE OF SupportedPrefix 
               
               
                   
                 . . . 
               
             
          
           
               
                   
                 } 
               
               
                   
                 ModemMessage = CHOICE 
               
               
                   
                 { 
               
             
          
           
               
                   
                 modemDialOutRequest 
                 ModemDialOutRequest, 
               
               
                   
                 modemDialOutConfirm 
                 ModemDialOutConfirm, 
               
               
                   
                 modemDialOutReject 
                 ModemDialOutReject, 
               
               
                   
                 modemDialOutProgress 
                 ModemDialOutProgress 
               
             
          
           
               
                   
                 } 
               
               
                   
                 ModemDialOutRequest = SEQUENCE - - MRQ 
               
               
                   
                 { 
               
             
          
           
               
                   
                 destAlias 
                 AliasAddress, 
               
               
                   
                 timeToWait 
                 INTEGER(0 . . . 256) OPTIONAL - - in 
               
             
          
           
               
                   
                 seconds 
               
               
                   
                 } 
               
               
                   
                 ModemDialOutConfirm = SEQUENCE - - MCF 
               
               
                   
                 { 
               
             
          
           
               
                   
                 endpointIdentifier 
                 EndpointIdentifier, 
               
               
                   
                 destRasAddress 
                 TransportAddress OPTIONAL 
               
             
          
           
               
                   
                 } 
               
               
                   
                 ModemDialOutReject = SEQUENCE - - MRJ 
               
               
                   
                 { 
               
             
          
           
               
                   
                 endpointIdentifierEndpointIdentifier, 
               
             
          
           
               
                   
                 rejectReason 
                 ModemDialOutRejectReason 
               
             
          
           
               
                   
                 } 
               
               
                   
                 ModemDialOutRejectReason = CHOICE 
               
               
                   
                 { 
               
             
          
           
               
                   
                 resourceUnavailable 
                 NULL, 
                  - - no available port 
               
               
                   
                 destinationBusy 
                 NULL, 
                 - - destination is busy 
               
               
                   
                 . . . 
               
             
          
           
               
                   
                 } 
               
               
                   
                 ModemDialOutProgress = SEQUENCE - - MIP 
               
               
                   
                 { 
               
             
          
           
               
                   
                 endpointIdentifierEndpointIdentifier, 
               
             
          
           
               
                   
                 } 
               
               
                   
                   
               
             
          
         
       
     
     Most of the terminology used in Table 1 comply with the ITU-T H.323 and H.225.0 Ver. 2 standards. The following terminology is incorporated in accordance with the present invention: ModemDialOut Request (MRQ), ModemDialOut Confirm (MCF), ModemDialOut Reject (MRJ), and ModemDialOut in Progress (MIP). These additional terms are exchanged according to non-standard messaging (“nonStandardData”) allowed in the “NonStandardMessage” of the H.225.0 RAS standards. In addition, there has been proposed a data structure defined by “modemGWInfo” used in “terminalType” in the conventional RRQ message as set forth under the ITU-T H.323 and H.225.0. 
     The format of the RRQ message, namely the Non-Standard Message under the ITU-T recommendation following is as follows: 
     
       
         
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
             
               
               
               
             
               
               
               
             
               
             
               
               
               
             
               
             
           
               
                   
                   
               
             
             
               
                   
                 NonStandardMessage 
                 : : = SEQUENCE 
               
             
          
           
               
                 { 
               
             
          
           
               
                   
                 nonStandardData 
                 NonStandardParameter, 
               
             
          
           
               
                 } 
               
             
          
           
               
                   
                 NonStandardParameter 
                 : : = SEQUENCE 
               
             
          
           
               
                 { 
               
             
          
           
               
                   
                 nonStandardIdentifier 
                 NonStandardIdentifier 
               
               
                   
                 data 
                 OCTET STRING 
               
             
          
           
               
                 } 
               
             
          
           
               
                   
                 NonStandardIdentifier 
                 : : = CHOICE 
               
             
          
           
               
                 { 
               
             
          
           
               
                   
                 object 
                 OBJECT IDENIFIER 
               
               
                   
                 h221NonStandard 
                 SEQUENCE 
               
               
                   
                 { 
               
             
          
           
               
                   
                 t35CountrCode 
                 INTEGER (0 . . . 255),     - -country, per T.35 
               
               
                   
                 t35Extension 
                 INTEGER (0 . . . 255),     - - assigned 
               
             
          
           
               
                 nationally 
               
             
          
           
               
                   
                 manufacturerCode 
                 INTEGER (0 . . . 65535) - - assigned nationally 
               
               
                   
                 } 
               
             
          
           
               
                 } 
               
               
                   
               
             
          
         
       
     
     The ModemDialOut Request (MRQ) is a message sent by the gatekeeper to the remote access server when the gatekeeper receives the Admission Request (ARQ) message from a first terminal requesting a connection with a second terminal that is not registered with the gatekeeper. That is, the second terminal is to be connected through the remote access server according to the embodiment of the present invention. Here, the ModemDialout Request (MRQ) message contains the telephone number (“destAlias”) of the second terminal and the time limit (“timeToWait”) for waiting a response to the MRQ message. 
     The ModemDialOut Confirm (MCF) is a message for notifying the gatekeeper that the remote access server has made a PPP connection with the second terminal and has assigned an IP address thereto in response to the MRQ message. The assigned IP address may be included in the “destRasAddress”. 
     The ModemDialOut Reject (MRJ) is a message for notifying the gatekeeper that the remote access server can not make a connection to the second terminal in response to the ModemDialOut Request (MRQ) message. The reason for the rejection is included in the “rejectReason”. 
     The ModemDialOut in Progress (MIP) is a message for notifying the gatekeeper that the remote access server is in progress for making a connection to the second terminal, and that the remote access server can not send a message responding to the ModemDialOut Request (MRQ) message during the “timeTowait” period. 
     Referring to  FIG. 5 , both the terminal A of the IP network and the remote access server send the respective Registration Request (RRQ) messages to register their aliases and IP addresses in steps  60 - 1  and  60 - 2 . 
     In this case, the remote access server designates “terminalType” for the gateway in the RRQ message. The gateway is defined by a data structure “GatewayInfo,” whose “nonStandardData” is used for notifying its information. The “nonStandardData” is defined by the structure “nonStandardParameter”, which consists of “nonStandardIdentifier” and data. The “nonStandardIdentifier is defined by the structure “NonStandardIdentifier” consisting of object or “h221NonStandard,” and the object is used to designate the object identifier of the remote access server. The data of “nonStandardParameter” employs a structure “ModemGWInfo” as shown in Table 1. Other fields of the RRQ message are the same as in other terminals. 
     Thereafter, if the gatekeeper sends the RCF message for notifying the terminal A and the remote access server of the completion of the registration, respectively, in steps  60 - 1  and  60 - 2 , the terminal A sends the Admission Request (ARQ) message to the gatekeeper in order to communicate with the terminal C, in step  60 - 3 . Upon detecting the alias of the terminal C contained in the ARQ message from the terminal A, the gatekeeper sends the ModemDialOut Request (MRQ) message to the remote access server in step  60 - 4 , so that the remote access server can attempt to make a dial-up PPP connection with the terminal C in step  60 - 6 . At this time, if there is no available port or if the terminal C is busy, the remote access server sends the ModemDialOut Reject (MRJ) message to the gatekeeper in step  60 - 7 . While the remote access server attempts to make the PPP connection with the terminal C, it sends the ModemDialOut in Progress (MIP) message to the gatekeeper within the time interval specified in the MRQ message in step  60 - 5 . Then, if the PPP connection and the assigning of the IP address is accomplished, the remote access server sends the ModemDialOut Confirm (MCF) message to the gatekeeper in  60 - 7 . 
     Subsequently, when the gatekeeper waits for the registration of the terminal C, the terminal C sends the Gatekeeper Request (GRQ) message to seek the registration to the gatekeeper. Upon receiving the Gatekeeper Confirm (GCF) message in response to the GRQ message from the gatekeeper in step  60 - 8 , the terminal C sends the Registration Request (RRQ) message to the gatekeeper to register its alias and IP address. Then, the gatekeeper sends the Registration Confirm (RCF) message to confirm the registration of the terminal B in step  60 - 9 . 
     Then, the gatekeeper sends the Admission Confirm (ACF) message to the terminal A to admit the communication in step  60 - 10 . Here, the ACF message represents admission notification that the terminal may communicate with terminal C using Q.931 set up. The subsequent message flow steps after step  60 - 10  complies with the specification of H.323 standard. Namely, as shown in  FIG. 5 , if the terminal A, upon receiving the ACF message, sends the Q.931 setup message for call signaling to the terminal C in step  60 - 11 , the terminal C sends the Admission Request (ARQ) message to the gatekeeper for receiving the admission of communication in step  60 - 12 . Upon receiving the Admission Confirm (ACF) message from the gatekeeper in response to the ARQ message in step  60 - 13 , the terminal C sends the Q.931 connection message to the terminal A in step  60 - 14 . Finally, the communication is established in step  60 - 15  by performing the H.245 call signaling protocol. Here, the termination of the communication is also performed according to the H.323 standard. 
     As is apparent from the foregoing, the present invention provides a means of enabling the H.323 terminal of the IP network to establish—as occasion demands—the terminal of the PSTN or ISDN that is not presently in communication with the remote access server, by exchanging controlling messages between the gatekeeper and the remote access server. In addition, the inventive method employs the conventional H.225.0 RAS message of the international standard, thereby providing compatibility with the conventional communication system. Furthermore, the terminal coupled to the PSTN or ISDN which is in the off-line mode with the remote access server can be called by the terminal coupled the IP network, thus saving the cost related to maintaining the on-line connection with the remote access server. 
     The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.