Course: ELET 4421 Computer Networks
Instructor: Sergio Chacon
Oscar Verduzco
Liang Shan
Introduction:
• Technological description:
The process is to transmit video, audio, and data across a communications network enabling geographically dispersed participants to meet synchronously.
• Primary goals
• Establish an audio/visual communication between two users remotely (Unicast).
• Establish an audio/visual communication among 3 or more users (Multicast).
• Learn about the picture and sound quality in a video conference.
• Find efficient and priceless software that allow multicast sessions.
• Find the components required a computer user when a video conference is established.
• Implementation:
The method of implementation of this project will be to install a camera or webcam to a computer in two remote places, these two computers connected to the network and by means of a software, share audio and video between these two to understand the process behind audio/video sharing. Once the principles for audio/video sharing are understood the next and real problem to solve will be the ability to perform multicast, this is; to be able to stream audio/video to different computers at the same time. Having achieved this, the final task will be to research what components of the computers participating in the video session are in use during the connection and what allows this to happen.
Resources (Software):
• Access Grid:
Access Grid is a combination of technologies that allow video/audio conferences. It includes multimedia large-format displays, presentations and interactive interface.
It has Unicast and Multicast capabilities with minimal impact to network are bandwidth.
Supports HD streaming requiring large amounts of bandwidth and supports different environments such as Windows, Mac and UNIX.
Access Grid is free of charge but complicated to install and use. Days can be spent getting the application to work properly.
o Conclusion: This application is recommended for Universities or institutions that have the time, experience and resources to get it working. It is not recommended for corporate users or individuals given its complicated environment.
• Skype (Video):
A p2p application mainly designed for audio conferences.
It offers Unicast videoconferencing but Multicast is not supported.
It has a friendly interface and little knowledge is required to get the application working.
The communication is p2p based and its content is encrypted thus, offering security of information.
Does not provide desktop sharing.
o Conclusion: Skype is an application that given the ease of use, is highly recommended for Unicast videoconferencing but not so for Multicast.
• MSN Messenger (Video):
An application mainly intended for text chat. It has video chat capabilities with acceptable resolution.
Provides Unicast (1-to-1) videoconference only.
Does not provide desktop sharing while doing vide.
Takes user’s bandwidth.
Uses SIP protocol for video and audio, which might represent a problem when using firewall.
Only supported by Windows OS.
o Conclusion: MSN is not reliable software for videoconference since it offers too little options. Its use of bandwidth is higher than the other applications, requiring a higher speed ISP to the user.
• ooVoo:
ooVoo is a free server based application that provides high-quality video and audio to up to six people simultaneously.
Supports Unicast and Multicast (up to six connections) videoconference.
Doesn’t use user’s PC as a relay server, ooVoo uses its own.
Offers videoconference recording capabilities.
Compatible with Windows and Mac. Not available for UNIX.
Offers a web-based version, so people do not necessarily need to install the application in the computer.
Provides desktop sharing.
o Conclusion: ooVoo is good and reliable software for videoconferencing. It uses its own server to link parties thus, saving user’s bandwidth. It provides Multicast to up to six people.
Installation requirements:
o General :
WebCam.
Microphone.
Internet connection.
Computer.
o Access Grid (Ver. 3.2 Beta):
Windows, Mac and UNIX.
1GHz
512 MB RAM
20GB of space.
Nvidia GeForce4 Ti 4600 or Nvidia Quadro4 900 XGL
Support Twinview.
o Skype (Ver. 4.1):
Windows, Mac.
1GHz.
256MB RAM.
22MB of space.
DirectX 9.
Broadband connection (385 Kbps).
o MSN Messenger (Ver. 8):
Windows.
800 MHz
256MB of Ram (Average).
Direct X 9.
Any internet connection (quality will vary).
o ooVoo (Ver. 2.2):
Windows, Mac.
1GHz.
256MB RAM.
20MB of space.
Broadband connection.
Testing
• ooVoo:
o Unicast
o Multicast.
• Procedure:
To know the capabilities of ooVoo, the members researched the software from its official website and then put hands on the software to test these claimed capabilities. To establish multicast the team must get at least a third computer with webcam and install ooVoo in it and then establish connection among them.
• Accomplishments:
After analyzing the features including in ooVoo, the team realized that this software is more friendly than the expected. ooVoo does not only let people engage in multiple videoconferences at a time, it also allows desktop sharing, file transfer and chat; but possible one of the most useful capabilities of this software is the “Share Link” tool which provides the ooVoo user with a link to share with other people so they can join the videoconference without requiring to have an account or even have ooVoo installed in their computers. This tool allowed the team to engage in a 6 way multicast video conference as shown next:
• ooVoo allows:
Desktop Sharing: Desktop sharing only allows the parties involved to see the user’s shared desktop live but “take over” is not possible at least in this freeware version.
• File Sharing:
• Problems encountered:
The problems the team faced during the experiment were that software such as Skype and MSN Messenger did not provide multicast capabilities.
• Conclusion:
After this experiment, the team realized that ooVoo is a good tool to communicate when looking for multiple videoconferences at a time. Its “Share Link” feature makes ooVoo a friendly tool in which computer knowledge is not really needed since its interface is easy to understand. This software will allow its users to engage in up to a six videoconferences at a time.
• Wireshark
Wireshark is software which allows technicians to capture data when running the system. The team used wireshark and gathered performances of ooVoo, unlike some other software, ooVoo uses Jabber XML and XMPP protocols so there was no RTP. The following pictures and graph shows the result from wireshark including UTP, TCP, Jabber XML, and XMPP.
(reffer to attached .doc file for related images)
By analyzing the data gathered from wireshark, the team was able to identify how does video over IP works, in this case with ooVoo. The result was that ooVoo uses the “three way handshake” protocol to establish the videoconference. When one party wants to send an invitation to join the videoconference, the request is sent to the ooVoo server, this server then sends the request to the other party (ies) and upon acceptance, the videoconference is established among all through the ooVoo server.
It is important to point out that the data showed that the connection is not p2p since the IP of the clients are never revealed to each other, ooVoo server works as the intermediate all the time and all the messages and connection are realized through it.
Another characteristic is that different from other protocols used for videoconferencing, ooVoo uses Jabber protocol and XMPP to handle video encoding instead of RTP protocol.
Next are screenshots of data gathered by wireshark:
(reffer to attached .doc file for related images)
• Jabber protocol:
Jabber is an open, secure, ad-free alternative to consumer IM services like AIM, ICQ, MSN, and Yahoo. It is a set of streaming XML protocols and technologies that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time.
The primary use of Jabber is to give existing applications instant connectivity through messaging and presence features, contact list capabilities, and back-end services that transparently enrich the available functionality."
XML is used in Jabber to define the common basic data types: message and presence. Essentially, XML is the core enabling technology within the abstraction layer, providing a common language with which everything can communicate. XML allows for painless growth and expansion of the basic data types and almost infinite customization and extensibility anywhere within the data.
(reffer to attached .doc file for related images)
• XMPP protocol:
Video is being transmitted through UDP they go to server then to the user.
Extensible Messaging and Presence Protocol (XMPP), a protocol for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network endpoints. While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications. Although XMPP is not wedded to any specific network architecture, to date it usually has been implemented via a client-server architecture wherein a client utilizing XMPP accesses a server over a TCP connection, and servers also communicate with each other over TCP connections.
The following diagram provides a high-level overview of this architecture where "-" represents communications that use XMPP and "=" represents communications that use any other protocol.
The symbols are as follows:
C1, C2, C3 = XMPP clients
S1, S2 = XMPP servers
G1 = A gateway that translates between XMPP and the protocol(s) used on a foreign (non-XMPP) messaging network
FN1 = A foreign messaging network
FC1 = A client on a foreign messaging network
C1----S1---S2---C3
|
C2----+--G1===FN1===FC1
(reffer to attached .doc file for related images)
