Date post: | 15-Aug-2015 |
Category: |
Technology |
Upload: | cisco-devnet |
View: | 188 times |
Download: | 3 times |
Customizing Cisco Video Access for Guests
Darin DunlapSenior Product Manager
Collaboration Technology Group (CTG)
DEVNET-1121
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 3
• Introduction
• Product Highlights
• Solution Components
• Call URL Management & API
• SDK’s & Demonstration
• Get Started
Agenda
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 4
DisclaimerThe Cisco products, service or features identified in this document may not yet be available or may not be available in all areas and may be subject to
change without notice. Consult your local Cisco business contact for information on the products or services available in your area. You can find
additional information via Cisco’s World Wide Web server at http://www.cisco.com. Actual performance and environmental costs of
Cisco products will vary depending on individual customer configurations and conditions. This is a confidential Cisco Internal launch document and
not for external distribution.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 5
Introduction to Jabber Guest
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 6
• Calls to individual employees, experts, customer care
• SDKs for Web & mobile app integration
• Available since June, 2014
• UC/video sessions into businesses … from desktop browsers, mobile clients
• Initiate from public web sites, mobile applications & URLs, e.g. email
Jabber Guest – Public-to-Enterprise Communications
Guest/Public User
Enterprise User
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 7
Jimmy Kimmel Live!Wall of America … Powered by Cisco
Fans, celebrities appear on the showusing Jabber Guest integrated into the Jimmy Kimmel Live!
portal
Wall of America on The Broadcast
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 8
Many Segments to Date … & More to Come!Showing in The Cisco Booth & Online
Avengers Cast & Fans
Tax Edition
Will Smith & DJ Jazzy Jeff
Brave Shop Cashier Viola DavisInterview
Show & Tell,Ricky SchroederNational Pancake Day
Kobe Bryant & Fans
Jimmy Kimmel Debuts Wall of America with Kevin Hart & Eddie Murphy
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 9
High-level Architecture
Consumer
Business
Jabber Guest virtual machine
E n t e r p r i s e
Public Internet
Cisco UCM or Business Edition
Expressway
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 10
Product Highlights
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 11
Browser & Mobile Experiences (“off the shelf”)
• VideoPoint-to-point video
Point to video conference
• Midcall controlKeypad, mute audio or video, full-screen video
Camera, audio device selection
Self-view
• Call control – WebRTC compatible
• MediaBrowser add-on (desktop web), Native apps (mobile)
Future – WebRTC for media
User Experience
* Images for illustration purpose only. Final UI subject to change.
Sales Department
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 12
WebRTC Vision
Browser
s
Codecs
Standard
s
Vendor A Browser
With Web App X
Vendor B Browser
With Web App X
Native,Zero PluginApps
• Native video in the browser
• ZERO install
• Standards still evolving at IETF, W3C
• Jabber Guest call control designed to be
WebRTC compatible
• Video codec support agreed Nov ‘14
• Media interop requires client &
infrastructure enhancements
HTML5 Standard – In Progress
* Images for illustration purpose only. Final UI subject to change.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 13
Jabber Guest SDKs
Customization
• Desktop browser SDK
Sample HTML and Javascript provided to create
video widget and set up event handler
• Mobile native application SDK
iOS framework … Android library
Includes sample projects, tutorials, API reference, etc
* Images for illustration purpose only. Final UI subject to change.
• Developer enablement via Cisco DevNet …
http://jabberdeveloper.com
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 14
Jabber Guest 10.5 - What’s New …
Android Client, SDK
available
Chrome Integration(Non-NPAPI)
64-bit support
New iOS8 ClientHD Send Enabled64-bit client, SDK
UCCX/UCCE/PCCECertified
Other Updates: Calls to VCS-registered endpoints via CUCMMac OS Yosemite (10.10) supportQuality, security enhancements
NEW Q4CY14/Q1CY15
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 15
64-bit Jabber Guest SDK & App for iOS
• As of Feb 1, 2015, new App Store apps must be 64-bit, built with iOS 8 SDK
• Existing apps have until June 1, 2015
• Jabber Guest SDK for iOS (10.5.4) supports these requirements
• Jabber Guest for iOS (10.5.4) in the App Store is also 64-bit
• SWIFT-based sample apps also provided with the SDK (10.5.4)
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 16
Jabber Guest 10.6 - What’s Next….
Other Features: BE6000 server support, e.g. BE6000M (M3), for 10.xEnhancements to Web client
accessibilityQuality, security enhancements
BFCP ScreenShare (Receive)
G.722 WidebandCodec Support
Web UE EnhancementsSelf View Control
NEW Q2CY15
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 17
Solution Components
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 18
Example Call Flow
Expressway/VCS Core X8.2+
Expressway/VCS Edge X8.2+
Home Internet DMZ Enterprise
Cisco® UCMJabber® Guest
HTTPS-basedcall control (ROAP)
SIP
RTP/SRTP
STUN/TURN
• Serves up Javascript call control based on URL• For mobile, uses Cisco® app from app store or integrates SDK into third-party app• For laptop browsers, initiates H.264 add-on install as needed (Cisco or 3rd-party Web app)• Converts HTTPS call request to SIP INVITE
Jabber Guest …
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121
Contact Center and Jabber Guest
Expressway CoreExpressway Edge
Home Internet DMZ Enterprise
Jabber®
Guest
• UCCE 10.0 in Remote Expert 1.9 … PCCE 10.5• UCCX 10.5 validated up to 100 sessions• Video in Queue through MediaSense• Rich video experience, including HD
Contact Center and Jabber® Guest …
UCCE/PCCE/UCCX
CiscoUCM
MCU
Cisco UBE,VXML-GW
MediaSense
HTTPS-basedcall control (ROAP)
SIP
RTP/SRTP
STUN/TURN
19
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121
Using Jabber Guest with Cisco Context Service
20
CustomerContext Service
Customer-facing App Back End*
AgentE n t e r p r i s e
Jabber Guest virtual machine
UC Manager, Business Edition
Expressway
CVP/UCCE, PCCE, UCCX
1. Customer-facing app puts interaction data into CS
3. Call setup to contact center using Guest call link … interaction created in CS, data (POD ID) passed to CC
2
2
* could alternatively be on-prem
1
3
3
3Finesse
4
4
4
2. Customer-facing app, via its back end, gets unique Guest call link for the customer, e.g. using customer’s phone #, account ID or email as the identifier
4. Call routed to agent … POD ID passed to Finesse, loads customer/context data from CS
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 21
Example of Partner Integration with Jabber Guest
Video of Vyopta Integration
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121
Call URL Management
22
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 23
Call URL Configuration
• Administrator configures URL
• URL string, call destination, caller name, active time, etc.
• Some examples …
• URL dialing: https://example-jabberg.com/call/[email protected]
• 8-digit domain name: https://example-jabberg.com/call/[email protected]
• Custom: https://example-jabberg.com/call/ServiceDepartment
• “Jabber Guest API” is the server-side RESTful API for programmatic URL management
• “Ad-hoc” calling can be used for a more open approach
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 24
“Timed” URL Configuration
• A time-bound call link may be created
• Link only valid during time specified in admin console
• Helps manage time of in-house expert
• Jabber Guest API may be used to manage links & timing from third party scheduling software
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 25
Jabber Guest API
• Restful API provided to create, update, delete call URL’s, as well as retrieve information about links
• Script for bulk management of links using this API is available on DevNet
• The API can return or retrieve data in either application/json or application/xml
• API use is supported at a rate of once per second … support for database size of 20,000 call URLs
Resource DescriptionGET https://[IP address]/cjg-api/rest/links/ Returns a list of links and the properties for each
link. Parameters: • limit—The number of items to limit the list to. • offset—The offset into the full result list to start this list at.Examples of limit and offset for paging links: • Gets the first 10 links (page 1): /cjg-api/rest/links?limit=0&offset=10 • Gets the next 10 links (page 2): /cjg-api/rest/links?limit=10&offset=10
GET https://[IPaddress]/cjg-api/rest/links/[linkObjectId]
Takes a linkObjectID and returns the object properties for the specified link.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 26
Jabber Guest API (cont.) POST https://[IPaddress]/cjg-api/rest/links/ Create a new link
Content-Type: application/jsonBody: {“isEnabled”: true,“requestPath”: “AnyValueYouWant”,”destination”: “[email protected]}
The requestPath value must be unique. You also need to pass in the isEnabled flag or the link will be disabled
Resulting Link:https://[server]/call/AnyValueYouWant
PUT https://[IP address]/cjg-api/rest/links/[linkObjectId] Update Link
Content-Type: application/jsonBody: { “is Enabled”: true,“requestPath”: “AnyValueYouWant”,“destination” [email protected] }
The requestPath value must be unique. You also need to pass in the isEnabled flag or the link will be disabled.
Resulting link:https://[server]/call/AnyValueYouWant
DELETE https://[IP address]/cjg-api/rest/links/[linkObjectId]
Delete the specified link.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 27
Jabber Guest API (cont.)
Property Description
linkObjectID Unique identifier for a link
isEnabled The status of the link. This flag must be passed in when creating or updating a link or the link will be disabled.
requestPath The part of the link after /call. For example, https://[linkPrefix][requestPath]. Must be unique.
destination DN or URI that is called when a user clicks on the link. Destination is required.
displayName The name displayed on the client when placing a call using this link. Optional.
callerName The name displayed on the destination endpoint in the enterprise when a call is placed using this link. Optional.
Property
Description
callerAlias The Caller ID displayed on the destination endpoint in the enterprise when a call is placed using this link. Optional.
validAfter The date and time when a link becomes active. Default value: If left blank, the link can be used immediately to route calls. Optional.
validBefore The date and time when a link expires, and can no longer be used to route calls. If left blank, the link never expires. Optional.
linkPrefix The part of the link before the request path.linkPrefix is the same for all links in a cluster.
userObjectId The user responsible for creating the link.Default: If left blank, defaults to the logged-in user.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 28
API in ActionGet Links Create Link Lookup Link Delete Link
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121
Jabber Guest SDK for Web
29
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 30
Simple to Embed Video in Web Apps
• Jabber Guest functionality is exposed on a web page by embedding the application widget
• The widget can be embedded using an iFrame, e.g. …<div>
<iframe id="jabberg" src="https://jabberguest.mycompany.com/call/1000?widget=true">
</iframe>
</div>
• Widget displays error messages and responds to events, e.g. use an “onmessage” listener in the parent window
• Navigating away from the active call page will end the call – to prevent a user accidently closing an active call, Jabber Guest will first prompt the user to confirm the close
• There is a widget sizing tool located at … https://<server>/call/widget-size.html
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 31
Simple to Embed Video (cont.)
• Hyperlink under “join” button may be seen below.
• Notice “?widget-true”. Video only widget, i.e. no additional web page
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 32
SDK in Action
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 33
Jabber Guest SDK for iOS
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 34
Overview of Jabber SDK for iOS
Jabber Guest SDK for iOS includes …
• An iOS framework that packages libraries and available APIs
• Sample projects that help you walk through the supported integration scenarios
• Documentation that includes tutorials and API references
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 35
iOS Integration Scenario – Simplest ApproachHigh Level: Use Pre-packaged View Controller (1/2)The SDK provides a view controller class which handles all Jabber Guest functionality for you. You just need to instantiate the view controller and segue to it from your own UI.
Call
Live Video Support
Your app’s UI
Live Video Support
Your app’s UI
CJGuestCallViewController
Preview
In Call View
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 36
iOS Integration Scenario – Simplest ApproachHigh Level: Use Pre-packaged View Controller (2/2)
• Required Classes
Class Name Description
CJGuestCallViewController The high level Jabber Guest view controller that controls the entire call
CJGuestViewControllerDelegate Protocol that handles events when end call / More button was pressed, or Invalid certificate was received from Jabber Guest server
Name Description
NSString * serverName Jabber Guest server address
NSString * toURI SIP URI of the remote end point
Name Description
callFinishedForCallController called when the end call button was pressed or disconnect occurs
moreButtonPressedForCallController called when the More button was pressed
• Properties that have to be set before segueing
• Protocol methods need to be implemented before initiating the segue
• Set its delegate
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 37
iOS Integration Scenario – Greater CustomizationLow Level: Custom Views (1/2)Instead of letting the view controller take care of everything for you, you can use the main Jabber Guest class together with the pre-packaged view subcomponents to build your own custom solution.
Your app’s UI Live Video Support
Remote Video:
remoteView
Self Video: selfView
Call Bar View: CJGuestCallBar
View
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 38
iOS Integration Scenario – Greater CustomizationLow Level: Custom Views (2/2)
• Required ClassesClass Name Description
CJGuestCall A singleton, represents the lifecycle of a single entire call.
CJGuestCallBarView call bar customized view
CJGuestCallBarViewDelegate protocol that handles event when a button on the view was pressed
Name Description
Class method sharedInstance this method returns the active call instance
Instance methods startCall call this method to establish a call
endCall call this method to end the call
Properties NSString * serverName Jabber Guest server address
NSString * toURI SIP URI of the remote end point
IBOutlet UIImageView * remoteView represents the called party’s video during an active call
IBOutlet UIImageView * selfView represents the local user’s transmitted video during an active call
• Key methods and properties in CJGuestCall
• Key notification event to register CJGuestStatChangeNotification: Register for this event to be notified when the call state changes
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 39
User Activation of Cisco H.264 AVC in 3rd-party iOS Apps
• To be covered by Cisco’s H.264 license &
royalty payments to MPEG-LA, third parties
must use the SDK for iOS/Android
“activation” mechanism in their apps
• Users must “Activate” one time before calls
will work
• Third parties that use the SDK for iOS in their
apps without the Cisco activation mechanism
will need to license H.264 from MPEG-LA and
pay them royalties
Third-party App
Calls Activated in Third-party App
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 40
SDK in Action
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 41
Jabber Guest SDK for Android
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 42
Jabber Guest SDK for Android includes …
• An Android library that wraps all available Jabber Guest APIs
• A couple of sample projects that help you walk through the supported integration scenarios
• Documentation that includes tutorials and API references
What does the SDK for Android offer?
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 43
The SDK provides an activity (JabberGuestCallActivity) using two pre-packaged fragments (PreviewFragment, CallFragment) that combine typically needed views for you based on call state.
JabberGuestCallActivity
Android Integration Scenarios – Simplest ApproachHigh Level: Use Activity (1/3)
Your app’s UI
Live Video support
Call
Your app’s UI
Live Video support
Preview
In Call View
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 44
Android Integration Scenarios – Simplest ApproachHigh Level: Use Activity (2/3)
• Required Classes
Class Name Description
JabberGuestCall the main singleton class that consolidates the lifecycle and interaction with a Jabber Guest call
JabberGuestCallActivity 1 a packaged Android activity that automatically controls SDK fragments (PreviewFragment or CallFragment) shown based on current conditions of the call … see docs for attributes, etc
Name Description
createInstance create and return an instance
getInstance get an existing instance
createUri create and return a Uri in the format that createInstance expects
RegisterReceiver register a given BroadcastReceiver to be notified when supported events occur
registerInvalidCertificateHandler 2 registers an implementation of JabberGuestInvalidCertificateCallback interface
• Key static public member methods in JabberGuestCall class
1 Always associated with an instance of JabberGuestCall2 Note that if you do not register an implementation of this interface, if the JabberGuestCall instance encounters a certificate error the instance will reject the invalid certificate and terminate any pending call immediately.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 45
Android Integration Scenarios – Simplest ApproachHigh Level: Use Activity (3/3)
• Key intents sent to registered BroadcastReceivers
Name Description
start initiate the call to the toUri specified in the createInstance method
end end this call and release all resources associated with this instance
registerContext provides a context to display dialog windows when necessary
acceptInvalidCertificate accept the invalid certificate
rejectInvalidCertificate reject the invalid certificate
• Key public member methods in JabberGuestCall class
• Key states of a JabberGuestCall instanceName Description
State enum type: { GuestCallStateDisconnected, GuestCallStateConnecting, GuestCallStateConnected, GuestCallStateDisconnecting }
Name Description
ACTION_INSTANCE_AVAILABLE sent when a new instance of JabberGuestCall has been created.
ACTION_CALL_STATE_CHANGED sent when a state change occurs in a JabberGuestCall instance.
ACTION_CALL_CONTROL_EVENT sent when a new call control event is generated in a JabberGuestCall instance.
ACTION_CALL_ERROR_EVENT sent when an error event occurs in JabberGuestCall instance.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 46
Your app’s UI Live Video Support
Android Integration Scenarios – Greater CustomizationLow Level: Use Custom Views (1/3)
Instead of using fragments, you can take the subcomponent themselves, like the RemoteView, SelfView, and CallBarView, to create your own custom solution.
Self Video:SelfView
Remote Video: RemoteView
Call Bar:CallBarView
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 47
Android Integration Scenarios – Greater CustomizationLow Level: Use Custom Views (2/3)• Required Classes
Class Name Description
JabberGuestCall the main singleton class that consolidates the lifecycle and interaction with a Jabber Guest call.
PreviewView a view that represents the local user's video before a call is placed
RemoteView a view that represents the called party's video during an active call
CallBarView a view that represents controls that can alter the functionality of an active call
SelfView a view that represents the local user's transmitted video during an active call.
KeypadView a view that represents a telephone keypad during an active call
Name Description
createInstance create and return an instance
getInstance get an existing instance
createUri create and return an Uri in the format that createInstance expects.
RegisterReceiver register a given BroadcastReceiver to be notified when supported events occur
registerInvalidCertificateHandler 1 registers an implementation of JabberGuestInvalidCertificateCallback interface
• Key static public member methods in JabberGuestCall class
1 Note that if you do not register an implementation of this interface, if the JabberGuestCall instance encounters a certificate error the instance will reject the invalid certificate and terminate any pending call immediately.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 48
Android Integration Scenarios – Greater CustomizationLow Level: Use Custom Views (3/3)
• Key intents sent to registered BroadcastReceivers
Name Description
ACTION_INSTANCE_AVAILABLE sent when a new instance of JabberGuestCall has been created.
ACTION_CALL_STATE_CHANGED sent when a state change occurs in a JabberGuestCall instance.
ACTION_CALL_CONTROL_EVENT sent when a new call control event is generated in a JabberGuestCall instance.
ACTION_CALL_ERROR_EVENT sent when an error event occurs in JabberGuestCall instance.
Name Description
start initiate the call to the toUri specified in the createInstance method
end end this call and release all resources associated with this instance
registerContext provides a context to display dialog windows when necessary
acceptInvalidCertificate accept the invalid certificate
rejectInvalidCertificate reject the invalid certificate
getState Retrieve the current state of this JabberGuestCall instance
• Key public member methods in JabberGuestCall class
• Key states of a JabberGuestCall instanceName
Description
State enum { GuestCallStateDisconnected,GuestCallStateConnecting,GuestCallStateConnected,GuestCallStateDisconnecting }
• Key intents sent to registered BroadcastReceivers
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 49
SDK in Action …
DEVNET-2011 (Thu, 11:30)Jabber Guest SDK for Android Live Coding Tutorial
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 50
Get Started
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 51
Summary
Key Take Away – Imagine the possibilities
• Expand your business reach and cut costs
• Enhance customer interactions
• Make experts easy to find
• Improve interactions with partners, suppliers
Additional Resources
• Customers: Visit Cisco.com/Go/JabberGuest
• Developers: Visit Jabberdeveloper.com
• EAP/Beta: Via Customer Connection Program
• BRKUCC-2086 Extend the Reach of Your Cisco Video Solution with Jabber Guest
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 52
Q & A
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 53
Continue Your Education• Visit the World of Solutions for demos
• Jabber area• Customer Experience area
• Visit the DevNet Zone for … • Learning Labs• Hackathon• DEVNET-2011 … Jabber Guest - Android SDK Live Coding Tutorial• Sandbox demo pod
• Visit DevNet online for on-going developer resources … http://jabberdeveloper.com
• Attend related sessions …• BRKUCC-2086 … Extend the Reach of Your Cisco Video Solution with Jabber Guest• LABCOL-2400 … Jabber Guest Implementation with Expressway• TECCOL-2888 … Designing and Deploying A Secure Enterprise Edge Solution for Collaboration • BRKUCC-2801 … Cisco Expressway at the Collaboration Edge Design Session
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121
Complete Your Online Session Evaluation
Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online
• Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card.
• Complete your session surveys though the Cisco Live mobile app or your computer on Cisco Live Connect.
54
Thank you
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 55
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 56
Screen Share to Jabber Guest 10.6From Jabber Windows/Mac & Video Endpoints with BFCP Sharing
• Web browsers on Windows, Mac
• Shared content replaces far-end video ... show/hide self, far-end view
• iOS & Android smartphones, tablets
• Swipe between shared content & far-end view … toggle self view in either … zoom/pan
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 57
• Cisco-provided client in Google Play store
• Native Android SDK on DevNet (http://jabberdeveloper.com)
• Same capabilities as Jabber Guest for iOS• exception: HD video transmit
• Same 3rd-party device support as Jabber for Android 10.6 (details in slide notes)
Jabber Guest for Android (10.5.3)
Smartphones Tablets
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 58
New Architecture, Experience for Google Chrome
• Addresses Chrome dropping NPAPI plugins
• Required for 64-bit Chrome on Windows & Mac
• Chrome changes require using both an extension & a native “add-on”
• Video is in a native window automatically overlaid on top of the browser window
• SDK is also supported
Sales Department
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 59
The SDK provides two pre-packaged fragments that combine relevant views for you, which can be used directly if greater customization is needed versus using the “high-level” approach.
PreviewFragment CallFragment
Android Integration ScenariosMedium Level: Use Pre-packaged Fragments (1/3)
Your app’s UI
Live Video support
Call
Your app’s UI
Live Video support
Preview
In Call View
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 60
Android Integration ScenariosMedium Level: Use Pre-packaged Fragments (2/3)
• Required Classes
Class Name Description
JabberGuestCall the main singleton class that consolidates the lifecycle and interaction with a Jabber Guest call
PreviewFragment 1 a packaged collection of visual components allowing developers to show a SelfView with a call button
CallFragment 1 a packaged collection of visual components working together to give developers a quick and easy way to show a two-way video call. It includes a RemoteView, SelfView, and CallBarView
Name Description
createInstance create and return an instance
getInstance get an existing instance
createUri create and return a Uri in the format that createInstance expects
RegisterReceiver register a given BroadcastReceiver to be notified when supported events occur
registerInvalidCertificateHandler 2 registers an implementation of JabberGuestInvalidCertificateCallback interface
• Key static public member methods in JabberGuestCall class
1 Always associated with an instance of JabberGuestCall2 Note that if you do not register an implementation of this interface, if the JabberGuestCall instance encounters a certificate error the instance will reject the invalid certificate and terminate any pending call immediately.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 61
Android Integration ScenariosMedium Level: Use Pre-packaged Fragments (3/3)
• Key intents sent to registered BroadcastReceivers
Name Description
start initiate the call to the toUri specified in the createInstance method
end end this call and release all resources associated with this instance
registerContext provides a context to display dialog windows when necessary
acceptInvalidCertificate accept the invalid certificate
rejectInvalidCertificate reject the invalid certificate
• Key public member methods in JabberGuestCall class
• Key states of a JabberGuestCall instanceName Description
State enum type: { GuestCallStateDisconnected, GuestCallStateConnecting, GuestCallStateConnected, GuestCallStateDisconnecting }
Name Description
ACTION_INSTANCE_AVAILABLE sent when a new instance of JabberGuestCall has been created.
ACTION_CALL_STATE_CHANGED sent when a state change occurs in a JabberGuestCall instance.
ACTION_CALL_CONTROL_EVENT sent when a new call control event is generated in a JabberGuestCall instance.
ACTION_CALL_ERROR_EVENT sent when an error event occurs in JabberGuestCall instance.
© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 63
Collaboration Cisco Education OfferingsCourse Description Cisco Certification
CCIE Collaboration Advanced Workshop (CIEC) Gain expert-level skills to integrate, configure, and troubleshoot complex collaboration networks
CCIE® Collaboration
Implementing Cisco Collaboration Applications (CAPPS)
Understand how to implement the full suite of Cisco collaboration applications including Jabber, Cisco Unified IM and Presence, and Cisco Unity Connection.
CCNP® Collaboration
Implementing Cisco IP Telephony and Video Part 1 (CIPTV1)
Implementing Cisco IP Telephony and Video Part 2 (CIPTV2)
Troubleshooting Cisco IP Telephony and Video (CTCOLLAB)
Learn how to implement Cisco Unified Communications Manager, CUBE, and audio and videoconferences in a single-site voice and video network.
Obtain the skills to implement Cisco Unified Communications Manager in a modern, multisite collaboration environment.
Troubleshoot complex integrated voice and video infrastructures
CCNP® Collaboration
Implementing Cisco Collaboration Devices (CICD)
Implementing Cisco Video Network Devices (CIVND)
Acquire a basic understanding of collaboration technologies like Cisco Call Manager and Cisco Unified Communications Manager.
Learn how to evaluate requirements for video deployments, and implement Cisco Collaboration endpoints in converged Cisco infrastructures.
CCNA® Collaboration
For more details, please visit: http://learningnetwork.cisco.comQuestions? Visit the Learning@Cisco Booth or contact [email protected]