Tim Carr (Microsoft) Microsoft Office Communications Server 2007 R2 Audio Conferencing Deep Dive UNC 313

Download Report

Transcript Tim Carr (Microsoft) Microsoft Office Communications Server 2007 R2 Audio Conferencing Deep Dive UNC 313

Tim Carr (Microsoft) Microsoft Office Communications Server 2007 R2 Audio Conferencing Deep Dive UNC 313

Agenda

Roles and their Interactions Scheduling a meeting and meeting access types Demo: scheduling a conference PSTN join process and call flows Demo: PSTN join Planning & Deployment Demo: configuring global policy & conferencing attendant (CA) QFE changes Reports, CDRs and Performance Counters

Now Developed in der Schweiz

… at the Zurich Development Center

Sample PSTN Dial-in Enabled Deployment

OCS 2007 R2 Roles

Information Worker (UC endpoints) Remote Users Reverse Proxy Communicator Phone Edition Meeting Console Communicator Attendant Console Access Edge Federated Company Web Edge A/V Edge SIP Trunk Management MOM MMC WMI

Front End Back End

Registrar, Proxy, Presence Response Group SQL Database Mediation Server A/V MCU Web Conf MCU App Share MCU ABS,DL,Content Archiving Monitoring Group Chat Exchange 2007 SP1 Active Directory CWA Server PSTN and Mobile Phones TDM PBX PSTN GW IP PBX SIP/Media Translation Audio, Video Slide/Meeting Content Desktop Sharing Email, Unified Messaging Communicator Web Access

OCS 2007 R2 Audio Conferencing Roles

UC endpoints Communicator Phone Edition Meeting Console Communicator

Front End (FE) Back End (BE)

Active Directory PSTN and Mobile Phones SIP Trunk Mediation Server A/V MCU Web Conf MCU TDM PBX PSTN GW IP PBX SIP/Media Translation Audio, Video Slide/Meeting Content SQL Database CWA Server Communicator Web Access

OCS 2007 R2 Audio Conferencing Roles

Unified Communications Application Server (UCAS):

Conferencing Attendant (CA), Conferencing Announcement Service (CAS) & Personal Virtual Assistant (PVA)

Front End (FE) Back End (BE)

Other Roles and Dependencies: FE: Focus, Focus Factory, SIP proxy, MCU factory SQL Database BE: Conference Directory Outlook Add-in (for scheduling)

Still to come…

Scheduling a meeting and meeting access types Demo: scheduling a conference PSTN join process and call flows Demo: PSTN join Planning & Deployment Demo: configuring global policy & CA QFE changes Reports, CDRs and Performance Counters

Scheduling a conference

Conference Access Types

Access type

Invite Anyone (default) Invite Within Network Invite Within Network (Restricted) Locked meeting

CA IVR Behavior

Anonymous users can join, unless they are the first Users must authenticate to join Users must authenticate and be invited to join Users must authenticate and be an invited leader to join

Figure 1: scheduling a meeting Figure 2: locking a meeting

CA Access Numbers

Access numbers are global Access numbers are serviced by one pool (one CA) … but one pool/CA can have multiple access numbers

CA Access Numbers

Display number – phone number displayed in meeting invite Display name – display name that appears in OC contact list Line URI – used for routing SIP URI Serviced by pool – which CA serves the number Primary language – the default language use for first prompt Secondary languages – other supported languages

CA Access Numbers

Access Numbers are grouped into Regions Region = location profile One region can have multiple access numbers One access number can be assigned to multiple regions

CA Access Numbers

When a user schedules a meeting, their location profile is used to choose default Region … that Region’s Access Numbers are shown in the invite End user can change the Region … which changes what phone numbers are shown in the invite Invite has a link to Dial-in Conferencing page which shows all Access Numbers in all Regions Any access number can be used to join any conference

Dial-in Conferencing Information Page

