Voice communication system and voice communication method

A voice communication system, which is connected to LAN to which communication terminals are connected and to a public network to which telephones are connected, is provided with a communication server between the LAN and public network having different protocols from each other. The communication server enables a voice communication between a telephone on the public network and a communication terminal connected to the LAN by performing processing similar to that for a voice communication between two communication terminals connected to the LAN. The communication server determines whether an address of the other party inputted by a user is a communication terminal address or a telephone number, and transmits a voice communication request to a communication terminal of the other party when the address is a communication terminal address. When the address is a telephone number, the user acquires the communication terminal address of the communication server, and transmits a voice communication request to the communication server. Thereafter, the voice communication processing is performed through the communication server.

BACKGROUND OF THE INVENTION

The present invention relates to a voice communication system and method in communication terminals connected through a communication network.

As a conventional voice communication system, there is known a system which uses a line switching procedure through a line switching network such as a telephone network. For example, the standard thereof is indicated in CCITT (International Telegraph and Telephone Consullative Committee) Recommendation, ISDN, Q. 937. In this system, a communication terminal (telephone) connected to the line switching network transmits a voice communication request to a switching center dedicated to line switching processing, and the switching center receiving the request performs voice communication control for communication with a communication terminal (telephone) of the other party. Voice information sent at a constant speed is continuously transmitted and received through the switching center even during the voice communication.

In a packet switching network such as LAN (Local Area Network), in turn, the communication control is directly performed between communication terminals for transmitting and receiving packets. For example, Etherphone using Ethernet is well known.

However, due to the difference in scheme between the packet switching network and the line switching network, conventional voice communication systems such as that using the telephone network and so on cannot be utilized for realizing a voice communication between communication terminals connected to the packet switching network.

To cope with this problem, a system for editing voice information into packets for transmission and reception between communication terminals has been proposed for adapting the voice communication scheme for communications between communication terminals connected to the packet switching network to the line switching network. However, even if the line switching network is connected with the packet switching network, a direct voice communication is not permitted between a communication terminal supporting voice communications between communication terminals connected to the packet switching network and a telephone connected to the line switching network and supporting the conventional voice communication functions, due to the difference between the voice communication protocol of the packet switching network and the conventional voice communication protocol.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a voice communication system and a voice communication method which enable a voice communication to be performed between a communication terminal connected to the packet switching network and a communication terminal connected to the line switching network.

It is another object of the present invention to provide a voice communication system and a voice communication method which enable a voice communication, even initiated by a communication terminal connected to the packet switching network to a telephone connected to the line switching network and supporting the conventional voice communication functions, to proceed in the same manner as a voice communication between communication terminals connected to the packet switching network.

It is a further object of the present invention to provide a voice communication system and a voice communication method which can transmit a message in the form of an electronic mail instead of the voice communication in case a voice communication to a communication terminal connected to the packet switching network is prevented for some reasons, without requiring a user to start another program or input a communication address.

It is a further object of the present invention to provide a voice communication system and a voice communication method which allows a telephone connected to the line switching network and supporting conventional voice communication functions to request a voice communication to a communication terminal connected to the packet switching network.

To achieve the above objects, according to one feature of the present invention, when a voice communication request is issued from a communication terminal connected to a packet switching network, if the address of the other party to which a user desires to have a voice communication, inputted by the user, is a communication terminal address (telephone number) of a telephone connected to a line switching network, communication control is performed between the communication terminal and a communication server to establish a connection between the communication terminal and the communication server. The communication server performs the communication control for a telephone connected to the line switching network to set a communication available state between the communication server and the telephone. This control enables a communication between the communication terminal and the telephone through the communication server. Thereafter, the communication server receives voice information transmitted from the telephone, edits the voice information into packets, and transmits the packets to the communication terminal. The communication server also receives packets transmitted from the communication terminal, and transmits voice information in the packets to the telephone. In this way, the communication is carried out.

When a voice communication request is issued from a communication terminal connected to the packet switching network, if the address of the other party to which a user desires to have a voice communication, inputted by the user, is the address of another communication terminal connected to the packet switching network, the communication control is performed for a communication terminal having the communication terminal address, conventionally, to carry out the communication.

When a communication request is issued from a telephone connected to the line switching network to a communication terminal connected to the packet switching network, each of communication terminals connected to the packet switching network has previously been assigned a unique extension number, such that when the telephone number of the communication server is inputted from a telephone, the communication control is performed between the telephone and the communication server to create a communication available state between the telephone and the communication server, and an inputted extension number is transmitted from the telephone to the communication server. The communication server finds a communication terminal address from the extension number transmitted from the telephone, determines a communication terminal to be connected, and transmits a voice communication request to the communication terminal to establish a connection with the telephone. This enable a communication between the telephone and the communication terminal through the communication server. Thereafter, the communication server receives voice information transmitted from the telephone, edits the voice information into packets, and transmits the packets to the communication terminal. The communication server also receives packets transmitted from the communication terminal, and transmits voice information in the packet to the telephone, thus carrying out the communication.

