Method and system for call answer while connected to voice mail

A method and system for call answer while connected to voice mail includes generating real-time packets for transmission of a message toward a voice mail system. Generation of the real-time packets is interrupted upon a call answer by a party generating the message. Generation of the real-time packets for transmission of the message toward the voice mail system is resumed after a delay associated with the call answer. An indication is provided to the voice mail system that the real-time packets generated subsequent to the delay follow the real-time packets generated prior to the delay in the message by a time amount less than the delay.

TECHNICAL FIELD OF THE INVENTION

This invention relates generally to the field of communications systems, and more particularly to a method and system for call answer while connected to voice mail.

BACKGROUND OF THE INVENTION

Telecommunication networks include circuit-switched networks such as plain old telephone service (POTS) and packet-switched networks such as the Internet protocol (IP) network to transport voice and data between remote end users. The circuit-switched networks utilize transmission paths dedicated to specific users for the duration of a call and employ continuous, fixed bandwidth transmission. The packet-switched networks allow dynamic bandwidth, and can be connectionless networks with no dedicated path or connection-oriented networks with virtual circuits having dedicated bandwidth along a predetermined path. Because packet-switched networks allow traffic from multiple users to share communication links, these networks use available bandwidth more efficiently than circuit-switched networks.

IP networks are connectionless packet-switched networks that break up streams of information into addressable packets. Each IP packet includes source and destination addresses and can take any available route between the source and destination. The IP packets are transmitted independently and then reassembled in the proper sequence at the destination.

In IP and other networks, voice mail systems are used to record an audio message from a calling party for an absent, busy or otherwise unavailable called party. Although most telephony systems allow for multiple lines, line appearances or call waiting, such systems do not allow a party leaving a message with voice mail to take an incoming call without terminating the voice mail connection or putting the connection on hold, in which case an awkward pause is left in the voice mail recording.

SUMMARY OF THE INVENTION

The present invention provides a method and a system for call answer while connected to voice mail that substantially reduce or eliminate problems and disadvantages associated with previous systems and methods. In particular, the present invention allows a party leaving a message with voice mail to answer an incoming call and thereafter return to voice mail without causing an anomaly in the message.

In accordance with one embodiment of the present invention, a method and system for call answer while connected to voice mail includes generating real-time packets for transmission of a message toward a voice mail system. Generation of the real-time packets is interrupted upon a call answer by a party generating the message. Generation of the real-time packets for transmission of the message toward the voice mail system is resumed after a delay associated with the call answer. An indication is provided to voice mail system that the real-time packets generated subsequent to the delay follow the real-time packets generated prior to the delay in the message by a time amount less than the delay.

More specifically, in accordance with a particular embodiment of the present invention, an indication is provided to the voice mail system that the real-time packets generated subsequent to the delay substantially immediately or immediately follow the real-time packets generated prior to the delay in the message. The indication may be an in-band notification using time stamps, sequence numbers and other timing indicators or an out-of-band control signal.

Technical advantages of the present invention include providing a method and system for call answer while connected to voice mail. In a particular embodiment, the party leaving a message with voice mail may take an incoming call and thereafter return to the message without causing an anomaly in the message. As a result, pauses by the party leaving the message in voice mail are transparent to the message recorded by the voice mail system.

Another technical advantage of one or more embodiments of the present invention includes providing a method and system for pausing a stream of information transmitted in a real-time format that is transparent to a non real-time application receiving the information. In a particular embodiment, the sequence number and/or time stamp of packets forming the stream of information are suspended, or frozen at their current state during pauses with subsequent packets after the pause resuming at the previous sequence number and/or time stamp. As a result, a message or other stream of information is stored in voice mail or other non real-time application without unnecessary filler information and played back without pauses. In addition, signaling events are not required between the transmitting and receiving equipment, thereby reducing control information on the network. In another embodiment, signaling events may be used between the transmitting and recording equipment. In this embodiment, the sequence number and/or time stamps of the real-time format need not be controlled by the transmitting device.

Other technical advantages of the present invention will be readily apparent to one skilled in the art from the following figures, description, and claims.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1illustrates a communications system12in accordance with one embodiment of the present invention. In this embodiment, the communications system12is a distributed system transmitting audio, video, voice, data and other suitable types of real-time and non-real time traffic between source and destination endpoints.

