Web-Conferencing System SAViiMeeting

Similar documents
Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

An Introduction to VoIP Protocols

Digital Audio and Video Data

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

RTP / RTCP. Announcements. Today s Lecture. RTP Info RTP (RFC 3550) I. Final Exam study guide online. Signup for project demos

APTA TransiTech Conference Communications: Vendor Perspective (TT) Phoenix, Arizona, Tuesday, VoIP Solution (101)

Simple Voice over IP (VoIP) Implementation

technology standards and protocol for ip telephony solutions

Digital Speech Coding

Frequently Asked Questions

QOS Requirements and Service Level Agreements. LECTURE 4 Lecturer: Associate Professor A.S. Eremenko

Rev Technology Document

Multimedia Communications Voice over IP

Voice-Over-IP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Clearing the Way for VoIP

Transport Layer Protocols

How To Recognize Voice Over Ip On Pc Or Mac Or Ip On A Pc Or Ip (Ip) On A Microsoft Computer Or Ip Computer On A Mac Or Mac (Ip Or Ip) On An Ip Computer Or Mac Computer On An Mp3

Introduction to Packet Voice Technologies and VoIP

VOICE OVER IP AND NETWORK CONVERGENCE

Classes of multimedia Applications

Encapsulating Voice in IP Packets

point to point and point to multi point calls over IP

Basic principles of Voice over IP

Grandstream Networks, Inc.

Troubleshooting VoIP and Streaming Video Problems

DVoIP: DYNAMIC VOICE-OVER-IP TRANSFORMATIONS FOR QUALITY OF SERVICE IN BANDWIDTH CONSTRAINED ENVIRONMENTS

SIP Trunking and Voice over IP

Connect your Control Desk to the SIP world

TECHNICAL CHALLENGES OF VoIP BYPASS

QoS issues in Voice over IP

PERFORMANCE ANALYSIS OF VIDEO FORMATS ENCODING IN CLOUD ENVIRONMENT

(Refer Slide Time: 01:46)

Voice over IP (VoIP) Overview. Introduction. David Feiner ACN Introduction VoIP & QoS H.323 SIP Comparison of H.323 and SIP Examples

IP-Telephony Real-Time & Multimedia Protocols

Using the ClearSight Analyzer To Troubleshoot the Top Five VoIP Problems And Troubleshooting Streaming Video

Performance Evaluation of VoIP Services using Different CODECs over a UMTS Network

Application Note. IPTV Services. Contents. Title Managing IPTV Performance Series IP Video Performance Management. Overview IPTV Services...

ADVANTAGES OF AV OVER IP. EMCORE Corporation

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Glossary of Terms and Acronyms for Videoconferencing

- Basic Voice over IP -

Protocols and Architecture. Protocol Architecture.

Multimedia Networking and Network Security

Receiving the IP packets Decoding of the packets Digital-to-analog conversion which reproduces the original voice stream

LifeSize Desktop Installation Guide

Calculating Bandwidth Requirements

ANALYSIS OF LONG DISTANCE 3-WAY CONFERENCE CALLING WITH VOIP

Lab Exercise Objective. Requirements. Step 1: Fetch a Trace

How To Understand The Differences Between A Fax And A Fax On A G3 Network

Alarms of Stream MultiScreen monitoring system

Applications that Benefit from IPv6

For version p (September 4, 2012)

High-Speed Thin Client Technology for Mobile Environment: Mobile RVEC

VoIP Technologies Lecturer : Dr. Ala Khalifeh Lecture 4 : Voice codecs (Cont.)

MPEG Unified Speech and Audio Coding Enabling Efficient Coding of both Speech and Music

Streaming Stored Audio & Video

Final for ECE374 05/06/13 Solution!!

Note monitors controlled by analog signals CRT monitors are controlled by analog voltage. i. e. the level of analog signal delivered through the

Quick Start. Guide. The. Guide

Voice Over IP. Priscilla Oppenheimer

Speech Signal Processing: An Overview

Level 1 Technical. Networking and Technology Basics. Contents

AN Application Note: FCC Regulations for ISM Band Devices: MHz. FCC Regulations for ISM Band Devices: MHz

