HK1119320A - System and method for resolving conflicts in multiple simultaneous communications in a wireless system - Google Patents
System and method for resolving conflicts in multiple simultaneous communications in a wireless system Download PDFInfo
- Publication number
- HK1119320A HK1119320A HK08111078.4A HK08111078A HK1119320A HK 1119320 A HK1119320 A HK 1119320A HK 08111078 A HK08111078 A HK 08111078A HK 1119320 A HK1119320 A HK 1119320A
- Authority
- HK
- Hong Kong
- Prior art keywords
- source identification
- identification number
- data packet
- last
- sequence number
- Prior art date
Links
Description
Background
Technical Field
The present invention relates generally to wireless telecommunications, and more particularly to a system and method for resolving media stream communication conflicts between multiple communication devices on a wireless network.
Description of the related Art
Technological advances have made mobile phones or wireless communication devices inexpensive and therefore ubiquitous. As wireless telecommunication devices are manufactured with higher processing power and storage, they have also become more versatile and incorporate many features including direct radio communication capability between two or a group of individual handsets. This direct radio communication capability, commonly referred to as a Push To Talk (PTT) or "walkie-talkie" feature, allows a user with a handset to communicate with devices of a predefined set of members of a group without dialing a destination telephone number.
In one version of the PTT system, a wireless telecommunication device, such as a handset, communicates upstream and downstream with a remote server using one single frequency, while in conventional wireless communication, a wireless telephone communicates with the server using two frequencies, one for outgoing and one for incoming communications. PTT systems require the person who is speaking to hold a button while talking and then release the button at the end. Any listener in the group can then press their button to answer. In this way, the system determines in what direction the signal is propagating. In a typical configuration, when a user makes a call to a recipient or group of recipients using the PTT system, the user's handset first makes a request to a remote server. The remote server verifies that no other party is using the communication channel and that the channel is available, and then assigns the channel to the user. The user's message is received by the server and the server sends the message for each recipient. After the message is sent to each recipient, the channel is released and ready for use by the other parties.
The message is digitized (packetized) according to a predefined protocol and sent as data through a series of sequential data packets. These data packets are received at the user communication device and the data is retrieved there and reassembled into an audio stream. The reconstructed audio stream is then played to the user.
However, since the data packets are sent over the air, the transmission and reception may not be very reliable. Sometimes data packets are lost due to signal interference or weakness. When one or two data packets are lost during transmission, the loss has very little impact on the quality of the reconstructed audio stream and is generally not noticeable to a listener. On the other hand, if a large number of data packets are lost during transmission, it becomes difficult for the user equipment to reconstruct the audio stream and the quality of the reconstructed audio stream is affected.
In a related scenario, when the lost data packets are from two different audio streams, it is almost impossible for the user equipment to reconstruct the audio streams. Often, the user equipment is not able to determine whether a received data packet belongs to a previous audio stream or to a new audio stream. When a user device constructs an audio stream and adds data packets of a new audio stream to an existing audio stream, portions of the existing audio stream may be caused to be overwritten or inserted into an artificial gap between two bursts ("voices").
There is therefore a need for, and the present invention is primarily directed to, an apparatus and method that enables a wireless device to reconstruct an audio stream that may have dropped one or more packets.
Summary of The Invention
The apparatus and method of the present invention resolves collisions of data packets of an audio stream received by a wireless device. Each data packet includes a source identification number, a sequence number, and an end-marker bit. The wireless device reconstructs the audio stream based on the received data packets. If a data packet has the same source identification number as the last received data packet and the sequence number of the data packet differs from the sequence number of the last received data packet by more than a predefined threshold number, the wireless device starts a standby audio stream using data from the data packet. If, after a grace period, no other data packets of the current audio stream are received, the current audio stream ends and is played to the user. The standby audio stream then becomes the current stream.
In one embodiment, the present invention is a method for resolving incoming media data packet collisions in push-to-talk (PTT) communications over a wireless telecommunication network, wherein the content of each data packet is added to a media stream played on a wireless communication device. The method comprises the following steps: receiving a data packet across a wireless telecommunication network on the wireless communication device, wherein the data packet is part of a PTT communication and has a source identification number, a sequence number, and an end-marker bit; comparing, on the wireless communication device, the source identification number with a last source identification number indicating an originator of a current audio stream being received on the wireless telecommunication device; and compares the sequence number with the last received sequence number. If the incoming source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number, the method further comprises adding the incoming data packet to the current media stream. If the incoming source identification number is the same as the last source identification number and the sequence number is greater than the predetermined threshold from the last received sequence number, the method further comprises starting a new media stream using the incoming data packet. Finally, if the end flag bit is set, the method includes ending the current media stream.
In another embodiment, the present invention is an apparatus for receiving and classifying data packets in a push-to-talk (PTT) communication over a wireless telecommunications network. The apparatus includes a transceiver, a user interface unit, and a controller. The transceiver receives data packets from a remote server, where the data packets are part of a PTT communication and each data packet has a source identification number, a sequence number, and an end-marker bit. The user interface unit plays the PTT communication received from the remote server. The controller classifies the data packets and aggregates the media streams and stores the last source identification number and last received sequence number of the current media stream being played on the user interface and checks the source identification number and sequence number of each incoming data packet. If the source identification number is different from the last source identification number, the controller starts a media stream using the incoming data packet and assigns the source identification number to the last source identification number; if the source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number, controlling adding the incoming data packet to a current media data stream being played on the user interface. If the source identification number is the same as the last source identification number and the sequence number is greater than a predefined threshold from the last received sequence number, the controller starts a new media stream that is being played on the user interface using the incoming data packet. Finally, if the end flag bit is set, the controller ends the current media stream.
The present apparatus and methods are advantageous because they enable a wireless communication device to properly reconstruct an audio stream during a multi-party PTT communication based on data packets received from a remote server. Such talk burst identification may also be used in conjunction with other features of the wireless communication device that use data associated with an incoming voice data stream.
Other advantages and features of the present invention will become apparent after review of the hereinafter set forth brief description of the drawings, detailed description of the invention, and the claims.
Brief Description of Drawings
Fig. 1 depicts one exemplary embodiment of a communication network 100 used in accordance with the present invention.
Fig. 2 shows a block diagram of a wireless handset.
Fig. 3 shows a block diagram representing interactions between a server and a wireless device during a PTT communication.
Fig. 4 is a schematic diagram illustrating the reconstruction of an audio data stream.
Fig. 5 is a schematic diagram illustrating the reconstruction of an audio data stream when a small number of data packets are lost.
Fig. 6 is a flow diagram of an exemplary embodiment of an audio data stream reconstruction process.
Detailed description of the invention
In this specification, the terms "communication device," "wireless communication device," "PTT communication device," "handheld device," and "handset" are used interchangeably, and the terms "channel" and "group" are used interchangeably. The term "application," as used herein, is intended to include executable and non-executable software files, raw data, aggregated data, patches, and other code segments. The term "exemplary" as used herein is intended to show only one example, and does not indicate a preferred embodiment or a bias toward the embodiment shown. Moreover, in the drawings, like reference numerals designate like elements, and the articles "a" and "the" include plural references unless otherwise specified in the description.
In general, the present systems and methods enable a wireless device to resolve conflicts when constructing an audio stream using received data packets. Each data packet has a header that includes information such as source identification information, a sequence number, and end-marker bits. The wireless device uses this information to determine whether the received data packet is part of an existing audio stream or part of a new audio stream. Fig. 1 depicts a communication network 100 used in which these wireless devices according to the present invention may be used. The communication network 100 includes one or more communication towers 106 each connected to a Base Station (BS)110 and serving users with communication devices 102. The communication device 102 may be a cellular telephone, pager, Personal Digital Assistant (PDA), laptop computer, or other handheld, fixed, or portable communication device that supports push-to-talk (PTT) communications. The commands and data entered by each user are sent as digital data to the communication tower 106. Communication between a user using the communication device 102 and the communication tower 106 can be based on different technologies such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), global system for mobile communications (GSM), or other protocols that can be used in a wireless communication network or a data communication network.
PTT communications are sent over the communication network 100 via data packets. The wireless communication device 102 transmits and receives audio data packets over an assigned communication channel and control data is transmitted and received over the data channel. Data packets from each device are sent from communication tower 106 to Base Station (BS)110 and forwarded to Mobile Switching Center (MSC)114, which may be connected to Public Switched Telephone Network (PSTN)118 and internet 120. The MSC 114 may be connected to a server 116 in the communication network 100 that supports the PTT feature. Optionally, the server 116 may be part of the MSC 114. The server 116 may also suppress PTT communication transmissions to a particular wireless device when requested from that device. The data packets are forwarded by the server 116 to the receiving wireless device 102 where the audio stream will be constructed based on the data in the data packets. In an alternative embodiment (not shown), the MSC 114 may not be required in a data-only network. The data packets are transmitted by BS 110 to a data packet serving node and/or other server for processing. Data packets are transmitted between wireless device 102 and BS 106 according to a predefined protocol such as real-time transport protocol (RTP), TCP/IP, or other suitable protocol.
Fig. 2 shows a block diagram 200 of the wireless handset 102. The wireless handset 102 includes a controller 202, a memory unit 204, a display unit 206, a user interface unit 212, a push-to-talk activation unit 210, a transceiver 214, and an antenna 216. The controller 202 may be hardware, software, or a combination thereof. The controller 202 can digitize the audio messages into data packets and send them to the server 116. The controller 202 is also capable of receiving data packets from the server 116 and converting them to an audio stream. Display unit 206 may display graphical images or information to the user regarding the incoming PTT communication. The user interface unit 212 controls hardware such as a speaker, microphone, display unit 206, keypad, and push-to-talk activation unit 210 used to communicate with the user. The transceiver 214 sends and receives radio signals, including command and data packets, to the communication tower 106. The controller 202 interprets commands and data received from the user and the communication network 100. The storage unit 204 stores information about PTT communications.
Fig. 3 is a block diagram 300 representing interactions between a server (also referred to as a group communication server) 304 and a wireless device 302 during a PTT communication. Communication does not occur between the wireless device 302 initiating the communication and the server 304 until the user actuates the PPT button. The wireless device 302 can monitor the PTT communication and not actively participate therein, i.e., the wireless device 302 listens to PTT communications initiated by other wireless devices and does not broadcast any PTT communication of its own. In general, a user may initiate a PTT communication with a member of a selected PTT group. The wireless device 302 sends the selected PTT group information and PTT communication channel request to the server 304. Upon receiving the PTT communication channel request and the selected PTT group information, the server 304 checks the availability of the PTT communication channel assigned to the selected PTT group and grants the PTT communication channel to the initiating user device 302 if the PTT communication channel is available. After the PTT communication channel is granted to the initiating wireless device 302, the initiating wireless device 302 can send an audio communication through the server 304 to the selected PTT group 314. Upon receiving the user audio communication, the server 304 identifies the members 306 of the PTT communication group to which the initiating wireless device 302 wants to send the audio communication 308. The server 304 then forwards the audio communication to each member 306 in the PTT communication group 308. It should be noted that data other than audio communications, such as video and/or multimedia data, may also be sent in a PTT communication.
Fig. 4 is a diagram 400 of the reconstruction of an audio stream on a wireless device 102. During the PTT communication, the wireless device 102 receives 412 various data packets 406 from the server 116. In a simplified illustration, each data packet includes a header portion and a data portion. The header portion includes a sequence number 414 and other header information 416 such as a source identification, a timestamp, an end marker, and the like. The data portion 418 of each data packet includes digitized audio data. The data from each data packet is sequentially concatenated into an audio data stream 402. As shown by data packets 408 and 410, if two consecutive data packets received by the wireless device 102 have non-consecutive sequence numbers, the controller 202 needs to determine whether they are part of the same PTT communication. If the two data packets have different source identification numbers, the controller 202 can easily place them in two different audio streams and end the first audio stream and start a new audio stream. If the two data packets have the same source identification number, they may be from the same audio and belong to the same audio data stream, but they may also be from different audios and belong to different audio data streams.
When converting audio into an audio data stream that is transmitted over a network to a receiving device via a plurality of data packets, each data packet is assigned a sequence number. Generally, when a new audio data stream is started, a number is assigned as a sequence number. As a method to assist in reconstructing the audio data stream at the receiving device, a random number is typically used to start a new sequence number. To further ensure that there is a distinction between talk spurts, the new sequence number is set to at least some value from the last used sequence number. A preferred isolation value used is 1000. The isolation value may be used to determine whether the two data packets belong to the same audio data stream. If the difference between the two sequence numbers is greater than the isolation value, the data packets may belong to different audio data streams. If the difference is less than the isolation value, the data packets may be from the same audio data stream.
For the example in fig. 4, the isolation value is set to hexadecimal 1000 and the sequence numbers of the two data packets 408 and 410 in fig. 4 differ by less than the isolation value, so the controller 202 will infer that the two data packets, although not consecutive, are still part of the same audio data stream. Data from the data packet 410 and its subsequent data packets are concatenated to the current audio data stream 402. The controller 202 continues to process these incoming data packets and concatenate them to the current audio data stream 402 until the end-marker bit in the data packet is set. After the end flag bit is set, the audio data stream 402 is closed and played to the user.
Fig. 5 is another illustration 500 of reconstruction of an audio stream on a wireless device 102. The various data packets 502 and 508 received by the wireless device 102 have the same source identification number (not shown) as the current audio data stream 510. The controller 202 checks the sequence number 414 of each data packet and compares it to the sequence number of the last received data packet. If the difference between the sequence number of the data packet and the last received data packet is less than the predefined isolation value, the data 418 is processed and concatenated to the current audio data stream 510 and the sequence number of the data packet is stored as the last received sequence number and used for the next comparison. The sequence numbers of the data packets 502-504 are within a predefined separation value from the sequence number of the last received data packet, so that the data from these data packets 502-504 are connected to the current audio data stream 510.
However, when checking the sequence number 418 of the data packet 506, the controller 202 compares the sequence number 6EC0 with the sequence number 4FA3 of the last received data packet and verifies that the difference is greater than the predefined isolation value of 1000. Although the data packets 504 and 506 have the same source identification number (not shown), the controller 202 recognizes that they belong to different audio streams. Since data packets may have been reordered during transmission and it is possible that later packets are out of order and arrive before earlier packets. If the data packet 506 is the first out-of-order data packet, the controller 202 buffers the data from the data packet 506 into the standby audio stream and starts a grace period timer. The controller 202 will wait for a grace period for other data packets that may be late and out of order. If no further data packets are received at the expiration of the grace period, the controller proceeds to end the current audio data stream, play it to the user, and make the inactive audio stream the current audio stream.
If the data packet 506 is not the first out-of-order data packet received, the controller 202 adds the data to the existing standby audio stream when the sequence number is not greater than the last out-of-order data packet received by the predefined isolation value. If the sequence number of the data packet 506 differs from the last out-of-order data packet by more than the predefined isolation value, an additional inactive audio stream is required.
Fig. 6 is a flow chart 600 of an audio data stream reconstruction process. The wireless device 102 receives the data packet from the server 116 at step 602 and checks whether the end of frame indicated by the end-marker bit is received at step 604. If the end flag bit is set, the current audio data stream is ended and played to the user at step 606. The controller 202 checks at step 608 whether there is a pending audio stream. If there is an audio stream to use, the controller 202 makes it the current audio stream in step 610.
If the data does not have an end-marker bit set, the controller 202 checks the source of the data packet against the source of the last received data packet (last source) at step 612. If the data packet is from a different source, the controller 202 interprets it as an out-of-order data packet. The controller checks whether there is a standby audio stream set for the source at step 614. If such an inactive audio stream has not been set, the controller 202 starts a new inactive audio stream at step 622 and starts a grace period timer at step 624. If a standby audio stream has been set for the data packet from the source, the data is added to the standby audio stream at step 616. The controller 202 also checks whether the grace period timer has expired at step 618. If the grace period timer has expired, the controller ends and plays the current audio stream to the user at step 620 and makes the standby audio stream the current audio stream at step 610.
If the data packet is from the same source as the previous data packet, the controller 202 checks the sequence number of the data packet at step 626. If the difference between the sequence number and the sequence number of the last received data packet is less than the predefined isolation value, i.e. the sequence number is within the threshold of the last sequence number, the controller 202 appends the data to the current audio data stream in step 630 and checks whether any grace period timer is set in step 632.
It is possible that some data packets are received out of order and placed into the standby audio stream and a grace period timer is started. After the grace period timer has started, additional data packets of the current audio stream are received. In this case, the controller 202 continues to process these data and add them to the current audio stream. Thus, if the grace period timer is set, the controller 202 cancels it and continues to receive other data packets. If the sequence number is not within the threshold of the predefined isolation value from the last received data packet, the controller 202 interprets it as an out-of-order data packet from a new audio stream and checks whether there is a standby stream set for the new audio stream at step 614. The process continues as shown in fig. 6 and described above.
The following is a description that illustrates one use scenario for multiple simultaneous communication solutions in a PTT communication. John is using the PTT communication feature of his wireless device to communicate with Bob and Peter. John activates the PTT feature and speaks into his wireless device. He briefly breaks before continuing his speech. His communication is sent to the server via a plurality of data packets and then distributed to Bob and Peter. Bob's wireless device receives these data packets and constructs an audio data stream. Due to the interference, a small number of data packets are lost during transmission. The wireless device continuously checks the source and serial number. When it sees a gap in the serial number, it checks the size of the gap against a predefined separation value. When it sees that the gap is less than the isolation value, it knows that a small number of data packets are lost and adds data from the data packets to the current audio data stream and continues to process other incoming streams. When the wireless device receives the end-marker bit, which is set because John has interrupted his speech, the wireless device ends the current audio data stream and plays it to Bob. When it receives a new data packet, it starts to build a new audio data stream.
In another scenario, as soon as John finishes his speech, Peter starts answering and some of the last few data packets from John's voice are lost during transmission. Both John and Peter's messages are sent as data packets to Bob's wireless device. The wireless device receives John's data packets and assembles the audio data stream. The wireless device then recognizes that the source identification number in the currently received data packet has changed. The wireless device buffers data packets from Peter into the standby audio stream because it cannot determine that John has finished his speech. It is possible that data packets from Peter and John are reordered in the process of being transmitted by the server. The wireless device starts a grace period timer. If no more data packets are received from John at the end of the grace period, the wireless device ends the current audio data stream from John and plays it to Bob. After the audio data stream for John's voice is ended, the wireless device moves the standby audio data stream for Peter's voice to the current audio data stream. Due to the above approach, the wireless device will not add data of Peter's voice to John's voice and will not connect two different bursts of voice from John together to play them as a single burst.
In view of the method being executable on a wireless service provider's computer device or wireless communication device, the method can be performed by a program resident in a computer readable medium, directing a server or other computer device having a computer platform to perform the steps of the method. The computer readable medium may be the memory of the server or may be in a connected database. Further, the computer readable medium can be in a secondary storage media such as magnetic disk or tape, optical disk, hard disk, flash memory, etc., that is loaded onto the wireless communication device computer platform or other storage media as is known in the art.
In the context of fig. 6, the method may be implemented, for example, by operating portion(s) of a wireless network, such as a wireless communication device or a server, to execute a sequence of machine-readable instructions. Although the steps are shown as a sequence, the method may be implemented in a different sequence or as an event-driven process. These instructions may reside in various types of signal-bearing or data storage primary, secondary, or tertiary media. The media may comprise, for example, RAM (not shown) accessible by, or residing within, the components of the wireless network. Whether contained in RAM, a diskette, or other secondary storage media, the instructions may be stored on a variety of machine-readable data storage media, such as DASD storage (e.g., a conventional "hard disk" or a RAID array), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), flash memory cards, an optical storage device (e.g., CD-ROM, WORM, DVD, digital optical tape), paper "punch" cards, or other suitable data storage media including digital and analog transmission media.
While the present invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as set forth in the appended claims. For example, the above description is based on audio PTT communications, but it should be understood that the present apparatus, system, and method can be readily modified to support other types of media, such as video, data, and so forth. Furthermore, elements of the invention may be described or claimed in the singular, the plural being contemplated unless limitation to the singular is explicitly stated.
Claims (22)
1. A method for resolving conflicts of incoming media data packets in a push-to-talk (PTT) communication over a wireless telecommunication network, wherein the content of each data packet is added to a media stream played on a wireless communication device, the method comprising the steps of:
receiving a data packet at the wireless communication device across the wireless telecommunication network, the data packet being part of a PTT communication and having a source identification number, a sequence number, and an end-marker bit;
comparing, at the wireless communication device, the source identification number with a last source identification number indicating an originator of a current media stream received at the wireless telecommunication device;
comparing the sequence number to a last received sequence number;
adding the incoming data packet to the current media stream if the incoming source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number;
starting a new media stream using the incoming data packet if the incoming source identification number is the same as the last source identification number and the sequence number is greater than the predefined threshold from the last received sequence number; and
and if the end flag bit is set, ending the current media stream.
2. The method of claim 1, further comprising the step of playing the current media stream to a user on the wireless device.
3. The method of claim 1, further comprising the steps of: if the incoming source identification number is different from the last source identification number, starting a new media stream using the incoming data packet and assigning the source identification number to the last source identification number.
4. The method of claim 1, wherein the media stream is an audio stream.
5. The method of claim 1, wherein the media stream is a video stream.
6. An apparatus for receiving and classifying data packets in a push-to-talk (PTT) communication over a wireless telecommunication network, comprising:
a transceiver for receiving data packets from a remote server, the data packets being part of a PTT communication and each data packet having a source identification number, a sequence number, and an end-marker bit;
a user interface unit for playing the PTT communication received from the remote server; and
a controller for classifying the data packets and aggregating media streams and storing a last source identification number and a last received sequence number of a current media stream being played on the user interface,
wherein the controller checks a source identification number and a sequence number of each incoming packet,
starting a media data stream using the incoming data packet and assigning the source identification number to the last source identification number if the source identification number is different from the last source identification number,
adding the incoming data packet to the current media data stream playing on the user interface if the source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number,
if the source identification number is the same as the last source identification number and the sequence number is greater than a predefined threshold from the last received sequence number, a new media stream that is played on the user interface starting with the incoming data packet, an
And if the end flag bit is set, ending the current media stream.
7. The apparatus of claim 6, further comprising a display unit for displaying an activity notification for a PTT communication.
8. The apparatus of claim 6, further comprising a storage unit to store the last source identification number and the last received sequence number.
9. The apparatus of claim 6, wherein the media stream is an audio stream.
10. The apparatus of claim 6, wherein the media stream is a video stream.
11. An apparatus for receiving and classifying data packets in a push-to-talk (PTT) communication over a wireless telecommunications network, comprising:
means for sending and receiving data packets to/from a remote server, the data packets being part of a PTT communication and each data packet having a source identification number, a sequence number, and an end-marker bit;
user interface means for displaying the PTT communication received from the remote server; and
a control device for classifying the data packets and aggregating the media streams and storing the last source identification number and the last received sequence number of the current media stream being played on the user interface,
wherein the control means checks a source identification number and a sequence number of each incoming packet,
starting a media data stream using the incoming data packet and assigning the source identification number to the last source identification number if the source identification number is different from the last source identification number,
adding the incoming data packet to the current media data stream playing on the user interface if the source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number,
if the source identification number is the same as the last source identification number and the sequence number is greater than a predefined threshold from the last received sequence number, a new media stream that is played back on the user interface device using the incoming data packet, an
And if the end flag bit is set, ending the current media stream.
12. The apparatus of claim 11, further comprising means for displaying an activity notification for a PTT communication.
13. The apparatus of claim 11, further comprising means for storing the last source identification number and the last received sequence number.
14. The apparatus of claim 11, wherein the media stream is an audio stream.
15. The apparatus of claim 11, wherein the media stream is a video stream.
16. A computer readable medium having stored thereon a computer program for resolving collisions of incoming media data packets in a push-to-talk (PTT) communication over a wireless telecommunication network, wherein the content of each data packet is added to a media stream played on a wireless communication device, the computer program comprising computer instructions which when executed by a computer perform the steps of:
receiving a data packet at the wireless communication device across the wireless telecommunication network, the data packet being part of a PTT communication and having a source identification number, a sequence number, and an end-marker bit;
comparing, at the wireless communication device, the source identification number with a last source identification number indicating an originator of a current media stream received at the wireless telecommunication device;
comparing the sequence number to a last received sequence number;
adding the incoming data packet to the current media stream if the incoming source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number;
starting a new media stream using the incoming data packet if the incoming source identification number is the same as the last source identification number and the sequence number is greater than the predefined threshold from the last received sequence number; and
and if the end flag bit is set, ending the current media stream.
17. The method of claim 16, further comprising the step of playing the current media stream to a user on the wireless device.
18. The method of claim 16, further comprising the steps of: if the incoming source identification number is different from the last source identification number, starting a new media stream using the incoming data packet and assigning the source identification number to the last source identification number.
19. The method of claim 16, wherein the media stream is an audio stream.
20. The method of claim 16, wherein the media stream is a video stream.
21. A system for a user device to maintain a plurality of push-to-talk (PTT) communications with a server in a wireless communication network, comprising:
a server in communication with the wireless communication network, the server selectively transmitting to a first user device a plurality of data packets received from a second user device, each data packet having a source identification number, a sequence number, an end marker bit, and audio data;
a second user equipment capable of communicating with the server over the wireless communication network, the second user equipment capable of generating a set of data packets for an audio stream, wherein the set of data packets begins with a random sequence number that differs from a sequence number of a previous set of data packets by at least a predefined threshold number; and
a first user device capable of communicating with the server over the wireless communication network, the first user device capable of:
the plurality of data packets is received and,
each of the data packets is analyzed and,
if the source identification number from a received data packet is different from the last received data packet, a new audio stream is started using audio data from the received data packet,
starting a new audio stream using the audio data from a received data packet if the source identification number from the received data packet is the same as the last received data packet and the difference between the sequence numbers of the received data packet and the last received data packet is greater than a predefined threshold number, and
appending the audio data from a received data packet to a current audio stream if a source identification number from the received data packet is the same as the last received data packet and a difference between sequence numbers of the received data packet and the last received data packet is less than a predefined threshold number.
22. A method for resolving conflicts of incoming media data packets in a push-to-talk (PTT) communication over a wireless telecommunication network, wherein the content of each data packet is added to a media stream played on a wireless communication device, the method comprising:
a step of receiving at the wireless communication device a data packet across the wireless telecommunication network, the data packet being part of a PTT communication and having a source identification number, a sequence number, and an end-marker bit;
a step of comparing, at the wireless communication device, the source identification number with a last source identification number indicating an originator of a current media stream received at the wireless telecommunication device;
a step of comparing the sequence number with a last received sequence number;
a step of adding the incoming data packet to the current media stream if the incoming source identification number is the same as the last source identification number and the sequence number is within a predefined threshold from the last received sequence number;
a step of starting a new media stream using the incoming data packet if the incoming source identification number is the same as the last source identification number and the sequence number is greater than the predefined threshold from the last received sequence number; and
and ending the current media stream if the end flag bit is set.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/173,659 | 2005-06-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK1119320A true HK1119320A (en) | 2009-02-27 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8705515B2 (en) | System and method for resolving conflicts in multiple simultaneous communications in a wireless system | |
| US7295853B2 (en) | Methods and apparatus for the immediate acceptance and queuing of voice data for PTT communications | |
| KR100939602B1 (en) | System and method for adaptive media bundling for voice over internet protocol applications | |
| EP1182895A1 (en) | Method and apparatus for performing a voice dispatch call in a digital communication system | |
| KR20080094099A (en) | System and method for providing early notification when calling a wireless device | |
| US20100048235A1 (en) | Method and Device for Data Capture for Push Over Cellular | |
| US6999921B2 (en) | Audio overhang reduction by silent frame deletion in wireless calls | |
| JP2010063113A (en) | System and method for transmitting and playing alert tone in push-to-talk system | |
| KR20050035049A (en) | Call setup method for push-to-talk service in cellular mobile telecommunications system | |
| CN101517906B (en) | Apparatus and method for identifying last speaker in a push-to-talk system | |
| EP1649379B1 (en) | Method and apparatus for point to multi-point communications | |
| HK1119320A (en) | System and method for resolving conflicts in multiple simultaneous communications in a wireless system | |
| CA2511146C (en) | Methods and apparatus for the immediate acceptance and queuing of voice data for ptt communications | |
| JP4545712B2 (en) | PTT terminal | |
| HK1082327A (en) | Methods and apparatus for the immediate acceptance and queuing of voice data for ptt communication |