Webrtc Web Browser Client SDK API Reference Guide Ver. 1.15

Total Page:16

File Type:pdf, Size:1020Kb

Webrtc Web Browser Client SDK API Reference Guide Ver. 1.15 API Reference Guide AudioCodes WebRTC Solutions for Enterprises WebRTC Web Browser Client Version 1.15 API Reference Guide Contents Table of Contents 1 Introduction ....................................................................................................... 11 1.1 Purpose ................................................................................................................ 11 1.2 Scope ................................................................................................................... 11 1.3 Benefits ................................................................................................................ 11 2 API Classes ........................................................................................................ 13 2.1 AudioCodesUA ..................................................................................................... 13 2.1.1 Standard Methods ...................................................................................................15 2.1.1.1 constructor ................................................................................................15 2.1.1.2 init .............................................................................................................15 2.1.1.3 setServerConfig ........................................................................................15 2.1.1.4 setAccount ................................................................................................16 2.1.1.5 login ..........................................................................................................16 2.1.1.6 logout ........................................................................................................16 2.1.1.7 setListeners ..............................................................................................16 2.1.1.8 call ............................................................................................................17 2.1.2 Advanced Methods ..................................................................................................18 2.1.2.1 setRegisterExtraHeaders .........................................................................18 2.1.2.2 call ............................................................................................................18 2.1.2.3 setUseSessionTimer ................................................................................19 2.1.2.4 setRegisterExpires ...................................................................................19 2.1.2.5 isInitialized ................................................................................................19 2.1.2.6 version ......................................................................................................19 2.1.2.7 setChromeAudioConstraints ....................................................................20 2.1.2.8 setConstraints ..........................................................................................20 2.1.2.9 setBrowsersConstraints ...........................................................................22 2.1.2.10 setUserAgent ............................................................................................23 2.1.2.11 setAcLogger .............................................................................................23 2.1.2.12 setJsSipLogger .........................................................................................23 2.1.2.13 setWebSocketKeepAlive ..........................................................................24 2.1.2.14 setReconnectIntervals ..............................................................................26 2.1.2.15 deinit .........................................................................................................26 2.1.2.16 setDtmfOptions .........................................................................................26 2.1.2.17 setOAuthToken ........................................................................................27 2.1.2.18 setEnableAddVideo ..................................................................................27 2.1.2.21 checkAvailableDevices .............................................................................28 2.1.2.22 getWR().stream.getInfo ............................................................................28 2.1.2.23 getWR().connection.getTransceiversInfo .................................................29 2.1.2.25 sendMessage ...........................................................................................29 2.1.2.26 setModes ..................................................................................................30 2.1.2.27 getNumberOfSBC ....................................................................................32 2.1.2.28 switchSBC ................................................................................................32 2.1.2.29 openScreenSharing ..................................................................................33 2.1.2.30 closeScreenSharing .................................................................................34 2.1.2.31 isScreenSharingSupported ......................................................................34 2.1.2.32 setNetworkPriority ....................................................................................34 2.1.2.33 subscribe ..................................................................................................34 2.1.2.34 notify .........................................................................................................35 2.2 AudioCodesSession ............................................................................................. 36 2.2.1 Standard Methods ...................................................................................................37 2.2.1.1 answer ......................................................................................................37 2.2.1.2 reject .........................................................................................................37 2.2.1.3 redirect......................................................................................................38 2.2.1.4 terminate...................................................................................................38 Version 1.15 3 WebRTC WebRTC Web Browser Client 2.2.1.5 muteAudio ................................................................................................39 2.2.1.6 muteVideo ................................................................................................39 2.2.1.7 isAudioMute ..............................................................................................39 2.2.1.8 isVideoMute ..............................................................................................39 2.2.1.9 sendDTMF ................................................................................................40 2.2.1.10 isOutgoing ................................................................................................40 2.2.1.11 data: map<String, Object> .......................................................................40 2.2.1.12 duration.....................................................................................................41 2.2.1.13 wasAccepted ............................................................................................41 2.2.1.14 isLocalHold ...............................................................................................41 2.2.1.15 isRemoteHold ...........................................................................................42 2.2.1.16 IsReadyToReOffer ...................................................................................42 2.2.1.17 hold ...........................................................................................................42 2.2.2 Advanced Methods ..................................................................................................43 2.2.2.1 answer ......................................................................................................43 2.2.2.2 reject .........................................................................................................43 2.2.2.3 redirect......................................................................................................43 2.2.2.4 getReplacesHeader ..................................................................................44 2.2.2.5 getRTCPeerConnection ...........................................................................44 2.2.2.6 getRTCLocalStream .................................................................................44 2.2.2.7 getRTCRemoteStream .............................................................................45 2.2.2.8 startSendingVideo ....................................................................................45 2.2.2.9 stopSendingVideo ....................................................................................46 2.2.2.10 hasVideo, hasSendVideo, hasReceiveVideo ...........................................46 2.2.2.11 getVideoStatus .........................................................................................46 2.2.2.12 hasEnabledSendVideo, hasEnabledReceiveVideo .................................47 2.2.2.13 getEnabledVideoStatus ............................................................................47 2.2.2.14 setRemoteHoldState ................................................................................47
Recommended publications
  • FOSDEM 2017 Schedule
    FOSDEM 2017 - Saturday 2017-02-04 (1/9) Janson K.1.105 (La H.2215 (Ferrer) H.1301 (Cornil) H.1302 (Depage) H.1308 (Rolin) H.1309 (Van Rijn) H.2111 H.2213 H.2214 H.3227 H.3228 Fontaine)… 09:30 Welcome to FOSDEM 2017 09:45 10:00 Kubernetes on the road to GIFEE 10:15 10:30 Welcome to the Legal Python Winding Itself MySQL & Friends Opening Intro to Graph … Around Datacubes Devroom databases Free/open source Portability of containers software and drones Optimizing MySQL across diverse HPC 10:45 without SQL or touching resources with my.cnf Singularity Welcome! 11:00 Software Heritage The Veripeditus AR Let's talk about The State of OpenJDK MSS - Software for The birth of HPC Cuba Game Framework hardware: The POWER Make your Corporate planning research Applying profilers to of open. CLA easy to use, aircraft missions MySQL Using graph databases please! 11:15 in popular open source CMSs 11:30 Jockeying the Jigsaw The power of duck Instrumenting plugins Optimized and Mixed License FOSS typing and linear for Performance reproducible HPC Projects algrebra Schema Software deployment 11:45 Incremental Graph Queries with 12:00 CloudABI LoRaWAN for exploring Open J9 - The Next Free It's time for datetime Reproducible HPC openCypher the Internet of Things Java VM sysbench 1.0: teaching Software Installation on an old dog new tricks Cray Systems with EasyBuild 12:15 Making License 12:30 Compliance Easy: Step Diagnosing Issues in Webpush notifications Putting Your Jobs Under Twitter Streaming by Open Source Step. Java Apps using for Kinto Introducing gh-ost the Microscope using Graph with Gephi Thermostat and OGRT Byteman.
    [Show full text]
  • Vidyo® Server for Webrtc Click to Collaborate
    Datasheet Vidyo® Server for WebRTC Click to Collaborate The Vidyo Server for WebRTC extends the Vidyo platform to include WebRTC capable browsers. Now join Vidyo conferences right from their web browser without any software installation. With a simple click-to-connect link, participants can enjoy up to HD video quality. The Vidyo Server for WebRTC is fully integrated with the Vidyo platform. This means participants joining through WebRTC can enjoy the interoperability delivered by the Vidyo platform including native Vidyo endpoints as well as third party H.323, SIP, and Microsoft® Skype for Business®. Deployed as a virtual machine, the Vidyo Server for WebRTC can be easily managed and scaled to meet demand. Concurrency is determined by flexible VidyoLine licenses that can float between native Vidyo endpoints and WebRTC clients as needed. Calls are secured through encryption using HTTPS, DTLS, and SRTP. Key Features Incredible User Experience Easy to Deploy & Manage • Native WebRTC support for plug-in free • Virtual server for easy deployment in your videoconferencing data center, colocation facility or in the cloud • Support for non-WebRTC browsers via • Dynamically scalable capacity based on VidyoWeb plug-in provisioned resources • Full two-way video communications on • Spin up new instances of Vidyo Server for ChromeBooks WebRTC to rapidly cluster and add capacity • Multipoint video layouts with up to 6 viewable • Simplify administration, configuration and participants maintenance with web-based interface • Click to connect ease of use • Secured media and signaling encryption • HD quality video and content • Automatic firewall and NAT traversal with ICE, • Share content with other participants* (Only TURN, and STUN support available on Chrome.
    [Show full text]
  • Kandy Link — Webrtc Gateway Using the Web to Extend the Value of Service Provider Networks
    Kandy Link — WebRTC Gateway Using the Web to Extend the Value of Service Provider Networks The Impact of WebRTC The adoption of the WebRTC standard by all of the major web browser providers creates an enormous opportunity to change the way people communicate. WebRTC makes it possible to engage in a two-way multi-media conversation (voice, video, screen share) without any extra software or purpose-built devices. Any modern device with a mic and speakers is now a full communications endpoint supporting voice, video and col- laboration tools. The simplicity of WebRTC-based communication access is in sharp contrast to traditional communication tools that require users to load a special app or a plugin for each website or ser- vice they use. This issue has gone from annoying to business impacting as many organizations have heightened security policies that preclude users from adding new applications. And since WebRTC leverages HTML5 and HTTPS, its firewall Multiple Deployment Options Kandy Link is deployed in a subscription based, fully managed friendly, meaning it works almost everywhere. model. Users can choose the operational deployment model Bridging the Digital Divide that best fits their use case: Ribbon’s Kandy Link Gateway offers service providers a simple Public Cloud – as a Service and scalable way to connect different generations of communi- No hardware or capital investment – WebRTC services are cation elements and customer experiences. delivered from the public Kandy cloud with access to Kandy’s entire apps portfolio. • Kandy Link can deliver line or station-side SIP services to existing communication elements (as a service, in network Private Cloud or on-premises) while delivering WebRTC-based services to In network or in a 3rd party data center.
    [Show full text]
  • Audiocodes Webrtc Solution DATA SHEET
    AudioCodes WebRTC Solution DATA SHEET Simplified Web Calling for Contact Centers and Service Providers The AudioCodes WebRTC solution is a quick and straightforward way for contact centers and service providers to supply intuitive and high-quality web calling functionality to their service centers. From implementing a simple click-to-call button on a consumer website or mobile app, right up to a fully featured agent client for voice and video calls, the AudioCodes WebRTC solution provides all the building blocks that you need to get web calling services up and running quickly and easily. Simple and scalable Powerful and robust Easy to install A single WebRTC device, either The WebRTC solution is fully integrated The Client SDK facilitates the quick virtual or hardware-based, in AudioCodes Mediant session border integration of the WebRTC solution seamlessly scalable from just a few controllers and inherits the SBCs’ into client websites or Android and sessions to several thousand strong security, high availability and iOS mobile apps transcoding capabilities Signaling AUDIOCODES Browser / Mobile WebRTC SDK WebRTC user Media Internet AudioCodes SBC Integrated WebRTC Gateway Carrier/Contact Center VoIP Network AudioCodes WebRTC Solution DATA SHEET Specifications WebRTC Gateway About AudioCodes AudioCodes Ltd. (NasdaqGS: AUDC) is a Deployment leading vendor of advanced voice networking VMWare KVM AWS Mediant 9000 Mediant 4000 method and media processing solutions for the digital workplace. With a commitment to the human 3,000 voice deeply embedded in its DNA, AudioCodes 5,000 WebRTC sessions 2,700 3,500 (20,000 on 1,000 enables enterprises and service providers (20K on roadmap) roadmap) to build and operate all-IP voice networks for unified communications, contact centers 3,000 1,050 integrated and hosted business services.
    [Show full text]
  • Nanostream Webrtc.Live
    nanoStream WebRTC.live Product Overview – Document V 1.4, 2017-01 © 2017 nanocosmos gmbh Setup secure online meetings at a distance or stream live events to thousands of worldwide viewers: nanoStream WebRTC.live makes it very easy to create custom ​ live video communication and interactive live streaming applications with low latency. In combination with the nanoStream H5Live Player, nanoStream ​ ​ WebRTC.live offers a seamless user experience for plugin-free live video broadcast on any device. What is nanoStream WebRTC.live? nanoStream WebRTC.live is a product platform developed by nanocosmos based on WebRTC and other streaming technologies like RTMP and H5Live. It is used in a variety of low-latency interactive live streaming use cases. WebRTC.live video chat combined with RTMP broadcasting ​ ​ ​ allows a unified communications strategy for companies - from 1-on-1 discussions with employees at a distance to sharing live events with 10.000 viewers. In addition to secure peer-to-peer communication, the WebRTC.live encoding platform can be used to broadcast live streams to large audiences. The live video broadcast can be integrated into ​ ​ any live streaming infrastructure with the unique WebRTC-RTMP server bridge, or in an end-to-end development with the nanoStream Cloud. What is WebRTC? WebRTC is a technology standard for audio/video-based real time communication. WebRTC video chats and broadcasts function directly within the web browser, with no additional plugin or app download required. The standard is supported by most browser vendors (Google Chrome, Firefox) and currently available plugin-free on all platforms (Windows, MacOS, Android), except Apple iOS.
    [Show full text]
  • Features Guide [email protected] Table of Contents
    Features Guide [email protected] Table of Contents About Us .................................................................................. 3 Make Firefox Yours ............................................................... 4 Privacy and Security ...........................................................10 The Web is the Platform ...................................................11 Developer Tools ..................................................................13 2 About Us About Mozilla Mozilla is a global community with a mission to put the power of the Web in people’s hands. As a nonprofit organization, Mozilla has been a pioneer and advocate for the Web for more than 15 years and is focused on creating open standards that enable innovation and advance the Web as a platform for all. We are committed to delivering choice and control in products that people love and can take across multiple platforms and devices. For more information, visit www.mozilla.org. About Firefox Firefox is the trusted Web browser of choice for half a billion people around the world. At Mozilla, we design Firefox for how you use the Web. We make Firefox completely customizable so you can be in control of creating your best Web experience. Firefox has a streamlined and extremely intuitive design to let you focus on any content, app or website - a perfect balance of simplicity and power. Firefox makes it easy to use the Web the way you want and offers leading privacy and security features to help keep you safe and protect your privacy online. Mozilla continues to move the Web forward by pioneering new open source technologies such as asm.js, Emscripten and WebAPIs. Firefox also has a range of amazing built-in developer tools to provide a friction-free environment for building Web apps and Web content.
    [Show full text]
  • Smart Communication Platforms for Prototyping Smart City Applications
    Competence Center NGNI Fraunhofer FOKUS Keynote at National Research Council of Thailand (NRCT) Annual Meeting, Bangkok, Thailand, August 25, 2013 Smart Communication Platforms for Prototyping Smart City Applications Prof. Dr. Thomas Magedanz Fraunhofer FOKUS / TU Berlin [email protected] www.fokus.fraunhofer.de/go/ngni Competence Center NGNI Fraunhofer FOKUS Agenda Smart Cities as Future Internet Show Case Smart City communication infrastructures requirements The Role of IP Multimedia Subsystem, Machine Type Communication, Evolved Packet Core and related Open APIs within emerging Smart City SDPs FOKUS Toolkits and practical examples Summary Q&A Competence Center NGNI Fraunhofer FOKUS Main Messages of the Talk Convergence of fixed and mobile networks plus internet technologies was the driver for Next Generation Network (NGN) IMS (plus an SDP) is the common control platform of the NGN today Over the top (OTT) services challenge operators and IMS platforms Future Internet (FI) is a hot research topic and equates to emerging Smart City (SC) ICT platforms and applications Smart Cities relate to the domains of Internet of Things ( M2M) and Internet of Services ( SDP) Smart Cities are driving even more convergence of networks and control platforms Evolved Packet Core (EPC) and Machine Type Communication (MTC) platforms are becoming key pillars around IP Multimedia System (IMS) in the context of emerging Smart City ICT platforms Nevertheless Open APIs will abstract from the specifics of the platforms FOKUS tools
    [Show full text]
  • Mivoice Border Gateway Engineering Guidelines
    MiVoice Border Gateway Engineering Guidelines January, 2017 Release 9.4 1 NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks™ Corporation (MITEL®). The information is subject to change without notice and should not be construed in any way as a commitment by Mitel or any of its affiliates or subsidiaries. Mitel and its affiliates and subsidiaries assume no responsibility for any errors or omissions in this document. Revisions of this document or new editions of it may be issued to incorporate such changes. No part of this document can be reproduced or transmitted in any form or by any means - electronic or mechanical - for any purpose without written permission from Mitel Networks Corporation. Trademarks The trademarks, service marks, logos and graphics (collectively "Trademarks") appearing on Mitel's Internet sites or in its publications are registered and unregistered trademarks of Mitel Networks Corporation (MNC) or its subsidiaries (collectively "Mitel") or others. Use of the Trademarks is prohibited without the express consent from Mitel. Please contact our legal department at [email protected] for additional information. For a list of the worldwide Mitel Networks Corporation registered trademarks, please refer to the website: http://www.mitel.com/trademarks. Product names mentioned in this document may be trademarks of their respective companies and are hereby acknowledged. MBG - Engineering Guidelines Release 9.4 January, 2017 ®,™ Trademark of Mitel Networks
    [Show full text]
  • A Case for SIP in Javascript", IEEE Communications Magazine , Vol
    Copyright © IEEE, 2013. This is the author's copy of a paper that appears in IEEE Communications Magazine. Please cite as follows: K.Singh and V.Krishnaswamy, "A case for SIP in JavaScript", IEEE Communications Magazine , Vol. 51, No. 4, April 2013. A Case for SIP in JavaScript Kundan Singh Venkatesh Krishnaswamy IP Communications Department IP Communications Department Avaya Labs Avaya Labs Santa Clara, USA Basking Ridge, USA [email protected] [email protected] Abstract —This paper presents the challenges and compares the applications independent of the specific SIP extensions alternatives to interoperate between the Session Initiation supported in the vendor's gateway. Protocol (SIP)-based systems and the emerging standards for the Web Real-Time Communication (WebRTC). We argue for an We observe that decoupled development across services , end-point and web-focused architecture, and present both sides tools and applications promotes interoperability. Today, the of the SIP in JavaScript approach. Until WebRTC has ubiquitous web developers can build applications independent of a cross-browser availability, we suggest a fall back strategy for web particular service (Internet service provider) or vendor tool developers — detect and use HTML5 if available, otherwise fall (browser, web server). Unfortunately, many existing SIP back to a browser plugin. systems are closely integrated and have overlap among two or more of these categories, e.g., access network provider Keywords- SIP; HTML5; WebRTC; Flash Player; web-based (service) wants to control voice calling (application), or three communication party calling (application) depends on your telephony provider (service). The main motivation of the endpoint approach (also I. INTRODUCTION known as SIP in JavaScript) is to separate the applications In the past, web developers have resorted to browser (various SIP extensions and telephony features) from the plugins such as Flash Player to do audio and video calls in the specific tools (browsers or proxies) or VoIP service providers.
    [Show full text]
  • A Flexible and Scalable Media Centric Webrtc
    An Oracle White Paper May 2014 Towards a Flexible and Scalable Media Centric WebRTC Towards a Flexible and Scalable Media Centric WebRTC Introduction Web Real Time Communications (WebRTC) transforms any device with a browser into a voice, video, and screen sharing endpoint, without the need of downloading, installing, and configuring special applications or browser plug-ins. With the almost ubiquitous presence of browsers, WebRTC promises to broaden the range of communicating devices to include game consoles and set-top boxes in addition to laptops, smartphones, tablets, etc. WebRTC has been described as a transformative technology bridging the worlds of telephony and web. But what does this bridging really imply and have the offerings from vendors fully realized the possibilities that WebRTC promises? In this paper we discuss the importance of WebRTC Service Enablers that help unlock the full potential of WebRTC and the architectures that these elements make possible in this new era of democratization. New Elements in the WebRTC Network Architecture While web-only communications mechanisms would require nothing more than web browsers and web servers, the usefulness of such web-only networks would be limited. Not only is there a need to interwork with existing SIP1 and IMS2 based networks, there is also a need to provide value added services. There are several products in the marketplace that attempt to offer this functionality. But most of the offerings are little more than basic gateways. Such basic gateways perform simple protocol conversions where messages are translated from one domain to another. Such a simplistic gateway would convert call signaling from JSON3, XMPP4, or SIP over WebSockets, to SIP, and might also provide interoperability between media formats.
    [Show full text]
  • The Security of Webrtc Ben Feher, Lior Sidi, Asaf Shabtai, Rami Puzis Ben-Gurion University of the Negev {Feherb, Liorsid, Shabtaia, Puzis}@Bgu.Ac.Il
    The Security of WebRTC Ben Feher, Lior Sidi, Asaf Shabtai, Rami Puzis Ben-Gurion University of the Negev {feherb, liorsid, shabtaia, puzis}@bgu.ac.il ABSTRACT primarily browser–based (though not all browsers support WebRTC is an API that allows users to share streaming WebRTC) we focus our analysis on WebRTC browser-based information, whether it is text, sound, video or files. It is impelmetations. A quick look at browser usage statistics reveals supported by all major browsers and has a flexible underlying that currently, Chrome and Firefox dominate the browser market infrastructure. In this study we review current WebRTC structure by a significant margin. In addition, these browsers also support and security in the contexts of communication disruption, key features of WebRTC technology which makes them prime modification and eavesdropping. In addition, we examine candidates for our tests. WebRTC security in a few representative scenarios, setting up and Another point for consideration in the security analysis involves simulating real WebRTC environments and attacks. the communication restrictions of the current security measure (e.g., deep packet inspection Firewalls), as well as the availability General Terms of existing tools for analyzing the WebRTC traffic. Security, Network. 2. WHAT IS WebRTC? Keywords In General, a WebRTC communication is composed of two WebRTC, DTLS-SRTP, Signaling, P2P. stages: a signaling and a communication stage. 1. INTRODUCTION 2.1 Signaling Stage Web Real-Time Communication (WebRTC) is an API aimed to The signaling stage is the conversation setup. When two clients support browser-to-browser communication. This solution is wish to communicate, they must arrange a common information designed to unify the fragmented solution cluster that has been channel.
    [Show full text]
  • A 3D Collaborative Editor Using Webgl and Webrtc
    A 3D collaborative editor using WebGL and WebRTC Caroline Desprat Jean-Pierre Jessel Hervé Luga [email protected] [email protected] [email protected] VORTEX team, IRIT UMR5505, University of Toulouse, France Online collaborative 3D design Objectives Collaborative design environments share 3D scenes • pluginless visualization of 3D scenes on the web, across the network. 3D scenes or models are very • exclusive use of client resources for likely to be constructed and reviewed by more than communication, one person, particularly in the context of 3D sci- • message broadcasting: asynchronous and entific visualization [1], CAD (Computer Aided De- granular, sign) [2] or BIM (Building Information Modeling) • real-time collaboration across the network with [3] solutions with various architectures [4] [5]. shared access to 3D models. Question What architecture is the best suited in online 3D collaborative design environments for small teams using exclusively browser’s ressources? Our hybrid architecture for 3D web-based collaboration Web-based editor P2P communication Client visualization, interaction and edition. WebRTC and DataChannels The 3D interface integrates a viewport and pro- vides: WebRTC (Web Real-Time Protocol) allows Da- P2P connections be- • the list of contributors, taChannel protocol for tween web brow-sers to exchange any raw • basic transformations tools (CRUD), data in real-time[6]. • and viewport informations. WebRTC uses signaling mechanism (via WebSocket server) to manage peers, the network configuration and the media capabilities. Server: RESTful architecture Auto-management of the P2P full mesh network of REST architecture (client/server/NoSQL DB users (designed for small teams). queries) benefits distributed hypermedia systems. PeerJS library bootstraps WebRTC API for compat- ibility reasons.
    [Show full text]