The communication server may comprise a table for finding a communication terminal address from an extension number. If a push-type telephone having ten-key and function buttons is used, the extension number may be inputted through the push buttons. For inputting an extension number, an oral guidance may be outputted from the communication server to the telephone, such that the user responsively inputs an extension number corresponding to a communication terminal with which the user desires to communicate.

When the line switching network is ISDN (Integrated Services Digital Network), a telephone may transmit a voice communication request including as a parameter an extension number for specifying a communication terminal to the communication server, such that the communication server finds the communication terminal address of a communication terminal to be connected from the extension number included in the voice communication request.

Instead of assigning an extension number, a unique telephone number may be assigned to each of communication terminals connected to the packet switching network. In this case, although these telephone numbers are actually assigned to the communication server, they are regarded as telephone numbers of communication terminals from the user. Then, when a telephone number of a communication terminal is inputted from a telephone, the communication control is performed between the telephone and the communication server, wherein the communication server finds a communication terminal address from the telephone number inputted from the telephone, determines a communication terminal to be connected, and transmits a voice communication request to the communication terminal. This control enables a communication between the telephone and the communication terminal through the communication server. Thereafter, the communication server receives voice information transmitted from the telephone, edits the voice information into packets, and transmits the packets to the communication terminal. The communication server also receives packets transmitted from the communication terminal, and transmits voice information in the packets to the telephone. In this way, the communication is carried out.

Additionally, the communication server may comprise a table for finding a communication terminal address from a telephone number. Since a telephone number of each communication terminal is actually the telephone number of the communication server on the line switching network, the communication server is called when one of these telephone numbers is inputted from a telephone on the line switching network.

According to one aspect of the present invention, a communication terminal connected to the packet switching network may be such one that encodes voice inputted through a voice input means, transmits the encoded voice information, and outputs received encoded voice information after decoding the same. In this case, the communication server decodes encoded voice information in the form of packet received from a communication terminal connected to the packet switching network, outputs the decoded voice information to the line switching network, encodes voice information received from the line switching network at a constant speed, edits the encoded voice information into packets, and transmits the packets to the communication terminal.

For issuing a communication request from a communication terminal connected to the packet switching network to another communication terminal, a voice communication request is first issued from the communication terminal. In this event, a voice communication negating response may be transmitted from the communication terminal of the other party. This could be because nobody responds although the communication terminal of the other party is called. In this case, it is convenient if a mail can be transmitted to the communication terminal of the other party without requiring the inputting of the address of the other party. The mail may be unconditionally transmitted, or a guidance may be provided to the user of the communication terminal so as to allow the user to determine whether or not a mail is transmitted. The contents of the mail may be a fixed voice mail created by the system or an arbitrary mail inputted by the user.

For issuing a communication request from a telephone connected to the line switching network to a communication terminal connected to the packet switching network, a voice communication request is first issued from the telephone to the communication server. In this event, a guidance of a voice communication negating response may be returned from the communication server. This could be because nobody responded although the communication server called the communication terminal of the other party. In this case, it is convenient that a mail can be transmitted to the communication terminal of the other party without requiring the user to input the address of the other party. The mail may be unconditionally transmitted, or a guidance may be provided to the user of the telephone so as to allow the user to determine whether a mail should be transmitted. The mail may include a fixed contents created by the system or arbitrary contents inputted by the user.

Further, a communication terminal on the packet switching network may be used as a switcher terminal for managing the relationships between communication terminals connected to the packet switching network and communication terminal users. In this case, when the telephone number of the communication server is inputted from a telephone connected to the line switching network and supporting conventional voice communication functions, the communication server first creates a communication available state between the switcher terminal and the telephone. The user speaks with a switcher at the switcher terminal to specify a person with whom the user desires to communicate. Since the switcher terminal manages the relationships between respective communication terminals and users of these communication terminals, a corresponding communication terminal can be found from information which specifies the person with whom the user of the telephone desires to communicate. The address of the communication terminal is transmitted from the switcher terminal to the communication server. The communication server performs the communication control between the telephone and a communication terminal having the communication terminal address transmitted from the switcher terminal to establish a connection with the communication terminal. This control enables a communication between the communication terminal and the telephone through the communication server. Thereafter, the communication server receives voice information transmitted from the telephone, edits the voice information into packets, transmits the packets to the communication terminal. The communication server also receives packets transmitted from the communication terminal, and transmits voice information in the packets to the telephone.

