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.
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.
For a more complete understanding of the present invention and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which:
Referring to
In one embodiment, the network 14 is the Internet, a wide area network (WAN), a local area network (LAN) or other suitable packet-switched network. In the Internet embodiment, the network 14 transmits 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 network 14. It will be understood that the network 14 may comprise any other suitable type of network and that traffic may be otherwise suitably transmitted using other protocols and formats.
The communication devices 16 are 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 devices 16 comprise 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 network 14. The communication devices 16 also communicate control information with the network 14 to control call setup, teardown and processing as well as call services.
In the Internet embodiment, the communication devices 16 communicate voice traffic in the VoIP format. The standard analog telephones 18 communicate standard telephony signals through PSTN 22 to the gateway 20. At the gateway 20, the signals are converted to IP packets in the VoIP format. As previously described, the IP packets from the communication devices 16 and the gateway 20 are encapsulated in the RTP protocol for transmission over the network 14.
The network 14 includes a call manager 30 and a voice mail system 32 or other suitable non real-time application such as an interactive voice response (IVR) system. The call manager 30 and the voice mail system 32 may be located in a central facility or have their functionality distributed across and/or at the periphery of the network 14. The call manager 30 and the voice mail system 32 are connected to the network 14 by any suitable type of wireline of wireless link 34.
In another embodiment, the network 14 may operate without the call manager 30, in which case the communication devices 16 may communicate control information directly with each other or other suitable network elements. In this embodiment, services are provided by the communication devices 16 and/or other suitable network elements.
The call manager 30 manages calls in the network 14. 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 manager 30 is responsive to service requests from the communication devices 16 and the standard telephones 18. For example, the call manager 30 may provide voice mail, bridging, multicasting, call hold and other suitable services for the communication devices 16 and standard telephones 18. In one embodiment, the call manager 30 is operable to identify real-time and/or non real-time applications to and/or for communication devices 16 and other network elements to support call answer while connected to voice mail or other non real-time application services. The call manager 30 provides services by performing the services, controlling performance of the services, delegating the services and/or by otherwise initiating the services.
The voice mail system 32 is a non real-time application. Thus, while the voice mail system 32 receives real-time voice traffic, the traffic is being recorded for a later use. The voice mail system 32 records voice messages for a busy, absent or otherwise unavailable called party.
Typically, unanswered calls to a called party are automatically switched from the communication device 16 of the called party to the voice mail system 32 by the call manager 30 after a predefined number of rings. As described in more detail below, the call manager 30 in connection with the voice mail system 32 and a called party communication device 16 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.
Referring to
The UDP header 54 provides a source port, a destination port and a sequence number. The RTP header 56 includes 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 network 14. 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 packets 50. The payload 58 carries voice or other information being communicated in the RTP packet 50.
In one embodiment, the timing indicators of the RTP header 56 include a time stamp 60 and a sequence number 62. 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 stamp 60 and the sequence number 62 indicate to a destination device the order of the RTP packets 50, when to play the audio samples and whether any intervening RTP packets 50 have been lost or dropped by the network 14. Accordingly, by controlling the time stamp 60 and sequence number 62 or other timing indicator of the RTP header 56, a source communication device 16 can control treatment of the RTP packet 50 and real-time voice playout by a destination device.
In a particular embodiment, the time stamp 60 and/or sequence number 62 may be controlled by the communication device 16 to 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 stamp 60 and/or sequence number 62 to 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.
Referring to
The user interface 80 is 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 interface 80 includes soft keys 86 for selection by the user. The features associated with each of the soft keys 86 vary depending on the state of the communication device 16. As used herein, each means every one of at least a subset of the identified items.
The network interface 82 receives and transmits data to and from the network 14. In one embodiment, the network interface 82 includes an IP address and one or more ports for identifying the communication device 16 and/or application to other devices on the network. The processor 84 is a general purpose or other suitable processor processing logic and other operating instructions for the communication device 16.
The processor 84 includes a packet controller 90 and clock 94. The packet controller 90 codes and decodes RTP packets transmitted on and received from the network 14. A clock 94 generates time stamps 60 for the RTP packets.
The packet controller 90 also tracks the sequence number 62 of 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 controller 90 further inserts time stamps 60 derived from the clock 94. In addition, the packet controller 90 may store, modify and adapt time stamps 60 and sequence numbers 62 when 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 system 32 or other non real-time application.
Referring to
Proceeding to step 104, a connection is established between the communication device 16 of the user placing the call and the voice mail system 32. At step 106, the communication device 16 of the user receives notification that the voice mail system 32 is 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 manager 30 or other call control application if the central call control used or from the voice mail application 32 if distributed call control is used. Accordingly, the communication device 16 can interrupt generation and transmission of packets to the application without degrading performance of the application.
Next, at state 108, the communication device 16 transmits a voice stream from the user to the voice mail system 32 in packets based on current and/or regular timing indicators. In one embodiment, the packets are RTP packets and the timing indicators comprise the time stamp 60 and sequence number 62. The packets are stored by the voice mail system 32 as a message for the called party.
In response to an call incoming to the user leaving the message, state 108 transitions to decisional step 110. At decisional step 110, 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 step 110 returns to state 108 in 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 buttons 86.
If the user elects to answer the incoming call, the Yes branch of decisional step 110 leads to step 112. At step 112, the user's voice stream to the voice mail is stopped and the voice mail connection may be put on hold. At step 114, 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 step 116, an active call connection is established between the user and the calling party. Thus, the connection to the voice mail system 32 is maintained, but not used while the user remains on the answered call.
Proceeding to state 118, the communication device 116 transmits 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, state 118 transitions to step 120 in which the user's voice stream to the calling party is stopped or otherwise suitably terminated. At step 122, the connection to the calling party is likewise terminated.
Next, at step 124, the stored values of the timing indicators for the voice mail connection are recalled. The recalled timing indicators include the time stamp 60 and/or the sequence number 62 preceding the delay caused by the call answer. Proceeding to state 126, transmission of the user's voice stream is resumed to the voice mail system 32 in packets based on the recalled timing indicators. In one embodiment, a first packet after resumption of the voice stream to the voice mail system 32 includes the time stamp 60 and/or sequence number 62 recalled from memory. Each successive packet includes a time stamp 60 and sequence number 62 incremented 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 system 32 based on the timing indicators that no interruption has occurred and no pause will be stored in the message.
In response to another incoming call state 126 transitions back to decisional step 110, 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 state 126 using 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, states 108 and 126 each transition to step 128 in which the voice stream to voice mail is terminated. Next, at step 130, the voice mail connection is terminated. Step 130 leads to end the process by which call answer services are provided to a called party while connected to voice mail.
Referring to
Next, at step 156, the voice mail system 32 stores 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 stamp 60 and the sequence number 62. In this embodiment, the voice mail system 32 saves packets using the sequence number 62 to order the packets and the time stamp 60 to compensate for silence impression.
During receipt of the message, the voice mail system 32 accounts for missing packets at step 158. 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 stamp 60 and/or sequence number 62 after delay, the delay is transparent to the voice mail system 32 and 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 system 32 was not receiving audio. At step 160, 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 system 32 to prevent automatic disconnect by the voice mail system 32. The command packet may be generated by the call manager 30, if central call control is used or by the communication device 16 or 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.
Although the present invention has been described with several embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present invention encompass such changes and modifications as fall within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5652789 | Miner et al. | Jul 1997 | A |
5717741 | Yue et al. | Feb 1998 | A |
5857013 | Yue et al. | Jan 1999 | A |
5894504 | Alfred et al. | Apr 1999 | A |
6021181 | Miner et al. | Feb 2000 | A |
6047053 | Miner et al. | Apr 2000 | A |
6192116 | Mayak | Feb 2001 | B1 |
6192120 | Yamagishi et al. | Feb 2001 | B1 |
6212261 | Meubus et al. | Apr 2001 | B1 |
6259471 | Peters et al. | Jul 2001 | B1 |
6282270 | Porter | Aug 2001 | B1 |
6337898 | Gordon | Jan 2002 | B1 |
6343121 | Infosino | Jan 2002 | B1 |
6385202 | Katseff et al. | May 2002 | B1 |
6396908 | O'Donovan et al. | May 2002 | B1 |
6434143 | Donovan | Aug 2002 | B1 |
6463146 | Hartley et al. | Oct 2002 | B1 |
6487196 | Verthein et al. | Nov 2002 | B1 |
6507646 | Fishler | Jan 2003 | B1 |
6560224 | Kung et al. | May 2003 | B1 |
6757256 | Anandakumar et al. | Jun 2004 | B1 |