UC-One 2014 R Frequently Asked Questions

Voice Over Internet Protocol(VoIP)

4. H.323 Components. VOIP, Version 1.6e T.O.P. BusinessInteractive GmbH Page 1 of 19

Introduction and Comparison of Common Videoconferencing Audio Protocols I. Digital Audio Principles

White paper. Latency in live network video surveillance

Question: 3 When using Application Intelligence, Server Time may be defined as.

VoIP Bandwidth Calculation

District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification

Chapter 3 ATM and Multimedia Traffic

Improved user experiences are possible with enhanced FM radio data system (RDS) reception

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

Propagation Channel Emulator ECP_V3

VidyoConferencing Network Administrators Guide

Mobile Communications Chapter 9: Mobile Transport Layer

Internet Access to a Radio Astronomy Observatory Whitham D. Reeve ( 2012 W. Reeve)

VIDEOCONFERENCING. Video class

Contents. Connection Guide. What is Dante? Connections Network Set Up System Examples Copyright 2015 ROLAND CORPORATION

IP Ports and Protocols used by H.323 Devices

Networked AV Systems Pretest

PCM Encoding and Decoding:

Wide Area Monitoring, Control, and Protection

VIDEOCONFERENCE. 1 Introduction. Service Description Videoconferece

Implementing an In-Service, Non- Intrusive Measurement Device in Telecommunication Networks Using the TMS320C31

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

Curso de Telefonía IP para el MTC. Sesión 2 Requerimientos principales. Mg. Antonio Ocampo Zúñiga

The Problem with Faxing over VoIP Channels

Figure1. Acoustic feedback in packet based video conferencing system

Implementing VoIP support in a VSAT network based on SoftSwitch integration

Understanding Latency in IP Telephony

THE BCS PROFESSIONAL EXAMINATIONS BCS Level 5 Diploma in IT. October 2009 EXAMINERS' REPORT. Computer Networks

Analog-to-Digital Voice Encoding

Voice over IP. Demonstration 1: VoIP Protocols. Network Environment

Narrow Bandwidth Streaming Video Codec

Voice over IP Protocols And Compression Algorithms

Construct User Guide

Written examination in Computer Networks

Transcription:

Web-Conferencing System SAViiMeeting Alexei Machovikov Department of Informatics and Computer Technologies National University of Mineral Resources Mining St-Petersburg, Russia amachovikov@gmail.com Abstract In this paper the structure of web-conferencing system named SAViiMeeting is described. This system contains server part which consists from web-portal, database, database-proxy, media-server, http-proxy, sip-gate and mobile-proxy and clients for Microsoft Windows, Microsoft Windows Phone, BlackBerry and Android. Also some technical solutions which have been developed for this system such as method of heterogeneous data synchronization, frame independent audio codecs, method of real-time data transmission through HTTP and UDP-based reliable data transfer protocol are considered. SAViiMeeting s audio codecs have been noted in 2009 Unified Communications TMC Labs Innovation Award Winners and SAViiMeeting system in whole has been named as Unified Communications Product of the Year in 2008 and 2009. Keywords- Web-conferencing systems; frame independent audio codecs; real-time data transfer protocols I. INTRODUCTION Web-conferencing systems such as Cisco WebEx and Adobe Connect are increasingly used now for production management and distance learning. One such system has been developed by Bradon Technologies Ltd. (Canada) in 2006-2010. This system was called SAViiDesk and later renamed to SAViiMeeting ( SAVii is abbreviation for Synchronized Audio Video Interactivity through Internet which is consonant with the word savvy ). In this paper I would like to present the system structure and some technical solutions which have been designed by me. II. SYSTEM STRUCTURE Like the overwhelming majority of Internet network services, SAViiMeeting system uses client/server technology. The client end of the system is represented by applications for Microsoft Windows and Microsoft Windows Phone. There are also lightweight Java-versions of clients for mobile devices of BlackBerry and Android types. Landline, mobile and IPtelephones can be used as only-audio clients. The server end of the system is represented by a combination of servers, proxy and gateways operating under the control of Linux or Microsoft Windows. It includes: Web-portal of SAViiMeeting system which is responsible for user authorization, conference planning, distribution of invitations to conference participants, run client applications, etc. Database management system (DBMS) used for storage of information about SAViiMeeting clients, conferences held by them, etc. The fifth version of system can use MySQL or DB2. Database proxy is used for creation of an encrypted channel for communication between DBMS and other components of the server end. Such organization allows installation of the transmitting components at the customer s site. Media-server is the main transmitting component of the system. Clients connect to the Media-server and send data through it. Interaction of clients and other components of the server end with the Media-server is realized with using of secure UDP-based protocol. The task of the Media-server also is archiving of conferences and reproducing them at the clients requests. HTTP-proxy that used to connect clients that failed to connect to the Media-server directly. The main reason of connection errors is caused by presence of a firewall which blocks the UDP protocol. The client operates with the HTTP-proxy by the HTTP protocol which is allowed by all firewalls. SIP-gate which is a gateway to IP-telephony provider. IP-telephony provider receives calls from only-audio clients that are connected to it. If an IP-telephony client is based on SIP/RTP-protocols, it can connect to the SIP-gate directly. Mobile-proxy which serves light Java-versions of clients for mobile devices. The fifth version of SAViiMeeting system can serve three types of customers: public (individual), small and medium business (SMB) and enterprise. The information flows in the SAViiMeeting system are shown in Figure 1. - 292 -

