Sei sulla pagina 1di 45

WebEx Meeting Service Integration and Customization

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

Cisco WebEx Collaboration Cloud

Seamless Global Back-up for Data, Audio & Video

Operating at Only 50% Capacity

Meetings Held in Over 70 Countries

Aggregate International Internet Capacity (Gbps) 150 50 15

WebEx provides world-wide redundant coverage so you dont have to


Cisco Confidential

MediaTone Hub MediaTone Network

Presentation_ID 2011 Cisco Systems, Inc Source: TeleGeography Research, PriMetrica,Inc. All rights reserved.

Cisco Network Layered Architecture

Cisco Webex Collaboration Cloud

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

Best of Breed Security


WebExs Multi-Layer Security Model

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

WebEx Site Branding


WebEx services are delivered through meeting sites provisioned for each customer and hosted by WebEx. Meeting participants use WebEx customer sites to schedule and join meetings. The WebEx branding team can customize the meeting site text, menu options, fonts, colors and graphics for each customer.

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

WebEx Site Integration


If meeting site branding is not flexible enough and a deeper integration is required, WebEx offers comprehensive Application Programming Interfaces (APIs). WebEx APIs allow programmatic control of almost all meeting site functionality. APIs are often used to create user accounts, schedule and launch meetings from partner applications, and to retrieve usage information. Many partners and sophisticated end-customers have developed their own complete meeting portals in place of regular WebEx meeting sites using the APIs. Partners/Customers should determine the depth of their WebEx integration based on their programming ability and available resources.
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

WebEx Integration Platform


WebEx offers four APIs for meeting service integration: URL API simple URL parameter interface XML API comprehensive web services interface NBR API for managing recordings TSP API in meeting teleconferencing interface. Covered in the Audio Integration presentation

Cisco Webex Collaboration Cloud


Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

Integration Platform APIs


URL API
Partner web pages link to structured URLs to access PHP pages on each customer Meeting site Pre and post meeting functionality

XML API
Partner applications HTTP Post XSD compliant requests to XML API servers Pre and Post meeting functionality

Telephony API
In-Meeting interface between partners telephony bridge and WebEx service XML DTD interface

Network-Based Recording API


Access recordings, provide download URLs
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

Developer Resources
Visit http://developer.webex.com/meetingservices
Docs, Tech Notes, White Papers, Forums, etc.

Sign up for a shared sandbox test site


Tinker, test, but no Admin Privileges

Developer Services Support


apidev@webex.com More support info on the site

Free

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

10

Meeting Services Dev Portal

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

11

Gold Developer Program


Advanced Support for a Fee
$2500/yr for elevated support Dedicated test site with Admin privileges Escalated email and phone support Architectural consulting

Required for Production Roll-outs

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

12

XML API
Technical Deep-Dive

- What is the XML API? - Basic Command Structure - Service Break-Down - User Provisioning - Billing / Usage Collection

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

13

What is the XML API?


The WebEx XML API is a comprehensive XSD compliant web service that allows interacting with WebExs Pre and Post Meeting Data. Posted Over HTTPS
URI: https://[sitename].webex.com/WBXService/XMLService

Developer Resources
Documentation and Schema available at http://developers.webex.com

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

14

Basic XML Command Structure


Security Context
-Host Account Credentials
- WebEx username and password or session ticket - Permissions required depend on the command

- Site Specification
- SiteID: WebEx Site unique identifier - SiteName: Site domain name - PartnerID: Site-level password for using the APIs

Body Content
- Specifies the XML API request name
- Child nodes provide command-specific data

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

15

Sample XML API request body content

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

16

Sample XML API response

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

17

XML API Service Break-Down


XML API functionality is grouped into separate XML API Services

WebEx Center Services


Meeting Center, Event Center, Training Center, Support Center session management

User Service:
User account management

History Service:
Retrieves usage data

Site Service:
Retrieves Site Configurations

General Session Service:


Commands that pertain to all WebEx Centers
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

18

XML API Function Summary


Service
User Meeting Training Session

Important Requests
Create/Set/Lst/Get/DelUser, LstSummaryUser, Getloginurl/GetlogouturlUser Create/Set/Lst/Get/DelMeeting, LstSummaryMeeting, Gethosturl/GetjoinurlMeeting Create/Set/Lst/Get/DelTrainingSession, GetLabInfo, CheckLabAvailability, GetLabSchedule, LstScheduledTests, GetTestInformation, GetIMStestResult Create/Set/Lst/Get/DelEvent CreateSupportSession Create/Lst/DelMeetingAttendee LsttrainingsessionHistory, LsttrainingattendeeHistory, LstmeetingusageHistory, LstmeetingattendeeHistory, LsteventsessionHistory, LsteventsessionHistory, LstsupportsessionHistory, LstsupportsessionHistory, GetSite LstSummarySession, Lst/Set/DelRecording, LstContact, CreateContacts