Referring toFIG. 1, the communications system12includes a network14connecting a plurality of communication devices16to each other and to standard analog telephones18through a gateway20and the public switched telephone network (PSTN)22. The communication devices16, standard analog telephones18and gateway20are connected to the network14and/or PSTN22through twisted pair, cable, fiber optic, radio frequency, infrared, microwave and/or any other suitable wireline or wireless link28.

In one embodiment, the network14is the Internet, a wide area network (WAN), a local area network (LAN) or other suitable packet-switched network. In the Internet embodiment, the network14transmits Internet Protocol (IP) packets. Telephony voice information is transmitted in the voice over IP (VOIP) format. Real-time IP packets such as VOIP packets are encapsulated in real-time transport protocol (RTP) packets for transmission over the network14. It will be understood that the network14may comprise any other suitable type of network and that traffic may be otherwise suitably transmitted using other protocols and formats.

The communication devices16are real-time applications that play traffic as it is received, or substantially as it is received into which packet delivery cannot be interrupted without severely degrading performance. The communication devices16comprise IP or other digital telephones, personal and other suitable computers or computing devices, personal digital assistants (PDAs), cell or other mobile telephones or any other device capable of communicating real-time audio, video and/or other information over the network14. The communication devices16also communicate control information with the network14to control call setup, teardown and processing as well as call services.

In the Internet embodiment, the communication devices16communicate voice traffic in the VOIP format. The standard analog telephones18communicate standard telephony signals through PSTN22to the gateway20. At the gateway20, the signals are converted to IP packets in the VOIP format. As previously described, the IP packets from the communication devices16and the gateway20are encapsulated in the RTP protocol for transmission over the network14.

The network14includes a call manager30and a voice mail system32or other suitable non real-time application such as an interactive voice response (IVR) system. The call manager30and the voice mail system32may be located in a central facility or have their functionality distributed across and/or at the periphery of the network14. The call manager30and the voice mail system32are connected to the network14by any suitable type of wireline of wireless link34.

In another embodiment, the network14may operate without the call manager30, in which case the communication devices16may communicate control information directly with each other or other suitable network elements. In this embodiment, services are provided by the communication devices16and/or other suitable network elements.

The call manager30manages calls in the network14. A call is any communication session between two or more parties. The parties may be persons and/or equipment such as computers. The sessions may include real-time connections, connections having real-time characteristics and/or non real-time connections.

The call manager30is responsive to service requests from the communication devices16and the standard telephones18. For example, the call manager30may provide voice mail, bridging, multicasting, call hold and other suitable services for the communication devices16and standard telephones18. In one embodiment, the call manager30is operable to identify real-time and/or non real-time applications to and/or for communication devices16and other network elements to support call answer while connected to voice mail or other non real-time application services. The call manager30provides services by performing the services, controlling performance of the services, delegating the services and/or by otherwise initiating the services.

The voice mail system32is a non real-time application. Thus, while the voice mail system32receives real-time voice traffic, the traffic is being recorded for a later use. The voice mail system32records voice messages for a busy, absent or otherwise unavailable called party.

Typically, unanswered calls to a called party are automatically switched from the communication device16of the called party to the voice mail system32by the call manager30after a predefined number of rings. As described in more detail below, the call manager30in connection with the voice mail system32and a called party communication device16allows a party leaving a message with voice mail to answer an incoming call and thereafter return to voice mail without causing an anomaly in the message.

FIG. 2illustrates an RTP packet for transmission of real-time traffic over the communications system12in accordance with one embodiment of the present invention. Real-time traffic comprises traffic generated or transmitted in real-time or including real-time information such as voice traffic.

Referring toFIG. 2, the RTP packet50includes an IP header52, a user datagram protocol (UDP) header54, an RTP header56and a payload58. The IP header52includes source IP address and destination IP address for directing the RTP packet in the network14. Traffic is directed by switching the traffic, routing the traffic or otherwise forwarding the traffic along a predefined path or between predefined endpoints.

The UDP header54provides a source port, a destination port and a sequence number. The RTP header56includes timing indicators to allow reordering of RTP packets at a destination endpoint and determination of whether any packets have been dropped or lost during transmission over the network14. The timing indicators may be any suitable type of information in one or more segments of a packet operable alone or in combination with other information to determine an order, sequence or other relative or absolute temporal placement of RTP packets50. The payload58carries voice or other information being communicated in the RTP packet50.

