Systems and methods for push-to-talk voice communication over voice over internet protocol networks
First Claim
1. A method of communicating voice communications between push to talk (PTT) devices via an intervening packet-based communication network, the method comprising:
- receiving a serial ordered sequence of voice packets at a listener'"'"'s PTT device,wherein each voice packet corresponds to a portion of the voice communication, andwherein each voice packet includes an identifier that identifies the relative position of that particular voice communication packet in the serial ordered sequence of voice packets;
storing the received voice packets in an order defined by the identifier at the listener'"'"'s PTT device;
determining at the listeners'"'"'s PTT device when a predefined amount of voice communication information has been received and stored, wherein the predefined amount of voice communication information is complete and perfect;
while the predefined amount of voice communication information is being received and stored, generating and audible first comfort tone from a speaker residing in the listener'"'"'s PTT device;
after the predefined amount of voice communication information has been received and stored, initiating presentation of the voice communication on the listener'"'"'s PTT device using the received predefined amount of voice communication information and ending generation of the first comfort tone;
after generating a second comfort tone at the listener'"'"'s PTT device when communication of the voice communication is paused due to at least one delayed, corrupted or lost voice packet transmitted from a speaker'"'"'s PTT device, wherein the at least one delayed, corrupted or lost voice packet includes a voice communication portion of the of the voice communication;
communicating a packet re-transmit request from the listener'"'"'s PTT device to the speaker'"'"'s PTT device, wherein the packet re-transmit request identifies the at least one delayed, corrupted or lost voice packet;
receiving at least one replacement voice packet that is communicated from the speaker'"'"'s PTT device to the listener'"'"'s PTT device, wherein a voice communication portion of the replacement voice packet is the same as the voice communication portion of the at least one delayed, corrupted or lost voice packet;
repairing the voice communication with the voice communication portion of the replacement voice packet; and
in response to repairing the voice communication, the method further comprising;
ending generation of the second comfort tone from the listener'"'"'s PTT device; and
ending the pause of the voice communication at the listener'"'"'s PTT device.
1 Assignment
0 Petitions
Accused Products
Abstract
Push to talk (PTT) devices that communicate packet-based voice communications are disclosed. An example PTT device receives voice packets via a packet-based communication network from another PTT device. Voice information in the received voice packets are used to reconstruct the voice communication. The receiving PTT device is able to identify an occurrence of at least one delayed, corrupted or lost voice packet, and then communicate a packet re-transmit request to the other PTT device requesting a replacement voice packet that has a portion of the voice communication that is identical to the voice communication portion of the delayed, corrupted or lost voice packet. The voice communication may then be repaired based on the received replacement voice packet. While the voice communication is being repaired, a comfort tone may be generated so that the listener of the PTT device understands that the voice communication is being repaired.
-
Citations
21 Claims
-
1. A method of communicating voice communications between push to talk (PTT) devices via an intervening packet-based communication network, the method comprising:
-
receiving a serial ordered sequence of voice packets at a listener'"'"'s PTT device, wherein each voice packet corresponds to a portion of the voice communication, and wherein each voice packet includes an identifier that identifies the relative position of that particular voice communication packet in the serial ordered sequence of voice packets; storing the received voice packets in an order defined by the identifier at the listener'"'"'s PTT device; determining at the listeners'"'"'s PTT device when a predefined amount of voice communication information has been received and stored, wherein the predefined amount of voice communication information is complete and perfect; while the predefined amount of voice communication information is being received and stored, generating and audible first comfort tone from a speaker residing in the listener'"'"'s PTT device; after the predefined amount of voice communication information has been received and stored, initiating presentation of the voice communication on the listener'"'"'s PTT device using the received predefined amount of voice communication information and ending generation of the first comfort tone; after generating a second comfort tone at the listener'"'"'s PTT device when communication of the voice communication is paused due to at least one delayed, corrupted or lost voice packet transmitted from a speaker'"'"'s PTT device, wherein the at least one delayed, corrupted or lost voice packet includes a voice communication portion of the of the voice communication; communicating a packet re-transmit request from the listener'"'"'s PTT device to the speaker'"'"'s PTT device, wherein the packet re-transmit request identifies the at least one delayed, corrupted or lost voice packet; receiving at least one replacement voice packet that is communicated from the speaker'"'"'s PTT device to the listener'"'"'s PTT device, wherein a voice communication portion of the replacement voice packet is the same as the voice communication portion of the at least one delayed, corrupted or lost voice packet; repairing the voice communication with the voice communication portion of the replacement voice packet; and in response to repairing the voice communication, the method further comprising; ending generation of the second comfort tone from the listener'"'"'s PTT device; and ending the pause of the voice communication at the listener'"'"'s PTT device.
-
-
2. A method of communicating voice communications between push to talk (PTT) devices via an intervening packet-based communication network, the method comprising:
-
receiving a plurality of voice packets at a listener'"'"'s PTT device, wherein each of the plurality of voice packets correspond to a portion of a voice communication transmitted by a sender'"'"'s PTT device, and wherein each of the plurality of voice packets are arranged in a serially ordered sequence and each include an identifier that identifies a relative position of that particular voice communication packet in the serially ordered sequence of voice packets; storing the received voice packets as they are received in the listener'"'"'s PTT device; determining, at the listener'"'"'s PTT device, when a complete and perfect initial predefined amount of voice communication information corresponding to an initially received group of the plurality of voice packets has been received and stored, wherein the predefined amount of voice communication information is based on a round trip voice packet (VP) repair time, wherein the VP repair time is defined as a sum of at least the following durations; a duration that is required for the listener'"'"'s PTT device to transmit the packet re-transmit request to the sender'"'"'s PTT device over the intervening packet-based communication network, a duration that is required for the sender'"'"'s PTT device to receive a packet re-transmit request, a duration that is required for the sender'"'"'s PTT device to retrieve a requested replacement voice packet from a memory medium at the sender'"'"'s PTT device, a duration that is required for the replacement voice packet to be communicated from the sender'"'"'s PTT device to the listener'"'"'s PTT device over the intervening packet-based communication network, and a duration that is required for the listener'"'"'s PTT device to repair the voice communication using the received replacement voice packet; and after the predefined amount of voice communication information has been received and stored, initiating presentation of the voice communication on the listener'"'"'s PTT device beginning with the received predefined amount of voice communication information using the voice communication information of the initially received group of the plurality of voice packets. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of communicating voice communications between push to talk (PTT) devices via an intervening packet-based communication network, wherein the voice communication is communicated using a serially ordered sequence of a plurality of voice packets that each include an identifier that identifies a relative position of that particular voice communication packet in the serially ordered sequence of voice packets, the method comprising:
-
initially receiving a first group of the plurality of voice packets at a listener'"'"'s PTT device, wherein the first group of the plurality of voice packets corresponds to an initial portion of a voice communication transmitted by a sender'"'"'s PTT device; storing in the listener'"'"'s PTT device the received first group of the plurality of voice packets as they are received; determining at the listener'"'"'s PTT device when a complete and perfect initial predefined amount of voice communication information corresponding to the first group of the plurality of voice packets has been received and stored; after the predefined amount of voice communication information has been received and stored, initiating presentation of the voice communication on the listener'"'"'s PTT device beginning with the received predefined amount of voice communication information; receiving a second group of the plurality of voice packets at the listener'"'"'s PTT device that correspond to a second portion of the voice communication transmitted by the sender'"'"'s PTT device, wherein the second portion of the voice communication immediately follows the first portion of the voice communication, and wherein the second group of the plurality of voice packets are received after presentation of the voice communication is initiated; detecting a plurality of silence voice packets of the second group of the plurality of voice packets, wherein the plurality of silence voice packets corresponds to silence of a person using the sender'"'"'s PTT device; and presenting a predefined audible tone to the listener during a duration that corresponds to a duration associated with the plurality of silence voice packets, wherein the presentation of the predefined audible tone ends and presentation of the voice communication resumes after the plurality of silence voice packets such that the voice communication heard by the user appears to pause at an end of a spoken sentence of a conversation from the person using the sender'"'"'s PTT device, and wherein the presenting predefined audible tone indicates to the listener that the person using the sender'"'"'s PTT device is continuing to speak during the voice communication. - View Dependent Claims (14, 15)
-
-
16. A method of communicating voice communications between push to talk (PTT) devices via an intervening packet-based communication network, wherein the voice communication is communicated using a serially ordered sequence of a plurality of voice packets that each include an identifier that identifies a relative position of that particular voice communication packet in the serially ordered sequence of voice packets, the method comprising:
-
initially receiving a first group of the plurality of voice packets at a listener'"'"'s PTT device, wherein the first group of the plurality of voice packets corresponds to an initial portion of a voice communication transmitted by a sender'"'"'s PTT device; storing in the listener'"'"'s PTT device the received first group of the plurality of voice packets as they are received; determining at the listener'"'"'s PTT device when a complete and perfect initial predefined amount of voice communication information corresponding to the first group of the plurality of voice packets has been received and stored; after the complete and perfect initial predefined amount of voice communication information has been received and stored, initiating presentation of the voice communication on the listener'"'"'s PTT device beginning with the received complete and perfect initial predefined amount of voice communication information; receiving a second group of the plurality of voice packets at the listener'"'"'s PTT device that corresponds to a second portion of the voice communication transmitted by a sender'"'"'s PTT device, wherein the second portion of the voice communication immediately follows the first portion of the voice communication, and wherein the second group of the plurality of voice packets are received after presentation of the voice communication is initiated; after beginning presentation of the voice communication on the listener'"'"'s PTT device using the initially received complete and perfect initial predefined amount of voice communication information, identifying an occurrence of at least one delayed voice packet in the second group of the plurality of voice packets; and if the at least one delayed voice packet is not received within a predefined delay duration, the method further comprising; transmitting a packet re-transmit request from the listener'"'"'s PTT device to the sender'"'"'s PTT device in response, wherein the packet re-transmit request comprises the identifier of the at least one delayed voice packet; receiving at least one replacement voice packet that is communicated from the sender'"'"'s PTT device to the listener'"'"'s PTT device, wherein a voice communication portion of the replacement voice packet is the same as the at least one delayed voice packet; storing the received at least one replacement voice packet with the stored second group of the plurality of voice packets, wherein the identifier of the at least one replacement voice packet is the same as the identifier of the at least one delayed voice packet; if the at least one replacement voice packet is received and stored with the second group of the plurality of voice packets before the portion of the voice communication that resides in the at least one replacement voice packet is presented to the listener of the listener'"'"'s PTT device, the method further comprising; continuing presentation of the voice communication using the received at least one replacement voice packet; if the at least one replacement voice packet is not received and stored before the portion of the voice communication that resides in the at least one replacement voice packet is presented to the listener of the listener'"'"'s PTT device, the method further comprising; pausing presentation of the voice communication; presenting a predefined audible tone to the listener until the at least one replacement voice packet has been received and stored with the second group of the plurality of voice packets, wherein the predefined audible tone indicates to the listener that there is an ongoing delay in receiving the voice communication from the sender'"'"'s PTT device; and resuming presentation of the voice communication after the at least one replacement voice packet has been received and stored with the second group of the plurality of voice packets, wherein presenting of the predefined audible tone ends when presentation of the voice communication resumes. - View Dependent Claims (17, 18)
-
-
19. A push to talk (PTT) device, wherein a plurality of PTT devices are configured to communicate packet-based voice communications between PTT devices, and wherein the voice communications are communicated via an intervening packet-based communication network, each PTT device comprising a listening portion configured to receive a plurality of first voice packets corresponding to a voice communication spoken by a person using another PTT device, the listening portion comprising:
-
a packetizer configured to receive the plurality of voice packets, wherein the plurality of voice packets comprise digitized portions of the voice communication, and wherein each of the plurality of voice packets include a unique identifier that identifies the relative position of that particular voice packet in a serially ordered sequence of voice packets; a jitter buffer communicatively coupled to the packetizer, wherein the jitter buffer is configured to receive and store the plurality of voice packets from the packetizer, in the serially ordered sequence according to the identifier of each one of the received plurality of voice packets; a vocoder communicatively coupled to the jitter buffer, wherein the vocoder is configured to deconstruct each of the plurality of voice packets received from the jitter buffer into digital data that corresponds to the digitized portion of the voice communication, wherein the voice packets received from the jitter buffer in the order of their storage in the jitter buffer; a digital to analog (D/A) converter communicatively coupled to the vocoder, wherein the D/A converter is configured to convert the received digital data into an analog portion of the first voice communication; a speaker communicatively coupled to the D/A converter, wherein the speaker is configured to generate sound corresponding to an analog portion of the first voice communication that is heard by the listener; and a jitter buffer manager controllably coupled to the jitter buffer, wherein the jitter buffer manager is configured to; determine when a complete and perfect initial predefined amount of voice communication information corresponding to an initially received group of the plurality of voice packets has been received and stored into the jitter buffer, wherein the predefined amount of voice communication information is based on a round trip voice packet (VP) repair time, wherein the VP repair time is defined as a sum of at least the following durations; a duration that is required for the listener'"'"'s PTT device to transmit a packet re-transmit request to the sender'"'"'s PTT device over the intervening packet-based communication network; a duration that is required for the sender'"'"'s PTT device to receive the packet re-transmit request; a duration that is required for the sender'"'"'s PTT device to retrieve a requested replacement voice packet from a memory medium at the sender'"'"'s PTT device; a duration that is required for the replacement voice packet to be communicated from the sender'"'"'s PTT device to the listener'"'"'s PTT device over the intervening packet-based communication network; and a duration that is required for the listener'"'"'s PTT device to repair the voice communication using the received replacement voice packet; and after the predefined amount of voice communication information has been received and stored into the jitter buffer, initiate communication of the serially ordered voice packets from the jitter buffer to the vocoder. - View Dependent Claims (20, 21)
-
Specification