devnet-1121customizing cisco video access for guests

63

Upload: cisco-devnet

Post on 15-Aug-2015

188 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: DEVNET-1121Customizing Cisco Video Access for Guests
Page 2: DEVNET-1121Customizing Cisco Video Access for Guests

Customizing Cisco Video Access for Guests

Darin DunlapSenior Product Manager

Collaboration Technology Group (CTG)

DEVNET-1121

Page 3: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 4: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 5: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 5

Introduction to Jabber Guest

Page 6: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 7: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 9: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 10: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 10

Product Highlights

Page 11: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 12: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 13: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 14: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 15: DEVNET-1121Customizing Cisco Video Access for Guests

© 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)

Page 16: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 17: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 17

Solution Components

Page 18: DEVNET-1121Customizing Cisco Video Access for Guests

© 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 …

Page 19: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 20: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 21: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 21

Example of Partner Integration with Jabber Guest

Video of Vyopta Integration

Page 22: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121

Call URL Management

22

Page 23: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Author
pls check first bullet; made a complete sentence because the ohers are
Page 24: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Author
pls check first bullet; made a complete sentence because the ohers are
Page 25: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 26: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 27: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 28: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 28

API in ActionGet Links Create Link Lookup Link Delete Link

Page 29: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121

Jabber Guest SDK for Web

29

Page 30: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 31: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 32: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 32

SDK in Action

Page 33: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 33

Jabber Guest SDK for iOS

Page 34: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 35: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 36: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 37: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 38: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 39: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 40: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 40

SDK in Action

Page 41: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 41

Jabber Guest SDK for Android

Page 42: DEVNET-1121Customizing Cisco Video Access for Guests

© 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?

Page 43: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 44: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 45: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 46: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 47: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 48: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 49: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 50: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 50

Get Started

Page 51: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 52: DEVNET-1121Customizing Cisco Video Access for Guests

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 52

Q & A

Page 53: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 54: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 55: DEVNET-1121Customizing Cisco Video Access for Guests

Thank you

© 2015 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1121 55

Page 56: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 57: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 58: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 59: DEVNET-1121Customizing Cisco Video Access for Guests

© 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

Page 60: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 61: DEVNET-1121Customizing Cisco Video Access for Guests

© 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.

Page 62: DEVNET-1121Customizing Cisco Video Access for Guests
Page 63: DEVNET-1121Customizing Cisco Video Access for Guests

© 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]