1. Field of the Invention
The present invention relates to a VoIP (Voice on Internet Protocol) system, VoIP server and client, and a multicast packet communication method, and more particularly, to a VoIP system which transmits data such as paging data broadcasted concurrently and MOH (Music On Hold) data, in the form of multicast packets.
2. Description of the Related Art
There has been a known VoIP system which enables voice communications with use of an IP (Internet Protocol) network used for the Internet. For example, a VoIP system is constructed by connecting a VoIP server and plural clients to each other on an IP network. Under control from the VoIP server, voice communications are realized between the plural clients, using, as media, voice data decomposed into IP packets.
The prior art document relating to the VoIP system includes the following: JP-A-2001-230774 and JP-A-H04(1992)-192955.
In the conventional VoIP system described above, problems described below are expected in case of transmitting, as multicast packets, paging data broadcasted concurrently on the IP network and MOH data which notifies holding status upon a hold operation during voice communication.
For example, in case of paging, a client who executes paging transmits transmission data for the paging as multicast packets to all clients equally, regardless of whether the client who receives the paging can receive multicast packets or not. Alternatively, the client transmits paging data as unicast packets to every client that is a target receiver of the paging.
Also in case of MOH, a VoIP server transmits voice packets for the MOH, in the form of multicast packets, regardless of whether the receiver who receives MOH data is capable of receiving multicast packets or not. Alternatively, an internal sound source is provided in every client to let users hear MOH.
Therefore, there are clients in a network environment in which the clients cannot receive multicast packets due to any reason, such as clients connected to a router incapable of routing multicast packets. Those clients cannot receive transmission data of paging or MOH transmitted in the form of multicast packets from other clients or a VoIP server.
The foregoing problems in multicast packet communications in the VoIP system are not limited to the paging or MOH but are common to communications among three or more partners (e.g., telephone-communication conferences [conference call]), streaming, etc.
An object of the present invention is to provide a VoIP system capable of supporting clients who cannot receive multicast packets so that the clients can receive transmitted data in case where transmission data of paging or MOH is transmitted as multicast packets through a VoIP system.
To achieve the above object, the present invention has a feature of automatically determining those clients that cannot receive multicast packets, and of transmitting data in the form of unicast packets or using internal sound sources of the clients, as a different receiving method from a multicast method, to support paging and MOH for those clients.
The present invention has been accomplished based on this conception.
According to an aspect of the present invention, a VoIP system comprises a VoIP server connected to an IP network, and plural clients connected communicably to the VoIP server via the IP network, wherein voice communication is enabled via the IP network between a source client among the plural clients, which transmits IP packets, and a destination client among the plural clients, which receives the IP packets, the plural clients each have a first multicast transmission unit which transmits predetermined transmission data, as multicast packets addressed at a specific multicast address, to plural destination clients, and a multicast transmission request unit which sends a predetermined request message to the VoIP server, requesting the VoIP server to transmit the multicast packets, and the VoIP server has a second multicast transmission unit which transmits the multicast packets to the plural destination clients upon receipt of the request message sent from the client by the multicast transmission request unit.
The VoIP server may further comprise: a determination unit which determines whether the plural destination clients are capable of receiving the multicast packets when the multicast packets are transmitted by the first or second multicast transmission unit; and a transmission control unit which controls the first or second multicast transmission unit to transmit the transmission data as unicast packets to those destination clients that are determined to be incapable of receiving the multicast packets, based on a determination result.
The determination unit may transmit a predetermined test message as multicast packets to the plural destination clients and may determine whether the plural destination clients can receive the multicast packets or not.
The transmission control unit may have a table in which determination results obtained by the determination unit are registered, and a unit which makes the transmission control unit operate based on the determination results registered in the table, without using the determination unit.
The transmission data may be data broadcasted concurrently by paging.
The transmission data may be music-on-hold data to be sent in accordance with a hold operation at the time of the voice communication.
The VoIP server may further have a unit which sends a request for reproducing the internal sound source, to the destination clients, if the destination clients each have an internal sound source of the music-on-hold data, and the clients each may further have a unit which reproduces the internal sound source upon receipt of the reproduction request.
According to another aspect of the present invention, a VoIP server for use in a VoIP system in which voice communication is enabled via the IP network between a source client among plural clients, which transmits IP packets, and a destination client among the plural clients, which receives the IP packets, may comprise: a multicast transmission unit which transmits predetermined data as multicast packets to plural destination clients upon receipt of a request message requesting transmission of multicast packets and sent from the source client; a determination unit which determines whether the plural destination clients are capable of receiving the multicast packets when the multicast packets are transmitted by the multicast transmission unit or the source client; and a transmission control unit which controls the multicast transmission unit or the source client to transmit the transmission data as unicast packets to those destination clients that are determined to be incapable of receiving the multicast packets, based on a determination result.
According to further another aspect of the present invention, a client connected communicably to a VoIP server via an IP network, comprises: a unit which transmits predetermined transmission data, as multicast packets addressed at a specific multicast address, to plural destination clients; and a unit which transmits a predetermined request message requesting the VoIP server to transmit the multicast packets, to the VoIP server.
Also according to further another aspect of the present invention, a multicast packet communication method for a VoIP system comprises a VoIP server connected to an IP network, and plural clients connected communicably to the VoIP server via the IP network, enabling voice communication via the IP network between a source client among the plural clients, which transmits IP packets, and a destination client among the plural clients, which receives the IP packets. The method comprises: a step in which the plural clients transmit predetermined transmission data, as multicast packets addressed at a specific multicast address, to plural destination clients; a step in which a predetermined request message is sent from any of the plural clients to the VoIP server, to request the VoIP server to transmit the multicast packets; a step in which upon receipt of the request message sent from any of the clients, the VoIP server transmits the multicast packets to the plural destination clients; a step in which when the multicast packets are transmitted by the VoIP server or any of the clients, whether the plural destination clients can receive the multicast packets or not is determined; and a step in which the VoIP server performs control to transmit the transmission data as unicast packets to those of the destination clients that are determined to be incapable of receiving the multicast packets, based on the determination results.
In the accompanying drawings:
Preferred embodiments of a VoIP system, VoIP server and client, and a multicast packet communication method according to the present invention will be described below with reference to the accompanying drawings.
As shown in
Three clients C1 to C3 among the clients C1 to C5 are connected to the same subnet forming part of the IP network 2 as the VoIP server 1. The client C4 is connected to another subnet which also forms part of the IP network 2 and belongs to the multicast router MR1. The client C5 is connected to further another subnet which forms part of the IP network 2 and belongs to the router R1 that is not compatible with multicasting.
The VoIP server 1 is composed of a server computer such as an SIP server, H.323 server, or the like. As shown in
As shown in
The VoIP server 1 has a function to register the clients C1 to C5 and to perform call control of each client, and a function to send MOH data by multicasting or unicasting. In addition, the sever 1 has a function to test clients as receivers for ability to receive multicast packets, when any client is going to send multicast packets, and to send a message suggesting transmission based on unicasting (or an internal sound source in case of MOH) to those clients that cannot receive multicast packets, due to the above configurations described above and the program controls thereof.
If a registration request is issued from any of the clients C1 to C5, the VoIP server 1 receives the registration request, performs a call processing thereof, and sends MOH by multicasting or unicasting, due to the functions described above. Alternatively, if any client requests paging or holding, the VoIP server 1 sends multicast packets to determine whether the receiver thereof can receive multicast packets.
The client C1 is composed of, for example, a client computer such as a general-purpose PC (Personal Computer), PDA (Personal Digital Assistant), a dedicated IP phone, or the like. As shown in
As shown in
As shown in
Among these components, the VoIP server 1 and the three clients C1 to C3 connected to the same subnet as that of the server 1 have functions to perform client registration in the VoIP server 1 via the subnet and to directly receive multicast packets from each client or the VoIP server 1, due to the configurations described above and the program controls thereof.
The client C4 has functions to perform client registration in the VoIP server 1 via the multicast router MR1, make communication according to IGMP (Internet Group Management Protocol) with the multicast router MR1, and receive multicast packets from the clients C1 to C3 or the VoIP server 1 by participating in a specific multicast group. The IGMP used herein is a protocol to control participating in or leaving a multicast group defined according to RFC1112, RFC2236 (IGMPV2), or RFC3376 (IGMP V3), due to the above configuration and the program control.
For example, when the VoIP server 1 distributes MOH to a specific multicast address, e.g., 239.255.1.1, the multicast router MR1 does not normally route those packets that are addressed to 239.255.1.1, to the subnet to which the client C4 belongs. When the client C4 intends to receive the MOH, it is necessary to notify the multicast router MR1 of the client's participation in the multicast group. The IGMP is a protocol used at this time. The multicast router MR1 periodically sends IGMP query according to the IGMP, in order to check whether any client among subordinate clients who belongs to the router MR1 participates in a specific multicast group or not. In this case, the client C4 replies an IGMP report to the MR1 in response to the IGMP query. In this way, the multicast router MR1 knows existence of any participant in the multicast group, among the subordinate clients of the multicast router MR1, and therefore routes the packets addressed to 239.255.1.1 to the subnet to which the client C4 belongs. The client C4 thus becomes able to receive MOH distributed from the VoIP server 1.
Further, the client C5 has a function to perform client registration in the VoIP server 1 via the router R1, due to the above configuration and program control described above. However, the client C5 cannot receive multicast packets from the clients C1 to C3 or the VoIP server 1 because the router R1 is not compatible with multicasting.
The multicast router MR1 has a known function to route IP packets, and further a function to route multicast packets to a client by executing communication according to the IGMP described above if the client (C4 in the example of
Although the router R1 has a known IP routing function, the router R1 does not have a function to route multicast packets beyond the IP network 2 where the VoIP server 1 is provided, i.e., beyond the subnet, unlike the multicast router MR1. This means that a client (C5 in the example of
Next, the operations of the present embodiment will be described with reference to
The flowchart shown in
Suppose now that the clients C1 to C5 are registered in the VoIP server 1.
First, such a case will be described that MOH caused by a holding operation during voice communication is transmitted as multicast packets on the IP network 2.
As shown in
The VoIP server 1 receives the packets of the hold request message (in step F1 in
The clients that participate in the determination-test multicast group correspond to all the clients registered in the VoIP server 1. That is, in the case of the present embodiment, all of the clients C1 to C5 participate in the group. The VoIP server 1 carries out processing, supposing that all the registered clients have received the message as the packets addressed at the multicast address. Note that in case of the client C4 as a subordinate client which belongs to the multicast router MR1 (which can be an IGMP querier), the setting for participating in the multicast group is carried out by IGMP query and an IGMP report. The other clients may merely receive the packets addressed at the multicast address.
The client C2 can receive the packets addressed at the determination-test multicast group, with respect to the test message (see the multicast test request in
At this time, the VoIP server 1 waits for a response from the client C2 for a predetermined time and determines whether a response has arrived or not (step F3 in
Upon receipt of the multicast packets of MOH through the communication interface 21 (step F14 in
If the client C1 operates to stop holding while the MOH is being transmitted from the VoIP server 1, the client C1 transmits a hold-stop message to the VoIP server 1, and the VoIP server 1 thereby stops the transmission of the MOH to the client C2 (step S5 in
As shown in
In contrast to the above, when the clients C1 and C5 are in telephone-communicating status as shown in
Upon receipt of the hold request message (step F1 in
Since the client C5 exists on the subnet which belongs to the router R1, unlike the client C2, the client C5 cannot receive multicast packets via the router R1 (NO in step F12 in
Therefore, the VoIP server 1 cannot receive a response to the test message from the client C5 within a predetermined time. Due to time-out, the server 1 determines the client C5 to be incapable of receiving multicast packets (step S13 in
Upon receipt of the unicast packets of MOH through the communication interface 21 (step F19 in
Thereafter, if the client C1 operates to stop holding while the VoIP server 1 is transmitting the MOH, the client C1 transmits a hold-stop message to the VoIP server 1, and then the VoIP server 1 stops transmitting the MOH to the client C2 (step S15 in
The example shown in
Otherwise, as shown in
Upon receipt of the internal music-on-hold reproduction request (YES in step F15 in
Thereafter, when the client C1 stops holding (step S25 in
Upon receipt of the internal music-on-hold stop requent (YES in step F17 in
Next, such a case will be described that paging data broadcasted concurrently on the IP network 2 is transmitted as multicast packets.
At first, as shown in
Upon receipt of the paging request message (step F1 in
The VoIP server 1 waits for responses from the clients C2, C3, and C5 for a predetermined time and then determines whether the responses arrive (step F3 in
Thus, the VoIP server 1 receives response messages from the clients C2 and C3 within a predetermined time, and determines the clients C2 and C3 to be capable of receiving multicast (YES in step F3 in
From the above determination results, the VoIP server 1 requests the client C1 which has requested paging, not to transmit multicast packets but to transmit unicast packets to the client C5 (step S44 in
As a result of this, the clients C2 and C3 receive, as multicast packets, paging data transmitted from the client C1 while the client C5 receives the above paging data as unicast packets (steps F24 and F25 in
Thereafter, the client C1 requests the VoIP server 1 to stop paging (step S36 in
Thus, according to the present embodiment, the VoIP server 1 automatically determines whether clients each are capable of receiving multicast and prepares a different receiving method from the multicast, for clients incapable of receiving multicast, so that a VoIP system capable of supporting paging and MOH in the form of multicast can be formed.
Particularly in the case of MOH, even if it is unfavorable that every client has plural MOH sound sources due to problems concerning resources, the server may be provided with MOH sound sources and distribute the sources by multicast for every specific group. In this case, the multicast can save the band width more than unicast. This advantage is not limited to audio but appears more conspicuously about contents like videos, i.e., as a wider communication band is consumed. For example, there can be cases of supporting videos in MOH or automatic answering responses.
The second embodiment of the present invention differs from the foregoing first embodiment (
Operations in case of paging will now be described with reference to
As shown in
When the VoIP server 1 receives the paging request message from the client C1 (step F31 in
The VoIP server 1 waits for responses to the test message from the clients C2, C3, and C5 as paging targets for a predetermined time and determines whether responses are given or not (step F34 in
Thus, the VoIP server 1 registers the capability of receiving multicast with respect to the clients C2 and C3 (step F35 in
Further, the VoIP server 1 requests the client C1 which has requested the paging, to perform unicast transmission to the client C5 (step S44 in
Next, when the client C1 performs a paging operation again on the clients registered in the VoIP server 1, the client C1 transmits a paging request message to the VoIP server 1 (step F31 in
The VoIP server 1 makes a search, i.e., whether determination results concerning capabilities of receiving multicast have been registered with respect to the clients C2, C3, and C5 as paging targets (step F32 in
As a result, the clients C2 and C3 receive, as multicast packets, paging data transmitted from the client C1 (YES in steps F62 and F67 and step F65 in
The above description has been made of operations in case of paging. The same description applies to the case of MOH.
Thus, this second embodiment is further applicable even during an holding operation, and can avoid making determinations for every holding operation, by making use of registration information concerning capability or incapability of receiving multicast, in addition to the same advantages as those of the foregoing embodiment. Registrations of determination results can be used continuously until the same clients are registered again in the VoIP server 1. Alternatively, the determination results may be used continuously until the IP addresses of clients are changed.
In the present embodiment, previous determination results have been registered with respect to those clients that have once been determined to be capable or incapable of receiving multicast. Hence, a new advantage is achieved in that those clients can be supported with MOH and paging without making tests again.
The above embodiments have been described in case of transmitting paging data and MOH data as the multicast packets. However, the present invention is not limited hitherto but is applicable to communications among three or more parties (telephone-communication conferences [conference call]) and streaming.
Also, the above embodiments have been described about processings in both cases where clients have internal sound sources and where not. This is based on a prerequisite that clients have or do not have internal sound sources in the entire VoIP system. In contrast, in case where clients having internal sound sources and clients having none are mixed in the VoIP system, the VoIP server 1 may be informed of presence or absence of an MOH internal sound source as additional information whenever a client is registered in the VoIP server 1. Then, the VoIP server 1 can register the additional information in a registration table and can determine whether a target client has an internal sound source or not, based on the registration table, when the VoIP server 1 receives a hold request message from a client.
Note that the present invention is not limited to the embodiments typically exemplified above but persons skilled in the art would obviously be able to modify and change the present invention into various practical forms, based on the contents of the claims, without deviating from the subject matters of the invention. Such modifications and changes would be considered as being within the scope of the present invention.
As has been described, according to the present invention, it is possible to provide a VoIP system, a VoIP server, a client, and a multicast packet communication method, which are capable of supporting clients incapable of receiving multicast packets, to be able to receive transmitted data even when transmission data of paging or MOH is transmitted as multicast packets with use of the VoIP system.
Number | Date | Country | Kind |
---|---|---|---|
2003-166764 | Jun 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5600644 | Chang et al. | Feb 1997 | A |
5694547 | Subramanian et al. | Dec 1997 | A |
5758070 | Lawrence | May 1998 | A |
5784561 | Bruno et al. | Jul 1998 | A |
5790804 | Osborne | Aug 1998 | A |
5832229 | Tomoda et al. | Nov 1998 | A |
5835723 | Andrews et al. | Nov 1998 | A |
6138144 | DeSimone et al. | Oct 2000 | A |
6141341 | Jones et al. | Oct 2000 | A |
6181697 | Nurenberg et al. | Jan 2001 | B1 |
6189039 | Harvey et al. | Feb 2001 | B1 |
6259701 | Shur et al. | Jul 2001 | B1 |
6337858 | Petty et al. | Jan 2002 | B1 |
6404745 | O'Neil et al. | Jun 2002 | B1 |
6477169 | Angle et al. | Nov 2002 | B1 |
6501739 | Cohen | Dec 2002 | B1 |
6567851 | Kobayashi | May 2003 | B1 |
6614781 | Elliott et al. | Sep 2003 | B1 |
6735193 | Bauer et al. | May 2004 | B1 |
7079495 | Pearce et al. | Jul 2006 | B1 |
7173911 | Sarkar et al. | Feb 2007 | B1 |
7415005 | Macha et al. | Aug 2008 | B1 |
7443851 | Fukushima et al. | Oct 2008 | B2 |
20020035730 | Ollikainen et al. | Mar 2002 | A1 |
20020067724 | Helm et al. | Jun 2002 | A1 |
20020114302 | McDonald et al. | Aug 2002 | A1 |
20030002481 | Laursen et al. | Jan 2003 | A1 |
20030099198 | Kiremidjian et al. | May 2003 | A1 |
20030206546 | Beyda | Nov 2003 | A1 |
20040223464 | Dye et al. | Nov 2004 | A1 |
Number | Date | Country |
---|---|---|
0 902 569 | Mar 1999 | EP |
1 091 548 | Apr 2001 | EP |
1 244 282 | Sep 2002 | EP |
04-192955 | Jul 1992 | JP |
11-177628 | Jul 1999 | JP |
2000-059471 | Feb 2000 | JP |
2001-156941 | Jun 2001 | JP |
2001-230774 | Aug 2001 | JP |
2001-237888 | Aug 2001 | JP |
2002-118552 | Apr 2002 | JP |
2002-209025 | Jul 2002 | JP |
2002-290549 | Oct 2002 | JP |
2002-314683 | Oct 2002 | JP |
2003-110660 | Apr 2003 | JP |
2003-134117 | May 2003 | JP |
2003-134253 | May 2003 | JP |
2004-320290 | Nov 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20040252691 A1 | Dec 2004 | US |