In one embodiment, the timing indicators of the RTP header56include a time stamp60and a sequence number62. For RTP packets i and i+1, Si<S(i+1) and T(i+1)=T(i)+t where t is the length of packet T(i) in number of samples. The time stamp60and the sequence number62indicate to a destination device the order of the RTP packets50, when to play the audio samples and whether any intervening RTP packets50have been lost or dropped by the network14. Accordingly, by controlling the time stamp60and sequence number62or other timing indicator of the RTP header56, a source communication device16can control treatment of the RTP packet50and real-time voice playout by a destination device.

In a particular embodiment, the time stamp60and/or sequence number62may be controlled by the communication device16to suspend, freeze or otherwise temporarily stop incrementation for a connection for a prolonged or other period, or delay, and then later resume incrementation beginning at or otherwise using the previous time stamp60and/or sequence number62to indicate to a destination device that no temporal lapse has occurred or otherwise ensure the audio is properly played with little or none of the delay.

FIG. 3illustrates detail of the communication device16in accordance with one embodiment of the present invention. In this embodiment, the communication device16is a VOIP telephone connected to the network14over a data cable. The communication device16may include other or different suitable elements for communicating traffic over the network14.

Referring toFIG. 3, the communication device16includes a user interface80, a network interface82and a processor84. The user interface80, network interface82, processor84and other elements of the communication device comprise logic encoded in media. The logic comprises functional instructions for carrying out programmed tasks. The media comprises computer disks or other suitable computer-readable media, application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other suitable specific or general purpose processors, transmission media and other suitable media in which logic may be encoded and utilized.

The user interface80is a graphical, text base and/or other suitable interface operable to display commands and receive requests and selections from end users. In one embodiment, the user interface80includes soft keys86for selection by the user. The features associated with each of the soft keys86vary depending on the state of the communication device16. As used herein, each means every one of at least a subset of the identified items.

The network interface82receives and transmits data to and from the network14. In one embodiment, the network interface82includes an IP address and one or more ports for identifying the communication device16and/or application to other devices on the network. The processor84is a general purpose or other suitable processor processing logic and other operating instructions for the communication device16.

The processor84includes a packet controller90and clock94. The packet controller90codes and decodes RTP packets transmitted on and received from the network14. A clock94generates time stamps60for the RTP packets.

The packet controller90also tracks the sequence number62of an output audio stream and updates the number for each successive packet to allow the packets to be properly reordered at their destination. The packet controller90further inserts time stamps60derived from the clock94. In addition, the packet controller90may store, modify and adapt time stamps60and sequence numbers62when the user switches between two or more connections including a voice mail connection and an active call such that the switching is transparent to the voice mail system32or other non real-time application.

FIG. 4illustrates a method for calling answer while connected to voice mail in accordance with one embodiment of the present invention. In this embodiment, in-band timing indicators are used to effectively pause the voice mail application32. In another embodiment, out-of-band signaling events or other suitable in-band signaling events between the call manager30and/or communication device16and the voice mail application32may be used to effectively pause the voice mail application32. In that embodiment, timing indicators in packets following a delay need not be adapted. Thus, timing indicators at the time of the delay need not be frozen, stored nor later recalled.

Referring toFIG. 4, the method begins at step100in which a call is placed to a busy, absent or otherwise unavailable party. At step102, the call is transferred to the voice mail system32.

Proceeding to step104, a connection is established between the communication device16of the user placing the call and the voice mail system32. At step106, the communication device16of the user receives notification that the voice mail system32is a non real-time application which may be an indication that the RTP stream to the connected device does not have a real-time requirement. The notification may be a signaling event from the call manager30or other call control application if the central call control used or from the voice mail application32if distributed call control is used. Accordingly, the communication device16can interrupt generation and transmission of packets to the application without degrading performance of the application.

Next, at state108, the communication device16transmits a voice stream from the user to the voice mail system32in packets based on current and/or regular timing indicators. In one embodiment, the packets are RTP packets and the timing indicators comprise the time stamp60and sequence number62. The packets are stored by the voice mail system32as a message for the called party.

In response to an call incoming to the user leaving the message, state108transitions to decisional step110. At decisional step110, the user may select whether he or she wants to answer the incoming call. If the user elects to not answer the incoming call or does not elect to answer the incoming call, the No branch of decisional step110returns to state108in which the user continues to leave the message. The user may elect to answer or not to answer the incoming call using the soft key buttons86.

