Abstract:
Relay apparatus selecting first VoIP packets of at least the same transmission IP address from a plurality of VoIP packets arriving within a predetermined period, generating second VoIP packets taking a common transmission destination IP address as a transmission destination IP address and generating second VoIP packets containing each of the extracted media information, and substituting the first VoIP packets and routing the second VoIP packets.

Description:
BACKGROUND 
       [0001]    The present invention relates to technology for providing communication services such as calls etc. utilizing an IP (Internet Protocol) network, and particularly relates to routing technology for relay apparatus (gateway apparatus) used in VoIP (Voice Over IP) communication. 
         [0002]    In recent years, technology (VoIP) for carrying out audio calls using IP has attracted attention, with “IP telephones” for carrying out calls based on VoIP starting to become widespread. In IP telephony, an analog audio signal corresponding to speech generated by a caller is converted into digital data, subjected to predetermined compression processing and then put into the form of packets for transmission to a call destination via a network. An analog audio signal is then restored at the call destination based on the received packets and outputted as audio. Technology of the related art relating to IP telephones is disclosed in documents such as, for example, Japanese Patent Laid-open Publication No. 2001-177577. 
         [0003]    In the event of transmitting and receiving data using an IP, it is necessary for the original path selection (routing) to be carried out for the IP address so that a packet storing data reaches the correct destination. In a VoIP system, there are cases where gateway apparatus arranged between networks are equipped with a routing function. 
         [0004]      FIG. 6  is a view schematically showing a typical configuration for a VoIP packet transmitted and received in a VoIP system. As is clear from the drawing, the VoIP packet has an IP header, UDP (User Datagram Protocol) header/TCP (Transmission Control Protocol) header, and RTP (Real-time Transport Protocol) header each packet. 
       SUMMARY 
       [0005]    In the event that more VoIP packets than expected arrive from each type of terminal etc. connected to a network at relay apparatus, it is not possible for the routing processing to catch up, and as a result, packet loss etc. occurs. 
         [0006]    Further, as shown in  FIG. 6 , an IP header, UDP header/TCP header, and RTP header etc. are set at each VoIP packet. This causes transmission efficiency to fall due to overhead of the header portion the more the number of packets constituting the target of routing (i.e. packets transmitted by the relay apparatus) increases. 
         [0007]    It is therefore the object of the present invention to reduce the number of packets that are the target of routing, suppress load relating to routing, and increase stability and transmission efficiency at relay apparatus. 
         [0008]    Relay apparatus of the present invention comprises a selection section selecting packets of at least the same transmission IP address (in the following, the same transmission destination IP address is referred to as “common transmission destination IP address) from a plurality of VoIP packets arriving within a predetermined period, an extraction section for extracting media information from the respective selected VoIP packets (hereinafter referred to as “integration target VoIP packets”), a generating section taking the common transmission destination IP address as a transmission destination IP address and generating VoIP packets (hereinafter referred to as integrated VoIP packets) containing the extracted media information, and a routing section for substituting the integration target VoIP packets and routing the integrated VoIP packets. 
         [0009]    The generating section preferably adjusts the packet length of the integrated VoIP packet based on the extent of packet loss. 
         [0010]    The predetermined period is preferably 10 ms or 20 ms. 
         [0011]    Upon receiving integrated VoIP packets generated by another relay apparatus, the relay apparatus of the present invention restores the integration target VoIP packets corresponding to the integrated VoIP packets and routes the restored integration target VoIP packet. 
         [0012]    The routing method of the present invention selects integration target VoIP packets of at least the same transmission IP address from a plurality of VoIP packets arriving within a predetermined period, extracts media information from the respective selected integration target VoIP packets, takes the common transmission destination IP address as a transmission IP address, generates integrated VoIP packets containing the extracted media information, replaces the integration target VoIP packets and routes the integrated VoIP packets. 
         [0013]    The routing method of the present invention can be executed by a program operating on a computer. The program can be installed or loaded in a computer either via various recording media such as a semiconductor memory such as a memory card, CD-ROM, or magnetic disc, or via a communication network. 
         [0014]    In this specification, it is possible for one function to be implemented by two or more physical means, or for two or more functions to be implemented by one or more physical means. 
         [0015]    According to the present invention, it is possible to reduce the number of packets that are the target of routing, suppress load relating to routing, and increase stability and transmission efficiency at relay apparatus. 
     
    
     
       DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  is a block view showing a configuration for an overall system for the present invention. 
           [0017]      FIG. 2  is a block view of functions of an IP telephone of the present invention. 
           [0018]      FIG. 3  is a block view of GW functions of the present invention. 
           [0019]      FIG. 4  is a flowchart showing the flow of packet integration processing. 
           [0020]      FIG. 5A  and  FIG. 5B  are views illustrating an integrated payload. 
           [0021]      FIG. 6  is a view illustrating a VoIP packet. 
       
    
    
     DETAILED DESCRIPTION 
       [0022]    The following is a description using the drawings of an embodiment of the present invention.  FIG. 1  is a block view representing the overall configuration of a system utilizing the present invention. 
         [0023]    As shown in  FIG. 1 , the overall system contains a plurality of IP networks (IP network  1 , IP network  2 , IP network  3 , etc.). Each IP network may be a LAN, dedicated IP network, or internet, etc. 
         [0024]    Gateway apparatus  10  (GW 10 ) equipped with a routing function and an IP telephone  11  and IP telephone  12  etc. are connected to the IP network  1 . Gateway apparatus  20  (GW 20 ) equipped with a routing function and an IP telephone  21  etc. is connected to the IP network  2 . 
         [0025]    A block view of functions of an IP telephone is shown in  FIG. 2  as an example of the IP telephone  11  connected to the IP network  1 . As can be understood from the drawing, the IP telephone  11  stores an IP address etc. for GW  10  that is a default gateway apparatus for the IP network in a storage section. 
         [0026]    Further, the IP telephone  11  is at least equipped with the normal functions of a typical IP telephone, such as a function for, in the event that, for example, a telephone number of a call destination is inputted by a user, sending an IP packet storing this telephone number as data to the destination GW 10  and requesting start of a session, a function responding to establishment and discontinuation of a session etc., a function converting audio inputted by a user to digital data and transmitting this digital data as a VoIP packet (audio packet), and a function for receiving VoIP packets destined for itself, and restoring and outputting an analog audio signal, etc. 
         [0027]    Existing technology such as PCM (Pulse Code Modulation) methods and CS-ACELP (Conjugate-structure algebraic code excited linear prediction) methods etc. can be utilized as methods for encoding audio according to the specification. For example, in the case of a high-speed line, a high tone quality PCM method may be adopted, and in the case of a low-speed line, a CS-ACELP method etc. capable of regulating bandwidth may be adopted. 
         [0028]    Further, it is possible to decide protocols relating to session establishment etc. according to design, and it is possible to adopt, for example, H.323 protocol, SIP (Session Initiation Protocol), or a protocol conforming to this. 
         [0029]    In addition to being configured as, for example, a dedicated IP telephone, the IP telephone  11  etc. can be configured as a combination of a typical telephone and terminal connection apparatus (TA apparatus) having each of the above functions, or a personal computer equipped with the necessary input/output interfaces mounted with an IP telephone module. 
         [0030]    A functional block view of the gateway apparatus is shown in  FIG. 3  as an example of GW 10 . As can be understood from the drawings, the GW 10  stores a routing table for deciding which IP network of a plurality of IP networks connected to itself an IP telephone to receive packets exists on, or deciding which networks coincide with paths for reaching this IP telephone, and a telephone number management table for correlating telephone numbers of each telephone connected to the IP network  1  and IP addresses, in the storage section. 
         [0031]    Further, GW 10 ,  20  are equipped with at least the normal functions that typical relay apparatus and gateway apparatus are equipped with. For example, a call control function for negotiating with other apparatus on the path and establishing sessions based on session start requests from the IP telephone  11  etc., and a function (routing function) for interrogating predetermined location servers etc. for an IP address of a call destination terminal, referring to a routing table so as to determine a corresponding GW, and transferring VoIP packets etc. 
         [0032]    However, GW 10  and GW 20  of this embodiment differ from the related art in being provided with a function (packet integration/routing function) for carrying out routing integrating at least packets for which at least the transmission destination IP addresses are the same as VoIP packets received from IP telephones  11 , etc. 
         [0033]    In addition to being configured as, for example, dedicated gateway apparatus, at information processing apparatus equipped with a typical configuration provided with a control section (CPU), input/output section, and storage section etc., the GW 10 ,  20  may also be configured so that the program of the present invention executes a gateway apparatus organization program containing a program of the present invention. Each function described above can be implemented as a result of a CPU executing programs stored in a HDD, ROM, RAM, or external storage media etc. or may be implemented as functional sections using dedicated hardware. 
         [0034]    GW 10 ,  20  execute the packet integration processing described in the following at predetermined intervals in order to implement a packet integration/routing function. Each process of a packet integration function may be changed in order arbitrarily within a range that does not conflict with processing content or may be executed in parallel. 
         [0035]    The predetermined intervals described above (intervals between executing packet integration processing) can be made to be, for example, transmission VoIP packet transmission intervals, and may specifically be, for example, 10 ms or 20 ms. Specifically, in the event that the VoIP system is organized based on CELP system audio encoding methods defined in ITU-T recommendation G.729, in this method, it is desirable to make the predetermined interval 10 ms after setting 10 ms as the audio encoding unit. 
         [0036]    (Packet integration processing:  FIG. 4 ) 
         [0037]    GW 10 ,  20  perform grouping so as to investigate IP addresses of transmission destinations with regards to each received VoIP packet not taken as a target or packet integration processing at the time of starting packet integration processing and select received VoIP packets of the same transmission destination IP address (S 100 ). In the following, transmission destination IP addresses that are common to these received grouped VoIP packets are referred to as common transmission destination IP addresses. 
         [0038]    Next, GW 10 ,  20  extract IP packet data sections, i.e. UDP packets or TCP packets containing media information such as audio data etc. from the selected received VoIP packets for each group (S 101 ). 
         [0039]    Next, GW 10 ,  20  integrate the extracted IP packet data sections for each group (hereinafter, integrated data is referred to as “integrated payload”) (S 102 ). A method where, as shown simply in  FIG. 5A , the extracted IP packet data sections are, for example, arranged in the order of receipt to give an integrated payload can be considered as an integration method. 
         [0040]    Next, GW 10 ,  20  take a common transmission destination IP address as a transmission destination address for each group, and generate a VoIP packet (hereinafter referred to as an integrated VoIP packet) taking the integrated payload as an IP packet data section (S 103 ). The received VoIP packets for each group have the same transmission destination IP address but the transmission source IP address does by no means have to be the same. Here, it is necessary to assign transmission source IP addresses to respective corresponding received VoIP packets for storage in an IP packet data section. 
         [0041]    The GW 10 ,  20  then execute routing processing as in the related art on the integrated VoIP packets generated by this kind of packet integration processing in place of the selected received VoIP packets (i.e. a succession of grouped received VoIP packets). Further, the same routing processing as in the related art is also executed for received VoIP packets (VoIP packets that are not integrated) that are not selected in S 100 . 
         [0042]    According to the configuration of this embodiment, a plurality of received VoIP packets for which the transmission destination IP addresses coincide are integrated to generate a single integrated VoIP packet and this integrated VoIP packet is taken as a routing target. It is therefore possible to reduce the number of VoIP packets taken as routing targets compared with the case of executing routing processing as is without carrying out packet integration processing, and it is therefore possible to suppress the load relating to routing processing of the relay apparatus (gateway apparatus). 
         [0043]    In the event that an integrated VoIP packet is received, and this common transmission destination IP address is not an address within an IP network GW 10  and GW 20  are themselves connected to, routing processing is carried out in the same way as for other VoIP packets, and in the event of an address within an own-connected IP network, individual VoIP packets (VoIP packets that are the target of integration) are restored based on the integrated VoIP packet and routing processing is carried out. The method for restoring the individual VoIP packets can be said in theory to be the reverse procedure of the packet integration processing. For example, IP packet data sections and transmission destination IP addresses of each VoIP packet taken as an integration target are extracted from the IP packet data section of the integrated VoIP packet, and each VoIP packet taken as a target of integration is restored based on the common transmission destination IP address, the extracted transmission destination IP address, and the extracted IP packet data section. 
       (Modified Example) 
       [0044]    The present invention is by no means limited to the above embodiment and application in various modifications is possible. For example, in the above embodiment, each IP telephone is equipped with a session start request function, session response function, and audio packet generation—transmission function/audio packet receiving—restoration function (codec function) etc. but the GW 10 ,  20  may also be provided with each of these functions. In this event, it is possible to construct a VoIP system by providing relay apparatus equipped with a routing function of the present invention separately from the GW 10 ,  20  having each of these functions. 
         [0045]    Further, for example, a configuration is also possible where the extent of packet loss (packet loss rate) is detected based on, for example, an ACK signal and timer during generation of integrated VoIP packets at S 103  of the above embodiment, and the of the integrated VoIP packet is adjusted based on the extent of this packet loss. For example, in the event that a plurality of packet lengths capable of being set are set in advance as the pre-integrated VoIP packet length, and the extent of the packet loss is a predetermined threshold value of T1 or more, on the one hand the packet length of the integrated VoIP packet is made substantially shorter than the current length in order to prevent tone quality deterioration etc. while in the case that the extent of packet loss is a predetermined threshold value of T2 or less, the packet length of the integrated VoIP packet for which the transmission efficiency is to be improved is changed to be substantially longer than is currently the case. A configuration may also be adopted where, in place of or in addition to the extent of the packet loss, the packet length of the integrated VoIP packets is adjusted based on the delay or fluctuation of the packets. 
         [0046]    Further, a description is given of a configuration where in S 100  of the aforementioned embodiment, received VoIP packets of the same transmission destination IP addresses are selected, but the present invention is by no means limited to this configuration. For example, a configuration may be adopted where the transmission destination port contained in the UDP/TCP header is investigated, grouping is performed by selecting received VoIP packets where the transmission destination IP address and the transmission destination port are the same, the UDP/TCP packet data is integrated, and integrated VoIP packets are generated (refer to  FIG. 5B ). 
         [0047]    Further, for example, execution intervals for the packet integration processing may also be decided taking into consideration the received VoIP packet number and degree of congestion of the IP network. For example, a configuration may be considered where an execution interval of 10 ms may be adopted when the number of received VoIP packets is small, and the execution interval is made longer as the number of received VoIP packets increases.