The work with SAViiMeeting system can be described in the following way. The conference host enters the Web-portal with using of the name and password received upon registration. Using tools implemented in the Web-portal, the host plans the conference by choosing the time for it and invites participants. New participants are added by e-mail addresses. Each participant receives an invitation e-mail with the link to run the client application and the telephone number with the pin code for connecting via the telephone. At the appointed time the host runs the client application for Microsoft Windows and waits for participants to connect. Participants also run its clients and enter the conference. Those who have a computer with a soundcard, a microphone and speakers/earphones run a full client. Later the host can transfer his rights to such participants. Others either run a client in the deaf-and-mute mode and use the telephone or a mobile device. The client for Microsoft Windows Phone is fully functional. Java-clients for BlackBerry and Android can only receive images from the host s desktop. After a sufficient number of participants have connected to the conference, the Figure 1. The information flows in SAViiMeeting system host starts the presentation. He turns on his microphone and a video-camera, places presentation materials on his desktop, marks them with a frame and enables screen capture. If required, he has a possibility of drawing with a marker inside the captured field. Participants viewing the host s presentation and can speak with him and other participants if their microphones are not blocked. The participant can attract the host s attention by raising his hand (pushing a special button). If the host considers it necessary, he can transfer the right of leading the presentation to one of the participants. The conference can be archived for further viewing. The desktop of host s computer with SAViiMeeting application interface is shown in Figure 2. III. SOME TECHNICAL SOLUTIONS During development of SAViiMeeting systems some serious technical problems have been solved. I would like to describe four such problems and their solutions. A. Synchronization of Heterogeneous Data - 293 -