It should be noted that the transmission and reception of control commands such as a voice communication start command, voice communication end command, and so on and the transmission and reception of voice packets between communication terminals on the packet switching network and between a communication terminal and the communication server, may be carried out through separate communication functions having different characteristics such as reliability, communication delay, and so on.

According to the voice communication system and voice communication method of the present invention, the other party to which the user requests a voice communication is determined to be a communication terminal connected to the packet switching network or a telephone connected to the line switching network in accordance with the address of the other party inputted by the user of a communication terminal connected to the packet switching network. If the user issues the request to a telephone connected to the line switching network, the communication server absorbs the difference between a voice communication protocol of the packet switching network and a conventional voice communication protocol of the line switching network. Stated another way, the communication server realizes the compatibility between different kinds of protocols. For this reason, even a voice communication initiated by a communication terminal connected to the packet switching network to a telephone connected to the line switching network and supporting the conventional voice communication function can be carried out in the same manner as a voice communication between communication terminals connected to the packet switching network.

Also, since an extension number or a telephone number of a communication terminal connected to the packet switching network is inputted from a telephone connected to the line switching network such that the communication server finds a communication terminal address corresponding to the extension number or the telephone number and connects the telephone to the communication terminal, a voice communication may be requested to a communication terminal connected to the packet switching network from a telephone connected to the line switching network and supporting the conventional voice communication functions.

In case a voice communication to a communication terminal was prevented for some reason, a mail may be used instead of the voice communication to send a message without requiring the user to start another program or input a communication address.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1shows the whole configuration of a voice communication system according to an embodiment of the present invention, including communication terminals10-1,10-2for performing communications; LAN (Local Area Network)1to which the communication terminals10-1,10-2are connected; a telephone2; a public network3; and a communication server20which is connected simultaneously to the public network3and the LAN1.

It will be of course understood that while one telephone2and two communication terminals10-1,10-2(hereinafter, an arbitrary communication terminal will be denoted by reference numeral10) only are shown inFIG. 1, more telephones and communication terminals may be connected.

FIG. 2shows in a block diagram form the configuration of the communication terminal10inFIG. 1. The communication terminal10comprises a voice input unit11; a voice encoder12; a memory13; a LAN communication controller14; a voice decoder15; a voice output unit16; a processor17; and a storage unit18. The LAN communication controller14is connected to the LAN1. The voice encoder12, voice decoder15, LAN communication controller14, memory13, storage unit18, and processor17are mutually connected through an internal bus19.

The voice input unit11is provided for inputting voice information. Inputted voice information is encoded by the voice encoder12. Coded voice information outputted from the voice encoder12is read into the memory13, subjected to voice communication control processing, and then inputted to the LAN communication controller14. Then, the LAN communication controller14transmits the encoded voice information to a communication terminal on the reception side through the LAN1.

On the other hand, encoded voice information transmitted from the communication terminal on the transmission side through the LAN1is read into the memory13from the LAN communication controller14, subjected to voice communication control processing, and inputted to the voice decoder15which decodes the encoded voice information inputted thereto. The decoded voice information is inputted to the voice output unit16. In this way, the received voice is outputted.

The voice communication control processing in the communication terminal10is carried out by the processor17executing a predetermined program based on voice communication control processing information stored in the storage unit18. The voice communication control processing in the communication terminal10will be late described in detail.

FIG. 3shows in a block diagram form the allocation of programs in the memory13. The memory13stores a voice communication program31for voice communication control processing and a voice mail program32.

The voice communication program31is a program for receiving a voice communication request from a user or a voice communication request from another communication terminal through the LAN communication controller14connected to the internal bus19, transmitting and receiving voice packets to and from a communication terminal of the other party, and providing voice communication functions similar to those of the telephone. The voice mail program32is a program for providing mail management functions such as transmission and reception of voice mails.

FIG. 4is a flow chart showing the voice communication control processing performed by the voice communication program31on the communication terminal10for starting a voice communication when the communication terminal10has received a voice communication request form another communication terminal.

First, the program31determines at step101whether or not the communication terminal10is receiving a voice communication request from another communication terminal. If the communication terminal10is not receiving the voice communication request, the program31waits for the voice communication request to be received by the communication terminal. If, at step101, the communication terminal10has received the voice communication request from another communication terminal, the user is informed at step102that the voice communication request has reached by displaying the information on the screen, generating an audio output, and so on. Then, the program31determines at step103whether or not the user has selected the communication.

