Objective
The goal of the project is to develop an audio-conferencing service, using
Push-To-Talk technology, deployed over wireless mesh network(in this case
SMesh)
What is Push-To-Talk?
Push-To-Talk (PTT) is a two-way communication service, but one that works like
a “walkie talkie”. While a normal phone call is full-duplex, meaning both
parties can hear each other at the same time, PTT is half-duplex, the
communication can only happen in one direction at any given time. PTT requires
that the person who wishes to speak,presses a button while talking and then
releases it when he is done.The receiving party/parties hear the sender’s voice
without any action on their part, for example, without having to even answer
the call
Audio Conferencing using Push-To-Talk
The 1-to-many communication feature in PTT enables a user to setup a voice
communication with multiple users, where the participants speak one at a time
and the voice is carried to all the participants of the conference. Due to the
half-duplex nature of PTT, each participant in the audio conference must wait
until the current speaker has finished speaking, and therefore the challenge
involved in conducting an audio conference is, the co-ordination among the
participants in a manner that is fair to every participant
Project Description
The original idea was to develop a completely distributed algorithm to handle
the co-ordination among the various participants of the conference. However,
there are several drawbacks to this approach. Instead, we decided to solve the
problem of coordination using a semi-distributed approach, one that has a
coordinator per conference rather than peer-to-peer which could have been
achieved using the distributed approach.
The project implementation details are here
Current Status of the Project
I have finished the implementation of the control messaging except for the
retransmissions of the messages which is required for reliability. Also, an
application for capturing and playing voice is yet to be integrated into the
client.
The things I’d like to add to the project:
- Additional realiability - in case where the co-ordinator of the conference crashes.
- Distribute the voice packets in an efficient manner.
- GUI for the client.
Creator
Pratibha Mallya for the Advanced Distributed Systems Course at Johns Hopkins University