Open Source Software Asterisk “Hello World” Initial Demo Mode.
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
-
Upload
crocodile-webrtc-sdk-and-cloud-signalling-network -
Category
Technology
-
view
896 -
download
0
description
Transcript of Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
![Page 1: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/1.jpg)
![Page 2: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/2.jpg)
Email: [email protected]: @pdunkley
Taking Enterprise Telephony into the Web World
Peter Dunkley, Technical Director, Crocodile RCS Ltd
![Page 3: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/3.jpg)
Evolution on the web
1990 1996 1998 2004 2011
Sir Tim Berners-Leecreates HTML. Web-pages are static
Microsoft and Netscapeintroduce differentmechanisms for DHTML
W3C produces theDOM1 specification
Google uses Ajaxin Gmail (W3Creleases 1st draft in2006) – the dawnof web-apps
WebSocket andWebRTCimplementationsbecome available
![Page 4: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/4.jpg)
Revolution in telecoms
1792 1837 1876 1919 1960s > 1990s > 2011WebSocket andWebRTCimplementationsbecomeavailable
The revolution
Before today the operators (big and small) had full control over real-time communications because it was hard to do and substantial infrastructure investment was required.Claude Chappe
invented the opticaltelegraph
First commercialelectrical telegraphcreated byCooke andWheatstone
AlexanderGrahamBell patentsthe telephone
Rotary dialentersservice
From the 1960sonwards digitalexchanges start toappear
1963: DTMFenters service
From the 1990s onwardsvoice started to be carriedon technologies developedfor data networks such asATM and IP
![Page 5: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/5.jpg)
Demo #1: Crocodile Scrum
● Opera and Google Chrome only for now
– Works on Google Chrome for Android
– Mozilla Firefox support coming soon
● Anonymous ad-hoc conferencing
● Makes use of WebRTC and WebSockets
● Join the “expo” scrum
http://www.crocodilescrum.com/
![Page 6: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/6.jpg)
![Page 7: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/7.jpg)
What is WebRTC?
![Page 8: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/8.jpg)
There are a number of proprietary implementations that provide direct interactive rich communication using audio, video, collaboration, games, etc. between two peers' web-browsers. These are not interoperable, as they require non-standard extensions or plugins to work. There is a desire to standardize the basis for such communication so that interoperable communication can be established between any compatible browsers.
Real-Time Communication in WEB-Browsers (rtcweb) 2013-03-13 charter
http://tools.ietf.org/wg/rtcweb/
![Page 9: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/9.jpg)
The mission of the Web Real-Time Communications Working Group, part of the Ubiquitous Web Applications Activity, is to define client-side APIs to enable Real-Time Communications in Web browsers.
These APIs should enable building applications that can be run inside a browser, requiring no extra downloads or plugins, that allow communication between parties using audio, video and supplementary real-time communication, without having to use intervening servers (unless needed for firewall traversal, or for providing intermediary services).
Web Real-Time Communications Working Group Charter
http://www.w3.org/2011/04/webrtc-charter.html
![Page 10: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/10.jpg)
● RTCWeb is the on-the-wire protocol as defined by the IETF and may be used in many applications and systems
– Within VoIP phones
– On network servers
– Includes MTI codecs for audio and video
● WebRTC is the browser API as defined by the W3C
RTCWeb and WebRTC: not the same thing
![Page 11: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/11.jpg)
RTCWeb
Voice Engine
G.711/OPUS Codec
NetEQ for voice
Echo Canceller / Noise Reduction
Video Engine
H.264/VP8 Codec
Video jitter buffer
Image enhancements
Transport
SRTP
Multiplexing
P2PSTUN + TURN + ICE
Audio Capture/Render Video Capture Network I/O
Session management / Abstract signalling (Session)
WebRTC C++ API (PeerConnection)
WebRTC API
Yo
ur w
eb
app
#1
Yo
ur w
eb
ap
p #
2
Yo
ur w
eb
app
#3
Based on the diagram from http://www.webrtc.org/reference/architecture
The web
Yourbrowser
. . .
![Page 12: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/12.jpg)
What does WebRTC provide?
![Page 13: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/13.jpg)
WebRTC has a rich API
● Media Capture and Streams
– http://www.w3.org/TR/mediacapture-streams/
● MediaStream Recording
– http://www.w3.org/TR/mediastream-recording/
● WebRTC
– Data can be exchanged too
– http://www.w3.org/TR/webrtc/
Available (to varying degrees) in Chrome, Firefox, and Opera
![Page 14: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/14.jpg)
What do these APIs let you do?
● Capture audio and video streams from microphone and webcam
● Exchange the captured audio and video with a peer in real-time
● Record local and remote audio and video streams
● Reliably exchange data with a peer in real-time
![Page 15: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/15.jpg)
The DataChannel
● The WebRTC DataChannel uses SCTP over DTLS
– SCTP means reliable, in-order, frame delivery
– DTLS means UDP packets (so the same NAT traversal mechanisms can be used for audio, video, and data) that are encrypted
● There are already peer-2-peer file-sharing applications implemented using the WebRTC DataChannel
![Page 16: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/16.jpg)
WebRTC applications
● WebRTC is not about making phone calls in a browser – although this is one possible use case
● WebRTC allows you to communicate in a contextual way
● A phone call is an activity of its own – but that's not how humans communicate face to face
● A phone call is a disruptive (rude) demanding event
![Page 17: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/17.jpg)
WebRTC is about context
● Talk to someone while collaborating on a document● A better way to access customer services
– Already authenticated
– Use a web-form instead of an IVR
● A truly virtual PBX– Web-based phone and operator console
● Many gaming and entertainment related applications– FPS without centralised servers (DataChannel) and where you can see and hear your
opponents
– Online gambling (for example, poker) where you can see your opponents
– Online dating, after dinner speaking, and so on
– It's not necessarily about the real-time audio and video, but they enhance the experience
![Page 18: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/18.jpg)
You need (some form of)signalling to use WebRTC
![Page 19: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/19.jpg)
The WebRTC APIs are not enough
● Google made a controversial (but very wise) decision not to specify how the signalling should work
● Signalling is required
– To discover who to communicate with
– To exchange information on what the communication should be (audio, data, video, and codecs)
– Even the simplest, proprietary, RESTful exchange is signalling
![Page 20: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/20.jpg)
● Interoperability may negatively impact the business case
– For example:● Document collaboration – you want to keep people in your application● Online dating – you want to keep people on your site● Online gaming – there is no point in different games interoperating
Interoperability is not always required
![Page 21: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/21.jpg)
UA UAMedia
Server
SignallingSignalling
The signalling triangle
![Page 22: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/22.jpg)
● These are typically ones where the point of the application is communication
– For example:● Conferencing – calls in and out of legacy networks are required● Call Centres – calls in and out of legacy networks are required● Virtual PBX – calls in and out of legacy networks are required
Interoperability is sometimes required
![Page 23: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/23.jpg)
The signalling trapezoid
UA UA
Server Signalling
Media
Server
SignallingSignalling
![Page 24: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/24.jpg)
Using WebRTC in the Enterprise
![Page 25: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/25.jpg)
Enterprise use cases are often trapezoid use cases
● There are many WebRTC opportunities within the enterprise
● Reduce cap-ex and op-ex by using WebRTC internally
– Requires interoperability with customers connecting from legacy networks
● Improve customer experience by using webRTC externally
– Requires interoperability with legacy equipment you already have
● Even when WebRTC is used internally and externally interoperability will be needed
– Some customers cannot use WebRTC and some customers will not use WebRTC
– You will need to handle calls from these customers for many years to come
![Page 26: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/26.jpg)
Media servers (like Asterisk) are needed
● Many existing enterprise scenarios will continue to exist in the WebRTC world
– Calls will be put on hold (music on hold)
– Calls will be transferred (music during transfer)
– Extensions will be unavailable/busy (announcements and voicemail)
– Callers may be asked to confirm or enter information (DTMF collection)
– Good quality conference calls require proper media mixing
![Page 27: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/27.jpg)
Asterisk is a good choice
● The WebRTC media profile (RTP/SAVPF) is supported
– Existing media server configurations can be put straight into use with WebRTC
● Asterisk contains support for SIP
– This will be the signalling protocol for many interoperable WebRTC applications
● Asterisk 12 provides the Asterisk REST Interface (ARI)
– This makes it much easier for web (and web-service) based applications to interact with the media server
![Page 28: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/28.jpg)
Asterisk in a WebRTC application
SIP Proxy
Web-Service
RTP/SAVPFWebRTCClient
ARI
SIP over TCPSIP over WSS
RESTRecordBridgePlay...
REST
![Page 29: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/29.jpg)
WebRTC in the call centre (internal benefits)
● Minimise cap-ex
– Each station can be an inexpensive computer or notebook running just a browser (Chrome Book, Linux PC)
● Minimise op-ex
– Upgrades happen seamlessly – the call centre software is in the browser (not installed on each machine)
– Some calls will come straight off the web● More efficient call flow (reducing call times)● Reduced spending on telephony services
![Page 30: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/30.jpg)
WebRTC in the call centre (external benefits)
● Much better experience for WebRTC ready callers
– Connect from the web – no need to call (or pay to call)
– Enhanced IVR experience using web-forms to supplement or replace some voice prompts
– Better queuing experience tailored to the caller's preferences
● But don't forget you still need to support the can't and won't use WebRTC callers
![Page 31: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/31.jpg)
Demo #2: Web Communicator
● A fully-featured unified communications client
● Makes use of WebRTC and WebSockets
● Multiple WebSocket/DataChannel connections for multiple protocols
– MSRP (file-transfer), SIP (session signalling), and XMPP (messaging and presence)
● No need to create a new application for every target platform
● Browsers without WebRTC support can still use WebSocket for file-transfer, messaging, presence, and other data
![Page 32: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/32.jpg)
![Page 33: Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World](https://reader035.fdocuments.net/reader035/viewer/2022070303/54b72bb74a79599d2a8b4636/html5/thumbnails/33.jpg)