If the user has selected to reject the communication or does not respond to the request for a predetermined time at step103, a voice communication negating response is returned to the communication terminal which has sent the voice communication request at step104, followed by the program31returning to step101to wait for the reception of the voice communication request from another communication terminal. If the user has selected to accept the communication at step103, the communication terminal10returns a voice communication accepting response at step105, thus establishing a connection between the communication terminal10and the external communication terminal which has sent the voice communication request. Subsequently, the communication processing after step106is started.

Specifically, encoded voice information is fetched from the voice encoder12(FIG. 2) at step106, voice packets are created from the fetched encoded voice information at step107, and the voice packets are transmitted to the communication terminal of the other party which has issued the voice communication request at step108. Then, the voice communication program31on the communication terminal10determines at step109whether or not the voice packets from the communication terminal of the other party have been received.

If the voice packets have been received at step109, encoded voice information in the voice packets are inputted to the voice decoder15(FIG. 2) at step110. If the voice packets have not been received at step109, or after the encoded voice information has been inputted to the voice decoder15at step110, the program31determines at step111whether or not a voice communication end notice from the communication terminal of the other party has been received. If the voice communication end notice has been received, the communication is terminated, and the program again waits for the reception of another voice communication request from a communication terminal at step101.

If the voice communication end request has not been received at step111, the program31checks at step112whether or not the user has selected to terminate the voice communication. If the user has not selected the termination of the voice communication, the communication processing is continued from step106. Conversely, if the user has selected the termination of the voice communication at step112, a voice communication end notice is transmitted to the communication terminal of the other party to terminate the communication at step113. Then the program31again returns to step101to wait for the reception of another voice communication request from a communication terminal.

While the foregoing processing procedure shows the voice communication control processing performed when the communication terminal has received a voice communication request from another communication terminal for starting the voice communication, it should be noted that “another communication terminal” herein referred to includes the communication server20in addition to the other communication terminals10connected to the LAN1inFIG. 1. Stated another way, the foregoing processing procedure does not distinguish the communication server20and other communication terminals10and treats them as the same communication terminals. A voice communication request from the communication server20means a request from a telephone2connected to the public network3, as will be later described.

FIG. 5shows a flow chart of the voice communication control processing performed when the voice communication program31on the communication terminal10starts a voice communication by a request of the user.

Steps111–113inFIG. 5are the same as steps111–113inFIG. 4, and step128inFIG. 5is a collection of steps106–110inFIG. 4.

First, the voice communication program31determines at step121whether or not the user has selected the communication processing. If the user has selected an item other than the communication processing, the program31performs other processing in response to the selection at step122. If the user has selected the communication processing at step121, a voice communication request is generated at step123using the address of the other party inputted by the user. A detailed format of the voice communication request will be later described with reference toFIG. 13. Next, the program31determines at step124whether or not the address of the other party with whom the user desires to speak is a telephone number consisting only of a sequence of numeric characters.

At step124, if the address of the other party inputted by the user is a telephone number consisting only of a sequence of numeric characters, this means that the user has requested a voice communication with a telephone2connected to the external public network3through the communication server20. In this case, the program31acquires at step125the communication terminal address assigned to the communication server20which has previously been stored in the storage unit18(FIG. 2), and treats the communication server20as the other party for the communication in the subsequent processing.

Conversely, if the address of the other party inputted by the user is not a telephone number consisting only of a sequence of numeric characters, the address of the other party can be regarded as the address of a communication terminal on the LAN1. Therefore, this means that the user has issued a voice communication request to another communication terminal10connected to the LAN1. In this case, the program31proceeds the processing, while treating the other communication terminal as the other party for the communication.

After determining at steps124and125the other party to be communicated, for which the voice communication processing is performed, a voice communication request is generated and transmitted to the communication terminal of the other party at step126. The destination of the voice communication request is the communication server20when the other party is a telephone, and the communication terminal itself when the other party is the communication terminal. After step126, the program31determines at step127whether or not a voice communication accepting response has been received from the communicating party. If the voice communication accepting response has been received, this means that the connection has been established, so that the communication processing after step128is executed. Since the communication processing after step128is the same as the foregoing procedure described in connection withFIG. 4, explanation thereon will be omitted.

If no voice communication accepting response has reached at step127, a failure of communication connection is displayed at step129. Then, the program31determines at step130whether or not the user requests to send a voice mail to the other party with whom the communication connection has been failed. If the user requests to send the voice mail, an inputted message is transmitted using the voice mail program32at step131, and the program31again returns to step121to receive a selection of the user. If no voice mail sending is requested at step130, the program31immediately returns to step121.

It should be noted that a telephone number inputted by the user at step121may include ‘(‘, ’)’, or ‘-’. In this case, upon determining at step124whether or not the address is a telephone number, a sequence of numeric characters including ‘(‘, ’)’, or ‘-’ is also determined to be a telephone number. Further in this case, steps130–131may be omitted. At steps130–131, a text mail or multimedia mail may be used instead of the voice mail.

