You are on page 1of 4

26

Project Proposal
Title: Software Extensions to an Open Source Web-Conferencing Platform

Group

26
Fourth Year Project

Supervisor: Students:

Steven Muegge / Michael Weiss Nicolas Encina ( 100697379) Riley Onabigon (100689911) Joseph Oommen (100613813)

Introduction
This is a proposal for a fourth year project with the Systems Department at Carleton University. This project will be worked on during the fall 2008 and winter 2009 semesters and the final project will be delivered on April 7. The project members are Riley Onabigon, Nicolas Encina and Joseph Oommen and the project will be co-supervised by Steven Muegge and Michael Weiss from the Systems department. Both Riley and Joseph are in the Computer Systems stream while Nicolas is in the Electrical stream.

Objective
The main objective of this project is to develop a soft-phone extension for the webapplication BigBlueButton using open source tools and the agile development process. Not only can this Voice over IP (VoIP) module be used by BigBlueButton, but by any other open source web-application. It is our hope that through this project, we will gain knowledge into the agile developmental process, open source software development process and learn new skills that will help us throughout our engineering careers.

Background
BigBlueButton is an open source web-conferencing system, developed at Carleton University. The main focus of this system is to give Universities the ability to hold online courses while delivering high quality slides, voice and video and by aiming to allow both remote, and in-class students, to share the same unbiased experience. It is also a great tool for collaboration such that it can be used in industry as well. Currently BigBlueButton allows users to dial in to a voice conference with a telephone. This project will focus on integrating a soft-phone directly into BigBlueButton to allow soft-phone users to communicate with users that have dialled in with a telephone or cellular phone. This module can eliminate all voice-conference telephone costs. This will be beneficial for BigBlueButton users at facilities where they are given not given sufficient security rights to install third party VoIP applications.

Method
Throughout the project, we will be following an agile development process using a twoweek iteration period. We have chosen the agile development process due to the unpredictability of open source software available. In each iteration, the goal is to make incremental progress towards the final product by separating the project into clear

identifiable tasks. In order to increase our open source experience, our project will be hosted at Google Code which will enable us to do version control, project deliverables and to maintain a project wiki page. This will also allow us to interact frequently with customers and to use other open source practices such as the active use of the development mailing lists. Before we are able to build this module, we will need to familiarize ourselves with the current state of the project and the languages used. Flex, red5, Asterisk, sub-versioning and the SIP technology are all areas that are new to us. Along with this, we will need to research into any open source SIP components that could be useful in the development of this module, and compare them.

Proposed Timeline
There are four main phases in the development of this project. Phase 1 : Research into the project and the tools available. 1. Set up project with Google Code, version control and install BigBlueButton 2. Research into available open source technology. Risk : We assume this has low risk since there is sufficient documentation available. Phase 2 : Design a soft-phone compatible with the existing voice conference server. 1. Design soft-phone integration. 2. Learn to use Asterisk. 3. Implement and test a prototype of the soft phone. Risk : This stage has the highest risk because Asterisk is a complex system and we are constrained by the existing design. We predict that this phase will take the longest. This phase is vital to the completion of the project. Phase 3 : Integrate the soft-phone into the BigBlueButton source code. 1. Familiarize ourselves with BigBlueButton and Red5. 2. Design the BigBlueButton soft-phone integration. 3. Implement and test the soft-phone. Risk : We assume high risk since in implementing our code, other modules in BigBlueButton may not function correctly. Phase 4 : Create an interface that matches that of BigBlueButtons. 1. Learn to use Flex and Java action scripts 2. Design the interface to match that of BigBlueButtons 3. Implement and Test client 4. Rigorous testingof the final product. Risk : We assume that this has low risk since altering the interface should not effect the functionality of the soft-phone or BigblueButton.

Phase 4.4 5-Sep-08 19-Sep-08 3-Oct-08 17-Oct-08 31-Oct-08 14-Nov-08 28-Nov-08 12-Dec-08 26-Dec-08 9-Jan-09 23-Jan-09

Phase 4.3

Phase 4.2

Phase 4.1

Phase 3.3

Phase 3.2

Phase 3.1

Phase 2.3

Phase 2.2

Phase 2.1

Phase 1.2

Phase 1.1

Oral Presentation

Poster Fair

Project Timeline

Deliverable Schedule

Final Project Report Oral Presentation Written Progress Final Project 5-Sep-08 19-Sep-08 3-Oct-08 17-Oct-08 31-Oct-08 14-Nov-08 28-Nov-08 12-Dec-08 26-Dec-08 9-Jan-09 23-Jan-09 6-Feb-09 6-Feb-09 20-Feb-09 6-Mar-09 20-Mar-09 3-Apr-09 20-Feb-09 6-Mar-09 20-Mar-09 3-Apr-09

Draft of Final