If the user elects to answer the incoming call, the Yes branch of decisional step110leads to step112. At step112, the user's voice stream to the voice mail is stopped and the voice mail connection may be put on hold. At step114, the currently used value of one or more timing indicators are frozen at their current state for the voice mail connection by being stored. By storing the current state of the timing indicators for the voice mail connection, the timing indicators may continue to be incremented and regularly used for other connections such as the incoming call. At step116, an active call connection is established between the user and the calling party. Thus, the connection to the voice mail system32is maintained, but not used while the user remains on the answered call.

Proceeding to state118, the communication device116transmits the user's voice stream to the calling party over the calling party connection during the duration of the call. In response to a completion of the call, state118transitions to step120in which the user's voice stream to the calling party is stopped or otherwise suitably terminated. At step122, the connection to the calling party is likewise terminated.

Next, at step124, the stored values of the timing indicators for the voice mail connection are recalled. The recalled timing indicators include the time stamp60and/or the sequence number62preceding the delay caused by the call answer. Proceeding to state126, transmission of the user's voice stream is resumed to the voice mail system32in packets based on the recalled timing indicators. In one embodiment, a first packet after resumption of the voice stream to the voice mail system32includes the time stamp60and/or sequence number62recalled from memory. Each successive packet includes a time stamp60and sequence number62incremented from the previous packet. For example, if time stamp T(m) is stored at the time of the interruption, the voice mail connection may be resumed with a packet having time stamp T(m), followed by a packet having time stamp T(m+1), and so on. In this way, it will appear to the voice mail system32based on the timing indicators that no interruption has occurred and no pause will be stored in the message.

In response to another incoming call state126transitions back to decisional step110, whereas previously described, the user may elect to answer the call or to continue with the message. If the user elects to continue with the message, the user will continue generating and transmitting the voice stream in state126using timing indications specific to the connection. If the user elects to take the call, the timing indications then being used are stored for use after the call.

Upon completion of the message, states108and126each transition to step128in which the voice stream to voice mail is terminated. Next, at step130, the voice mail connection is terminated. Step130leads to end the process by which call answer services are provided to a called party while connected to voice mail.

FIG. 5illustrates a method for recording a voice mail message in the voice mail system32in accordance with one embodiment of the present invention. In this embodiment, in-band timing indicators are used to effectively pause the voice mail application32during a pause in generation of the voice mail audio stream at the communication device16. In another embodiment, as previously described, signaling events between the call manager30and/or communication device16and the voice mail application32may be used to pause a voice mail application32during a delay at the communication device16. In that embodiment, the signaling events are used by the voice mail application32to account for any missing packets.

Referring toFIG. 5, the method begins at step150in which an incoming call is received from a calling party. At step152, a connection is established with the calling party. Next, at step154, a voice mail system32transmits a notification that it is a non real-time application which may include, in some networks, not sending a real-time requirement signal. Alternatively, if a centralized call control paradigm is used, the call manager30or other suitable network element may indicate that the voice mail system32does not have a real-time requirement. This informs the communication or other device connected to the voice mail system32that packet transmission may be interrupted for call answer and other intervening events.

Next, at step156, the voice mail system32stores packets received from the calling party as a message to a file, or to other suitable output device in an order based on timing indicators included in the packets. For RTP packets, the timing indicators include the time stamp60and the sequence number62. In this embodiment, the voice mail system32saves packets using the sequence number62to order the packets and the time stamp60to compensate for silence impression.

During receipt of the message, the voice mail system32accounts for missing packets at step158. As previously described, because timing indicators are frozen for at least the connection during the interruption and the packet stream begins at a next time stamp60and/or sequence number62after delay, the delay is transparent to the voice mail system32and no filling need be done for missing packets. Thus, no pause or other break is inserted into the message or other output to account for the time during which the voice mail system32was not receiving audio. At step160, the connection with the calling party is terminated. In this way, the voice mail system is able to store message that included a pause when generated without the pause.

In one embodiment, the packets generated and transmitted after the delay indicate that they immediately follow or substantially immediately follow packets prior to the delay. The packets substantially immediately follow the previous packets if the delay is unnoticeable by the called party listening to the message, is at least an order of magnitude shorter than the delay or less than a second. In a specific embodiment, a command or other suitable packet may be periodically generated and transmitted to the voice mail system32to prevent automatic disconnect by the voice mail system32. The command packet may be generated by the call manager30, if central call control is used or by the communication device16or other stand alone application if distributed call control is used. In either or other suitable embodiments, packets generated and transmitted after the delay will follow the intervening packets periodically transmitted during the delay.