FIG. 6shows in a block diagram form the configuration of the communication server20inFIG. 1. The communication server20comprises a voice encoder12; a memory13′; a LAN communication controller14; a voice decoder15; a processor17; a storage unit18; and a public network communication controller21. The LAN communication controller14is connected to the LAN1, while the public network communication controller21is connected to the public network3. The voice encoder12, voice decoder15, public network communication controller21, LAN communication controller14, memory13′, storage unit18, and processor17are mutually connected through an internal bus19.

Voice information transmitted through the public network from a telephone is inputted to the voice encoder12through the public network communication controller21. The voice encoder12encodes the inputted voice information and outputs the encoded voice information. The encoded voice information outputted from the voice encoder12is read into the memory13′, subjected to voice communication control processing, and then inputted to the LAN communication controller14which transmits the inputted encoded voice information to a communication terminal through the LAN1.

On the other hand, encoded voice information transmitted through the LAN1from a communication terminal is read into the memory13′ from the LAN communication controller14, subjected to the voice communication control processing, and then inputted to the voice decoder15. The voice decoder15decodes the encoded voice information inputted thereto. The decoded voice information is inputted to the public network communication controller21which in turn transmits the voice represented by the voice information through the public network3to a telephone.

The voice communication control processing in the communication server20is carried out by the processor17which executes a predetermined program based on voice communication control processing information stored in the storage unit18. This voice communication control processing in the communication server20will be described later in detail.

FIG. 7shows the allocation of programs in the memory13′ of the communication server20. The memory13′ of the server20stores a voice communication server program22for the voice communication control processing and a voice mail server program23.

The voice communication server program22is a program for accepting a call setting request from a telephone received from the public network communication controller21or a voice communication request from a communication terminal through the LAN communication controller14connected to the internal bus19, editing voice packets transmitted from the telephone into voice packets, transmitting the voice packets to the communication terminal, converting voice packets received from the communication terminal to voice information, and transmitting the voice information to the telephone, thus providing voice communication functions between the communication terminal connected to the LAN1and the telephone connected to the public network3, similar to the conventional functions between telephones.

The voice mail server program23is a program for providing a voice mail functions of voice mail.

FIG. 8is a flow chart schematically showing the voice communication control processing performed when the voice communication server program22on the communication server20has received a call setting request from a telephone2connected to the public network3(FIG. 1) for starting a voice communication between the telephone2and a communication terminal10connected to the LAN1.

First, the program22determines at step201whether or not a call setting request from the public network3has been received. If the call setting request has not been received, the program22continuously waits for the call setting request from the public network2at step201. If a call setting request has been received at step201, a call setting response is returned to the public network3at step202to set a call (whereby a communication available state is set between the communication server20and the telephone), and the program executes at step203processing for determining a communication terminal to be connected.

The processing for determining a communication terminal to be connected at step203determines which of communication terminals10connected to the LAN1the user utilizing the telephone2, who has, issued the call setting request, desires to communicate with. Details of the processing will be later explained in detail with reference toFIG. 17and so on.

Subsequent to step203, the program22determines at step204whether or not a communication terminal with which the user desires to communicate has been determined. If it has not been determined, the call is released at step208, and the program22again waits for a call setting request to be received from the public network3.

If, at step204, a communication terminal with which the user desires to communicate has been determined, a voice communication request is transmitted to the communication terminal at step205, and then the program22determines at step206whether or not a voice communication accepting response has been received from the communication terminal of the other party. If the accepting response has been received, which means that a connection between the communication server20and the communication terminal has been established, the processing during the communication is performed at step207. After the communication is terminated, the call is released at step208, followed by the program22returning to step201to again wait for the communication server20to receive a call setting request from the public network3. The processing during the communication at step207will be later described in detail with reference toFIG. 10.

At step206, if the voice communication negating response has been received from the communication terminal of the other party, a voice message guiding that the other party did not accept the call is sent at step209to the telephone which has issued the call setting request. Then, a guidance for inputting a voice mail is outputted to the telephone user at step220, an inputted message is registered at step221in the voice mail server program23inFIG. 7as a voice mail, and the call is released at step208. Then, the program22again returns to step201to wait for the communication server20to receive a call setting request from the public network3.

It should be noted that steps220–221may be omitted, and the voice mail server program23may be located on a different communication terminal.

FIG. 9is a flow chart schematically showing the voice communication control processing performed when the voice communication server program22on the communication server20has received a voice communication request from a communication terminal connected to the LAN1for starting a voice communication between the communication terminal10and a telephone2connected to the public network3. Since steps207and208are the same as those inFIG. 8, explanation thereon will be omitted.

