Development of a videoconference application with speech recognition features using HTML5 APIs
|
|
|
- Myles Thomas
- 9 years ago
- Views:
Transcription
1 Development of a videoconference application with speech recognition features using HTML5 APIs A May 12 th, 2014 [email protected] 1
2 Abstract This paper describes the development process of a real-time videoconference application with features related to speech recognition including real-time captioning, transcription storage and instant translation. Among other things, this paper include details on how the WebRTC web API was used for developing a multi-user videoconferencing application and how the HTML5 s Web Speech API was used for providing real-time captioning. [email protected] 2
3 Table of Contents Abstract... 2 Table of Contents Introduction Project description Goal Milestones Requirements Equipment Node.js Google Chrome Development Web server index.html Multi-user WebRTC application Real-time captioning Transcription storage Instant translation Spoken translated subtitles Appearance Next steps Conclusions Acknowledgements References Appendix A. HTTP server and HTTPS server implementation code [email protected] 3
4 1. Introduction Web technologies have experienced a major development during the last years. The power and versatility demonstrated by these technologies point the browser as the appropriate platform for the development of a new breed of applications. No need of installation, always updated and available worldwide, are some of the advantages inherent to this kind of applications. Included as one more API of the HTML5 specification, the WebRTC web API enables web browsers with real-time communications capabilities using simple JavaScript. Although WebRTC is still under development, it has already shown a great ability establishing high quality videoconferences. In May 2014, WebRTC is compatible with some of the major browser vendors: Google Chrome, Mozilla Firefox and Opera. In addition, the Android version of these web browsers are also WebRTC capable. With many WebRTC applications online nowadays, the need of a real-time captioning solution for these applications in order to be used by hearing impaired people was the first motivation for the initiation of this project. Once we explored the Web Speech API and its possibilities, the goals went further, aiming other possible uses as, for example, instant translation. [email protected] 4
5 2. Project description The project exposed in this paper combines the WebRTC web API, the Web Speech API and other HTML5 APIs in order to obtain a multi-user videoconferencing application able to provide real-time caption and other features related to speech recognition Goal To develop a WebRTC multi-user video conference application with some extra features based on speech recognition as real-time captioning, instant translation and transcription storage Milestones In order to manage the application development in an efficient way, the next milestones were established: Multi-user videoconferencing application Real-time captioning Transcription storage Instant translation The development of each of these milestones will be explained later in this document. [email protected] 5
6 3. Requirements The next requirements are needed in order to use the application Equipment Since the project is a web application, it needs to be hosted in a web server. A computer with internet connection and a public IP are needed. These are the characteristics of computer used: Processor: Intel Core 2 CPU [email protected] x 2 Memory: 3.8 GiB Operating system: Ubuntu Release (precise) 64-bit Kernel Linux generic GNOME We chose Ubuntu Desktop LTS as operating system. This operating system fits our need of a free operating system with no major compatibility issues and an easy to use interface. Instructions about the download and the installation of this operating system can be found in the official Ubuntu web page[1] listed in the references of this document. This computer used one connection of the VoIP lab s 109 network. We used the IP , whose host name is dixie11.rice.iit.edu. You can easily know the IP of a Linux machine by executing the ifconfig command. The hostname of an IP address can be found out by executing the host <IP address> command. [email protected] 6
7 3.2. Node.js The server part of the application will use Node.js, a software platform for server-side and networking applications. These applications are written in JavaScript. Since the WebRTC web API is accessed using Javascript, choosing Node.js gives us the opportunity of write everything in Javascript making easier the communications between client and server. Node.js is available for download at the Node.js website[2]. In addition, we have used socket.io, a Node.js module that enables WebSockets. We use WebSockets for the message exchange between clients and server. Instructions of installation and usage can be found at the Socket.IO webpage[3] Google Chrome The clients must use Google Chrome[4] in order to being able to use all the implemented features. Although other browsers are WebRTC capable, Google Chrome is the only one that has implemented the WebSpeech API so far. The WebSpeech API will be the cornerstone for all the speech recognition features. [email protected] 7
8 4. Development The next sections explain in detail the development process of every functional element that was implemented for the completion of the project Web server In this section we will explain how the HTTP and HTTPS request are handled. The code of the implementation of both servers can be found in the appendix section A. In the appendix sections B and C there are explained some tools that make easier managing the server HTTP server All the requests received by the HTTP server will be redirected to the HTTPS server. A 301 Moved Permanently response will be provided. The HTTP server will take into consideration the relative path the request was trying to access redirecting the client to the same relative path in the HTTPS server. - Example: HTTPS server The advantage of using a HTTPS server for serving the application is that the application doesn't need to ask the user for permission to use his camera and microphone every time they had to be used. The application only needs to be granted access once to use them every time they are needed. The HTTPS server will behave as related next: - If the relative path of the requested address is compliant with the application s syntax (/room=<room> or /room=<room>&user=<user>) the HTTPS server will provide the room.html file where the WebRTC application will start. [email protected] 8
9 - If the requested file doesn t exists or it is one of the protected files (SSL private key and SSL certificate) the server will provide a 404 Not Found response and the user will be redirected to an error page. - Every other existing file requested will be provided along with a 200 OK response. In order to run the HTTPS server, a SSL certificate is needed. Information about how to get one can be found in appendix section D index.html The index.html page gives the user the opportunity of indicate his username and the name of the room he wants to join with a form. The initial.js script will verify that these fields are properly filled and then it will redirect the user to the room he has asked. The initial.js script also contains a listener for the enter key so the user can submit the form by pressing this key Multi-user WebRTC application For achieving this milestone we have used the MediaStream API and the RTCPeerConnection API included in the WebRTC web API Connection handling Once the user has downloaded the room.html the main.js script will execute. This script contains the client part of the WebRTC application. The typical application flow will be as follows: 1. The application will check if the user has already specified his username. If it is not specified, the user will be asked for it. 2. The user will established a WebSocket connection with the server and will request to join the room. All the message exchange between server and clients is made through WebSockets. [email protected] 9
10 3. The server will handle the user request: 3.1. If the username is already in use in the requested room the user will be asked for a different username. The server keeps a list with every user in every existing room If the username is not in use and the room doesn t exist, the room will be created If the username is not in use and the room exists, the user will join the room and the rest of users in the room will be notified that a new user has joined the room. 4. When a user joins a room the application will proceed to get his local stream using the MediaStream API. 5. When a user receives notice of a new user, he will create a new peer connection element, he will attach his local stream to it, and will wait for the other user to start the offer/answer exchange. 6. After joining a room and getting his local stream ready, if there are other users in the room, the user will create a peer connection element for every one of them and will start the offer/answer protocol in order to establish a peer to peer connection with each of them. The following ladder diagram exemplify the most important points of the application flow for establishing a call between two users: [email protected] 10
11 Once the connection phase is over there will be a peer to peer connection between each pair of users present in one room, resulting in a mesh network. In addition, we can have several different rooms simultaneously, so we can have more than one mesh. The next figure exemplify the situation of two rooms with 6 users in each room. Limits: Although proper measures of this fact are needed, we have observed that very few resources were used by the server for maintaining the WebSocket connections alive. Neither the processor usage, the memory usage or the bandwidth usage are important, so we think that a great number of WebSocket connections can be maintained at the same time with our current server MediaStream API We use the MediaStream API in order to gain access to the user's camera and microphone. As stated in the W3C Editor's Draft titled Media Capture and Streams[5], the MediaStream interface is used to represent streams of media data, typically (but not necessarily) of audio and/or video content. [email protected] 11
12 Usage: For obtaining the user's MediaStream we use the following code: navigator.getusermedia(constraints, successcallback, errorcallback); Where: constraints: This variable allow us to indicate constraints on the MediaStreamTracks we want to obtain. In our case the value of this variable is: {video: true, audio: true} successcallback: This parameter indicates the function that will be called if the getusermedia request is successful. In our case the local video will be attached to the HTML video element located in the local user area with that purpose and the user will start calling the rest of the users that have already joined the room. errorcallback: This parameter indicates which function will be called if the getusermedia request fails. In this case, the user will be alerted about the error. If the request is successful, we will obtain a MediaStream object as the one represented in the picture below. All the MediaStreamTracks inside a MediaStream object are automatically synchronized. [6] Figure by Justin Uberti and Sam Dutton. [email protected] 12
13 RTCPeerConnection API We use the RTCPeerConnection API for establishing peer to peer connections between users. This API is specifically designed for establishing audio and video conferences. It is almost transparent for the programmer. Some of their built-in duties are: Connecting to remote peers using NAT-traversal technologies such as ICE, STUN, and TURN. Managing the media engines (codecs, echo cancelation, noise reduction...). Sending the locally-produced streams to remote peers and receiving streams from remote peers. Sending arbitrary data directly to remote peers. Taking care of the security, using the most appropriate secure protocol for each of the WebRTC tasks. It uses HTTPS for the signaling, Secure RTP for the media and DTLs for data channel. A diagram showing some of the RTCPeerConnection features and how they are accessed is next: [7] Figure from WebRTC.org. [email protected] 13
14 More technical details about this API can be found in the next documents: WebRTC 1.0: Real-time Communication Between Browsers[8]. Javascript Session Establishment Protocol[9]. Usage: During the connection phase the user will create an RTCPeerConnection object for every user in the room. All these objects are stored in a JSON object using as key the username of the user for who the object has been created. When creating the RTCPeerConnection objects we specify the application's behavior for each of the next events: onaddstream: when the remote stream is added we will create dynamically all the HTML objects required for displaying the remote user's video and his subtitles. We will assign custom HTML id tags to each of these elements so we can recover them again when necessary. onremovestream: when remote stream is removed we will recover the HTML elements that were used for displaying this stream using the custom id assigned in the onaddstream event and we will remove them from the view. onicecandidate: when a user receives a new ICE candidate it will be sent to the remote user though the signaling server using WebSockets. ondatachannel: if the data channel is created by the remote user this event will be triggered. The local user will set the data channel up and store it for later use. We will send the subtitles through the data channel. In addition, when creating the RTCPeerConnection objects we also specify, if any, the STUN and TURN servers the application will be using for ICE. In our case, depending on which browser is the user using we will choose what server to use between Google's STUN, Mozilla's STUN and VoIP lab's STUN. In any case, we will also use the VoIP lab's TURN for solving difficult connectivity issues caused by NATs. [email protected] 14
15 ICE / STUN / TURN ICE, STUN and TURN are different mechanism for obtaining possible addresses where a peer can contact another peer. As stated in the RFC 5245[12], ICE is an extension to the offer/answer model, and works by including a multiplicity of IP addresses and ports in SDP offers and answers, which are then tested for connectivity by peer-topeer connectivity checks. The IP addresses and ports included in the SDP and the connectivity checks are performed using the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN). ICE can be used by any protocol utilizing the offer/answer model, such as the Session Initiation Protocol (SIP). While STUN works most of the times, in some very difficult situations TURN is the only option. TURN enables the communication between two users that can't find each other because of NATs by relaying their media. This is very expensive in system resources. In addition, there are some security flaws. TURN server s performance These are the characteristics of computer used as TURN server: Processor: Intel Core 2 Quad CPU [email protected] x 4 Memory: 7.6 GiB Operating system: CentOS Release 6.3 (Final) Kernel Linux el.x86_64 GNOME Although the computer used as TURN server is much better than the one used as web server, we have observed that due to the amount of load the TURN server has to deal with, makes this computer insufficient. For instance, if 2 clients need the TURN server for comunicating between them the TURN server will be dealing with 4 video streams (1 upstream and 1 downstream for each client). If 3 clients need to use the TURN server for communicating between them, the TURN server will be dealing with 12 video streams (2 uptream and 2 downstream for each client). This is too much load and only 3 clients are using it. The video the clients received from the TURN server will be low quality and it will freeze. The TURN server doesn't scale well. [email protected] 15
16 TURN server s security In order to get access and use the TURN server a password is needed. Since it is the client the one who should use the TURN server for relaying his media, this password should be in the client side. That means that the password can be easily found by any user that enters the application. This fact is a major security flaw. The TURN server password should be assigned dynamically somehow in order to improve the security. Reused code: I would like to put on record that I have used code from the WebRTC tutorial[13] written by Sam Dutton for the process of the SDPs during the offer/answer exchange. I followed his tutorial when I started with WebRTC and it didn't make much sense to me to re-implement this part in a different way since there are no many other different ways of implementing that. The functions taken from that code are: mergeconstraint, preferopus, extractsdp, setdefaultcodec and removecn Disconnection handling The server knows at every moment the state of every client's connection thanks to Socket.IO. In case a user closes the application's tab, the server will be informed and it will alert about it to the rest of the users that remains in the room in which the user that closed the application was. When a client is alerted about another client's disconnection, all the HTML elements that were used for displaying the disconnected user are removed from the application view dynamically. In addition, all the variables related to the disconnected user are removed: RTCPeerConnection object and RTCDataChannel object. [email protected] 16
17 4.4. Real-time captioning For achieving the Real-time captioning we will use the WebSpeech API for converting the user's voice into text and the WebRTC's data channel for sending the text (subtitles) to the remote user that is requesting them. Although the last WebSpeech API specification[10] dates October 2012, Google Chrome browser is the only browser that supports it. All the features related to speech recognition exposed in this paper don't work in any other browser at the moment. Chrome uses the same speech recognition service that other Google s products as the Android devices or the Google Glasses use SpeechRecognition interface The WebSpeech API is composed by 2 interfaces: the SpeechRecognition interface, used for converting speech to text, and the SpeechSyntesis interface, used for turning text to speech. The SpeechRecognition interface will be the cornerstone of the realtime captioning feature implemented in our application. Usage: As soon as a user joins a room, the application will request his permission for accessing the camera and the microphone. Since the application is hosted in a HTTPS server the application won't need to ask the user for permission again. This enable us to switch on or switch off the speech recognition feature without requesting the user for permission to access the microphone again. We will use the WebSocket connections to redirect remote users' requests for subtitles to the local user. Once a request for subtitles is received, the speech recognition will be switched on without the local user intervention. In order to save system resources and bandwidth, the subtitles will only be generated if a remote user is requesting them. The application will take the browser's default language as the default language for speech recognition. The user can modify the language used for speech recognition selecting the desired language inside the dropdown located at the left of the screen. Only some of the most common world languages have been included in the list in order to simplify the implementation. More languages can be added easily. [email protected] 17
18 After the speech recognition is turned on, the user's voice will be automatically sent to Google's speech recognition service. The application requests interim results. This means that the user will start receiving his transcribed speech even before of finishing the current phrase. Thanks to this set up, the remote user will feel the subtitles as real-time. The speech recognition feature is event driven. The onresult event will handle the results of the speech transcription. The results are JSON objects with a list of possible matches. We will take the most probable of these possible matches (the first one), and we will send it to the users that are requesting subtitles using the data channel. The results obtained contain an isfinal property that indicates that the phrase is completed. The application sends this property along with the subtitles to the receiving user in order to let him know if it is a final result or if it is just another interim result. The subtitle's text and the isfinal property are encapsulated in a JSON object in order to be sent as text though the data channel. The application has been implemented to keep the speech recognition alive while someone is requesting subtitles, keeping track of all the users that are requesting subtitles anytime. Although the speech recognition has been set up for requesting continuous speech recognition (recognition.continuous = true), Google's server will end the speech recognition eventually. The onend event defined in the application will call the keepspeechrecognitionaliveifneeded() function which will switch on the speech recognition again if needed RTCDataChannel At the same time that the application created a RTCPeerConnection element for every user in the room, an RTCDataChannel element was also created for each of them. All these elements are also stored in a JSON object using the remote user's username as key. We send text though the data channel using the next syntax: datachannel.send('text'); The RTCDataChannel interface is also event driven. The onmessage event will be triggered when a subtitle is received. Then, application will write the subtitle in the caption space located at the inferior part of the remote user's video element. [email protected] 18
19 Architecture The next diagram represent the typical situation in which a user (User A) request subtitles from other user (User B): 4.5. Transcription storage The aim of this feature is to store locally, in text format, anything said by anybody in a room. We use the IndexedDB API for achieving this. The IndexedDB API is also part of HTML5. We can create simple and easy to use databases using this API. For our application, when the users use it for the first time, a database with the next columns is created: id date room user text The database can easily be reviewed under the Resources tab of the Google Chrome's Developer Tools when accessing the application. [email protected] 19
20 Usage: The user can turn on or off the transcription storage feature by clicking the On and Off buttons placed at the left of the screen. When the transcription storage feature is turned on the application will request subtitles to all the users in the room and it will also start the local user speech recognition. When receiving subtitles from the remote users the application will check if the transcription storage is enabled. If it is enabled, the application will check if the received subtitle is a final subtitle before saving it in the database along with the user that said it, the room, the date and a unique id that is used as the database's primary key. Checking the isfinal subtitle's property makes possible to store once every phrase instead of saving each interim result. The transcription of the local speech goes through a similar process when it is received from the speech recognition service. For retrieving the stored transcriptions, the user have to click the "Browse stored transcription link". This link will open in a new tab so, in case there is any conference in progress, the conference won't finish. The transcriptionstorage.js script will display all the data stored inside the local database in a table Instant translation The application will translate the requested subtitles from the originating user's language to the terminating user's language using an online translation service Microsoft Translator Translation APIs are not free. Microsoft Translator[15] is the only one which offers some characters for free. However, since these free characters are limited to per month, we decide to only translate the final results of the speech recognition service. This decision make the translation feature to be slower and we cannot considered it real-time anymore. However, if we request translation for the interim results we will obtain a really good user experience in terms of quickness and we could consider it is real-time translation. [email protected] 20
21 In order to use the Microsoft Translator API I had to register a developer account. They gave me a password for using the translation service. In order to keep this password secret, it is stored in the server side. Because of this, all the translations request must go through the Node JS server. So, in case of requesting translated subtitles, they will go through the server instead of going through the data channel. A figure explaining this scenario is included in section Node module In order to simplify the server side code, since there is no official Javascript API for Microsoft Translator, I have used a node JS module developed by Kenan Shifflett called mstranslator[11] and that works as a Javascript API for Microsoft Translator Architecture The next figure illustrates the situation in which User A request translated subtitles from User B. Notice that in order to translate the subtitles from the originating user's language to the terminating user's language we need to specify these language in some of the messages exchanged between clients and server. [email protected] 21
22 4.7. Spoken translated subtitles Once we have the subtitles translated, the next step will consist in saying them aloud using the text to speech feature included in the WebSpeech API SpeechSynthesis interface Using a similar procedure than the one we use for the transcription storage, if the spoken translated subtitles feature is enabled, the application will check the isfinal property of the subtitles it receives. If the isfinal property is true, the application will read the subtitle aloud. Chrome version 34, the most up-to-date Chrome's version right now, have 9 built-in speech synthesis voices. The languages supported are English, Spanish, French, Italian, German, Japanese, Korean and Chinese. In case the local user s language is not among the supported ones the subtitles wouldn t be read. A well explained tutorial called Web apps that talk - Introduction to the Speech Synthesis API[16] about how to use the SpeechSynthesis interface can be found between the rest of the references of this document Appearance CSS3 was used for obtaining the appearance of the application. However, I would like to remark a couple of facts UIkit front-end framework A front-end framework was used in order to obtain good looking and functional user interface elements easily. More information about how to obtain and use this framework is available at the UIkit webpage[17]. There are a lot of front-end frameworks freely available on the Internet. A list[18] of them can be found in the references section. [email protected] 22
23 manageremoteareasclassnames() function Every time a user connect or disconnect from a room the manageremoteareasclassnames() function will be called. This function is in charge of adapting the size of the video elements in which the remote users are displayed depending on how many of them are actually in the room. [email protected] 23
24 5. Next steps 5.1. Solve TURN server issues The security issue with the TURN server should be solved. Maybe a system that provides dynamic access to the TURN server using tokens exchange can solve the problem. The users that can access the TURN server should be created and destroyed dynamically. Concerning the TURN server s performance I think the only way of improving it is using more powerful computers and/or more than one computer and balance the traffic between the available resources. However, all these solutions are expensive and they don t scale well anyway Measure application performance Having data about the application performance would be really useful. Some of these measurements could be: - Maximum number of concurrent WebSocket connections that the web server can handle. - TURN server s resources used per client and maximum number of clients that the TURN server can handled without degrading the conference quality too much. - Maximum number of concurrent users in a conference that can be supported by an average client computer. [email protected] 24
25 5.3. Develop related applications Other applications related to speech recognition can be developed. Some ideas for this applications could be: - Connect the application to the PSTN in other to receive calls from the PSTN and generate subtitles for them. - Connect the application to other lab's testbeds as the NG911 testbed. - Develop other ideas to make this technology useful. For example, an online platform where people that is learning languages can meet for practicing each other's language with the help of real-time captioning. [email protected] 25
26 6. Conclusion The project result is pretty nice. All the goals were achieved and the application can actually be used by real users. Right now it is accessible at However, the application is not perfect. Some of its more important flaws are the TURN server limitations, the speech recognition service accuracy and the translation feature's delay. But we have to take into consideration that this project was developed by a single information technology student, using free resources and technologies that are still under development. I'm sure about that if we give these technologies a little more time and if we use the proper resources we will be enjoying real-time captioning for videoconference really soon and with a really good quality. [email protected] 26
27 Acknowledgements I would like to thank the next people for their help with this project. It wouldn't have been possible without them. Carol Davids, for her wise guidance and advice. Also, for giving me the opportunity to present this project at the Student Presentations and Demonstrations event that was held on April 30 th, Tania Arenas de la Rubia, for her cool designs, including BaBL s background and logo. Javier Conde Monteoliva and Miguel Camacho Ruiz, for their priceless help about programming and WebRTC. Elias Yousef, for letting me use the TURN server he was working on. Don Monte and Nishant Agrawal, for the help with the hardware and the network connection. My family and friends, for their support. Thank you. [email protected] 27
28 References - [1] Ubuntu. Ubuntu Desktop. [Online; accessed 12-May-2014] - [2] Joyent, Inc. Node.js. [Online; accessed 12-May-2014] - [3] LearnBoost. Socket.IO. [Online; accessed 12-May-2014] - [4] Google. Chrome Browser. [Online; accessed 12-May-2014] - [5] Daniel C. Burnett, Adam Bergkvist, Cullen Jennings and Anant Narayanan. World Wide Web Consortium. Media Capture and Streams. [Online; accessed 12- May-2014] - [6] Justin Uberti and Sam Dutton. WebRTC. [Online; accessed 12-May-2014] - [7] Google Chrome team. WebRTC.org. [Online; accessed 12-May-2014] - [8] Adam Bergkvist, Daniel C. Burnett, Cullen Jennings and Anant Narayanan. World Wide Web Consortium. WebRTC 1.0: Real-time Communication Between Browsers. [Online; accessed 12-May-2014] - [9] J. Uberti and C. Jennings. Internet Engineering Task Force. Javascript Session Establishment Protocol. [Online; accessed 12-May-2014] - [10] Glen Shires and Hans Wennborg. World Wide Web Consortium. Web Speech API Specification. [Online, accessed 12-May-2014] - [11] Kenan Shifflett. Microsoft Translator API module for node.js. [Online, accessed 12-May-2014] [email protected] 28
29 - [12] J. Rosenberg. Internet Engineering Task Force. Interactive Connectivity Establishment (ICE). [Online; accessed 12-May- 2014] - [13] Sam Dutton. WebRTC codelab. [Online, accessed 12-May-2014] - [14] Sam Dutton. HTML5 Rocks. Getting started with WebRTC. [Online, accessed 12-May- 2014] - [15] Microsoft. Microsoft Translator. [Online, accessed 12-May-2014] - [16] Eric Bidelman. HTML5 Rocks. Web apps that talk - Introduction to the Speech Synthesis API. Introduction-to-the-Speech-Synthesis-API [Online, accessed 12-May-2014] - [17] UIKit. UIKit website. [Online, accessed 12-May-2014] - [18] usabli.ca. CSS Frontend Frameworks. [Online, accessed 12-May-2014] - [19] Glen Shires. Introduction to the Web Speech API. [Online, accessed 12-May-2014] - [20] Google Chrome. WebRTC demo. [Online, accessed 12-May-2014] - [21] Google Chrome. Web Speech API Demonstration. [Online, accessed 12- May-2014] - [22] Charlie Robbins. Forever s GitHub repository. [Online, accessed 12-May-2014] [email protected] 29
30 Appendix A. HTTP server and HTTPS server implementation code ///////////////////////////////////////////// //WEB SERVER: // DEPENDENCIES: var http = require('http'); var https = require('https'); var fs = require('fs'); var static = require('node-static'); var file = new static.server(); //SSL CERTIFICATE: var httpsoptions = { key: fs.readfilesync('dixie11.key'), cert: fs.readfilesync('dixie11_rice_iit_edu.crt') }; //HTTPS WEB SERVER: var HTTPSWebServer = https.createserver(httpsoptions, function(req, res) { //Serve room requests if (req.url.substring(1, 6) === 'room=' && req.url.indexof('&username=')!== 6) { file.servefile('/room.html', 200, {}, req, res); //Serve error404.html for hidden files } else if (req.url === '/dixie11.key' req.url === 'dixie11_rice_iit_edu.crt') { file.servefile('/error404.html', 404, {}, req, res); //Serve the rest of the files and handles 404 errors } else { file.serve(req, res, function(error, errorres) { if (error && (error.status === 404)) { file.servefile('/error404.html', 404, {}, req, res); } }); } }).listen(443); [email protected] 30
31 //HTTP WEB SERVER: Redirects all traffic to HTTPS server var HTTPWebServer = http.createserver(function(req, res) { res.writehead(301, {'Location': ' + req.url}); res.end(); }).listen(80); B. Forever Forever is the name of a Node JS module that will restart the application in case it is closed unexpectedly. In order to enable it we start our application using the next command in the folder where the server.js file is located: sudo forever start -l babl.log server.js babl.log will be log file and it will stored all the console's outputs of the application. It is located inside the.forever directory located at the user's home directory. More information about installation and usage of Forever can be found at its repository in GitHub[22]. C. Remote access For accessing and managing the server remotely we used the next tools: - Putty for Windows. - WinSCP for Windows. - JuiceSSH for Android. D. SSL certificate In order to run a HTTPS server we need to obtain a SSL certificate. Good information about how create it and the possible options to sign it can be found in the next article: - Creating SSL keys, CSRs, self-signed certificates, and.pem files[23]. For our application, we used a Comodo's 90 days free trial in order to avoid the browser's warning about being a non-trusted application during this period of time. [email protected] 31
32 E. Application screenshot 32
Building A Self-Hosted WebRTC Project
Building A Self-Hosted WebRTC Project Rod Apeldoorn EasyRTC Server Lead Priologic Software Inc. [email protected] Slides will be available at: http://easyrtc.com/cloudexpo/ A Little About Priologic
User Guide FOR TOSHIBA STORAGE PLACE
User Guide FOR TOSHIBA STORAGE PLACE (This page left blank for 2-sided "book" printing.) Table of Contents Overview... 5 System Requirements... 5 Storage Place Interfaces... 5 Getting Started... 6 Using
WebEx. Remote Support. User s Guide
WebEx Remote Support User s Guide Version 6.5 Copyright WebEx Communications, Inc. reserves the right to make changes in the information contained in this publication without prior notice. The reader should
Specifications SMART Bridgit software
PLEASE THINK BEFORE YOU PRINT Specifications SMART Bridgit software Version 4.2 Product description SMART Bridgit conferencing software is a cost-effective client/server application that lets you easily
Frequently Asked Questions: Cisco Jabber 9.x for Android
Frequently Asked Questions Frequently Asked Questions: Cisco Jabber 9.x for Android Frequently Asked Questions (FAQs) 2 Setup 2 Basics 4 Connectivity 8 Calls 9 Contacts and Directory Search 14 Voicemail
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Eucalyptus 3.4.2 User Console Guide
Eucalyptus 3.4.2 User Console Guide 2014-02-23 Eucalyptus Systems Eucalyptus Contents 2 Contents User Console Overview...4 Install the Eucalyptus User Console...5 Install on Centos / RHEL 6.3...5 Configure
Media Server Installation & Administration Guide
Media Server Installation & Administration Guide Smarter Surveillance for a Safer World On-Net Surveillance Systems, Inc. One Blue Hill Plaza, 7 th Floor, PO Box 1555 Pearl River, NY 10965 Phone: (845)
Installing and Configuring vcloud Connector
Installing and Configuring vcloud Connector vcloud Connector 2.0.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new
WebRTC: Why You Should Care and How Avaya Can Help You. Joel Ezell Lead Architect, Collaboration Environment R&D
WebRTC: Why You Should Care and How Can Help You Joel Ezell Lead Architect, Collaboration Environment R&D What is WebRTC? A set of standards being defined by the IETF (protocols) and the W3C (JavaScript
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
MultiSite Manager. Setup Guide
MultiSite Manager Setup Guide Contents 1. Introduction... 2 How MultiSite Manager works... 2 How MultiSite Manager is implemented... 2 2. MultiSite Manager requirements... 3 Operating System requirements...
FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC for Service Providers FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This document is copyright of FRAFOS GmbH. Duplication or propagation or
WebRTC: Why and How? FRAFOS GmbH. FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC: Why and How? FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This docume nt is copyright of FRAFOS GmbH. Duplication or propagation or e xtracts
http://webrtcbook.com
! This is a sample chapter of WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web by Alan B. Johnston and Daniel C. Burnett, Second Edition. For more information or to buy the paperback or ebook
Plesk 11 Manual. Fasthosts Customer Support
Fasthosts Customer Support Plesk 11 Manual This guide covers everything you need to know in order to get started with the Parallels Plesk 11 control panel. Contents Introduction... 3 Before you begin...
RTC:engine. WebRTC SOLUTION SIPWISE AND DEUTSCHE TELEKOM / TLABS ANNOUNCE COOPERATION FOR THE
SIPWISE AND DEUTSCHE TELEKOM / TLABS ANNOUNCE COOPERATION FOR THE WebRTC SOLUTION RTC:engine Sipwise and Deutsche Telekom AG / Telekom Innovation Laboratories signed a cooperation agreement for joint development
Remote Support. User Guide 7.23
Remote Support User Guide 7.23 Copyright 1997 2011 Cisco and/or its affiliates. All rights reserved. WEBEX, CISCO, Cisco WebEx, the CISCO logo, and the Cisco WebEx logo are trademarks or registered trademarks
Bitrix Intranet Portal. Videoconferencing. Installation And Usage Guide
Bitrix Intranet Portal Videoconferencing. Installation And Usage Guide Contents Introduction... 3 Chapter 1. General Information... 4 Chapter 2. Configuring Your Bitrix Intranet Portal For Videoconferencing...
FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com
WebRTC for the Enterprise FRAFOS GmbH FRAFOS GmbH Windscheidstr. 18 Ahoi 10627 Berlin Germany [email protected] www.frafos.com This document is copyright of FRAFOS GmbH. Duplication or propagation or extracts
GRAVITYZONE HERE. Deployment Guide VLE Environment
GRAVITYZONE HERE Deployment Guide VLE Environment LEGAL NOTICE All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, including
Sophos Mobile Control Installation guide. Product version: 3
Sophos Mobile Control Installation guide Product version: 3 Document date: January 2013 Contents 1 Introduction...3 2 The Sophos Mobile Control server...4 3 Set up Sophos Mobile Control...16 4 External
Using the VCDS Application Monitoring Tool
CHAPTER 5 This chapter describes how to use Cisco VQE Client Configuration Delivery Server (VCDS) Application Monitoring Tool (AMT). VCDS is a software component installed on each VQE Tools server, the
Asterisk SIP Trunk Settings - Vestalink
Asterisk SIP Trunk Settings - Vestalink Vestalink is a new SIP trunk provider that has sprung up as a replacement for Google Voice trunking within Asterisk servers. They offer a very attractive pricing
CEFNS Web Hosting a Guide for CS212
CEFNS Web Hosting a Guide for CS212 INTRODUCTION: TOOLS: In CS212, you will be learning the basics of web development. Therefore, you want to keep your tools to a minimum so that you understand how things
Installing and Configuring vcloud Connector
Installing and Configuring vcloud Connector vcloud Connector 2.7.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new
Jive Connects for Openfire
Jive Connects for Openfire Contents Jive Connects for Openfire...2 System Requirements... 2 Setting Up Openfire Integration... 2 Configuring Openfire Integration...2 Viewing the Openfire Admin Console...3
IceWarp to IceWarp Server Migration
IceWarp to IceWarp Server Migration Registered Trademarks iphone, ipad, Mac, OS X are trademarks of Apple Inc., registered in the U.S. and other countries. Microsoft, Windows, Outlook and Windows Phone
ACADEMIC TECHNOLOGY SUPPORT
ACADEMIC TECHNOLOGY SUPPORT Tegrity: Getting Started with Lecture Capture (Last updated: 2/23/15) [email protected] 439-8611 www.etsu.edu/ats Table of Contents: Table of Contents:... 2 Overview... 1 Objectives...
WebRTC and VoIP: bridging the gap
Images Source: Google Images WebRTC and VoIP: bridging the gap [email protected] @victorpascual h>p://es.linkedin.com/in/victorpascualavila What is WebRTC (Real Time CommunicaDons)? Intro
Asta Powerproject Enterprise
Asta Powerproject Enterprise Overview and System Requirements Guide Asta Development plc Kingston House Goodsons Mews Wellington Street Thame Oxfordshire OX9 3BX United Kingdom Tel: +44 (0)1844 261700
WA1826 Designing Cloud Computing Solutions. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1
WA1826 Designing Cloud Computing Solutions Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum
Aspera Connect 2.4.7. Linux 32/64-bit. Document Version: 1
Aspera Connect 2.4.7 Linux 32/64-bit Document Version: 1 2 Contents Contents Introduction... 3 Setting Up... 4 Upgrading from a Previous Version...4 Installation... 4 Set Up Network Environment... 5 Basic
Lesson 7 - Website Administration
Lesson 7 - Website Administration If you are hired as a web designer, your client will most likely expect you do more than just create their website. They will expect you to also know how to get their
SeeTec ExpansionPackage
SeeTec ExpansionPackage Contents Contents 1 SeeTec WebClient...1 1.1 System requirements... 2 1.1.1 Server requirements for Apache HTTP Server, SeeTec TranscodingEngine (STE) and SeeTec ApplicationGateway
Acano solution. Acano Clients v1.7 Getting Started Guide. June 2015 76-1047-03-D
Acano solution Acano Clients v1.7 Getting Started Guide June 2015 76-1047-03-D Contents Contents 1 Introduction... 4 1.1 cospaces... 4 1.2 cospace Users... 4 1.3 The Acano Client... 5 2 Overview... 6 2.1
Copyright 2012 Trend Micro Incorporated. All rights reserved.
Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the software, please review the readme files,
FileMaker Server 15. Getting Started Guide
FileMaker Server 15 Getting Started Guide 2007 2016 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks
Installation Guide. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. All rights reserved.
Installation Guide Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. All rights reserved. Copyright 1993-2015 QlikTech International AB. All rights reserved. Qlik, QlikTech, Qlik Sense, QlikView,
webrtc and XMPP Philipp Hancke, XMPP Summit 2013
webrtc and XMPP Philipp Hancke, XMPP Summit 2013 What is this webrtc thing and why should XMPP developers care? I assume you know what XMPP is you might have heard of Jingle the XMPP framework for establishing
Introduction to Mobile Access Gateway Installation
Introduction to Mobile Access Gateway Installation This document describes the installation process for the Mobile Access Gateway (MAG), which is an enterprise integration component that provides a secure
ReadyNAS Remote White Paper. NETGEAR May 2010
ReadyNAS Remote White Paper NETGEAR May 2010 Table of Contents Overview... 3 Architecture... 3 Security... 4 Remote Firewall... 5 Performance... 5 Overview ReadyNAS Remote is a software application that
FileMaker Server 13. Getting Started Guide
FileMaker Server 13 Getting Started Guide 2007 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker,
SOA Software API Gateway Appliance 7.1.x Administration Guide
SOA Software API Gateway Appliance 7.1.x Administration Guide Trademarks SOA Software and the SOA Software logo are either trademarks or registered trademarks of SOA Software, Inc. Other product names,
District of Columbia Courts Attachment 1 Video Conference Bridge Infrastructure Equipment Performance Specification
1.1 Multipoint Control Unit (MCU) A. The MCU shall be capable of supporting (20) continuous presence HD Video Ports at 720P/30Hz resolution and (40) continuous presence ports at 480P/30Hz resolution. B.
Lindenbaum Web Conference
Product information Lindenbaum Web Conference Lindenbaum Your partner for high-quality conferencing Scalable, secure and easy-to-use web conference Lindenbaum Web Conference is a secure and reliable web
VoIPOffice Communicator User Guide Version 3.1.5, January 2013
VoIPOffice Communicator User Guide Version 3.1.5, January 2013 Introduction VoIPOffice Communicator is a computer application that turns your PC into a powerful unified communications tool. It provides
BaseManager & BACnet Manager VM Server Configuration Guide
BaseManager & BACnet Manager VM Server Configuration Guide For Self-Hosted BaseManager & BACnet Manager Servers Deployed as Virtual Machines August 27, 2015 Customer Service 1-866-294-5847 i Baseline Inc.
Sharp Remote Device Manager (SRDM) Server Software Setup Guide
Sharp Remote Device Manager (SRDM) Server Software Setup Guide This Guide explains how to install the software which is required in order to use Sharp Remote Device Manager (SRDM). SRDM is a web-based
VCCC Appliance VMware Server Installation Guide
VCCC Appliance VMware Server Installation Guide Content Preface... 4 System Requirements... 4 Installation Procedure... 4 CCC Virtual Machine Installation... 5 CCC Virtual Machine Management... 12 Resource
Ekran System Help File
Ekran System Help File Table of Contents About... 9 What s New... 10 System Requirements... 11 Updating Ekran to version 4.1... 13 Program Structure... 14 Getting Started... 15 Deployment Process... 15
TANDBERG MANAGEMENT SUITE 10.0
TANDBERG MANAGEMENT SUITE 10.0 Installation Manual Getting Started D12786 Rev.16 This document is not to be reproduced in whole or in part without permission in writing from: Contents INTRODUCTION 3 REQUIREMENTS
SMART Bridgit software
Specifications SMART Bridgit software Version 4.5 Product description SMART Bridgit conferencing software is a cost-effective client/server application that lets you easily schedule meetings and connect,
ShoutCast v2 - Broadcasting with SAM Broadcaster
ShoutCast v2 - Broadcasting with SAM Broadcaster In this tutorial we are going to explain how to broadcast to our ShoutCast v2 running under CentovaCast 3 using SAM Broadcaster. Differences Between ShoutCast
Sharpdesk V3.5. Push Installation Guide for system administrator Version 3.5.01
Sharpdesk V3.5 Push Installation Guide for system administrator Version 3.5.01 Copyright 2000-2015 by SHARP CORPORATION. All rights reserved. Reproduction, adaptation or translation without prior written
Configuration Guide. BES12 Cloud
Configuration Guide BES12 Cloud Published: 2016-04-08 SWD-20160408113328879 Contents About this guide... 6 Getting started... 7 Configuring BES12 for the first time...7 Administrator permissions you need
Best Practices for Role Based Video Streams (RBVS) in SIP. IMTC SIP Parity Group. Version 33. July 13, 2011
Best Practices for Role Based Video Streams (RBVS) in SIP IMTC SIP Parity Group Version 33 July 13, 2011 Table of Contents 1. Overview... 3 2. Role Based Video Stream (RBVS) Best Practices Profile... 4
EXTENDED FILE SYSTEM FOR F-SERIES PLC
EXTENDED FILE SYSTEM FOR F-SERIES PLC Before you begin, please download a sample I-TRiLOGI program that will be referred to throughout this manual from our website: http://www.tri-plc.com/trilogi/extendedfilesystem.zip
EMC Data Protection Search
EMC Data Protection Search Version 1.0 Security Configuration Guide 302-001-611 REV 01 Copyright 2014-2015 EMC Corporation. All rights reserved. Published in USA. Published April 20, 2015 EMC believes
ONLINE ACCOUNTABILITY FOR EVERY DEVICE. Quick Reference Guide V1.0
ONLINE ACCOUNTABILITY FOR EVERY DEVICE Quick Reference Guide V1.0 TABLE OF CONTENTS ACCOUNT SET UP Creating an X3watch account DOWNLOADING AND INSTALLING X3WATCH System Requirements How to install on a
OpenScape Web Collaboration
OpenScape Web Collaboration Give your teams a better way to meet Enabling the Bring-Your-Device-to-Work era OpenScape Web Collaboration is a scalable, reliable, and highly secure web conferencing solution
Frequently Asked Questions
Frequently Asked Questions Contents Installing Lync 2010 Setting Up Devices Managing Contacts Using Lync 2010 as a Phone Using Lync 2010 with Office Outlook Scheduling Meetings Inviting People to Meetings
Security Guide. BlackBerry Enterprise Service 12. for ios, Android, and Windows Phone. Version 12.0
Security Guide BlackBerry Enterprise Service 12 for ios, Android, and Windows Phone Version 12.0 Published: 2015-02-06 SWD-20150206130210406 Contents About this guide... 6 What is BES12?... 7 Key features
Bridgit conferencing software Version 4.6
Specifications Bridgit conferencing software Version 4.6 Product description Bridgit conferencing software is a cost-effective client/server application that lets you easily schedule meetings and connect,
Desktop Surveillance Help
Desktop Surveillance Help Table of Contents About... 9 What s New... 10 System Requirements... 11 Updating from Desktop Surveillance 2.6 to Desktop Surveillance 3.2... 13 Program Structure... 14 Getting
Virtual CD v10. Network Management Server Manual. H+H Software GmbH
Virtual CD v10 Network Management Server Manual H+H Software GmbH Table of Contents Table of Contents Introduction 1 Legal Notices... 2 What Virtual CD NMS can do for you... 3 New Features in Virtual
ThinPoint Quick Start Guide
ThinPoint Quick Start Guide 2 ThinPoint Quick Start Guide Table of Contents Part 1 Introduction 3 Part 2 ThinPoint Windows Host Installation 3 1 Compatibility... list 3 2 Pre-requisites... 3 3 Installation...
Pendragon Forms Industrial
Pendragon Forms Industrial Version 7 Installation & Reference Guide for Android Devices Contents What Is Pendragon Forms Industrial?... 2 Installing Pendragon Forms Industrial... 2 Installing Pendragon
AXIGEN Mail Server. Quick Installation and Configuration Guide. Product version: 6.1 Document version: 1.0
AXIGEN Mail Server Quick Installation and Configuration Guide Product version: 6.1 Document version: 1.0 Last Updated on: May 28, 2008 Chapter 1: Introduction... 3 Welcome... 3 Purpose of this document...
Creating a DUO MFA Service in AWS
Amazon AWS is a cloud based development environment with a goal to provide many options to companies wishing to leverage the power and convenience of cloud computing within their organisation. In 2013
Secure Web Appliance. SSL Intercept
Secure Web Appliance SSL Intercept Table of Contents 1. Introduction... 1 1.1. About CYAN Secure Web Appliance... 1 1.2. About SSL Intercept... 1 1.3. About this Manual... 1 1.3.1. Document Conventions...
NEW AND IMPROVED! INSTALLING an IRC Server (Internet Relay Chat) on your WRT54G,GS,GL Version 1.02 April 2 nd, 2014. Rusty Haddock/AE5AE
INSTALLING an IRC Server (Internet Relay Chat) on your WRT54G,GS,GL Version 1.02 April 2 nd, 2014 Rusty Haddock/AE5AE NEW AND IMPROVED! - WHAT THIS DOCUMENT IS. 1 / 12 This document will attempt to describe
Online Meeting Instructions for Join.me
Online Meeting Instructions for Join.me JOINING A MEETING 2 IS THERE A WAY TO JOIN WITHOUT USING THE WEBSITE? 2 CHATTING WITH OTHER PARTICIPANTS 3 HOW DO I CHAT WITH ONE PERSON AT A TIME? 3 CAN I CHANGE
5. At the Windows Component panel, select the Internet Information Services (IIS) checkbox, and then hit Next.
Installing IIS on Windows XP 1. Start 2. Go to Control Panel 3. Go to Add or RemovePrograms 4. Go to Add/Remove Windows Components 5. At the Windows Component panel, select the Internet Information Services
WebRTC.... GWT & in-browser computation. Alberto Mancini, Francesca Tosi JooinK.com
WebRTC... GWT & in-browser computation Alberto Mancini, Francesca Tosi JooinK.com WebRTC Plug-in free realtime communication WebRTC is a free, open project that enables web browsers with Real-Time Communications
Connecting With Lifesize Cloud
There are several different ways to connect to a Lifesize Cloud video conference meeting. This guide will provide you instructions for each way. Ways to Join a Lifesize Cloud Video Conference After getting
MS Live Communication Server managed by TELUS. Getting Started Guide. v. 1.0
MS Live Communication Server managed by TELUS Getting Started Guide v. 1.0 Table of Contents Getting Connected...1 Managing Contacts...2 Searching for a Contact...2 Adding a Contact to Your Contacts List...2
To ensure you successfully install Timico VoIP for Business you must follow the steps in sequence:
To ensure you successfully install Timico VoIP for Business you must follow the steps in sequence: Firewall Settings - you may need to check with your technical department Step 1 Install Hardware Step
System Administration Training Guide. S100 Installation and Site Management
System Administration Training Guide S100 Installation and Site Management Table of contents System Requirements for Acumatica ERP 4.2... 5 Learning Objects:... 5 Web Browser... 5 Server Software... 5
Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference
Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise
Apache Server Implementation Guide
Apache Server Implementation Guide 340 March Road Suite 600 Kanata, Ontario, Canada K2K 2E4 Tel: +1-613-599-2441 Fax: +1-613-599-2442 International Voice: +1-613-599-2441 North America Toll Free: 1-800-307-7042
REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER
NEFSIS TRAINING SERIES Nefsis Dedicated Server version 5.1.0.XXX Requirements and Implementation Guide (Rev 4-10209) REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER Nefsis Training Series
Dell One Identity Cloud Access Manager 7.0.2. Installation Guide
Dell One Identity Cloud Access Manager 7.0.2 2014 Dell Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in this guide is furnished under
Ipswitch Client Installation Guide
IPSWITCH TECHNICAL BRIEF Ipswitch Client Installation Guide In This Document Installing on a Single Computer... 1 Installing to Multiple End User Computers... 5 Silent Install... 5 Active Directory Group
Spontania User Setup Guide
Spontania User Setup Guide ClearOne 5225 Wiley Post Way Suite 500 Salt Lake City, UT 84116 Telephone 1.800.945.7730 1.801.975.7200 Spontania Support 1.801.974.3612 TechSales 1.800.705.2103 FAX 1.801.977.0087
Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset)
Gigabyte Management Console User s Guide (For ASPEED AST 2400 Chipset) Version: 1.4 Table of Contents Using Your Gigabyte Management Console... 3 Gigabyte Management Console Key Features and Functions...
Backup & Disaster Recovery Appliance User Guide
Built on the Intel Hybrid Cloud Platform Backup & Disaster Recovery Appliance User Guide Order Number: G68664-001 Rev 1.0 June 22, 2012 Contents Registering the BDR Appliance... 4 Step 1: Register the
Connecting With Lifesize Cloud
There are several different ways to connect to a Lifesize Cloud video conference meeting. This guide will provide you instructions for each way. Ways to Join a Lifesize Cloud Video Conference After getting
LiveTalk Call Center solution
LiveTalk Call Center solution I. Introduction LiveTalk enables real-time interaction between callers and a pool of technical and customer support or sales agents via a completely web based interface. With
ODU WebEx: Frequently Asked Questions
ODU WebEx: Frequently Asked Questions 1. What is WebEx? 2. How do students/participants access WebEx? 3. When should I log in to attend the event? 4. What is the meeting number? 5. Where do I find the
Telephony Toolbar Corporate. User Guide
Telephony Toolbar Corporate User Guide Release 7.1 March 2011 Table of Contents 1 About This Guide...7 1.1 Open Telephony Toolbar - Corporate... 7 1.2 First Time Login... 8 1.3 Subsequent Use... 11 2 Using
How do I start a meeting?
join.me FAQ How do I start a meeting? of 1 https://join.me/welcome/webhelp/joinme/join.me/jm_faq_start.html#top... 9/18/2012 10:52 AM > How do I start a meeting? On a PC or Mac, go to the join.me website
PaperCut Payment Gateway Module - Heartland Quick Start Guide
PaperCut Payment Gateway Module - Heartland Quick Start Guide This guide is designed to supplement the Payment Gateway Module documentation and provides a guide to installing, setting up and testing the
Setting Up Resources in VMware Identity Manager
Setting Up Resources in VMware Identity Manager VMware Identity Manager 2.4 This document supports the version of each product listed and supports all subsequent versions until the document is replaced
FUSION 3CX APP NOTES 11/03/2015
11/03/2015 TABLE OF CONTENTS About3CX....3 Purpose, Scope and Audience... 4 Introduction to Fusion Connect... 5 Information for Provisioning Fusion Connect Asterisk SIP Trunk... 5 SRV Records... 6 Testing
Sophos Mobile Control Installation guide
Sophos Mobile Control Installation guide Product version: 2.5 Document date: July 2012 Contents 1 Introduction... 3 2 The Sophos Mobile Control server... 4 3 Set up Sophos Mobile Control... 13 4 Running
Help. F-Secure Online Backup
Help F-Secure Online Backup F-Secure Online Backup Help... 3 Introduction... 3 What is F-Secure Online Backup?... 3 How does the program work?... 3 Using the service for the first time... 3 Activating