In the web-conferencing system there is a problem of synchronous playback of heterogeneous data such as speech of the host, its video image, images from his desktop, etc. To solve this problem a lot of different solutions were proposed. First, many try to pass all the data in a single stream and create a tight synchronization between heterogeneous data. However, this method of transmission has serious problems with interruption of the data flow in case of bad communication channel. These interruptions the stronger, the greater the amount of data transmitted per unit of time. So, the bulk data which do not require very stronger continuity (for example, images from the desktop) brings a negative effect to the transfer of data that require it, but take a small amount in the stream (for example, speech). Another more correct way is to pass different data in different flows. In this case synchronization between data streams is organized, as a rule, with the using of time stamps. This method is realized, for example, in RTP (Real-time Transport Protocol). But the transport layer there is no information about the physical meaning of transmitted data, so data which require continuity (speech) can be stopped before the arrival of the data which do not require continuity (image from the desktop). So, I came to the idea of natural data synchronization. Each data stream I try to transfer and play in real time. The data which are late are discarded. Request for the retransmission of the lost and corrupted data is not done. Accordingly, all the data are played simultaneously. Many years of successful operation of the SAViiMeeting system is confirmed the validity of this idea. Figure 2. Desktop of host s computer B. Audio Compression for Transmission over a Channel with Losses In 1999-2002, we with Kirill Stolyarov are developed some low speed frame independent audio codecs for 2400, 4800, 9600 and 19200 bps [1]. These codecs can be used in communication channels with losses without additional methods of data protection, such as FEC (Forward Error Correction). These codecs are used in SAViiMeeting system. Consider briefly the algorithms of our codecs. 2400 bps codec. The recorded speech signal (8 khz, 16 bit) divided by 180 ms windows is passed through third-order highpass and low-pass Butterworth filters with cutoff frequencies 100 Hz and 3900 Hz. Filtered window is divided into 8 subwindows for 22.5 ms. Each sub-window is divided into five frequency bands {0-500, 500-1000, 1000-2000, 2000-3000, 3000-4000} with using of sixth-order Butterworth filters. For the first four ranges an indication tone/noise is calculated. If the first two bands have the tone indication the pitch period is calculated. Also for each band the gain coefficient is calculated. Additionally, for the entire sub-window the jitter coefficient and linear spectral pairs are calculated. These parameters are packed into a bit buffer and transmitted to the remote side. At the remote side on the basis of pitch period, jitter coefficient, gain coefficient and tone/noise indicator the excitation signal is created. After interpolation, this signal is fed to the synthesis filter based on linear prediction coefficients calculated from the linear spectral pairs. The output of this filter is the synthesized speech signal. 4800 bps codec. Processed as well as 2400 bps codec signal is divided into six 30 ms sub-windows. For each sub-window - 294 -

the linear prediction coefficients are calculated and converted into linear spectral pairs. Then, the original signal is passed through the inverse filter, based on the linear prediction coefficients. Obtained signal is divide into two parts. For the first part (180 samples) parameters of adaptive codebook initialization are calculated. By the second part (1260 samples) parameters to generate adaptive and algebraic codebooks are calculated. These parameters are packed into a bit buffer and transmitted to the remote side. On the remote side on the base of parameters for adaptive and algebraic codebooks the excitation signal is synthesized. This signal is passed through a filter based on the linear prediction coefficients. The output of this filter is obtained synthesized speech signal. 9600 bps codec. This codec is generally similar to the 4800 bps codec, but it does not use an algebraic codebook. Instead, amplitudes and positions of pulses which substitution into the excitation signal allow minimize the deviation of the synthesized signal from the source are calculated. The algorithm of sequence of pulses calculation is our know-how. Using this sequence of pulses can significantly increase the quality of synthesized speech. 19200 bps codec. The algorithm of this codec is completely identical to the 9600 bps codec algorithm. More high speed of this codec allows increase the number of optimal pulses and, as result, of synthesized speech quality. Computational cost of our codecs in MIPS (Million Instructions Per Second) are presented in Table 1. The table shows that the computational costs are low, especially in the decoder. This means that our codecs should be used in the webconferencing systems where the parallel decoding of multiple flows is required. TABLE I. COMPUTATIONAL COST OF CODECS Codec Encoder, MIPS Decoder, MIPS 2400 bps 8 3 4800 bps 6 < 1 9600 bps 8 < 1 19200 bps 10 < 1 In 2009 our codecs were shown as Unified Communications TMC Labs Innovation Award Winners [2]. Recently, due to the improvement of communication channels quality, some wideband speech codecs for 16 khz speech signal have been developed. Sampling increasing results in a significant increase in intelligibility and naturalness of speech. The classic representative of this group is the codec SILK, which is used in the Skype system. In 2010 we have developed our own wideband codec for 50 kbps which provides excellent quality of the reconstructed speech with extremely low computational cost (Encoder - 0.5 MIPS, Decoder - 0.2 MIPS). This codec we will use in the next version of SAViiMeeting system. C. Work in corporate networks All real-time data transfer protocols (standard as RTP and special as media transfer protocol for SAViiMeeting system) are working on the base of UDP protocol. But unfortunately, in corporate networks UDP protocol is always blocked. In these networks only TCP protocol and based on it HTTP/HTTPS are allowed and the data is transferred only through caching HTTP proxy. In this regard, I am faced with a problem: how to organize the real-time data transfer with using of a protocol that is not designed for this? I have proposed the following solution. To transfer each type of data its own TCP-connection is established. Data transmission is organized with using of POST and GET methods of HTTP protocol. In case of bad communication channel using the TCP protocol rapidly increases the data delivery delay and leads to loss of real time. To eliminate this effect, new TCP-connection is created with a specific time interval (in the SAViiMeeting system 10 sec.). This new connection is used to continue the data transfer. Data that have not been transferred through old connection is removed. This method can be used in the presence of corporate HTTP-proxy. In this case, no-caching option must be indicated in the request and response headers. HTTPS protocol also can be used. Exploitation of the SAViiMeeting system is showed an efficiency of the proposed method. The actual link quality, of course, seriously degrades with the deterioration of channel quality, but the external channels in the corporate sector have good quality. D. Data transfer through poor communication channels In contrast to the corporate sector, in private sector there are practically no problems with UDP protocol blocking, but a problem of a channel quality is often present. Of course, if the channel quality is completely very bad, the real-time communication is impossible. However, users with such channels should be able to download and view archives. In contrast to the live conference, playback does not require the transmission of data in real time and it can be implemented using the TCP protocol. However, the data transfer speed with using of this protocol seriously degrades with deterioration of the communication channel quality. It is caused by the fundamental flaw of the TCP protocol, when in the delivery confirmation packet sent only the expected number of the next packet. So, if for example, the packet number five was lost and six, seven and eight were not lost, all of them will be re-transmitted, because the transmitter does not have information about their successful delivery. To eliminate this problem and reduce useless data transfer through poor communication channel, I have proposed a proprietary protocol based on the UDP which provides a guaranteed data delivery. The essence of it is that for each received packet a confirmation with information on eight previous packets is sent. If the packet is delivered, it sets a flag 1, if not - 0. Transmitter analyzes this information and resends only undelivered packets. - 295 -