First, the program22determines at step231whether or not a voice communication request has been received from a communication terminal10connected to the LAN1. If the voice communication request has not been received from a communication terminal10, the program22remains at step231and waits for the voice communication request to be received from a communication terminal10connected to the LAN1. If the voice communication request has been received at step231, a call setting request is transmitted to the public network3for connection with a telephone2having the telephone number specified in the voice communication request.

After a call setting response has been received from the public network3at step233, the program22determines at step234whether or not the response is an accepting response. If it is the accepting response, a voice communication accepting response is returned to the communication terminal10at step235, and the communication processing after step207is performed. At step234, if the response is a negating response, a voice communication negating response is transmitted to the communication terminal10at step236, and then the program22returns to step231to again wait for a voice communication request to be received from a communication terminal10connected to the LAN1.

FIG. 10is a flow chart of the processing performed in the communication server20during a communication which has been shown in step207inFIGS. 8 and 9.

Steps106–108inFIG. 10are the same as steps106–108shown inFIG. 4executed in the communication terminal. Specifically, these steps perform the processing for encoding voice data inputted from a telephone2to the public network communication controller21(FIG. 6) through the public network3by the voice encoder12, creating voice packets, and transmitting the voice packets to a communication terminal10through the LAN1.

Steps109,110inFIG. 10perform the same processing as steps109,110shown inFIG. 4executed in the communication terminal. Specifically, these steps perform the processing for decoding voice packets inputted from a communication terminal10to the LAN communication controller14(FIG. 6) through the LAN1by the voice decoder15and transmitting the decoded voice information to the telephone2through the public network3.

Specifically, the voice communication program22on the communication server20determines at step111whether or not a voice communication end notice has been received from the communication terminal10. If the voice communication end notice has been received, the processing during the communication is terminated. Conversely, if the voice communication end notice has not been received at step111, the program22determines at step210whether or not a call releasing request has been received from the public network3. If the call releasing request has not been received from the public network3, the communication processing after step106is continued. Conversely, at step210, if the call releasing request has been received from the public network3, a voice communication end notice is transmitted to the communication terminal10at step113, followed by terminating the communication.

FIG. 11shows an exemplary sequence of the processing performed when a telephone2connected to the public network3and a communication terminal10connected to the LAN1communicate with each other through the communication server20by a request from the communication terminal10connected to the LAN1inFIG. 1.

An arrow401represents a flow of operations performed by the communication terminal10connected to the LAN1; an arrow402a flow of operations performed by the communication server20simultaneously connected to the LAN1and the public network3; and an arrow403a flow of operations performed by the telephone2connected to the public network3. When the user of the communication terminal selects a communication with a telephone (450), the communication terminal transmits a voice communication request to the communication server (451). The communication server, upon receiving the voice communication request, responsively transmits a call setting request to the telephone (452), and the telephone, in response to the reception of the call setting request, generates the ringing signal (453).

When the telephone user takes up the receiver (off-hook,454), a call setting response is returned from the telephone to the communication server (455). The communication server, in response to the reception of this call setting response, transmits a voice communication response to the communication terminal (456), thereby entering a communication available state (457).

When the user hangs on the receiver (on-hook,458), a call releasing request is transmitted from the telephone to the communication server (459). The communication server, in response to the reception of the call releasing request, returns a call releasing response to the telephone (461) and transmits a voice communication end notice to the communication terminal (460). The communication terminal, in response to the reception of the voice communication end notice, terminates the communication (462).

FIG. 12shows an exemplary sequence of the processing performed when a telephone2connected to the public network3and a communication terminal10connected to the LAN1inFIG. 1communicate with each other through the communication server20by a request from the telephone2connected to the public network3. Arrows401–403shows flows of operations performed by the respective parts similarly toFIG. 11.

When the telephone user dials the telephone number of the communication server (404), a call setting request is transmitted from the the telephone to the communication server (405). The communication server, in response to the reception of this call setting request, returns a call setting response to the telephone (406), and determines a communication terminal with which the telephone user desires to communicate through the communication server (407).

The communication server transmits a voice communication request to the communication terminal determined by the connected communication terminal determining step (407). The communication terminal receiving this voice communication request calls the user (409). If the user utilizing the communication terminal selects communication in response to the call (410), the communication terminal transmits a voice communication accepting response to the communication server (411), thereby entering an in-communication state (412).

If the user of the communication terminal selects termination of the communication (413), a voice communication end notice is transmitted from the communication terminal to the communication server (414). The communication server, in response to the reception of this voice communication end notice, transmits a call releasing request to the telephone (415). The telephone, in response to the reception of the call releasing request, transmits a call releasing response to the communication server (416). The reception of the call releasing response by the communication server results in terminating the communication processing between the telephone and the communication terminal.

