This application claims priority of Taiwan Patent Application No. 105107870, filed on Mar. 15, 2016, the disclosures of which are incorporated herein by reference in their entirety.
Field of the Invention
The invention relates to a wireless communications system. More specifically, the present invention relates to a method and a device for providing push-to-talk (PTT) communication service in a wireless communications system.
Description of the Related Art
Today, cellular radio networks are widely used by private and business users. Such networks typically provide a full duplex point-to-point voice communication service between a calling device and a called device. A service that is becoming popular in cellular radio networks is the Push-to-Talk (PTT) services. PTT calls are half duplex one-to-one or one-to-many communications: while one person speaks, the other one or more persons must listen. The right to speak is granted by pressing a push-to-talk button on a first come/first serve basis.
However, in the prior art, it is not clear how to use the PTT service to communicate with a specific group of people. Therefore, a method and a device for providing PTT communication service are needed to solve the problems described above.
The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select, not all, implementations are described further in the detailed description below. Thus, the following summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
A method for providing push-to-talk (PTT) communication service in a wireless communications system is provided.
In a preferred embodiment, a method for providing push-to-talk communication service is provided in the invention. The method is used in a broadcast server, and comprises: receiving an invitation message from a calling device; broadcasting a plurality of push-to-talk (PTT) invitation messages to a plurality of called devices identified in a group list associated with the calling device; and receiving a plurality of push-to-talk acknowledgment messages from the called devices to establish a first voice transmission path between the broadcast server and the called devices.
In some embodiments, after receiving the invitation message from the calling device, the method further comprises: transmitting a group list command to a database server according to the invitation message to request the group list associated with the calling device; and receiving the group list transmitted from the database server. In some embodiments, after establishing the first voice transmission path, the method further comprises: forwarding a one-way message from the calling device to the called devices. In some embodiments, the one-way message is a voice message. In some embodiments, before receiving the invitation message from the calling device, the method further comprises: receiving an establishment message transmitted from the calling device; determining whether the broadcast server is idle; and transmitting an establishment acknowledgement message to the calling device when the broadcast server is idle, wherein the establishment acknowledgement message includes an address corresponding to the broadcast server. In some embodiments, the broadcast server is connected to a main broadcast server; before receiving the invitation message from the calling device, the method further comprises: receiving, by the main broadcast server, an establishment message transmitted from the calling device; determining, by the main broadcast server, whether the broadcast server is idle; and transmitting, by the main broadcast server, an establishment acknowledgement message to the calling device when the broadcast server is idle, wherein the establishment acknowledgement message includes an address corresponding to the broadcast server. In some embodiments, after receiving the invitation message from the calling device, the method further comprises: transmitting an invitation acknowledgement message to the calling device to establish a second voice transmission path between the broadcast server and the calling device. In some embodiments, the broadcast server further comprises a management interface; the broadcast server transmits the group list command to the database server via the management interface, and receives the group list transmitted from the database server via the management interface. In some embodiments, the group list command at least includes an identifier of the calling device. In some embodiments, the push-to-talk invitation messages at least include an address of the broadcast server, an identifier of the calling device and push-to-talk information.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of the present invention. The drawings illustrate implementations of the invention and, together with the description, serve to explain the principles of the invention. It should be appreciated that the drawings are not necessarily to scale as some components may be shown out of proportion to the size in actual implementation in order to clearly illustrate the concept of the present invention.
Several exemplary embodiments of the present disclosure are described with reference to
In this description, the terms “communication device,” “wireless device,” “wireless communications device,” “PTT communication device,” “handheld device,” “mobile device,” and “handset” are used interchangeably. The terms “call” and “communication” are also used interchangeably. The term “application” as used herein is intended to encompass executable and non-executable software files, raw data, aggregated data, patches, and other code segments. The term “exemplary” means that the disclosed element or embodiment is only an example, and does not indicate any preference of user. Further, like numerals refer to like elements throughout the several views, and the articles “a” and “the” includes plural references, unless otherwise specified in the description.
The called device 110 and one or more than one called device 120 can communicate with each other via a wireless network 150, and may also communicate with the broadcast server 130 via the wireless network 150. It should be noted that although the number of called devices in
The broadcast server 130 can be coupled to the database server 140 to handle with the push-to-talk communication service management and manage a group list stored in the database server 140 and associated with the calling device. For example, when a wireless communications device is the called device 110, the group list corresponding to an identifier of the calling device 110 records all the called devices associated with the calling device 110.
Next, turning to
In another embodiment, when the wireless communications device 200 is the broadcast server 130 of
In step S405, the calling device 110 transmits an establishment message to the broadcast server 130. In step S410, the broadcast server 130 determines whether the broadcast server 130 itself is idle after receiving the establishment message. In step S415, the broadcast server 130 transmits an establishment acknowledgement (ACK) message to the calling device 110 to inform the calling device 110 that the broadcast server 130 may perform the push-to-talk communication service, wherein the establishment acknowledgement message includes an address corresponding to the broadcast server. In another embodiment, when the broadcast server 130 determines whether the broadcast server 130 itself is not idle, the broadcast server 130 may also transmit a message to the calling device 110 to inform the calling device 110 that the broadcast server 130 cannot currently perform the push-to-talk communication service.
Then, in step S420, the calling device 110 transmits an invitation message to the broadcast server 130. After receiving the invitation message from the calling device 110, in step S435, the broadcast server 130 transmits a group list command to the database server 140 according to the invitation message to request a group list associated with the calling device 110, wherein the group list command at least includes an identifier of the calling device 110. In step S440, the database server 140 transmits the group list associated with the calling device 110 to the broadcast server 130 according to the identifier of the calling device 110.
Next, after the broadcast server 130 receives the group list, in step S445, the broadcast server 130 broadcasts a plurality of push-to-talk (PTT) invitation messages to a plurality of called devices 120 identified in the group list associated with the calling device 110, wherein the PTT invitation messages at least include an address of the broadcast server 130, an identifier of the calling device 110 and push-to-talk information. In step S450, the broadcast server 130 receives push-to-talk (PTT) acknowledgment (ACK) messages from the called devices 120, respectively. Finally, in step S455, the broadcast server 130 establishes a first voice transmission path with the called devices 120.
In addition, in step S425, the broadcast server 130 may transmit an invitation acknowledgement (ACK) message to the calling device 110 to establish a second voice transmission path between the broadcast server 130 and the calling device 110 after receiving the invitation message from the calling device 110. In step S430, the broadcast server 130 establishes a second voice transmission path with the calling device 110. Note that, in the embodiment, the sequence of steps S425 to S430 and steps S435 to S455 can be reversed, or the steps S425 to S430 and steps S435 to S455 can also be carried out at the same time. It is not limited to the sequence of
In step S505, the calling device 110 transmits an establishment message to the main broadcast server 160. After the main broadcast server 160 receives the establishment message, in step S510, the main broadcast server 160 determines whether there is a broadcast server 130 that is idle among the plurality of broadcast servers 130. After the main broadcast server 160 determines that there is a broadcast server 130 that is idle, in step S515, the main broadcast server 160 transmits an establishment acknowledgement (ACK) message to the calling device 110 to inform the calling device 110 that the broadcast server 130 that is idle can perform the push-to-talk communication service, wherein the establishment acknowledgement message includes an address corresponding to the broadcast server 130 that is idle. In another embodiment, when the main broadcast server 160 determines that there is no broadcast server 130 that is idle, the main broadcasting server 160 may transmit a message to the calling device 110 to inform the calling device that all the broadcast servers 130 cannot perform the push-to-talk communication service.
Then, in step S520, the calling device 110 transmits an invitation message to the broadcast server 130 that is idle. After receiving the invitation message from the calling device 110, in step S435, the broadcast server 130 transmits a group list command to the database server 140 according to the invitation message to request a group list associated with the calling device 110, wherein the group list command at least includes an identifier of the calling device 110. In step S540, the database server 140 transmits the group list associated with the calling device 110 to the broadcast server 130 according to the identifier of the calling device 110.
Next, after the broadcast server 130 receives the group list, in step S545, the broadcast server 130 broadcasts a plurality of push-to-talk (PTT) invitation messages to a plurality of called devices 120 identified in the group list associated with the calling device 110, wherein the PTT invitation messages at least include an address of the broadcast server 130, an identifier of the calling device 110 and push-to-talk information. In step S550, the broadcast server 130 receives push-to-talk acknowledgment (ACK) messages from the called devices 120, respectively. Finally, in step S555, the broadcast server 130 establishes a first voice transmission path with the called devices 120.
In addition, in step S525, the broadcast server 130 may transmit an invitation acknowledgement message to the calling device 110 to establish a second voice transmission path between the broadcast server 130 and the calling device 110 after receiving the invitation message from the calling device 110. In step S530, the broadcast server 130 establishes a second voice transmission path with the calling device 110. In the embodiment, the sequence of steps S455 to S530 and steps S535 to S555 can be reversed, or the steps S455 to S530 and steps S535 to S555 can also be carried out at the same time. It is not limited to the sequence of
In another embodiment, one broadcast server is merely in charge of push-to-talk communication service of one calling device. When many calling devices transmit the invitation message, the main broadcast server may assign different broadcast servers to the calling devices, respectively.
In addition, the CPU 208 could execute the program code 212 to perform all of the above-described actions and steps or others described herein.
Various aspects of the invention have been described above. It should be apparent that the teachings herein may be embodied in a wide variety of forms and that any specific structure, function, or both being disclosed herein is merely representative. Based on the teachings herein one skilled in the art should appreciate that an aspect disclosed herein may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, such an apparatus may be implemented or such a method may be practiced using another structure, functionality, or structure and functionality in addition to or other than one or more of the aspects set forth herein.
Those with skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware (e.g., a digital implementation, an analog implementation, or a combination of the two, which may be designed using source coding or some other technique), various forms of program or design code incorporating instructions (which may be referred to herein, for convenience, as “software” or a “software module”), or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in ways that vary for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In addition, the various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented within or performed by an integrated circuit (“IC”), an access terminal, or an access point. The IC may comprise a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, discrete gate or transistor logic, discrete hardware components, electrical components, optical components, mechanical components, or any combination thereof designed to perform the functions described herein, and may execute codes or instructions that reside within the IC, outside of the IC, or both. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
It should be understood that any specific order or hierarchy of steps in any disclosed process is an example of a sample approach. It should be understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
Use of ordinal terms such as “first”, “second”, “third”, etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having the same name (but for use of the ordinal term) to distinguish the claim elements.
While the invention has been described by way of example and in terms of exemplary embodiment, it is to be understood that the invention is not limited thereto. Those who are skilled in this technology can still make various alterations and modifications without departing from the scope and spirit of this invention. Therefore, the scope of the present invention shall be defined and protected by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
105107870 | Mar 2016 | TW | national |