Event Support Session Meeting Attendee History

Site General

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

19

Host Account Provisioning


Commands: CreateUser, SetUser Basic Configurations
webExId, password: The WebEx Username & Password firstName, lastName, email, phones active: Sets whether the host is active or not

Audio Account Settings


tspAccount: Allows setting up to three TSP audio accounts

Other Important Settings


privilege: Various elements that control what features a user has meetingTypes: Sets what session types the user may use to schedule WebEx sessions

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

20

Usage Reporting
Each WebEx Center provides a set of two commands that return usage data

Attendee History
Detailed information on each attendee that joined the session Provides minute totals for how long each participant spent on the web conference

Usage / Session History


Report that returns a summary of sessions within a given date-span Provides usage totals for each session returned

Examples
LstmeetingusageHistory: Will return a list of meetings that occurred during the time-span you specified LstmeetingattendeeHistory: Will return a list of attendees that attended the session of the meetingKey specified.
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

21

XML API Deployment Phases


New XML API versions are deployed in the following three phase process

Beta
After engineering has fully tested a new XML API version it is deployed to our beta servers for a couple of weeks.

Preview
After Beta testing, the new version is deployed to all production servers at the following preview URL. Customers can test the new version against their production data in preview for a minimum of three weeks:

https://sitename.webex.com/WBXService/preview/XMLService

General Availability
If no major bugs have been found during the preview testing period, the new version will be promoted to general availability at the production URL: https://sitename.webex.com/WBXService/XMLService

Note: Version Flexibility


The vast majority of customers use the General Availability XML API version. However, customers can choose to continue using older XML API versions for stability or get updated to upcoming preview versions in advance for early access to new features.

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

22

URL API
Technical Deep-Dive

- What is the URL API? - Service Break-Down - User Authentication

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

23

What is the URL API?


A simple, URL based interface to execute WebEx meeting functionality in a browser. WebEx Recommends Using the URL API for:
Authentication to the WebEx Page Immediately starting/joining WebEx sessions

URL API Version Coincides with WBS Version

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

24

URL API Functionality


Partner (p.php) User account login User account log out User account creation User account editing My WebEx (o.php) User Profile My WebEx features Meeting (m.php) Schedule meetings Delete meetings Host meetings Join meetings List meetings Start meetings TC HOL functionality

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

25

URL API Service Break-Down


Partner Page (p.php)
Login / Logout Add / Update Users

Meeting Page (m.php)


Provides Functionality around Meetings/Sessions/Events

My Office Page (o.php)


Update profile information

Computer page (c.php)


Access Anywhere Features

Hands-on Lab (h.php)


Access to lab info

File Mgmt Page (f.php)


Allows host to upload or download files

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

26

URL API Basics


URI to Access the URL API
http://[sitename].webex.com/[sitename]/[API_Page]

Each Command is Defined by AT


Login Logout p.php?AT=LI p.php?AT=LO m.php?AT=JM

Join Meeting

Back URL (BU)


The URL to be forwarded to after the command executes Almost every command has a BU argument Ampersand characters must be URL encoded (you can encode the whole string if you desire)

Command Results are Returned


ST SUCCESS or FAIL RS Failure Reason

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

27

URL API Format


https://company.webex.com/company/<page>?AT= <actionCode>&<param1>=<value1>&<param2>=<valu e2> &BU=<URL>
page = PHP API page actionCode = API function URL = page to appear after command executes

Example: Joining a meeting


https://company.webex.com/company/m.php?AT=JM &MK=12345678&AN=John_Doe&AE=johndoe@company.com

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

28

User Authentication
Login Command (AT=LI)
WID WebEx Username PW Password MU URL to be directed to if login is successful BU URL to be directed to if login fails This parameter only behaves this way for the Login Command

Login Command Example:


https://[site].webex.com/[site]/p.php?AT=LI &WID=joe &PW=pass &MU=http://success.org &BU=http://failure.org

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

29

SSO and Federated Identity

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

30

Traditional SSO Offerings


Professional Services (PSO) package
PSO develops custom pages hosted on customer servers. WebEx URL API used to login and create user accounts. WebEx Username usually set to customer intranet username. WebEx site login pages are usually deactivated

Active Directory Integration


Can create, delete, update WebEx accounts from Microsoft Management Console and Sharepoint. AD Snap-In calls WebEx XML API for user management

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

31

Federated SSO Customer Requirements


SAML Compliant Identity & Access Management System
CA SiteMinder Sun Access Mgr Ping Federate Oracle CoreID Several More with demonstrated Interoperability

X.509 Digital Certificate


Granted by Certificate Authority Or Customer generated

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

32

What is SAML?
Security Assertion Markup Language Standard for passing credentials between different Internet domains that have their own authentication systems. OASIS
SAML 1.0, Approved Nov. 2002 1.1, Sep. 2003 2.0, Mar. 2005

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

33

WebEx SAML Assertion format


