Just In Time Conferencing Integrating Conferencing and Calendars!

advertisement
Just In Time Conferencing
Integrating Conferencing and Calendars!
Gautam Arora: GT ID# 902408804
Gaurav Mullick: GT ID# 902385139
1. Motivation and Objectives
VOIP technology is pushing the barriers of innovation allowing users not to be dependent on
telecom providers and enable the development of next generation applications. These are
not limited to those that can be run off messenger applications like Skype and mobiles but
have crossed boundaries to make inroads into the Web 2.0 domain. We wish to use this
emergence of the VOIP platform and its seamless integration with Web to solve the
problems associated with setting up, managing, remembering and automating conference
calls. The novelty of our solution lies in the aspect that we plan to integrate our conference
manager with calendaring applications.
2. Related work
Conference Managers have a big presence in enterprises and play an important role in
workflow management in Call Centers, Customer Relationship Management (CRM) etc. VOIP
solutions like Skype[1] allow users to setup conference calls to assist collaborative activities
of distributed development teams. Asterisk offers compelling offering as a open source and
extensible conferencing server but has a high learning curve for deployment in disparate
customer environments. Sun and Ericsson recently developed a Conference Manager [2]
using the Sun Labs Voice Bridge, SIP Servlets and AJAX technology as a convincing usecase
of bringing voice to the web. There exists solutions by Zimbra which try to integrate thei
Collaboration Suite along with Asterisk but there has not been a solution that tries the
complete integration between Conference Managers and Calendars allowing a more flexible
and painless approach to managing conference calls while also being able to schedule them
optimally.
3. Proposed work
To better aid the understanding and development of our project goals, we have divided
them into components that can be built, deployed and tested individually and also hold
importance and challenges of their own.
1. Audio/Video Conference Manager using conferencing server (like Asterisk, Convedia
Media Server) using SIP Servlets [Core component] This module will be responsible for
setup of audio and video call setups between multiple participants. To achieve this goal, we
plan to use Asterisk SIP-enabled server[3] which is an industry-standard Open IP PBX. The
module will be able to setup outgoing calls to all the registered participants and also
incorporate a feature called “Follow Me” which will allow the calls to be routed to multiple
devices that are used by a single user to track the specific user. Architecturally, we plan to
use database triggers or Messaging Systems (like ActiveMQ) to initiate the process of setup
of the call by calling associated SIP Servlets (which are Java Servlets that can be deployed
on SIP containers and allow the creation of Proxy, B2BUA etc.)
2. Web Application frontend for conference call management (using Ruby on Rails) Though
we wish to move to complete integration with a Calendaring Suite like Zimbra, for the initial
prototyping of our application we plan to develop a web frontend using Ruby on Rails. This
will allow us to be able to test our solution technically, asses our design decisions before we
move to the next development phase. Alternate approaches we are considering are RAGI
(Ruby Asterisk Gateway Interface)[4] and Adhearsion[5] framework which allow the
creation of VOIP applications using Asterisk and call act as a testbed for our project
development.
3. Integration with Calendaring applications (like Zimbra Collaboration Suite) The major
motivation for our work is the integration with Calendaring applications. This will allow a
user to not only to be able to manage the schedules of setting his conference calls where he
can use shared calendars to better schedule such calls, but the main use case our
application wishes to solve is auto setup of calls at designated times. This holds the benefit
of automating a rather mundane task of having users to remember their pin codes and dial
into the call. Integration with a calendaring application platform like Zimbra Collaboration
suite will be the ultimate goal that we are aiming achieve.
The components and their interconnections are shown below:
Based on our initial system evaluation, we envision a HTTP/SIP callflow as shown:
4. Plan of action
Hardware Resources required:
3 machines acting as servers hosting either web service, database, SIP Application Server
and Asterisk/Convedia[7] conferencing server. Each machine would require the following
system configuration:
CPU: Intel Core 2 Duo 2.16Ghz
Memory: 2GB 667MHz
2 mobile phones for testing
Software Resources required:
OS: Red Hat Enterprise Linux 4 OS
Database MySQL 5 Database
Web Server: Apache 2.2.0 Web Server
Application Server: Sailfin SIP Application Server
Conferencing Server: Asterisk PBX or Convedia Media Server
Development Environment: JDK 5.0, Java EE 5, Ruby 1.8.6, Rails 2.0
Timeline:
Week #
Dates
Tasks
1
Feb 19 – Feb 24
Learn Asterisk
2
Feb 25 – Mar 2
Deploying Asterisk
3
Mar 3 – Mar 9
Learn Ruby on Rails/RAGI
4
Mar 10 – Mar 16
Develop Web Frontend
5
Mar 17 – Mar 23
Developing SIP proxy,
registrar
6
Mar 24 – Mar 30
Developing SIP conference
manager
7
Mar 31 – Apr 6
Integration with calendars
8
Apr 7 – Apr 13
Testing of Application
9
Apr 14 – Apr 20
Project Report +
Presentation
10
Apr 21 – Apr 25
Project Demo
5. Evaluation and Testing Method
As given in the proposed work section above we have three modules which are more or less
self reliant and can function independently of each other. Thus to test each of them we will
do the following:
1. Conference Manager: This should be able to successfully set up a call to multiple mobile
phones at the correct time. It would be triggered by the SIP Application Server which would
retrieve this information from the database.
2. Web Frontend: This should accept requests to set up calls and should pass on this data to
the SIP Application Server so that it may be stored in the database.
3. Calendaring Application: This should provide the facility to check the desired persons
calendar so that an appropriate conference call can be set up at an appropriate time.
If all 3 modules are successfully tested as described above the application as a whole will
function properly and the end result will be achieved.
6. Bibliography
[1] Conference Call Power - Skype Journal : http://www.skypejournal.com/blog/archives/
2005/04/conference_call_1.php
[2] Sun Conference Manager : http://research.sun.com/projects/mc/confmgr.html
[3] Asterisk: http://asteriskguru.org/
[4] Ruby Asterisk Gateway Interface (RAGI): http://www.snapvine.com/code/ragi/
[5] Adhearsion: http://adhearsion.com/
[6] Asterisk Zimlet: http://wiki.zimbra.com/index.php?title=Asterisk_VOIP_Zimlet
[7] Convedia: http://www.radisys.com/products/Media-Servers.cfm
[8] Ruby on Rails: “Agile Web Development with Rails: Second Edition”
[9] Conman: http://www.experimentalstuff.com/Technologies/Asterisk/
conman-astricon2006.pdf
Download