EMCC SOftware
Thursday, 08 December 2005
This technical briefing from EMCC Software looksat the increasingly popular
push-to-talk (PTT). The article reviews how PTT works and the standards that underpin
its successful widespread adoption.There is an alternative to circuit-switched voice calls that has become very
popular recently, especially in the US. It is called push-to-talk (PTT).
Push-to-talk over Cellular (PoC) is a half-duplex, two-way communication service.
It basically works like a walkie-talkie, where only one participant at a time
is allowed to speak. PTT is not meant to be a replacement for normal circuit-switched
voice calls, but was designed for a quick exchange of information between users.
It is very easy to use a PTT application. The user selects a contact from the
contacts list (which typically also displays the presence status of the contact)
and holds down the dedicated PTT button while speaking. The voice is immediately
transferred to the other call participant(s) in real time.
Until now, only proprietary protocols were used to implement PTT functionality.
However, in order to guarantee interoperability, the open mobile alliance (OMA)
is in the process of specifying an open standard for PTT. OMA members include
wireless vendors like Nokia or Motorola, information technology companies, mobile
network operators as well as application and content providers. At the time of
writing, the latest version of this standard is candidate version 1.0 (6th of
October, 2005) . A number of OMA-compliant servers and clients are currently under
development.
What are the main building blocks of a PTT system? Apart from a PoC client, there
is obviously a need for a PoC server as well. The PoC servers responsibility
is to allow clients to register and to manage PTT sessions. As soon as a PoC session
is established, the client can transmit audio data.
The users contact lists are stored on the shared XML document management (XDM)
server. These lists are stored in an application-independent format and therefore
can be shared with other applications. PTT-specific data structures like PoC groups
are stored on the PoC XDM server. In order to access any XDM server, an aggregation
proxy implements an HTTP proxy that forwards any incoming requests from the client
to the appropriate XDM server.
As mentioned above, presence is a feature which is supported by most PTT clients.
It allows the user to view the current presence states of the contacts in the
users contacts list. Possible presence states are for example online, busy
or do not disturb. A presence server stores the presence information and notifies
the client about presence changes. The user can also set his or her own presence.
Presence functionality is optional for OMA PoC.
Another optional building block of a PTT system is the device provisioning and
management (DM) server. It is used to initialise and update all configuration
parameters necessary for the PoC client.
In addition to normal one-to-one PTT calls, the OMA specification describes
calls which involve a group of subscribers. Pre-arranged groups contain a number
of contacts and can be called by selecting the group in the PTT application and
pressing the PTT button. Ad-hoc groups only exist during the lifetime of the call.
The user has to select the group participants before calling this group. When
a pre-arranged or ad-hoc group is initiated, all members of the group are invited
to the call. This is not the case with chat groups. A chat group is a group where
users can join and leave whenever they like. In order to share groups, group advertisement
is defined.
So how does PTT really work? Under the hood of a PoC client, a number of important
protocols exchange messages with a server.
The first is the session initiation protocol (SIP). It is a general purpose protocol
which can be used to establish any kind of session. It is used to register with
the server and send invite messages which start a session. SIP uses the session
description protocol (SDP) to agree on media parameters for a PoC session.
For the transmission of audio data between clients, the real-time transport protocol
(RTP) as well as the RTP control protocol (RTCP) are used. The latter is used
to ensure the quality of the audio channel.
Before the user can speak, the client has to request the floor from the server.
This is necessary to guarantee that only one participant at a time is allowed
to transmit audio data. When the server receives such a request it can allow or
reject it. Additionally, the server can revoke the right to speak any time. The
protocol that is used for floor control is called talk burst control protocol
(TBCP) and is uses RTCP messages for the exchange of information.
For the implementation of a fully OMA-compliant PoC solution, several hundred
pages of specifications have to be read, understood, and correctly implemented.
It is no surprise that most implementations wouldnt be able to interoperate smoothly
without any testing.
In order to ensure interoperability between PTT solutions, the OMA regularly
hosts so-called TestFestivals or TestFests. During this event, OMA members can
test cross-vendor combinations and make sure they interoperate correctly.
To summarise, PTT is a solution which has its place alongside circuit-switched
and voice-over-IP calls. Its main advantage is instant access, simplicity, as
well as the efficient use of network resources. But the functionality described
above is only the beginning of a whole series of so-called push-to-X services.
Like PTT, the point of these services is instant access. Examples are push-to-view,
which allows users to share images during a PTT call or push-to-find, where location
information is transferred.
About EMCC Software Limited
EMCC Software is a leading Symbian, Series 60 and UIQ Competence Center, providing
software development services and solutions to the mobile industry. They have
been working closely with Symbian and the device manufactures for over seven years,
helping to develop the Symbian OS platform, mobile phones and innovative applications
and solutions. Building on their reputation for technical excellence, EMCC has
recently received accredited certification against the ISO9001:2000 standard and
TickIT Guidelines Issue 5. Further information about EMCC Software Ltd and the
services they offer can be found at www.emccsoft.com.
|