FIG. 13shows the structure of a voice communication request command which is transmitted when a voice communication request is issued. A field501is assigned to a communication header used by the LAN communication controller;502to an identifier indicative of the voice communication request;503to the communication terminal address of a communication terminal itself which transmits the voice communication request; and512to the communication address of the other party to which the voice communication is requested. When the other party to be communicated is a communication terminal, the communication terminal address of the communication terminal is set as the address512of the other party. The destination address of such a voice communication request command is the communication terminal address. When the other party to be communicated is a telephone, its telephone number is set as the address512of the other party. The destination address of such a voice communication request command is the communication terminal address of the communication server. The communication terminal address503of the communication terminal transmitting the voice communication request may be omitted.

FIG. 14shows the structure of a voice communication response command which is an answer to the voice communication request. A field501is assigned to a communication header like that of the voice communication request command ofFIG. 13. A field504is assigned to an identifier indicative of the voice communication response; and505to a result indicating whether or not a communication is performed in response to a voice communication request.

FIG. 15shows the structure of a voice communication command for transmitting and receiving voice information. A field501is assigned to a communication header like that of the voice communication request ofFIG. 13. A field506is assigned to a voice communication header used for the communication processing, and507to encoded voice information.

FIG. 16shows the structure of a voice communication end notice command. A field501is assigned to a communication header like that of the voice communication request ofFIG. 13. A field508is assigned to an identifier indicative of the voice communication end notice command.

FIG. 17shows a flow chart of the processing shown in step203ofFIG. 8and denoted by reference numeral407inFIG. 12for determining a communication terminal with which a telephone user desires to communicate. Given herein as an example is the processing of determining a communication terminal to be communicated by using push buttons of the telephone.

First, at step301, an operation guidance saying “Input an extension number through push buttons and depress ‘#’ after the extension number” is outputted to the telephone. Next, at step302, the input operation of the user through the push buttons is awaited, and a tone corresponding to a depressed push button is converted to a numeral and stored. Then, it is determined at step304whether or not the input of an extension number is completed by checking whether the tone corresponding to the depressed push button represents ‘#’. If it is determined that the input of an extension number is not terminated, the flow returns to step302to wait for the user to input a numeral through a push button.

At step304, if the input of an extension number has been terminated, the communication terminal address of a communication terminal having the inputted extension number is found from an extension number management table to determine the address of a communication terminal with which the telephone user desires to communicate. The extension number management table will be later described in detail with reference toFIG. 18.

When the communication terminal address can be found at step305, this communication terminal determining processing is terminated. Conversely, if the communication terminal address cannot be found at step305, a guidance saying “There is no communication terminal having the inputted extension number” is outputted to the telephone, and the processing is terminated with a conclusion that a communication terminal with which the user desires to communicate was not able to be determined.

The messages outputted at steps301,306may have different contents. Also, the symbol ‘#’ for indicating that the input of an extension number is completed may be replaced with a different symbol. Further, respective communication terminals connected to the LAN may be assigned unique telephone numbers such that a communication is requested with the telephone number thus assigned from a telephone connected to the telephone network. In this case, the communication server holds telephone numbers of all the communication terminals connected to the LAN. In actual processing for realizing this alternative, steps301–304inFIG. 17are omitted, and a pertinent communication terminal address may be found based on a telephone number inputted from the telephone at step305.

FIG. 18shows the structure of the extension number management table which has been referred to at step305inFIG. 17. A column311is provided for the extension number, and column312for a communication terminal address corresponding to the extension number. If the communication server holds telephone numbers for a number of communication terminals connected to the LAN, the column311for the extension number may be used for storing telephone numbers assigned to respective communication terminals.

FIG. 19is a flow chart showing another example of the processing shown in step203ofFIG. 8and denoted by reference numeral407inFIG. 12for determining a communication terminal with which a telephone user desires to communicate. This example shows how to determine a desired communication terminal by utilizing a communication terminal connected to the LAN as a switcher terminal.

First, at step321, a voice communication request is transmitted to the switcher terminal, and it is determined at step322whether or not an accepting response has been received from the switcher terminal. If the accepting response has been received, the communication processing is performed between the switcher terminal and a telephone at step323. After the termination of the communication processing, by a connected terminal determination notice received from the switcher terminal, the result of whether the address of a communication terminal has been determined or not is acquired at step324. When a negating response is received from the switcher terminal at step322, a message saying that a connection was impossible is outputted to the telephone at step325, thus concluding that no communication terminal was determined.

FIG. 20shows a flow chart of the processing performed by the switcher terminal for determining a communication terminal with which a communication is desired, using the switcher terminal such as the processing ofFIG. 19.

