Abstract:
A method and system to rout a Voice over Internet Protocol (VoIP) call based on a service class of a subscriber enables efficient utilization of bandwidth by providing service corresponding to the subscriber service class, while enabling use of a Virtual Private Network (VPN) which provides security to a VoIP service. The method includes: determining a service class of a subscriber upon packet data being received from the subscriber; determining whether the received current packet is packet data to be routed over an encrypted network or a non-encrypted network, based on the service class of the subscriber; encrypting the received packet data with an encryption processor and then routing the encrypted packet data to a final destination with a router upon a determination that the received packet data is to be routed over the encrypted network; and directly routing the received packet data to the final destination with the router without encrypting the received packet data upon a determination that the received packet data is to be routed over the non-encrypted network without being encrypted.

Description:
CLAIM OF PRIORITY  
       [0001]     This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. §119 from an application for Method and System for Routing VoIP Call Based on Subscriber Service Class, filed in the Korean Intellectual Property Office on 16 Dec. 2004 and there duly assigned Serial No. 2004-107439.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to a method and system for routing a Voice over Internet Protocol (VoIP) call. More particularly, the present invention relates to a method and system for routing a Voice over Internet Protocol (VoIP) call based on a service class of a subscriber, capable of providing a differentiated service according to the subscriber class when a Virtual Private Network (VPN) is used for security of an Internet phone service using VoIP.  
         [0004]     2. Description of the Related Art  
         [0005]     A technique of transferring voice information using Internet protocol (IP) in a packet switch network used as a data network is called voice over Internet protocol (VoIP). VoIP is not a traditional line-based protocol like a public switched telephone network (PSTN) and transfers voice information in a digital format within discrete packets.  
         [0006]     In general, a public network is used in providing a telephony service using VoIP, and therefore security is an important issue.  
         [0007]     As one way to provide security, a virtual private network (VPN) is emerging. The VPN is built into an IP network which is provided by a communication company. The VPN is a closed private circuit network that is virtually built within the public network and that is protected by, for example, authentication and encryption technologies.  
         [0008]     In the VPN, however, data encryption takes a processing time in encoding/decoding, and a high overhead of packets for encryption and authentication arises.  
         [0009]     As such, in the conventional VoIP service, the VPN is used since use of the public network causes a security issue, but the VPN also encounters a difficulty in obtaining a bandwidth.  
       SUMMARY OF THE INVENTION  
       [0010]     It is an object of the present invention to enable efficient utilization of bandwidth by providing differentiated service according to a service class of a subscriber, when using a Virtual Private Network (VPN) providing security for a Voice over Internet Protocol (VoIP) service.  
         [0011]     According to one aspect of the present invention, a method of routing a Voice over Internet Protocol (VoIP) call is provided, the method comprising: determining a service class of a subscriber upon packet data being received from the subscriber; determining whether the received current packet is packet data to be routed over an encrypted network or a non-encrypted network, based on the service class of the subscriber; encrypting the received packet data with an encryption processor and then routing the encrypted packet data to a final destination with a router upon a determination that the received packet data is to be routed over the encrypted network; and directly routing the received packet data to the final destination with the router without encrypting the received packet data upon a determination that the received packet data is to be routed over the non-encrypted network without being encrypted.  
         [0012]     Routing the received packet data to the final destination preferably comprises selecting a gateway corresponding to an access code in a destination telephone number to be the final destination.  
         [0013]     The method preferably further comprises registering service types of subscribers in a service system prior to determining the service class of the subscriber.  
         [0014]     The method preferably further comprises storing service classes corresponding to the service types of the subscribers in a subscriber information table in a database of the service system upon respective subscribers registering their service types in the service system.  
         [0015]     The subscriber service class is preferably different for signaling data and voice packet data.  
         [0016]     The subscriber service class is preferably different for use of the non-encrypted network and use of the encrypted network.  
         [0017]     The subscriber service class is preferably classified into: a class in which the encrypted network is available for both the signaling data and the voice packet data; a class in which the encrypted network is available for the signaling data and the non-encrypted network is available for the voice packet data; a class in which the non-encrypted network is available for the signaling data and the encrypted network is available for the voice packet data; and a class in which the non-encrypted network is available for both the signaling data and the voice packet data.  
         [0018]     The subscriber service class is preferably adjusted in response to the type of service of the subscriber being changed.  
         [0019]     Encrypting the received packet data with an encryption processor and routing the encrypted packet data to a final destination with a router upon the received packet data being routed over the encrypted network preferably comprises routing the packet data to a gateway corresponding to the non-encrypted network upon there being no destination gateway that performs encryption processing.  
         [0020]     According to another aspect of the present invention, a system for routing a Voice over Internet Protocol (VoIP) call is provided, the system comprising: a switching system including: a router adapted to provide an entire function related to call routing and to parse information of data related to a call and to provide a path to a router according to the parsed information, the router being adapted to provide a relevant network service; a subscriber information table adapted to store information about service classes of subscribers; and an encryption processor adapted to perform encryption for subscriber service classes stored in the subscriber information table requiring encryption; and a VoIP terminal adapted to communicate with the switching system, the VoIP terminal adapted to be provided with a VoIP call service over a network available in the subscriber service class corresponding to the type of service selected by the subscriber.  
         [0021]     The switching system preferably further comprises: a controller adapted to manage call connection information and an entire function related to voice media processing; a subscriber information table adapted to store service classes of VoIP subscribers and other information therein; an input unit adapted to receive voice media data and signaling data, the voice media data containing information indicating whether encryption is to be applied; an encryption processor adapted to encrypt received packet data upon a determination that the received packet data is to be encrypted, based on the information in the received data indicating whether encryption is to be applied; and a router adapted to rout the packet transferred via the input unit or the packet encrypted by the encryption processor to a final destination address by referring to a routing table.  
         [0022]     The system preferably further comprises: a Network Address Translation (NAT) table adapted to provide address translation to an address of a local network to allow communication with an address of a global network; and a parser adapted to parse a header of the signaling data to translate a destination global address of the packet, and to register the changed content with the address translation table, prior to establishing a communication path with the final destination.  
         [0023]     The system preferably further comprises: a Network Address Port Translation (NAPT) table adapted to provide address translation to an address of a local network to allow communication with an address of a global network; and a parser adapted to parse a header of the signaling data to translate a destination global address and port information for the packet and to register the changed content in the address port translation table, prior to establishing a communication path to a final destination.  
         [0024]     The switching system preferably comprises: a caller server adapted to manage functions of a controller and the subscriber information table; and a data server having an input unit, the encryption processor and the router adapted to transfer packets.  
         [0025]     The subscriber information table is preferably adapted to store types of service selected by respective subscribers.  
         [0026]     The subscribers preferably register their types of service in the service system such that classes corresponding to the respective types of service are stored.  
         [0027]     The assigned subscriber service class is preferably different for signaling data and voice packet data.  
         [0028]     The assigned subscriber service class is preferably different for use of the non-encrypted network and use of the encrypted network.  
         [0029]     The service class of the subscriber is preferably classified into: a class in which the encrypted network is available for both the signaling data and the voice packet data; a class in which the encrypted network is available for the signaling data and the non-encrypted network is available for the voice packet data; a class in which the non-encrypted network is available for the signaling data and the encrypted network is available for the voice packet data; and a class in which the non-encrypted network is available for both the signaling data and the voice packet data.  
         [0030]     The subscriber service class is preferably adjusted in accordance with the type of service of the subscriber being changed. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]     A more complete appreciation of the present invention, and many of the attendant advantages thereof, will be readily apparent as the present invention becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:  
         [0032]      FIG. 1  is a block diagram of a configuration for routing a VoIP call in an environment  11  where address translation is performed using an Network Address Port Translation (NAPT) mechanism according to an embodiment of the present invention;  
         [0033]      FIG. 2  is a block diagram of a configuration for routing a VoIP call in an environment where address translation is performed using an Network Address Translation (NAT) mechanism according to an embodiment of the present invention;  
         [0034]      FIG. 3  is a flowchart of a method of classifying subscriber service levels according to an embodiment of the present invention;  
         [0035]      FIG. 4  is a flowchart of the routing of a call according to the service class of each subscriber of  FIG. 3 ;  
         [0036]      FIG. 5  is a table of typical destination address information; and  
         [0037]      FIGS. 6A, 6B  and  6 C are tables of information for a gateway at a destination address. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0038]     The present invention will now be described more fully with reference to the accompanying drawings, in which exemplary embodiments of the present invention are shown. The present invention can, however, be embodied in different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.  
         [0039]     A type of switching system applied to the present invention is described below prior to discussing the configuration of the present invention.  
         [0040]     The switching system can be configured in such a manner that a function of a call server and a function of a data server are integrally incorporated or separated at different places.  
         [0041]     The integral switching system and the separated switching system have the following difference.  
         [0042]     In the integral switching system, a data transmission and reception process is straightforward and rapid since an internal bus is utilized to communicate data between the call server and the data server.  
         [0043]     In the separated switching system, it is necessary to match protocols between the call server and the data server and perform a separate data transmission and reception process to communicate data between the call server and the data server.  
         [0044]     A configuration of the present invention having the functionally separated call server and the data server will be described by way of example.  
         [0045]      FIG. 1  is a block diagram of a configuration for routing a VoIP call in an environment where address translation is performed using a Network Address Port Translation (NAPT) mechanism according to an embodiment of the present invention;  
         [0046]     First, the inventive configuration with NAPT is described with reference to  FIG. 1 . NAPT is a network address translation method by which several hosts in a local network are able to share an IP address to simultaneously communicate with a global network.  
         [0047]     A switching system of the present invention includes a call server  100  and a data server  300 .  
         [0048]     Data transmission and reception between the call server  100  and the data server  300  is performed over an IP network  200 .  
         [0049]     The call server  100  includes a VoIP signaling gateway (G/W) controller  110  for performing voice switching and signal processing and subscriber terminal management, a VoIP media G/W controller  120  for translating voice to data and transmitting and receiving the data over the IP network, and a subscriber information table  130  for storing VoIP subscriber service classes and other information.  
         [0050]     The subscriber information table  130  can be located within the server or in a separate location for an efficient network configuration.  
         [0051]     The data server  300  includes an input unit  310 , a VoIP signaling message parser  320 , a Network Address Port Translation (NAPT) table  330 , a routing table  360 , a router  350 , and a VPN processor  340 .  
         [0052]     The input unit  310  receives packet data over the IP network  200  and determines whether to route the packet data over the VPN or the public network.  
         [0053]     The input unit  310  also checks an IP address in the packet and simultaneously checks whether to effect a port translation, and then delivers the packet to the router.  
         [0054]     When port translation is needed, the input unit  310  performs the port translation and IP address translation using the information stored in the NAPT table  330 , and then forwards the relevant packet to the router  350 .  
         [0055]     The router  350  checks a destination address of a VPN packet transferred from the VPN processor  340 , and then routes the VPN packet to the destination. The router  350  routes the VPN packet by referring to the routing table  360  before a communication path for a VPN based voice packet is established, and routes the VPN packet based on the information stored in the NAPT table  330  after the communication path for the VPN based voice packet has been established.  
         [0056]     The VoIP signaling message parser  320  parses a header of the packet data and registers the detected information with the NAPT table  330 . If the packet data is parsed to be a packet which should be encapsulated through the VPN, the VoIP signaling message parser  320  sends information to the VPN processor  340  that is needed for the VPN processor  340  to VPN-process the received current packet.  
         [0057]     The NAPT table  330  stores the information for performing NAPT.  
         [0058]     A mechanism by which the address translation is performed in communication equipment includes basic Network Address Translation (basic NAT) with a 1:1 binding of a local IP address and a global IP address, and Network Address Port Translation (NAPT) which supports N:1 binding with port translation in a TCP/UDP layer.  
         [0059]     In the NAPT mechanism, address use efficiency is excellent since a data flow is discriminated through the port translation, but bidirectional communication is not supported.  
         [0060]      FIG. 2  is a block diagram of a configuration for routing a VoIP call in an environment where address translation is performed using an NAT mechanism according to an embodiment of the present invention.  
         [0061]     Referring to  FIG. 2 , a switching system of the present invention includes a call server  100  and a data server  400 .  
         [0062]     Data transmission and reception between the call server  100  and the data server  400  is effected over an IP network  200 .  
         [0063]     The call server  100  includes a VoIP signaling gateway (G/W) controller  110  for performing voice switching and signal processing and subscriber terminal management, a VoIP media G/W controller  120  for translating voice to data and transmitting and receiving the data over the IP network, and a subscriber information table  130  for storing service classes of VoIP subscribers and other information.  
         [0064]     The subscriber information table  130  can be placed within the server or in a separate location for an efficient network configuration.  
         [0065]     The data server  400  includes an input unit  410 , a VoIP signaling message parser  420 , a network address port translation table (NAPT)  430 , a routing table  460 , a router  450 , and a VPN processor  440 .  
         [0066]     The input unit  410  receives packet data over the IP network  200  and determines whether to route the packet data over the VPN or the public network.  
         [0067]     The input unit  410  also checks an IP address in the packet, performs IP address translation using the information registered in the NAT table  430 , and forwards the packet to the router  450 .  
         [0068]     The router  450  checks a destination address of a VPN packet transferred from the VPN processor  440 , and then routes the VPN packet to the destination. The router  450  routes the VPN packet by referring to the routing table  460  before a communication path for a VPN based voice packet has been established, and routes the VPN packet based on the information stored in the NAPT table  430  after the communication path for the VPN based voice packet has been established.  
         [0069]     The VoIP signaling message parser  420  parses a header of the packet data and registers the detected information in the NAPT table  430 . If the packet data is parsed to be a packet which should be encapsulated through the VPN, the VoIP signaling message parser  420  sends information to the VPN processor  440  that is needed for the VPN processor  440  to VPN-process the received current packet.  
         [0070]     The NAPT table  430  stores information for performing NAPT.  
         [0071]     In the NAT mechanism, address translation is straightforward and rapid because it is accomplished on only the IP layer, and bidirectional communication is supported by using a DNS Application Level Gateway (ALG).  
         [0072]     An operation in which subscriber service levels are classified to implement the present invention is described below.  
         [0073]      FIG. 3  is a flowchart of a method of classifying subscriber service levels in accordance with an embodiment of the present invention.  
         [0074]     Referring to  FIG. 3 , first, in order to build a subscriber service class criterion, a table has fields including a signaling data field and a voice data field (S 100 ).  
         [0075]     For the signaling data field and the voice data field, the table has a field to indicate whether to use the public network or to perform VPN processing (S 110 ).  
         [0076]     Classes of service can be created by designating an available network for each of the signaling data and the voice data (S 120 ), as shown in Table 1:  
                           TABLE 1                       No.   Signaling   Voice   Note                   0   1   1   Signaling-VPN, Voice-VPN       1   1   0   Signaling-VPN, Voice-                   Public network       2   0   1   Signaling-Public network,                   Voice-VPN       3   0   0   Signaling-Public network,                   Voice-Public network                  
 
         [0077]     The service classes of respective subscribers are registered in the subscriber information table  130  after the classes of service have been created as in Table 1 (S 200 ).  
         [0078]     When the registration procedure has been completed and a VoIP call is initiated by a subscriber, the VoIP call is routed based on the service class of the subscriber registered in the subscriber information table  130  (S 300 ).  
         [0079]     A method associated with the service class subscription in S 300  is discussed in detail below with reference to  FIG. 4 .  
         [0080]      FIG. 4  is a flowchart of routing a call according to subscriber service class of the method of  FIG. 3 .  
         [0081]     When a VoIP call is initiated by a subscriber, a determination is made, based on the service class of the subscriber, whether to perform the VPN processing or to use the typical public network.  
         [0082]     If the subscriber service class is determined in S 301  to be ‘0’, the subscriber is able to transmit packets over the VPN upon signaling and even upon voice packet transmission (S 302 ).  
         [0083]     If the subscriber service class is determined in S 301  not to be ‘0’, a determination is made as to whether the subscriber service class is ‘1’ (S 303 ).  
         [0084]     If the subscriber service class is determined in S 303  to be ‘1’, the subscriber is able to transmit packets over the VPN upon signaling and over the typical public network upon voice packet transmission (S 304 ).  
         [0085]     If the subscriber service class is determined in S 303  not to be ‘1’, a determination is made as to whether the subscriber service class is ‘2’ (S 305 ).  
         [0086]     If the subscriber service class is determined in S 305  to be ‘2’, the subscriber is able to transmit packets over the typical public network upon signaling and over the VPN upon voice packet transmission (S 306 ).  
         [0087]     When the subscriber service class is determined in S 305  not to be ‘2’, a determination is made as to whether the subscriber service class is ‘3’ (S 307 ).  
         [0088]     When the subscriber service class is determined in S 307  to be ‘3’, the subscriber is able to transmit packets over the typical public network upon signaling and voice packet transmission (S 308 ).  
         [0089]     When the subscriber service class is determined in S 307  not to be ‘3’, determination cannot be made as to what the subscriber service class is, and therefore this case is regarded as an error (S 309 ).  
         [0090]     When a network over which the packet is transmitted is determined in S 302 , S 304 , S 306  and S 308 , the packet is forwarded to the router  350 .  
         [0091]     In order to route the packet to a destination, the destination is determined based on an access code in a dialing number.  
         [0092]     While the address of the destination is determined based on the access code, a gateway is selected corresponding to the subscriber service class.  
         [0093]     In order to determine the destination based on the dialing number, it is necessary to discover the router through indexing a remote IP table of the routing table  360 .  
         [0094]      FIG. 5  is a table of typical destination address information.  
         [0095]     Referring to  FIG. 5 , the remote IP table for the destination gateway is determined according to access code. The remote IP table can be organized in the form shown in  FIGS. 6A, 6B  and  6 C.  
         [0096]      FIGS. 6A, 6B  and  6 C are tables of information for a gateway at a destination address.  
         [0097]     By referring to the number of the remote IP table of  FIG. 5 , remote IP tables of FIGS.  6 A,  6 B and  6 C corresponding to the number are indexed, and one of the public network remote G/W and the VPN remote G/W specified in the corresponding remote IP table is selected corresponding to the service class of the subscriber.  
         [0098]     When VPN service is disabled due to a failure of the destination gateway during service, it is necessary to temporarily route packet data to a gateway corresponding to a typical public network, even though the service class of the subscriber is a VPN-usable class.  
         [0099]     It will be apparent to those of skill in the art that various modifications can be made to the embodiments of the present invention described herein without departing from the spirit and scope of the present invention. Therefore, the true legal scope of the present invention should not be construed as being limited by the illustrated embodiments but should be determined solely by the appended claims.  
         [0100]     As described above, according to the present invention, by initiating a VoIP call, a VoIP service subscriber receives service corresponding to his/her service class, which allows the subscriber to choose a desired quality of service. Furthermore, a service provider is capable of providing a service over a variety of paths, e.g., the public network and the VPN, which enables efficient utilization of bandwidth.