The present invention relates to a method of and system for operating a push-to-talk over cellular (PoC) communication session for a group of telecommunication devices in which a talk burst (captured speech or other sounds) generated by one of the devices is transmitted to the other devices that are participating in the session, wherein a controlling function controls the joining of or leaving of each of the devices from the communication session and the granting of permission to the devices to send a talk burst, and in which each device communicates with the controlling function by means of a participating function associated with that device.
The third generation partnership project (3GPP) has recently defined a new concept known as IMS (IP-based Multimedia Subsystem). The aim of IMS is to allow users such as mobile telephone network operators to provide services to their subscribers as efficiently and effectively as possible. For example, the IMS architecture is likely to support the following communication types: voice, video, instant messaging, “presence” (a user's availability for contact), location-based services, email and web. Further communication types are likely to be added in the future.
This diverse collection of communication devices requires efficient session management due to the number of different applications and services that will be developed to support these communication types. The 3GPP have chosen Session Initiation Protocol (SIP) for managing these sessions.
The SIP protocol is a session-based protocol designed to establish IP based communication sessions between two or more end points or users. Once a SIP session has been established, communication between these end points or users can be carried out using a variety of different protocols (for example those designed for streaming audio and video). These protocols are defined in the SIP session initiation messages.
With IMS, users are no longer restricted to a separate voice call or data session. Sessions can be established between mobile devices that allow a variety of communication types to be used and media to be exchanged. The sessions are dynamic in nature in that they can be adapted to meet the needs of the end users. For example, two users might start a session with an exchange of instant messages and then decide that they wish to change to a voice call, possibly with video. This is all possible within the IMS framework. If a user wishes to send a file to another user and the users already have a session established between each other (for example, a voice session) the session can be redefined to allow a data file exchange to take place. This session redefinition is transparent to the end user.
One application of IMS is push-to-talk over cellular (PoC).
According to a first aspect of the present invention, there is provided a method of operating a push-to-talk over cellular (PoC) communication session for a group of telecommunication devices in which a talk burst generated by one of the devices is transmitted to the other devices that are participating in the session, wherein a controlling function controls the joining of or leaving of each of the devices from the communication session and the generating of permission for the devices to send a talk burst, wherein each device communicates with the controlling function by means of a participating function associated with that device, and wherein the controlling function provides an indication of the number of devices currently participating in the communication session to the participating function associated with a device when that device is granted permission to send a talk burst to the other devices participating in the communication session.
In the embodiment to be described the controlling function generates a special form of “Talk Burst Granted” message, which is transmitted to the participating function associated with the device that wishes to transmit a talk burst in order to provide that device with permission to transmit the talk burst. The Talk Burst Granted message includes a field which indicates the current number of devices participating in the PoC communication session. This Talk Burst Granted message is received by the participating function associated with the device that is to transmit the talk burst. The data in the field is extracted by the participating function so that the participating function is aware of the number of devices to which the talk burst will be transmitted. This information could be used, for example, to charge the user of the device that transmits the talk burst in dependence upon the number of devices that will receive the talk burst. Advantageously, this may discourage the user of a device from transmitting a talk burst to an unnecessarily large number of other devices, thereby wasting communication resources.
According to a second aspect of the present invention, there is provided a communication system for operating a push-to-talk over cellular (PoC) communication session for a group of telecommunication devices in which a talk burst generated by one of the devices is transmitted to the other devices that are participating in the session, the system including means for performing a controlling function which controls the joining of or leaving of each of the devices from the communication session and the generating of permission for the devices to send a talk burst, wherein each device communicates with the controlling function by means of a participating function associated with that device, and wherein the controlling function provides an indication of the number of devices currently participating in the communication session to the participating function associated with a device when that device is granted permission to send a talk burst to the other devices participating in the communication session.
According to a third aspect of the present invention, there is provided a push-to-talk over cellular (PoC) server for use with a cellular telecommunications network for controlling the transmission of speech data to devices registered with that network, the server implementing a control function for establishing a PoC communication session between a group of said devices, maintaining a record of devices participating in the session and controlling the transmission of speech data from one of the devices (“the transmitting device”) participating in the communication session to the other devices (“the receiving devices”) participating in the session by selectively generating a message which grants the transmitting device permission to send speech data to the receiving devices, wherein said message includes an indication of the number of devices participating in the communication session such that the user of the transmitting device can be charged according to the number of receiving devices participating in the communication session and which will receive the speech data.
A method and system for operating a communication session between a first device and a second device via a telecommunications network, embodying the invention, will now be described by way of example, with reference to the accompanying drawings in which:
PoC allows a communication session to be established between a group of devices such that the user of one of the devices can speak and the users of each of the other devices will hear that person speak. During such a communication session each device functions like a two-way radio or walkie-talkie in a one-to-one or one-to-many group mode. Full duplex speech communication between the users of the respective devices during the communications session is not possible—only one user can speak at a time.
One feature of PoC is that, when the communication session is established, there is an “always on” communication link between the devices. When a user wishes to talk to the or each of the other devices associated with the communication session, the user issues an appropriate instruction to their device (typically using a soft key—that is, a key whose function is programmable), and the user's speech is captured by their terminal and instantly, or within a relatively short period of time, is transmitted to the or each of the other terminals and is reproduced on those terminals. This process is controlled by a PoC control function, to be described in more detail below. There is no requirement for the user inputting the speech data to dial the or each other device, and nor is there any requirement for the users of the devices receiving the speech to take any action to receive the speech data—it is automatically reproduced by their device when it is received (assuming, of course, the device is operating in an appropriate mode for allowing PoC communication).
PoC is described in more detail in the document “Push to talk over Cellular (PoC)—Architecture, Draft Version 1.0—10 Feb. 2005” available from Open Mobile Alliance Limited (OMA).
In the embodiment to be described, a PoC communication session is established using IMS. However, it should be appreciated that a PoC communication session in accordance with the invention could be established over existing GSM/GPRS networks (or, indeed over other types of network such as the Internet) by exchange of data packets but without IMS.
One of the advantages of PoC is that less bandwidth may be required for a PoC call (which uses the packet switched domain) than a normal voice call (which uses the circuit switched domain). In a circuit switched call, network capacity is used for the full duration of the call from the initial connection attempt to the time that the call terminates. Network capacity is used even when no speech data is transmitted. In a PoC call only the actual blocks of data that contain speech will be transmitted. A PoC communication session between devices might last one hour. However, if speech is only transmitted for five minutes during that hour, only network capacity corresponding to that five minutes is used.
Referring initially to
A group and list management function may be provided that is responsible for the management of contact lists (containing the addresses of other users), group lists (containing the addresses of other groups), access lists and permissions management. A contact may be an identity of a user, or a group. A contact may include the SIP URI or a TEL URI of the entity, type of the entity (user or group) and optionally the display name. Each PoC user may have two access lists: a user accept list and user reject list. Access lists may be used for controlling whether the PoC Server is allowed or not to send talk session requests to the user when requested by other user. Each PoC user may define permission management rules that describe who is allowed to contact him/her using the PoC service. The PoC Server may implement the access control policy according to these defined rules.
A presence server 17A provides the IMS core 11A with information indicating whether or not devices associated with the mobile telecommunications network 7A are available for contact or not.
Of course, it should be appreciated that, although only one mobile device 1A and 1B, and one RNC 3A and 3B is shown associated with each mobile telecommunications network 7A and 7B, typically there will be a multiplicity of RNC's and mobile devices associated with each mobile telecommunications network 7A and 7B.
It is also important to note that, although in the embodiment described the mobile terminal 1A is associated with a different network 7A from the mobile terminal 1B, the invention is equally applicable to a scenario where the users of two mobile terminals associated with the same mobile telecommunications network wish to establish a PoC session.
When the user of mobile device 1A wishes to establish a PoC communication session with the user of mobile terminal 1B, the users of respective mobile devices will associate themselves in a group, between which PoC messages may be sent, by exchanging contact information and possibly other information (such as a password).
In the second network B, mobile terminal 1B also comprises a PoC Client which communicates with a respective PoC participating function 20B provided by the PoC Server 13B. The PoC Server 13B also provides a PoC controlling function 22B for the PoC communication session between the PoC Clients. Messages from each PoC Client are routed via their associated PoC participating function to the PoC controlling function. The PoC controlling function 22B provides centralised PoC session handling. It controls when and to whom talk bursts received from the various PoC participating functions are onwardly transmitted.
For each PoC communication session there is only one controlling PoC function. The determination of which server performs the controlling PoC function and which server(s) perform the participating PoC function takes place during PoC session set-up and does not change during the session. In the embodiment to be described, where there are only two devices (1A and 1B) in the PoC session, PoC Server 13B performs a controlling PoC function and a participating PoC function, and PoC Server 13A will perform only a participating PoC function. The PoC Server performing a participating PoC function always has a direct communication path to a user's mobile device (PoC Client) and a direct communication path to the PoC Server performing the controlling PoC function for transmitting PoC session signalling messages.
The controlling PoC function:—
The participating PoC function may:—
The IMS cores 11A and 11B perform the following functions that are needed in support of the PoC service:—
While the PoC communication session is established, the user of mobile terminal 1A can talk (that is, send speech data for reproduction on the device 1B) by pressing soft key 21A, above which, during the PoC communication session, the sign “press-to-talk” or “PTT” is displayed on the display 23A of the mobile terminal 1A. Of course, if more than one other device also joins the communication session, a plurality of soft keys may be provided, or a suitable graphical user interface provided, to allow entry of a command for speech data to be sent to any one of or all of the group of devices.
The half duplex nature of the PoC service requires that before a PoC Client can send a talk burst the PoC Client must negotiate the permission to send a talk burst.
The PoC Server performing the controlling PoC Function causes talk bursts to be arbitrated between PoC Clients as follows:—
The PoC Client and the controlling PoC Server support the following requests/responses/indications using Session Description Protocol (SDP):—
If the controlling PoC Server and the PoC Client support queuing of the Talk Burst Request some or all of the following requests/responses/indications are supported:
Support for queued talk burst control is transparent to a PoC Server performing the participating PoC function that is involved in media processing. The PoC Server performing the participating PoC function relays all messages related to talk burst control to the PoC Server performing the controlling PoC function or PoC Client, as appropriate, in any session that is not being filtered by the PoC Server performing the participating PoC Function, without modification of the content of the messages.
A PoC Server performing controlling PoC function capable of supporting queued talk burst control supports queued talk burst control for those PoC Clients that request it. A PoC session may include both PoC Clients that do not support or request use of queued talk burst control and PoC Clients that request use of queued talk burst control.
In a PoC session, there can be a number of participants being PoC subscribers of several different PoC operators (the different PoC operators typically offering PoC service in respective mobile telecommunications networks). In known arrangements, each PoC operator is able to charge their contracted participants independently of any other PoC operator's charging policy. The participating PoC function measures and sends charging reports to the charging system of the relevant operator for the charging of the participant.
The charging in the known arrangement may be based on the number of sent (pushed) talk bursts, for example. Each talk burst from a PoC Client is sent to the controlling PoC Server via that client's participating PoC Server. The participating PoC Server is therefore able to record the number of sent talk bursts and provide this information to the charging system for the PoC operator with which both the client and the participating PoC Server are associated.
In some circumstances it would be advantageous to charge a PoC Client additionally on the basis of the number of recipients of a talk burst sent by that PoC Client. A talk burst sent by a PoC Client is received by every other participant in that PoC communication session. The number of recipients reflects the quantity of communication system resource used by the PoC to transmit the talk burst (which recipients might be dispersed across a plurality of networks). Charging PoC Clients on this basis will tend to result in more considered use of network resources by discouraging clients from transmitting PoC talk bursts to an unnecessarily large number of participants. If a PoC Client wishes a talk burst to be transmitted to a subset of participants in an existing PoC session, a new session can be initiated between a group of PoC Clients consisting only of that subset of participants of the existing PoC session.
a. Group identity information
b. PoC address of the user initiating this PoC Session
c. PoC service indication
d. Media parameters of PoC Client A (device 1A)
e. Talk burst control proposal
The IMS core 11A passes the SIP INVITE message (message “2.”) to the participating PoC function 20A (“PoC Server A (participating)”) of the PoC Server 13A, which checks the availability and allowability of the transmission of speech data to the device 1B by the consulting group and list management function server and presence server 17A/17B. Message “2.” may include:—
a. Group identity information
b. PoC address of the user initiating this PoC Session
c. PoC service indication
d. Media parameters of PoC Client A (device 1A)
e. Talk burst control proposal.
If the availability and allowability criteria are met, the PoC Server 13A then identifies that device 1B is not hosted by PoC Server 13A, and it sends the SIP INVITE message (message “3.”) to the IMS core 11A. Message “3.” may include:—
a. Group identity information
b. PoC address of the user initiating the PoC session
c. PoC service indication
d. PoC Server 13A (participating) selected media parameters
e. Talk burst control proposal.
The IMS core 11A transmits the SIP INVITE message (message “4.”) to the IMS core 11B (“SIP/IP Core X”) associated with the second mobile telecommunications network 7B. Message “4.” may include:—
a. Group identity information
b. PoC address of the user initiating the PoC session
c. PoC service indication
d. PoC Server 13A (participating) selected media parameters
e. Talk burst control proposal.
The IMS core 11B then transmits the SIP INVITE message (message “5.”) to the controlling PoC function 22B (“PoC Server X (controlling)”) of PoC Server 13B. Message “5.” may include:—
a. Group identity information
b. PoC address of the user initiating the PoC session
c. PoC service indication
d. PoC Server 13A (participating) selected media parameters
e. Talk burst control proposal.
PoC Server 13B generates an initiation message for the device 1B, which is sent to the IMS core 11B and transmitted to the mobile device 1B via GGSN 9B, SGSN 5A and RNC 3B. (Device 1B is not shown in
A “first ALERTING response” message is received from the mobile device 1B (assuming it is in an area of coverage by the mobile telecommunications network 7B) and this is passed to the PoC Server 13B via the intermediate elements shown in
Messages “6.” to “8.” may include PoC Server 13B selected media parameters. Messages “9.” and “10.” may include PoC Server 13A selected media parameters.
Messages 11-13: When the mobile device 1B accepts the PoC session invitation, the PoC Server 13B sends an OK response to the PoC Server 13A (participating) along the same signalling path. Information elements contained in the OK response may include:
Messages 14-15: The PoC Server 13A sends an OK response to the mobile device 1A along the same signalling path. Information elements in the OK response may include:
Message 16: The PoC Server 13B (controlling) sends the Talk Burst Granted response to the PoC Server 13A (participating).
Message 17: The PoC Server 13A (participating) relays the Talk Burst Granted response to the mobile device 1A.
Audio data received by the microphone of the mobile terminal 1A is then captured by that mobile terminal and is transmitted as packet data to the network 7A, and to the IMS core 11A, allowing the communication of this data to the IMS core 11B of the second network. This data are received by the mobile terminal 1B where it is automatically reproduced by the loudspeaker of that mobile terminal as an audio signal, allowing the user of mobile terminal 1B to receive and understand the speech of user of mobile terminal 1A. The speech data are reproduced by the mobile terminal 1B without requiring any user operation by the user of mobile terminal 1B. Typically the speech data will be reproduced by the terminal 1B at virtually the same time as it is input to the mobile terminal 1A.
Once a session is established, talk burst control is independent of session related procedures.
From the above-described message flows shown in
Messages 1-5: The PoC Client 1A stops sending talk burst control messages and stops sending/receiving media and sends a BYE request through the signalling path to the PoC Server 13B. Information elements contained in the BYE request are:
Messages 6-10: Upon receiving the request, the PoC Server 13B (controlling) performs the necessary procedures to remove the PoC Client 1A. The PoC Server 13B (controlling) sends an OK response to the PoC Client 1A through the signalling path, which has routed the request.
It can be seen that in this known signalling arrangement there is no mechanism for the participating PoC functions associated with the PoC Clients remaining in the PoC session to be notified of PoC Client 1A's leaving.
Message 1: The PoC Client 1A sends an INVITE request to the IMS core 11A. Information elements contained in the INVITE request are:
Message 2: The IMS Core 11A routes the INVITE request to the PoC Server 13A (participating) triggered on the PoC Service indication and the PoC Address. Information elements contained in the INVITE request are:
Message 3: The PoC Server 13A (participating) identifies that the PoC Group is not hosted in this PoC Server therefore it sends the request to the IMS Core 11A. Information elements contained in the INVITE request are:
Message 4: The IMS Core 11A routes the request to IMS Core 11B according to the routing principles of the IMS Cores. Information elements contained in the INVITE request are:
Message 5: The IMS Core 11B routes the request to the controlling PoC Server 13B based on the PoC Group Session Identity. Information elements contained in the INVITE request are:
Messages 6-10: Upon receiving the request, the PoC Server 13B (controlling) performs the necessary procedures to add the PoC Client 1A to the session. The PoC Server 13B (controlling) sends an OK response to the PoC Client 1A through the signalling path, which has routed the request. The PoC Client 1A stores the contact address of the PoC Server 13B (controlling).
The controlling PoC Server maintains a record of all the active participants in a PoC communication session. However, it can be seen that there is no mechanism for the joining of the PoC Client 1A to the PoC session to be notified to the participating PoC functions associated with the PoC Clients already present in the PoC session.
Talk burst control provides a mechanism to arbitrate the participant's requests to speak. The controlling PoC Server and PoC Clients support arbitration of talk burst requests (without queuing). The mechanism for talk burst request (without queuing) allows the controlling PoC Server and PoC Client to support talk burst request, Talk Burst Granted response, talk burst reject, talk burst completed; no talk burst, receiving talk burst, stop talk burst and talk burst acknowledgement message, described above.
If the controlling PoC Server and PoC Client can additionally support queuing of talk burst requests, then the controlling PoC Server and PoC Client additionally supports the talk burst queue position request and talk burst queue position status messages.
When a PoC Client, connected to a PoC session, successfully requests permission to send a talk burst, and no other PoC Client has permission to send, the talk burst control flow is as shown in
Message 1: The user of PoC Client 1A presses the PoC button when no other PoC User is known to have permission to send a talk burst, and PoC Client 1A sends a talk burst request message to PoC Server 13B (controlling).
Message 2: PoC Server 13B (controlling) decides to grant the talk burst to PoC Client 1A and sends a Talk Burst Granted response message to PoC Client 1A.
Message 3: At the same time PoC Server 13B (controlling) sends a receiving talk burst message to the other PoC Clients on the PoC Session (such as Client 1B shown in
Message 4: When PoC Client 1A receives the Talk Burst Granted response message, it provides a talk proceed notification to its user. PoC Client 1A then begins to send media (captured speech—a talk burst) to PoC Server 13B (controlling). PoC Server 13B (controlling) forwards this media to the other PoC Clients (such as PoC Client 113) via its associated participating PoC function 20B.
It can be seen from the above description that only the controlling PoC Server knows the number of recipients of a message. The participating PoC Servers do not have this information in the conventional PoC arrangement. However, the participating PoC Server is responsible for charging the PoC Clients associated therewith. In accordance with an important feature of this embodiment, the number of recipients of the PoC message is added to the Talk Burst Granted response message 2 described above for the participant that is requesting to speak. This information is not send to other recipients (or their participating PoC Servers). The Talk Burst Granted message may have the form shown in
The Talk Burst Granted message is sent from the controlling PoC Server to the relevant participating PoC Server, and the participating PoC Server may then extract the “number of active participants” field Z so that an appropriate charge can be made to the participant. The Talk Burst Granted message is then passed to the relevant participant. However, the “number of active participants” field Z may be removed from the Talk Burst Granted message before forwarding to the participant, if desired. However, it may be advantageous to pass the “number of active participants field” Z to the participant PoC Client so that the user can be provided with an indication of the number of participants to which their talk burst will be sent.
The embodiment of the invention allows the participant that sends a talk burst to be charged in accordance with the number of recipients. However, no significant signalling overhead is incurred. Each time a participant leaves or joins the group, it is not necessary for each other participant and participating PoC Server to be notified of this. The “number of active participants” field Z is added to the Talk Burst Granted message that is sent by the controlling PoC Server to the relevant participating PoC Server associated with the participant that originates the talk burst. No other modification to the known PoC signalling arrangements are required.
Although this specification refers to a “Talk Burst Granted” message, that term should not necessarily be interpreted narrowly. The message described grants permission or confirms permission for a device or client to send a talk burst during a PoC communication session. Such messages are alternatively referred to as “Talk Burst Confirm” messages. The message indicates to the device or the client that it has the floor.
Number | Date | Country | Kind |
---|---|---|---|
0505070.3 | Mar 2005 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB2006/000636 | 2/23/2006 | WO | 00 | 6/17/2009 |