Steps101,102perform similar processing to the corresponding steps inFIG. 4. Specifically, reception of a voice communication request is awaited at step101, and when the voice communication request is received from the communication server, a call is outputted at step102. In response to this call output, a switcher receives the call at the switcher terminal at step331. Then, a voice communication response is returned at step105. This step105is the same as step105inFIG. 4.

After returning the voice communication response, the switcher has a conversation with a telephone user at step332to find out the extension number or name of the other party with whom the user desires to communicate, searches the communication terminal address management table for the communication terminal address based on the information at step333. If the switcher can find the communication terminal address at step333, a voice communication end notice is transmitted at step113to terminate the conversation with the telephone user. Then, a connected terminal determination notice including the detected communication terminal address is transmitted to the communication server at step334, thus terminating the processing.

If the communication terminal address cannot be found at step333, the switcher orally explains the telephone user at step335that no communication terminal conforming to the user's information has been found. Thereafter, a voice communication end notice is transmitted at step113to terminate the conversation with the telephone user, and a connected terminal determination notice is transmitted to the communication server at step336for informing that no communication terminal was determined. Thus, the processing is terminated.

FIG. 21shows the structure of a connected terminal determination notice command. A field501is assigned to a communication header like that of the voice communication request ofFIG. 13;509to an identifier indicating that this command is the connected terminal determination notice command;510to a result indicating whether or not a communication terminal address has been determined; and511to the communication terminal address of a communication terminal to be connected. The communication terminal address511is valid only when the result510indicates that the communication terminal address has been determined. If the result510indicates that the communication terminal address has not been determined, the communication terminal address511is omitted.

FIG. 22shows the structure of the communication terminal address management table used when a communication terminal with which the user desires to communicate is determined by utilizing the switcher terminal, as explained in connection withFIGS. 19–21. Columns311and312for extension number and communication terminal address are the same as those inFIG. 18. A column337is additionally provided for storing names of users. This table enables the switcher to search for the communication terminal address from the name, when the telephone user inputs the name to specify a person with whom he desires to communicate.

FIG. 23is a flow chart showing a further example of the processing shown in step203ofFIG. 8and denoted by reference numeral407inFIG. 12for determining a communication terminal with which the telephone user desires to communicate.

Assume, in this example, that the communication network is ISDN (Integrated Services Digital Network). In accordance with the ISDN, a variety of parameters can be set to messages running through the line. Thus, in this example, an extension number specified by the user is added to user information or communication address in a call setting request sent from a telephone, so that the call setting request is transmitted together with the extension number. In the connected communication terminal determination processing ofFIG. 23, the extension number in the call setting request is acquired for determining a communication terminal.

First, at step340, data on extension number is fetched from parameters in the call setting request. Next, at step341, the communication terminal address of the pertinent extension number is found from the extension number management table, the structure of which is shown inFIG. 18. When the communication address can be found, it is determined as the address of a communication terminal to be connected, followed by the termination of the processing. Conversely, if no communication terminal address corresponding to the fetched extension number can be found at step341, the processing is terminated with a conclusion that the communication terminal address has not been determined.

As a modified example of the present invention, the LAN communication controller14shown inFIG. 2may be adapted to simultaneously support a plurality of communication protocols, for example, TCP/IP protocol and UDP/IP protocol, such that the voice communication packet is transmitted utilizing the UDP/IP protocol in the processing flows shown inFIGS. 4 and 10, and control information such as the voice communication request command and voice communication end notice command shown inFIG. 5and the connected terminal determination result notice command shown inFIG. 19are transmitted utilizing the TCP/IP protocol. The appropriate use of different protocols in this way will prevent a delay in the arrival of the voice communication packets and reliably control the start, termination, and so on of the voice communication.

According to the present invention, when the user utilizing a communication terminal on the LAN inputs a communication terminal address, communication terminals on the LAN can directly communicate with each other without intervention of the communication server. In addition, when the user utilizing a communication terminal on the LAN inputs a telephone number, a communication between the communication terminal on the LAN and a telephone connected to a public network is enabled through the communication server which is simultaneously connected to the LAN and public network.

Also, according to the foregoing embodiment, if the user utilizing a communication terminal on the LAN cannot realize a voice communication with a communication terminal on the LAN after attempts of doing so, a variety of mails can be sent to the communication terminal of the other party without requiring the user to start another program or input a communication address.

Further, according to the foregoing embodiment, since the communication server which is simultaneously connected to the LAN and public network provides a function of specifying a communication terminal from a telephone, the telephone which cannot directly specify a communication terminal on the LAN can also initiate a call to a communication terminal on the LAN.