Testing of this protocol is showed that, in comparison with the TCP protocol, a real data delivery speed provided by them is decreased significantly slowly with deterioration of channel quality. IV. CONCLUSION In this paper I described the structure of SAViiMeeting system and give a brief description how to use this system. The system contains server part which consists from the following services: web-portal, database, database-proxy, media-server, http-proxy, sip-gate and mobile-proxy. The client part is presented by clients for Microsoft Windows, Microsoft Windows Phone, BlackBerry and Android. Also some technical solutions which have been developed for this system, for example: 1. method of heterogeneous data synchronization; 2. frame independent audio codecs; 3. method of real-time data transfer through HTTP; 4. UDP-based reliable data transfer protocol. SAViiMeeting s audio codecs have been noted in 2009 Unified Communications TMC Labs Innovation Award Winners [2] and SAViiMeeting system in whole has been named as Unified Communications Product of the Year in 2008 [3] and 2009 [4]. The system is available for to thirty days of trial use and exploitation. The link is http://www.saviimeeting.com. REFERENCES [1] Machovikov, A. and Stolyarov, K., 2001. System for Speech Communication through Internet. In: Matousek V., Mautner P., Moucek R. and Tauser K. (eds) Text, Speech and Dialogue. The 4th International Conference, TSD 2001, Zelezna Ruda, Czech Republic, Proceedings. Lecture Notes in Computer Science 2166 Springer 2001, ISBN 3-540- 42557-8, pp. 229-236. [2] 2009 Unified Communications TMC Labs Innovation Award Winners Announced. Available at: http://news.tmcnet.com/news/2009/05/21/4191731.htm, 20.03.2013. [3] TMC's Unified Communications Magazine Announces 2008 Product of the Year Award Winners. Available at: http://www.tmcnet.com/news/2009/03/12/4051798.htm, 20.03.2013. [4] TMC's Unified Communications Magazine Announces 2009 Product of the Year Award Winners. Available at: http://unifiedcommunications.tmcnet.com/topics/unifiedcommunications/articles/81558-tmcs-unified-communicationsmagazine-announces-2009-product-the.htm, 20.03.2013. - 296 -