Abstract:
Methods and systems for voice and video messaging are provided here. In some embodiments a method for voice and video messaging may include establishing a telecommunication session with a calling device associated with a first user in response to an indication that a call request from the calling device directed to a called identifier associated with a second user failed, providing to the calling device an option to leave a video message and an option to leave an audio message, receiving a selection from the calling device indicating the selection of the option to leave a video message, disconnecting the established telecommunication session, and receiving a video message from the calling device. Enable the calling user to switch between leaving a voice message and leaving a video message.
Abstract:
A first telephony device sets up a first communication channel through an Internet protocol (IP) network for conducting an IP based telephony communication with a second telephony device. The first communication channel includes one or more media relays. The first telephony device then begins to conduct the telephony communication with the second telephony device over the first communication channel. While the initial stages of the telephony communication are ongoing, the first telephony device sets up a second communication channel with the second telephony device that does not utilize media relays. The telephony communication is then switched to the second communication channel. Proceeding in this fashion ensures that a communication channel can be rapidly established between the first and second telephony devices so that the telephony communication can quickly commence.
Abstract:
Systems and methods for determining an interval for the transmission of keep alive messages that will prevent a pinhole of a data network interface device from closing are driven by a module on a computing device. For example, a software client informs a network server of a first time interval, and the server uses the first time interval to sends communications to the computing device that trigger the computing device to send keep alive messages to the server. If the first time interval does not result in the pinhole closing, the module instructs the network server to messages to the computing device that trigger the computing device to send keep alive messages to the server according to a second, longer time interval. If use of the second time interval results in the pinhole closing, the module thereafter instructs the server to use the first time interval. If the second time interval also does not cause the pinhole to close, the module instructs the sever to use a third time interval that is longer than the second time interval. This process repeats until the pinhole ultimately closes, and then the last interval that did not cause the pinhole to close is selected for use.