CBA Product - Live Assist ®
Frequently Asked Questions
This overview is for informational purposes only and is subject to change. By accepting the overview, the recipient agrees that this overview and its contents will be kept in strict confidence and well not be disclosed by the recipient in any manner, in whole or in part, or used for the recipient's own purposes without the Company's written consent. The Company and its affiliates (and their employees and other representatives) disclaim any and all representations and warranties whatsoever, express or implied, regarding such information, including without limitation as to any projections, estimates or other "forward-looking statements".
Apple iPad, iPhone and iPod Touch are registered trademarks of Apple, Inc. Android and Google Play are trademarks of Google, Inc.
Table of Contents
Table of Contents............................................................................................................................ 2
General............................................................................................................................................ 3
Who is Communication Business Avenue ?................................................................................................................ 3
What is Live Assist®?.............................................................................................................................. 3
Does CBA support web chat & mobile chat?............................................................................................... 3
Fusion Live Assist............................................................................................................................ 3
How does Live Assist compare to Amazon Mayday?..................................................................................... 3
How does the Live Assist co-browsing function work?......................................................................................... 4
WebRTC........................................................................................................................................... 4
What is WebRTC?.................................................................................................................................. 4
Does WebRTC work in mobile apps?.......................................................................................................... 5
Who uses WebRTC today?....................................................................................................................... 5
Browser support.............................................................................................................................. 5
What browsers does CaféX support without a plugin?....................................................................................... 5
How does CBA support Internet Explorer & Apple Safari today?..................................................................... 5
Are plugins going away?................................................................................................................. 6
What platforms does CaféX support for native mobile apps?........................................................................... 6
Video & Audio.................................................................................................................................. 6
What is H.264 & VP8 video?.................................................................................................................... 6
Does Mozilla Firefox support both VP8 & H.264?.......................................................................................... 7
How does CBA minimize transcoding?...................................................................................................... 7
Can CBA handle transcoding when needed?.............................................................................................. 7
How does CBA improve audio & video quality over the Internet?................................................................... 7
One-way or two-way video?.................................................................................................................... 8
What video resolution is commonplace in video conferencing?........................................................................ 8
Developer Integration................................................................................................................... 10
How many lines of code?....................................................................................................................... 10
What are the differences between Fusion Client SDK and Live Assist?.............................................................. 10
What developer tools do you offer?......................................................................................................... 11
How do developers get support?............................................................................................................. 11
Architecture Overview and Technical Details.............................................................................. 12
How does Live Assist fit within a Contact Center?......................................................................................... 12
Interoperability with Contact Center......................................................................................................... 13
What are the typical bandwidths for voice, video & Live Assist?..................................................................... 13
What specific ports need to be opened for an Enterprise?.............................................................................. 13
What are the virtual server requirements in terms of vCPU and vDISK?............................................................ 14
What is the estimated server sizing of each component?.............................................................................. 14
How do the CBA server components scale & perform?............................................................................... 15
General
Who is Communication Business Avenue?
We focus on customer satisfaction that drives us to create seamless and immersive solutions that surpass expectations. We empower businesses to engage with their customers in a meaningful and personalized manner.
Our relentless pursuit of innovation is what transforms every company into a vibrant customer-centric powerhouse. Together, we shape the future of connectivity, fueling endless possibilities and revolutionizing the way we interact.
With CBA software developers can deliver voice, video and chat in their mobile or web applications. Whether placing or receiving calls, CBA supports every major browser (Google Chrome, Internet Explorer, Mozilla Firefox and Apple Safari) as well as native mobile apps for Apple iOS and Android. With WebRTC at its core, In-app communications are enabled without the need for plugins. Where WebRTC is yet to be supported in IE and Safari, WebRTC plugins are provided.
CBA separates its products from other WebRTC companies, by enabling a tight integration to existing contact centers and unified communications solutions as required by Fortune 1000 companies.
What is Live Assist®?
With the explosion of mobile apps and web apps, experts can now remotely assist people through complex transactions. While video and audio provide the personal touch, Live Assist provides online tools such as application screen sharing, remote control & co-browsing, document push and annotation ensure issues are resolved quickly and effectively.
Does CBA support web chat & mobile chat?
CBA does support text-based messaging or chat on the web, iOS and Android. We offer messaging features that enable developers to deliver persistent chat between one or more parties. Chat sessions can easily be escalated to a voice or videoconference call at any time. For UC environments it is also compatible with SIP SIMPLE as well as Microsoft Lync 2010 / 2013.
Fusion Live Assist
How does Live Assist compare to Amazon Mayday?
Live Assist caters to enterprises that need both mobile apps and web sites to be their dominant interaction channels. Amazon Mayday is limited to a single proprietary tablet (Kindle Fire HDX) and only works in concert with Amazon support for technical advisors in the Amazon contact center.
Consistent across mobile & web apps
Live Assist goes beyond Amazon Mayday by enabling real-time customer engagement across a company’s dominant customer engagement channels (mobile & web). Live Assist works on native mobile apps for Apple iOS devices (ex. iPad, iPhone), Android tablets and phones as well as a company’s various websites. Be it a website or native mobile app, Live Assist will provide a consistent experience for end users and experts across applications and as they jump between devices. Live Assist supports chat, audio only, two-way HD video as well as one-way video over Wi-Fi, 4G or any IP network.
Expert tools
In addition to app-based screen sharing, remote control, form completion, and annotation, Live Assist provides document push capabilities. This feature enables experts to resolve issues faster by sharing a relevant document, image, video or link at a specific point in time to the app on the customer’s device or desktop. Once shared, the expert can navigate through or annotate over the document to review procedures, discuss terms and conditions and go through an investment prospectus.
Works with existing contact centers
Live Assist was designed to work with a variety of legacy and cloud contact centers (e.g. Cisco UCCE, Cisco UCCX, Genesys, etc.). Live Assist uses SIP integration for voice and video and CTI adapters to connect the ACD. These interfaces ensure that Live Assist sessions are properly queued, routed to the right agent and report consistently with pre-existing contact centers metrics and analytics.
Customer context
Live Assist will relay the context to the expert. Context relay transmits application data to inform the expert about the user by passing key data such as identity, device capability, location and app/browsing history. Even if the customer changes devices/applications, or modalities (chat, voice or video) or re-engages at a later time, context can be retained to ensure the expert knows where the consumer left off and continues the interaction in stride.
Easy for developers
For developers, Live Assist was designed to be embedded in new and pre-existing apps and code bases. For example in iOS applications, developers can add Live Assist with a single line of Objective-C code for Apple iOS. For browser-based apps, two lines of JavaScript will enable Live Assist on an internal or public website.
How does Live Assist co-browsing function work?
In Live Assist, the user of an application can share the screen of their tablet, smartphone or browser apps with an expert. By seeing the users’ screen, Experts are more knowledgeable of the problem at hand; and provide tutelage and guidance through to successful completion. And for sensitive information, fields and regions of a web page or application can be masked to shield the agent's view.
The expert can also control the app or website of the user through simple point-and-click. Remote control allows the advisor to traverse through menus, jump to specific information or walk others through an important process. Experts can complete forms on behalf of the consumer and move the video window to ensure it doesn’t interfere with elements of the screen.
Unlike most co-browsing technologies, CBA does not share the Document Object Model (DOM) between the user and the expert. CBA’s unique technologies ensure that inconsistencies between browsers are not reflected during a Live Assist session. In addition, to support iOS and Android, DOM-based screen sharing will not work effectively with native apps. Through Live Assist, experts get an accurate read of the end user experience consistent across mobile and all browsers.
WebRTC
What is WebRTC?
WebRTC is a standards-based approach to enabling real-time communications through a common set of APIs. These APIs were created as part of HTML5 and were meant to be simple for web developers to embed communications within their websites and applications without knowing the complexities of Voice over IP. WebRTC defines a way for browsers to implement technologies like video conferencing in a way that is both interoperable with other clients and does not require the use of a plugin. WebRTC leverages codecs such as G.711, Opus, H.264 and VP8.
Currently, WebRTC browser support is included in Google Chrome versions 23+, Opera 18+ and Mozilla Firefox 22+. Three mobile browsers support WebRTC today: Chrome v28+ for Android, Firefox v24+ for Android and Opera v20+ for Android[1]. For more details about the specific browser versions CBA support, please refer to the compatibility matrix below.
Does WebRTC work in mobile apps?
Yes! In addition to browsers, a select few companies like CBA are providing mobile SDKs enabling WebRTC in Native Mobile Apps: Apple iPhones & iPads (Objective C) & Android mobiles & tablets (Java)
Who uses WebRTC today?
As a burgeoning standard, WebRTC powers some of the most notable consumer offerings worldwide. CBA extends this technology to enable business-to-consumer interactions for any company, agency or organization. To date, some of the most well-known applications of WebRTC technologies are:
- Amazon Kindle HDX Mayday – live tech tablet support
- American Express for iPad – video customer support
- Google Chromecast – video streaming device
- Google Helpouts – video-based expert assistance
- Vonage Mobile Apps for iOS & Android – low-cost telephony
Browser support
What browsers does CBA support without plugins?
Currently, CaféX is compatible without plugins for Google Chrome, Opera and Mozilla Firefox. Apple Safari and Microsoft Internet explorer require a WebRTC plugin until WebRTC support is available.
Browser |
Version |
WebRTC |
Plugin |
Audio |
Video |
Platforms |
|
Google Chrome |
33+ |
Yes |
No |
G.711, Opus |
VP8 |
Windows, OSX, Android, Linux, Chromebooks |
|
Mozilla Firefox |
28+ |
Yes |
No |
G.711, Opus |
VP8 H.264 Δ |
Windows, OSX, Android, Linux |
|
Opera |
28+ |
Yes |
No |
G.711, Opus |
VP8 |
Windows, Android, OSX, Linux |
|
Apple Safari* |
7+ |
No |
Yes |
G.711, Opus |
VP8 |
OSX 10.8+ (Mountain Lion, Mavericks, Yosemite) |
|
Microsoft Internet Explorer* |
8+ |
No |
Yes |
G.711, Opus |
VP8 |
Windows XP, Vista, 7, 8 (32 bit & 64 bit) |
|
Δ Browser support for H.264. To better support WebRTC, Cisco has open-sourced its H.264 codec and providing a binary software module that can be downloaded for free from the Internet. Open H.264.org has been adopted in Mozilla Firefox version 33 (Oct. 2014)[2].
*Note: Live Assist only sessions, without voice & video do not require a plugin for Internet Explorer and Safari. Live Assist is only supported in IE v11+ and Safari v8+.
How does CBA support Internet Explorer & Apple Safari today?
Where WebRTC has yet to be fully supported, CBA provides WebRTC plugins for Microsoft Internet Explorer & Apple Safari on OSX. Uniquely, this stopgap for non-WebRTC browsers will include support for H.264 & VP8 to minimize transcoding. By addressing this gap until WebRTC is fully adopted, CBA ensures simplicity, ubiquity and affordability for web communications & guest access.
Are plugins really going away?
Yes. Plugin-less communications are the only viable vision for browser-based communications going forward. Support for browser plugins is waning due to ongoing security & compatibility concerns. For example, Google & Mozilla are terminating support for the Netscape Plugin API and plugins in 2014.[3],[4] For Internet Explorer 10 and 11, Microsoft has issued a statement of direction without plugins. In turn, plugin warnings will appear with every use unless in "enterprise mode" or "desktop mode". This points to a transition period to migrate Internet Explorer users off of plugins for future versions of Internet Explorer.[5] In addition, plug-ins are not allowed on Chromebooks.
Today, Google Chrome, Mozilla Firefox and Opera all support real-time communications without a browser plugin. These three WebRTC browsers correlate to 1.2 billion endpoints today and by other estimates 63% of the browser market (via pageview market share at StatCounter) ...and growing.
With broadening support by Google, Microsoft and Mozilla, the W3C has commenced defining ORTC (Object Real Time Communications) as an extension and simplification of WebRTC. ORTC solutions are plugin-less and hide codec complexities from web & JavaScript developers. Microsoft has an early implementation of ORTC today. As we continue to innovate, CBA products will be one of the first to implement plugin-less ORTC support.
What platforms does CaféX support for native mobile apps?
Browser |
Version |
WebRTC |
Plugin |
Audio |
Video |
Platforms |
|
iOS (native) |
7+ |
Yes |
No |
G.711, Opera |
VP8, H.264 |
iPad Air 2, iPad Air, iPad 4th / 3rd Generation, iPad 2, iPad mini, iPad mini with Retina display; iPad mini 3, iPhone 6/6 Plus, iPhone 5s, iPhone 5c, iPhone 5, iPhone 4S, iTouch (5th generation) |
|
Android (native) |
4.1.2+ |
Yes |
No |
G.711, Opera |
VP8, H.264 |
Jellybean, KitKat, Lollipop or later. In general, CPU & memory equivalent to a Samsung Galaxy S4 (1.9 GHz Quad-core Snapdragon GS4, 4G or Wi-Fi a/b/g/n/ac and 2 MP front facing camera) |
|
Video & Audio
What is H.264 & VP8 video?
Currently, two video codecs ("coder-decoder") dominate the communications industry for video conferencing: H.264 and VP8. Both video technologies support high-definition real-time communications and power services such as Apple’s FaceTime (H.264) and Google Hangouts (VP8). Both are now required in support of WebRTC.
H.264 is the dominant video compression technology, or codec, in the industry that was developed by the International Telecommunications Union (as H.264 and MPEG-4 Part 10, Advanced Video Coding, or AVC). One of the few disadvantages of H.264 is that it requires royalties paid to the MPEG LA patent pool consortium. However, in support of WebRTC, Cisco open-source its H.264 codec and providing a binary software module that can be downloaded for free. In turn, Cisco will cover MPEG LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free.
VP8 is a video compression format owned by Google. Google remains a staunch supporter of VP8 after buying the company that created it. Google then released VP8 software under a BSD-like license as well as the VP8 bit stream specification under an irrevocable license and free of royalties. VP8 is roughly equivalent in processor usage, bandwidth and quality as H.264. As a royalty free video codec, every WebRTC-enabled browser supports VP8 today (Google Chrome, Mozilla Firefox and Opera). For plugin-less real-time communications, VP8 is the dominant video codec.
Does Mozilla Firefox support both VP8 & H.264?
Yes. Open H.264 was been adopted in Mozilla Firefox version 33 (Oct. 2014). At an IETF meeting in November 2014, the RTCWEB working group reached a consensus and required support for both H.264 and VP8 support in browsers (WebRTC User Agents). As more browsers adopt WebRTC and development advances, Chrome, Opera, IE and Safari will also need to adopt H.264 to be WebRTC compliant.
How does CaféX minimize transcoding?
As transcoding is an intensive process, CBA offers both H.264 native support and VP8 support in the mobile SDKs and soon the browser plugins. As a result, no transcoding will occur when a smartphone or tablet application connects to an H.264 endpoint (ex. Cisco Jabber for Windows, Firefox or Cisco EX90). In addition, if the mobile app connects to a VP8 endpoint (ex. Google Chrome browser), only VP8 will be used for that session. Because up to 70% of calls in contact centers are from mobiles, dual codec support drastically minimizes transcoding.
Can CBA handle transcoding when needed?
Yes. In addition to port muxing and handling of encryption/decryption for WebRTC endpoints, the Fusion Media Broker transcodes between VP8 and H.264 when required. The Media Broker also transcodes audio codecs and supports G.711 and Opus HD audio codecs being transcode into G.729a and G.711. Our transcoding guarantees compatibility between WebRTC endpoints and immersive, desktop and traditional video and VoIP endpoints.
How does CBA improve audio & video quality over the Internet?
CBA includes an impressive amount of functionality to ensure the best video & audio quality. When incorporating video and audio into an app, communications are likely going over Wi-Fi, the Internet or 4G data in network conditions that are beyond control. CaféX incorporates many technologies to ensure every call is of utmost quality: voice only, one-way video or two-way video.
WebRTC – state of art call quality
With WebRTC at the core, CBA software benefits from 20+ years of VoIP technology built into the standard and embedded technologies. By leveraging WebRTC, CBA delivers superior audio and video quality from mobile apps and browsers into the enterprise.
Advanced codec support
WebRTC includes some of the most advanced video and audio compression technologies with minimal bandwidth footprint, packet loss concealment and variable bitrates built-in. For example, the Opus audio codec provides both narrowband and HD quality voice. Opus builds upon elements of Skype’s SILK codec to ensure unmatched performance over the Internet.
Dynamic jitter buffers
WebRTC includes a dynamic jitter buffer as well as an advanced error concealment algorithm for hiding the effects of impaired network connections exhibiting network jitter and packet loss. By buffering the minimum amount of media, this feature keeps latency low while maintaining the highest voice and video quality.
Acoustic echo canceler (AEC)
WebRTC’s Acoustic Echo Canceler is an advanced software-based signal-processing component that removes echo resulting from the voice being played out from the active microphone.
Noise reduction
Another software-based signal processing element removes background noise associated with Voice over IP such as hiss, fan noise and more.
Adjustment of resolution and frame rate (under changing network conditions)
CBA can adjust the bandwidth footprint via negotiation resolution and frame rate. CBA APIs give developer’s clear feedback of network quality. In turn, developers can control resolution, frame rate or even go to audio only under a variety of conditions when conditions change.
Negative Acknowledgement (NACK) & Picture Loss Indication (PLI)
Lossy networks cause picture quality to degrade and audio to sound poor. While many advanced codecs have inherent abilities to surmount packet loss, CBA can be more prescriptive. Our SDKs use Picture Loss Indication (PLI) and Negative Acknowledgement (NACK) as mechanisms to surmount packet loss on a network. With video traveling over the Internet, impairment can happen at the Wi-Fi access point or somewhere on the line, CBA informs a sender of the loss of particular RTP data. The sender will then use this information to optimize the user experience, resend data and compensate for known lost packets.
Adaptive Rate Control
For an existing call it is possible for bandwidth to become constrained as the call progresses. In cases like this, where another download may be imposing upon the media flows for an active call, CBA SDKs and server software can dynamically manage the video stream to better handle such conditions. Adaptive rate control adjusts video bitrate down to use less bandwidth as network conditions degrade. By reducing the video bit rate, but keeping resolution & frame rate the same, video will be slightly grainier or more pixelated image because less data is being transmitted. And when conditions rectify and bandwidth bounces back, the bitrate will be returned to normal.
One-way or two-way video?
CBA is often asked how to implement video in the contact center. Should video be one-way from the agent to the customer of bi-directional? Should it be audio only or only escalate to video from chat? The answer is simple – IT DEPENDS on your application. Bi-directional video is very valid for internal help desk functions between employees, business-to-business (B2B), telemedicine or point discussions between an investor and their financial advisor. However, in retail, hospitality and travel one-way video may be more appropriate.
In all cases, the customer should to acknowledge and accept the use of video (one-way or two-way). One-way video (from the agent to the customer) should also be used when bandwidth is limited. In turn, the agent view to the customer is un-interrupted which remains paramount. CBA provides a network quality API, enabling the application to identify these circumstances and cut bandwidth by almost 50% when such circumstances arise.
CBA gives you the power to engage in mobile or web-based chat, voice-only, one-way video or two-way video. These real-time communications can all be conducted in combination with Live Assist as well. It is up the use-case, customer engagement strategy and goals to determine the best engagement model. And CaféX professionals are happy to help you define, refine and build out your real-time customer engagement strategy.
What video resolution is commonplace in video conferencing?
Most mobiles, tablets & laptops are typically limited to sending 720p because most common front-facing cameras support a maximum of 720p and will be the dominant resolution and encoding requirement. Many mobile video conferencing solutions such as Apple FaceTime are not high definition. In fact, most Apple FaceTime calls on iOS devices are HVGA-resolution (480 x 368) over Wi-Fi 1. CounterPath Bria mobile clients for iOS and Android are allows maximum of CIF resolutions (352 x 288), Avaya Scopia Mobile is limited to VGA.
Laptops |
Tablets |
Phones |
|||
Acer C720 Chrome Book |
0.9 MP (1280x720) 720p |
iPad Air2 |
1.2 MP (1280x960) 720p
|
iPhone6/6plus |
1.2 MP (1280x960) 720p |
Lenovo T440s |
0.9 MP (1280x720) 720p/30fps |
iPad Air |
1.2 MP (1280x960) 720p
|
iPhone5/5s |
1.2 MP (1280x960) 720p |
13” MacBook Air |
1.3 MP (1280x1024) 720p |
iPad Mini3 |
1.2 MP (1280x960) 720p
|
iPhone 4S |
0.3 MP (640x480) VGA |
Dell XPS 13 |
1.3 MP (1280x1024) 720p |
iPad Mini 2 (w/ Retina Display) |
1.2 MP (1280x960) 720p |
Samsung Galaxy S5 |
2 MP (1920x1080) 1080p
|
HP Spectre x2 (HP TrueVision HD Webcam) |
1.3 MP (1280x1024) 720p |
iPad2 |
0.3 MP (640x480) VGA |
Samsung Galaxy S4 |
2 MP (1600x1200) 720p
|
Samsung ATIV Book 9 Plus |
1.3 MP (1280x1024) 720p |
Nexus 10 |
2MP (1600x1200) 720p |
Samsung Galaxy S4 |
2 MP (1600x1200) 720p
|
|
|
Samsung Galaxy Tab S 10.1 |
2.1 MP (1600x1200) 720p |
Samsung Galaxy Note 3 |
2 MP (1600x1200) 720p
|
Developer Integration
How many lines of code?
Getting up and running with CBA software can be as simple as cutting and pasting a few lines of code into a mobile application or an existing web page. While there are several options that can be configured through various parameters, for the most part, developers will require two simple lines of JavaScript code:
#1 – including the assist.js JavaScript library to enable the website:
<script src="https://<webgatewayip>:8443 /assistserver/sdk/web/consumer/assist.js"></script>
#2 – establish an Expert Assist session in connection with a link or image:
<a title="Live Assist" onclick="AssistSDK.startSupport({destination : ‘agent1’})"><img src="img/support.png"></a>
By using the iOS, Android and web SDKs and libraries, developers initiate or receive calls, add video, send instant messages and update presence when connecting to Unified Communications and Contact Center systems.
The SDKs and libraries make WebRTC easier: simplify signaling models, assure connectivity across all major browsers and mobile devices, pass context into the contact center and traverse firewall that can plague real-time communications applications.
What are the differences between Fusion Client SDK and Live Assist?
CBA offers two SDKs, Live Assist is simple and fast, other Fusion is more detailed and robust. CBA SDKs and libraries make WebRTC easier.
- Simplify signalling models for chat, voice, video and Live Assist,
- Assure connectivity across all major browsers and mobile devices,
- Pass context into the contact center and
- Traverse firewall that can plague real-time communications applications.
Both SDKs offer web and mobile support.
- The Live Assist SDK is a simplified API for developers to implement co-browse (within a browser tab), app share (iOS / Android), remote control, document push (web-ready content) and annotation. Live Assist is for any developer to implement 1 or 2 lines of codes within a web, iOS native or Android native application and connect to an expert or agent queue.
Live Assist Agent API: For other agent web console solutions such as Salesforce, ZenDesk and customer enterprise consoles, CBA offers a simple JavaScript API for rapid console integration enabling experts to get up and running with secure, over-the-top voice, video and Live Assist quickly
- The Fusion Client SDK is a robust SDK offering more granular WebRTC and publish/subscribe mechanisms for a customized RTC experience. This can be combined with the Live Assist API in a co-browse only mode (via correlation ID) for a highly customized application. The Fusion Client SDK, is for advanced JavaScript, iOS and Android developers to implement a complete WebRTC solution with granular levels of call and media control through functions, notifications and callbacks.
Highlights between the two SDKs are as follows:
Live Assist |
Fusion Client SDK |
Call Control · calls from consumer to agent queue only · mute/un-mute implemented by disabling media, · only one outbound call at a time from the application to the expert, · restricted destination (via Web Admin)
|
Call Control · All features of Live Assist plus, · register endpoint and route any session to the dedicated SIP server · receive or place calls. · implement hold/resume for Music on Hold or muting · disabling media · receive notification for held/un-held call · create OFFER for multiple, concurrent calls. · access elapsed time for a session · integrate application alerting (ex. GCM or APNS) |
Voice & video: · voice-only, one-way video or 2-way video · opus or G.711 alwa/ulaw audio codecs (based on defaults) · video window style of expert is not customizable · camera control (front or rear)
|
Voice & video: · all features of Live Assist plus, · choose style, placement, behavior of video view · resolution can be selected (720p, VGA, nHD, CIF) & widescreen view is supported · control the size of video windows · choose audio codec (for example, G.711 only to limit transcoding) · provide local preview (self-view of the consumer within the application) |
Co-browse · accessible when call is established |
Co-browse · control over how and when to establish/join Live Assist session |
|
DTMF · Developer can execute DTMF invocation which will send DTMF as RFC2833 |
Chat: · Developer can implement a publish/subscribe chat & presence via Application Event Distribution (AED) by creating topics |
What developer tools do you offer?
Every developer will be ready to code with the extensive tools CBA has to offer. Whether building their first app or their 100th application, online tutorials, a developer’s sandbox, sample code and an active developer community, ensure apps experiences are consistent across mobile & web applications.
CBA offers a complete set of developer tools including an installable runtime development environment for Linux or Apple OSX. Developers then embed in-app communications and Live Assist without the complexities of troubleshooting video and voice calls over the Internet. CBA SDKs integrate easily with Apple Xcode or Eclipse.
How do developers get support?
Developers can get sample code, best practices and questions answers through the CBA online community at customer support. With every release, our APIs are regularly tested and supported by our community.
Architecture Overview and Technical Details
Live Assist consists of web or mobile clients that leverage our Software Development Kits (SDKs) for Web (JavaScript), iOS (Objective C) and Android (Java). These clients connect to three primary server components:
(1) the Fusion Web Gateway our signaling component that communicates securely to web browsers and mobile apps via http or https and can additionally connect those client to SIP-based VoIP clients and infrastructure. The Web Gateway also controls our Media Broker product that relays real-time media between clients inside and outside of the network.
(2) the Fusion Media Broker secures real-time media, handles the complexities of firewall and NAT traversal and will transcode audio and/or video between clients.
(3) the Fusion Palettes server is leveraged when real-time communications need to be integrated with contact center environments (ex. ACD) by delivering visual IVR web or mobile applications, relaying contextual data (device, identity, location, browsing history) into the contact center and integrating to the CTI and orchestration layer of a contact center for proper queuing, skills based routing & connect times.
How does Live Assist fit within a Contact Center?
In incoming and outgoing calls from Live Assist or Fusion Client SDK apps connect into a corporation’s Unified Communications infrastructure via SIP (Session Initiated Protocol). CBA does not provide call control and routing as handled by a PBX or session management server. The Fusion Web Gateway simply appears as a SIP trunk to the reliable routing and session control provided by a UC system. Within any UC or Contact Center product portfolio, CBA leverages the following components for a complete end-to-end enterprise solution:
- Unified Communications or IP-PBX – the unified communications call control platform that supports up to thousands endpoints with voice video and mobility
- Session Border Controller SBC - an enterprise-focused session border controller (SBC), providing voice and video connectivity from the enterprise IP network to service provider SIP trunk.
- Endpoints – Softphones such as Cisco Jabber for Windows, CounterPath Bria as well as IP phones and Telepresence units (Cisco EX60/90, DX70/80) are compatible endpoints for experts.
- Reverse proxy - As the Web Gateway resides in the enterprise’s internal “green” zone and it needs to be secured from external traffic by a HTTP Reverse Proxy in the DMZ. The reverse adds a layer of security between the public network and the Application Server by:
- Hiding the internal topology of the network.
- Assisting with cross-site origin issues i.e. presenting a single domain for HTTP/WebSocket to the Web Gateway.
- Protecting specific services (e.g. management services, certain REST services …etc.) from being exposed externally.
- Terminating the SSL connection from the public Consumer network in the DMZ i.e. SSL Offloading.
The reverse proxy must support HTTPS (HTTP 1.1) and secure WebSocket (WSS). Secure web socket are used for WebRTC session signalling and Live Assist co-browse.
Interoperability with Contact Center
CBA provides a key link into a contact center, not only connecting voice, video and instant messaging communications but also ensuring session correlation for continuity across channels, proper routing within the contact center, actionable analytics as well as providing agents with deeper context for every interaction.
Session Correlation
CaféX software assigns correlation IDs across applications, allowing users to switch between apps, channels and modality with consistency. For example, a user could dial into an 800#, bypass an IVR with an application alert on their smart-phone, then engage in a video and Live Assist session with an agent.
Proper queuing
Once the ACD determines the best agent to receive a customer request, CBA can either instruct ACD to call the customer back within the mobile app, website or phone number or connect directly to a specific expert.
Context passing
CBA will pass contextual customer Information data to ACD for intelligent routing and screen pop. From mobile and web applications a range of specific information can be relayed, such as the phone number, customer login, recent browsing history, type of device being used, service provide / carrier and location. Once context is asserted, CBA will connect the customer to the agent enabling the appropriate skill set and provide the agent with a view of pertinent information.
What are the typical bandwidths for voice, video & Live Assist?
Bandwidth tends to revolve around the video resolution, frame rate and bit-rate:
Resolution |
Video Format (Aspect) |
Quality |
Typical Bandwidth |
352x288 |
CIF (4:3) |
Standard Definition (SD) |
256 kbps - 511 kbps |
640x360 |
nHD (16:9) |
SD |
480 kbps – 980 kbps |
640x480 |
VGA (4:3) |
SD |
512 kbps – 1023 kbps |
1280x720 |
720p (16:9) |
High Definition (HD) |
1024 kbps - 1920 kbps |
What specific ports need to be opened for an Enterprise?
From the mobile app or browser client to the enterprise, only 2 or 3 ports are required on the external firewall into the DMZ depending on the application requirements.
- Signaling Protocol: HTTP/HTTPS (80/443) – The firewall routes all traffic received on port 443 (secure) or 80 (un-encrypted) to the HTTP reverse proxy in the DMZ
- Media Protocol: sRTP/DTLS (16000/default) – The firewall only needs a single port open to handle all sRTP (and DTLS) traffic from the WebRTC clients. The RTP and RTCP traffic are both handled on the same port. The firewall will forward any traffic received on the port to the media broker instance specific for that interface. Note: Each Media Broker in the DMZ requires its own unique interface/port assigned on the firewall.
What are the virtual server requirements in terms of vCPU and vDISK?
Server requirements depend on where the virtual instance is devoted to the Web Gateway or Media Broker. As a reminder:
- Fusion Web Gateway is used for WebRTC signaling providing conversion between HTTP & SIP. The Web Gateway is deployed and configured in a high-availability (HA) configuration.
- Fusion Media Brokers provide port muxing, encrypted media handling (sRTP/DTLS), media proxying (ex. for H.264 only calls) and transcoding of audio and video. Media Brokers with transcoding will concurrently transcode video (VP8/browser → H.264) and proxy video/audio calls.
For these two components deployed on VMware vSphere:
Component |
vCPU Cores |
vRAM (GB) |
vDisk (GB) |
vNIC (Gbps) |
OS (64 bit) |
Fusion Web Gateway (v2.1) |
4 (8400 MHz) |
4 |
40+ |
1 Gb |
RHEL 6.4/6.5 CentOS 6.4/6.5/7.0 |
Fusion Media Broker (v2.1) |
8 (16800 MHz) |
8 |
40+ |
10 Gb or two 1Gb |
RHEL 6.4/6.5 CentOS 6.4/6.5/7.0 |
* Transcoding between VP8 and H.264 performance varies depending on video resolution, frame rate, bitrate as well as server type, virtualization or bare metal OS installs, processors and audio codecs. A typical server will handle approximately 2-3 concurrent sessions per vCPU and proxy 10-20 media sessions per vCPU (bandwidth permitting).
What is the estimated server sizing of each component?
Servers for Web Gateway & Palettes
- Guidelines:
- 200 Web Gateway concurrent sessions per core
- 100 Palettes concurrent sessions per core
Recommended Physical or virtual machine specs
- Dual processor - 2.5GHz (8 or more core per CPU)
- 4 cores / vCPU total per VM instance
- 1 GB Memory per VM core (minimum)
- 40 GB HD per VM instance (RAID1 or greater)
- Minimum one (1) active 1 Gbps (1000bT) network interface
- Operating system: Red Hat Enterprise Linux Advanced Platform version 6.4 /6.5 or CentOS 6.4/6.5/7.0
Servers for Fusion Media Broker
- Guidelines:
- 20 – 50 pass-thru concurrent audio & video sessions per core
- 1 – 3 transcoded concurrent audio & video sessions per core
- Depends on a number of factors (CPU, VM vs. bare metal, frame rate, resolution, etc.)
Recommended Physical or virtual machine specs
- Dual processor - 2.5GHz (8 or more core per CPU)
- 8 cores / vCPU more cores total per VM instance
- 1 GB Memory per VM core (minimum)
- 40 GB HD per VM instance (RAID1 or greater)
- Minimum one (1) active 10 Gbps network interface
- Operating system: Red Hat Enterprise Linux Advanced Platform version 6.4 /6.5 or CentOS 6.4/6.5/7.0
How do the CBA server components scale & perform?
The Fusion Web Gateway can handle in excess of 1,800 signaling sessions per node (with a call duration/AHT of 180 seconds, 10 calls per second and a typical instance utilizing 8 vCPU and 12 GB of memory). For longer call durations, each node can handle up to 6,000 concurrent sessions. In turn, a cluster of four nodes can scale to in excess of 24,000 concurrent sessions or, with a Highly Available deployment, 18,000 concurrent sessions allowing for one node failure. For more details on the CBA software architecture please refer to CBA's Fusion Application Server 2.1 - Architecture Guide.
The Fusion Media Broker is gauged by pass-thru and transcoding media performance. Pass-thru is a non-transcoded session that utilizes STUN, encryption/decryption and UDP port muxing. Transcoding is unitized when two audio or video codecs differ and must be converted between media types (ex. VP8 to H.264 video or Opus to G.711 audio). An 8 vCPU Virtual Machine running the Media Broker would handle about 200 – 400 pass-thru media sessions or 10 - 20 concurrent transcoded video sessions (assuming 100% transcoding). Transcoding between VP8 and H.264 as well as Opus and G.711/G.729a performance varies depending on video resolution, frame rate, bitrate as well as server type, virtualization or bare metal OS installs, processors as well codec types.
As transcoding is an intensive process, CBA offers both H.264 native support and VP8 support in the mobile SDKs and in the future browser plugins. As a result, no transcoding will occur when a smartphone or tablet application connects to an H.264 endpoint and transcoding is drastically minimized.
SDK and server optimizations that work with hardware based VP8 and H.264 encoding and decoding yielding better video quality and improved battery life. In addition, joint development will improve encryption (AES-NI), media packet processing (DPDK) and transcoding (Iris Pro) on COTS server platforms.
Example Media Broker concurrent sessions (2 way audio & video) throughput results using default configuration on an 8 core VM running CentOS 6.4 on a Dell PowerEdge R420 with two 2.4GHz Xeon E5-2470 v2 processors (10 cores per socket) with VMware 5.5 hypervisor.
- Pass through (STUN, encryption/decryption & port muxing)
- 720p 30fps 768Kbps – 180 calls
- VGA 30fps 768Kbps – 200 calls
- CIF 15fps 256Kbps – 400 calls
- Video transcoding between H.264 and VP8
- 720p 30fps 768Kbps – 11 calls
- VGA 30fps 768Kbps – 13 calls
- CIF 15fps 256Kbps – 21 calls
[1] Liam Tung, “Opera 20 joins Chrome and Firefox in offering WebRTC video chat in Android browser”, March 6, 2014 (http://www.zdnet.com/opera-20-joins-chrome-and-firefox-in-offering-webrtc-video-chat-in-android-browser-7000027056/)
[2] Rowan Trollope, “Open-Sourced H.264 Removes Barriers to WebRTC”, Cisco Blogs, October 30 2013 (http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/)
[3] Lucian Constantin, “Google Chrome to block and banish plugins built using popular NPAPI architecture”, PC World, September 24, 2013 (http://www.pcworld.com/article/2049309/chrome-will-block-npapi-plugins-over-stability-security-concerns.html)
[4] Zach Walton, “Firefox To Soon Block Plugins By Default”, WebProNews, September 25, 2013 (http://www.webpronews.com/firefox-to-soon-block-plugins-by-default-2013-09)
[5] Internet Explorer Dev Center, “Get ready for plug-in free browsing” Microsoft Corporation (http://msdn.microsoft.com/en-us/library/ie/hh968248(v=vs.85).aspx)
Comments
0 comments
Please sign in to leave a comment.