<Assertion xmlns="urn:oasis:names:tc:SAML:1.0:assertion" AssertionID="c65e497d8174d27be68eafd787bb29fd" IssueInstant="2005-01-23T00:54:48.913Z" Issuer="www.webex.com" MajorVersion="1" MinorVersion="1">

<Conditions NotBefore="2005-01-23T00:54:48.663Z" NotOnOrAfter="2007-0131T08:00:00.000Z"></Conditions> <AuthenticationStatement AuthenticationInstant="2005-01-23T00:54:48.600Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password">

<Subject> <NameIdentifier NameQualifier=customer.webex.com">uid=johnd</NameIdentifier> <SubjectConfirmation> <ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer </ConfirmationMethod> </SubjectConfirmation> </Subject> <SubjectLocality IPAddress="127.0.0.1"></SubjectLocality>
</AuthenticationStatement>
</Assertion>

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

34

Federated SSO Authentication Use Cases


Browser Authentication
Customer sends WebEx an X.509 certificate which is associated w/their site. User authenticates to their corporate intranet and wants to schedule a WebEx meeting. Identity Management System (IDMS) generates signed SAML assertion containing WebEx username and posts it to WebEx. PSO option to automatically create new WebEx account if necessary. WebEx SAML Auth. Service verifies SAML assertion and creates browser session cookie. User is now authenticated to WebEx meeting site and can schedule meetings.

API Authentication
Integration sends a signed SAML assertion in an XML API request. XML API calls SAML Auth Service to authenticate user and returns a WebEx session ticket. If WebEx user account doesnt exist, XML API CreateUser can be used create account. WebEx session ticket is used in subsequent XML API requests that require user authentication.

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

35

Federated SSO Authentication Process flow


LDAP/ Active Directory
4) Map Customer to WebEx Username

3) Send Credential

IAM Service X.509 Cert


5) Generate Assertion

1) Send to WebEx

User & Certificate DB

6) Sign Assertion 9) Validate Signature & Username

Intranet
2) User Logs in

7) Return Assertion

SAML Assertion

8) POST Assertion

SAML Auth Service

10) Return Sesion cookie

Customer Network
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

WebEx Network
36

WebEx Productivity Tool Authentication


T26 UN / PW Authentication
WebEx productivity tools (Outlook/Noted Integration, One Click, etc) share a common Client Authentication Module (CAM). CAM provides a single place to enter WebEx site, username and password.

T27 SSO Authentication


CAM opens a browser window to a customer-hosted authentication web page. Customers IDMS generates a SAML assertion and posts to WebEx. WebEx authenticates and optionally provisions the user and returns a session ticket Productivity tools then collectively utilize the session ticket for subsequent XML API requests. SAML 1.1, 2.0, WS-Fed 1.0 (MSFT ADFS) Assertion formats supported

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

37

T27 Federated Authentication Architecture

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

38

Usage Reporting

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

39

Usage Reporting Overview


Uses the XML API History Service to obtain usage data
XML API is Request/Response XSD and Reference Guide available on the Meeting Service Developer Portal: http://developer.webex.com/meetingservices

Provides usage data in many ways


Across all meeting service centers By host, entire site, other options Time scoping (ie, between June 1 and June 30) Results ordered in many flexible ways

Highly granular results


Such as, specific number of minutes any given attendee was there

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

40

End Customer
Bill Presentment
CSV PRN PDF

Request

WX XML Billing Reporting Data (Wholesale)

Partner Customer Billing DB (Retail)

Invoice Generation

Rating Engine

Integration Code Layer

Response
WebEx Service Usage DB

Partner Billing System

WebEx Service

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

41

XML Request Messages for the History Service


LsteventattendeeHistory Lists Event Attendee History LsteventsessionHistory Lists Event Session History LstmeetingattendeeHistory Lists Meeting Attendee History LstmeetingusageHistory Lists Meeting Usage History LstrecordaccessHistory Lists Record Access History LstsupportattendeeHistory Lists Support Attendee History LstsupportsessionHistory Lists Support Session History LsttrainingattendeeHistory Lists Attendee History LsttrainingsessionHistory Lists Training Session History

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

42

Using the History Service


Development
Initially work against your dedicated test/dev site (sandbox) Make requests, get results, and parse the XML Merge data into billing information in your back-office system. When end-to-end testing is complete, re-configure your code to point to the production site Change the request URL Update the security context (creds, site ID, partner ID)

Notes
Generally use the Site Admin creds in requests to obtain information across the entire site / set of hosts. Host creds only can provide information related to that hosts activities
Presentation_ID 2011 Cisco Systems, Inc. All rights reserved. Cisco Confidential

43

Example: Request for Meeting Attendees

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

44

Example: Response for Meeting Attendees

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

45

Presentation_ID

2011 Cisco Systems, Inc. All rights reserved.

Cisco Confidential

46

Potrebbero piacerti anche