A web page that provides Call-in phone numbers PIN management Reservation-less meeting entry information Hosted on CWA server (https:///dialin) Has a public page for phone #s Uses Integrated Windows Authentication (IWA) and forms based authentication Linked to from Office Communicator Conferencing Add-In and meeting invitations

Dial-in Conferencing Information Page

Dial-in Conference Creation

Important SIP Dialogs GetConferenceCapabilities – determine if there is a CA available when scheduling a conference AddConference – scheduling a conference GetConference – get a scheduled conference. Contains the conference’s location: confURI

Dial-in Conference Creation

Outlook with Conferencing Add-in SIP Proxy / Focus Factory SIP SERVICE:

GetConferencingCapabilities

OCS Database (Conf Directory) SELECT meeting capability Return meeting capabilities Return meeting capability data User finishes clicks send SIP SERVICE:

AddConference

Return Conference ID & URI INSERT meeting SIP SERVICE: GetConference SELECT meeting info Return meeting provisioning data Return meeting provisioning data Send meeting invitations to participants Exchange

Confirm Pool Supports CA

Use getConferencingCapabilities to determine which functions are supported by Call pool’s Focus Factory Note: This call is directed to the pool of the user that is creating the Conference

SERVICE sip:[email protected];gruu;opaque=app:conf:focusfactory SIP/2.0

From: ;tag=2018ed7e7f;epid=d28433a0cd To: CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ...

getConferencingCapabilities />

CA Support Confirmed

getConferencingCapabilities returns MCUs + pstn-bridge info

Content-Type: application/cccp+xml audio-video meeting chat phone-conf true http://contoso http://www.contoso.com 18005555555

Request CA for Conf. (AddConference)

Organizer requests a PSTN Bridge for the meeting being created

SERVICE sip:[email protected];gruu;opaque=app:conf:focusfactory SIP/2.0

From: ;tag=2018ed7e7f;epid=d28433a0cd To: CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ...

Live Conference abcdefURI ...

...

Request CA Access Numbers

Upon success, ID and Access Numbers returned

state="partial" version="1"> 12345 http://contoso http://www.contoso.com 18005555555 18003335555

Still to come…

PSTN join process and call flows Demo: PSTN join Planning & Deployment Demo: configuring global policy & CA QFE changes Reports, CDRs and Performance Counters

PSTN Join

Joining A Conference from PSTN

PSTN Client dials the phone number in the meeting invite Mediation server routes call to next-hop pool Next-hop pool Inbound Routing performs RNL to locate contact object of CA, forwards call to pool hosting the CA Pool forwards call to the registered FE server endpoint of CA CA answers call, initiates IVR to welcome and authenticate user, and join them to the meeting.

Trusted Conferencing Identities

New in 2007 R2: OCS allows trusted services (apps) to join conferences with any identity they assert CA impersonates the caller (if they authenticate) during join CA, CAS, PVA are trusted services Allowed in Closed authenticated meetings Not counted towards meeting size limit Trusted services: …can send requests to conference without getting challenged …are located in different roster container, will not be visible in Client UI

CAS & PVA: Sharing a UCAS process

CAS

CAS plays sounds to the whole conference at once Entry/exit tones 1 CAS per conference Invited by AVMCU when AVMCU sees a conference participant has entryExitAnnouncements =true

PVA

PVA plays prompts to one participant; only that participant can hear “You are now (un)muted” 1 PVA per participant Created and invited by CAS CAS creates a PVA for each user that has entryExitAnnouncements= true

PSTN Join

Dial-in caller via Mediation Server SIP Proxy/Focus/ MCU Factory SIP INVITE Resolve to CA & SIP INVITE Conferencing Attendant (CA) Accept call Accept call Audio media established Prompt for Conf ID A/V MCU Send data via DTMF Get Focus for Conf ID ( ResolveConference ), add CA to conference Conference details If required, prompt user for credentials Send data via DTMF Send credentials for auth (Verifyconferencekey / verifyuserPIN) Auth successful (involves lookup on site where user is homed) AddUser INVITE with entryExitAnnouncements=true INVITE with REPLACEs (xfer) INVITE with REPLACEs (transfer from Mediation Server) Audio media established SIP INVITE CAS joins Focus CAS / PVA Audio media established Play prompts to caller when (un)muted and when other callers join/leave

Resolve Conf ID using Meeting ID

CA looks up the conference URI using the given meeting ID

SERVICE sip:pool.microsoft.com;gruu;opaque=app:conf:focusfactory:resolve SIP/2.0

To: sip:pool.microsoft.com;gruu;opaque=app:conf:focusfactory:resolve From: [CAAgruu] CSeq: 1 SERVICE Content-Type: application/cccp+xml ...SIP headers...

12345

Resolve Conf ID using Meeting ID

The response…

SIP/2.0 200 OK To: [CAAgruu] From: sip:pool.microsoft.com;gruu;opaque=app:conf:focusfactory:resolve CSeq: 1 SERVICE Content-Type: application/cccp+xml ...SIP headers...

abcdefURI

PSTN ID <-> URI: Conf. Directory

A mapping of Conference IDs to Conference URIs Necessary to convert SIP URIs to/from numeric-only IDs that numeric entry systems (such as PSTN) can enter No exposure to end users Admins need to maintain Conference Directories (Disaster Recovery, Decommissioning Pools, Moving Pools) Related Terms Directory ID: a short numeric ID used to identify a conference directory Conference Resolution: Process of mapping a conf ID to a conference URI

Still to come…

Planning & Deployment Demo: configuring global policy & CA QFE changes Reports, CDRs and Performance Counters

Usage Model

Category

Meeting type 50% Scheduled meetings 50% “Meet now” meetings

Description

Meeting participant distribution Meeting concurrency Meeting media distribution 50% internal 25% remote access 15% anonymous 10% federated 5% of users will be in conferences during working hours 100% of users join in first 10 minutes 50%: VoIP audio mixed with PSTN audio dial-ins 2:1 ratio of VoIP to PSTN audio 10%: PSTN audio dial-in conferencing only 25%: PSTN audio through 3 rd party ACP 15%: No audio e.g. IM-only Specific to CA Average CA call duration: 45 seconds Hearing music on hold (vs join direct): 60% calls MoH average duration: 5 minutes

Usage Model

Category

Meeting concurrency Meeting media distribution Specific to CA

Description

5% of users will be in conferences during working hours 50%: VoIP audio mixed with PSTN audio dial-ins 2:1 ratio of VoIP to PSTN audio 50% / (2+1) = ~16.5% PSTN 10%: PSTN audio dial-in Total PSTN audio users: 26.5% Average CA call duration: 45 seconds Hearing music on hold (vs join direct): 60% calls MoH average duration: 5 minutes

Example: 100k users

100k * 5% = 5,000 concurrent users 5000 * 26.5% = 1,325 concurrent PSTN dial-in users (during working hours) Concurrent calls hearing MoH: (60% * 1325 / 10 (ramp time) * 5 (avg MoH)) = 398 Without MoH: (40% * 1325 / 10 * (45/60)) = 40

Total: 438 concurrent CA calls

Extending the Example to Servers

Component Conferencing Attendant Supported Performance

450 simultaneous calls (based on a computer with 8 processor cores running at 2.33Ghz, and 4GB of memory) if it is only UCAS app active Collocated Access Edge & Web Conferencing Edge Server Access Edge Server: 5,000 client connections Web Conferencing Edge Server: 1,500 client connections Consolidated Edge Topology: Collocated Access Edge, Web Conferencing Edge & A/V Edge Servers Access Edge Server: 5,000 client connections Web Conferencing Edge Server: 1,000 client connections A/V Edge Server 500 concurrent audio/video sessions

Extending the Example to Servers

OCS Standard Edition (SE): max 5000 users on 1 server For 5000 users: 22 concurrent CA calls on 1 server OCS Enterprise Edition (EE): max 100,000 users on 8 FE servers + 1 BE server (~11k users per server) For 100k users: 438 concurrent CA calls on 8 FEs, or 55 concurrent CA calls per server 55 is 12% of max supported 450, so on average

you’re at 12% capacity

Deployment

Enterprise-voice recommended, but not required 1. Deploy OCS SE or EE with: AppServer (CA & CAS), and CWA 2. Create location profiles with normalization rules so calls can be routed to CA 3. Configure global policy: turn on dial-in conferencing support, specify whether anonymous users are allowed to participate 4. Deploy a Mediation Server to route calls to and from the PSTN 5. Deploy a third-party basic media gateway or configure the Mediation Server to perform SIP trunking 6. Configure CA 7. Deploy Outlook addin (scheduling support), inform users

Configuring Server for Dial-in Conferencing

Changes since RTM: Build 6907.37 “QFE2”

IVR Enhancements Authenticated users start conferences (not just leaders) Don’t prompt for authentication if conf started PSTN leaders are asked for passcode if there is one There is a way out of authentication loop (press *) Users can share phone-numbers/exts and still authenticate, as long as they have unique PINs Better error-handling on dial-in settings page Admin can schedule meetings on Boss’ calendar Admin & Boss can both change meetings (on OCS, owner=Boss) Outlook addin changes are in QFE8

Call Detail Records (CDR)

Monitoring Server collects CDRs By default data stored on Monitoring Server (not BE) Collocating with other server roles / DBs not recommended One Monitoring Server supports 200,000 users total , across multiple pools Data collected by Data Collection Agents Agents are automatically installed on FE … but they don’t collect anything until Monitoring Server deployed Main data points captured for conferences Conference URI, start time, end time User join time, leave time User join & leave time to conferencing servers (A/V, Data, IM etc)

Endpoint is PSTN or not

CDR: using Monitoring Server Reports

Reports can be filtered by: Dates (can choose range) Granularity (hourly, daily, weekly, monthly) Participant count, conference count, minutes

CDR: Example Report

Monitoring with SCOM

OCS management pack runs on Monitoring Server only So to monitor OCS with SCOM you must deploy Monitoring Server Monitoring Server collects performance counters Access counters with PerfMon Counters are reset when OCS processes restart

Performance Counters

Key conferencing performance counters: Incomplete Calls per sec, Total Incomplete calls Total calls successfully transferred to conference Current & Total # of Calls on MoH, timeouts on MoH Total Calls from UC Client, from PSTN Total # of Mute/Un-Mute/Entry/Exit announcements Current & Total # of: attendees that have joined conferences, active personal announcers, attendees Counters are useful for answering usage questions: Is the load distributed evenly across servers, pools?

How many concurrent calls?

Do I have enough servers? Should I buy more?

3 Top Takeaways 1. If planning PSTN conferencing deployment, use published capacity/scalability data to ensure your peak loads are handled smoothly

Do you have enough servers?

Do you have enough pools, in the right places?

2. Deploy QFE2 (build 6907.37) 3. Deploy Monitoring Server

Related Content

• • • • Breakout Sessions UNC402: ICE: The Secret of Edge Media Connectivity in OCS (Friday 1330h) UNC302: Network Considerations for Deploying OCS 2007 R2 (past) UNC303: Voice Administration and Monitoring for OCS 2007 R2 (past) UNC305: Voice Architecture and Planning for OCS2007 R2 (past) • • Interactive Theater Sessions UNC05-IS: Lessons Learned from Real-World Deployments of OCS 2007 R2 UNC07-IS: Troubleshooting Microsoft Office Communications Server 2007 R2 • • Hands-on Labs UNC05-HOL: Deploying and Configuring OCS 2007 R2 Enterprise Edition UNC09-HOL: Installing and Configuring Communicator Web Access 2007 R2

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

Resources

www.microsoft.com/teched Sessions On-Demand & Community www.microsoft.com/learning Microsoft Certification & Training Resources http://microsoft.com/technet Resources for IT Professionals http://microsoft.com/msdn Resources for Developers

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.