Download presentation
Presentation is loading. Please wait.
1
Audio Conferencing Deep Dive
Tim Carr (Microsoft) Microsoft Office Communications Server 2007 R2 Audio Conferencing Deep Dive UNC 313
2
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
3
Now Developed in der Schweiz
… at the Zurich Development Center
4
Sample PSTN Dial-in Enabled Deployment
5
OCS 2007 R2 Roles Information Worker (UC endpoints) Management Remote
Users Communicator Phone Edition Meeting Console Communicator Attendant Console MOM MMC WMI Reverse Proxy Access Edge Active Directory Front End Back End ABS,DL,Content Federated Company Archiving Web Edge Monitoring Registrar, Proxy, Presence Response Group Group Chat SQL Database A/V Edge Mediation Server A/V MCU Web Conf MCU App Share MCU Exchange 2007 SP1 CWA Server SIP Trunk PSTN and Mobile Phones TDM PBX PSTN GW SIP/Media Translation Slide/Meeting Content Desktop Sharing , Unified Messaging Communicator Web Access Audio, Video IP PBX
6
OCS 2007 R2 Audio Conferencing Roles
UC endpoints Communicator Phone Edition Meeting Console Communicator Active Directory Front End (FE) Back End (BE) SQL Database Mediation Server A/V MCU Web Conf MCU CWA Server SIP Trunk PSTN and Mobile Phones TDM PBX PSTN GW SIP/Media Translation Slide/Meeting Content Communicator Web Access Audio, Video IP PBX
7
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 BE: Conference Directory Outlook Add-in (for scheduling) SQL Database
8
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
9
Scheduling a conference
demo Scheduling a conference
10
Conference Access Types
CA IVR Behavior Invite Anyone (default) Anonymous users can join, unless they are the first Invite Within Network Users must authenticate to join Invite Within Network (Restricted) and be invited to join Locked meeting and be an invited leader Figure 1: scheduling a meeting Figure 2: locking a meeting
11
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
12
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
13
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
14
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
15
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 ( 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
16
Dial-in Conferencing Information Page
17
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
18
Dial-in Conference Creation
Outlook with Conferencing Add-in SIP Proxy / Focus Factory OCS Database (Conf Directory) Exchange SIP SERVICE: GetConferencingCapabilities SELECT meeting capability Return meeting capability data Return meeting capabilities SIP SERVICE: AddConference INSERT meeting Return Conference ID & URI SIP SERVICE: GetConference SELECT meeting info Return meeting provisioning data Return meeting provisioning data User finishes clicks send Send meeting invitations to participants
19
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/2.0 From: To: CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ... <request requestId="1" xmlns="urn:ietf:params:xml:ns:cccp" ...> <getConferencingCapabilities /> </request>
20
CA Support Confirmed getConferencingCapabilities returns MCUs + pstn-bridge info Content-Type: application/cccp+xml <response requestId="1" xmlns="urn:ietf:params:xml:ns:cccp" code="success" ...> <getConferencingCapabilities> <mcu-types> <mcuType>audio-video</mcuType> <mcuType>meeting</mcuType> <mcuType>chat</mcuType> <mcuType>phone-conf</mcuType> </mcu-types> <pstn-bridging> <enabled>true</enabled> <msci:access-numbers> <msci:internal-url> <msci:external-url> <msci:region name=”UsaWest”> <msci:access-number> <msci:language tag="en-US"/> <msci:language tag="es"/> <msci:number> </msci:number> </msci:region> </pstn-bridging> </getConferencingCapabilities> </response>
21
Request CA for Conf. (AddConference)
Organizer requests a PSTN Bridge for the meeting being created SERVICE SIP/2.0 From: To: CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ... <request requestId="1" xmlns="urn:ietf:params:xml:ns:cccp" ...> <addConference> <conference-info entity="" xmlns="urn:ietf:params:xml:ns:conference-info"> <conference-description> <subject>Live Conference</subject> <msci:conference-id>abcdefURI</msci:conference-id> ... </conference-description> </conference-info> </addConference> </request>
22
Request CA Access Numbers
Upon success, ID and Access Numbers returned <addConference> <conference-info xmlns="urn:ietf:params:xml:ns:conference-info" opaque=app:conf:focus:id:abcdefURI" state="partial" version="1"> <conference-description state="partial"> <cis:separator/> <msci:pstn-access> <msci:id>12345</msci:id> <msci:access-numbers> <msci:internal-url> <msci:external-url> <msci:region name=”UsaWest”> <msci:access-number> <msci:language tag="en-US"/> <msci:language tag="es"/> <msci:number> </msci:number> </msci:access-number> </msci:region> <msci:region name=”UsaEast”> <msci:number> </msci:number> </msci:access-numbers> </msci:pstn-access> </conference-description> </conference-info> </addConference>
23
Still to come… PSTN join process and call flows Planning & Deployment
Demo: PSTN join Planning & Deployment Demo: configuring global policy & CA QFE changes Reports, CDRs and Performance Counters
24
demo PSTN Join
25
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.
26
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
27
CAS & PVA: Sharing a UCAS process
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 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
28
PSTN Join Dial-in caller via Mediation Server
SIP Proxy/Focus/ MCU Factory Conferencing Attendant (CA) A/V MCU CAS / PVA SIP INVITE Resolve to CA & SIP INVITE Accept call Accept call Audio media established Prompt for Conf ID 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 Audio media established Play prompts to caller when (un)muted and when other callers join/leave
29
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... <request requestId="1" from="[CAAgruu]" to="sip:pool.microsoft.com;gruu;opaque=app:conf:focusfactory:resolve" xmlns="urn:ietf:params:xml:ns:cccp"> <resolveConference> <pstn-meeting-id>12345</pstn-meeting-id> </resolveConference> </request>
30
Resolve Conf ID using Meeting ID
The response… SIP/ OK To: [CAAgruu] From: sip:pool.microsoft.com;gruu;opaque=app:conf:focusfactory:resolve CSeq: 1 SERVICE Content-Type: application/cccp+xml ...SIP headers... <response requestId="1" from="sip:pool.microsoft.com;gruu; opaque=app:conf:focusfactory:resolve" to="[CAAgruu]" code="success" > <resolveConference gruu;opaque=app:conf:focus:id:abcdefURI"> <ci:user <msci:conference-id>abcdefURI</msci:conference-id> </resolveConference> </response>
31
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
32
Still to come… Planning & Deployment QFE changes
Demo: configuring global policy & CA QFE changes Reports, CDRs and Performance Counters
33
Usage Model Category Description Meeting type 50% Scheduled meetings
50% “Meet now” meetings Meeting participant distribution 50% internal 25% remote access 15% anonymous 10% federated Meeting concurrency 5% of users will be in conferences during working hours 100% of users join in first 10 minutes Meeting media distribution 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 3rd 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
34
Usage Model Category Description Meeting concurrency
Example: 100k users Meeting concurrency 5% of users will be in conferences during working hours 100k * 5% = 5,000 concurrent users Meeting media distribution 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% 5000 * 26.5% = 1,325 concurrent PSTN dial-in users (during working hours) Specific to CA Average CA call duration: 45 seconds Hearing music on hold (vs join direct): 60% calls MoH average duration: 5 minutes 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
35
Extending the Example to Servers
Component Supported Performance Conferencing Attendant 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 Web Conferencing Edge Server: 1,000 client connections A/V Edge Server 500 concurrent audio/video sessions
36
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
37
Deployment Enterprise-voice recommended, but not required
Deploy OCS SE or EE with: AppServer (CA & CAS), and CWA Create location profiles with normalization rules so calls can be routed to CA Configure global policy: turn on dial-in conferencing support, specify whether anonymous users are allowed to participate Deploy a Mediation Server to route calls to and from the PSTN Deploy a third-party basic media gateway or configure the Mediation Server to perform SIP trunking Configure CA Deploy Outlook addin (scheduling support), inform users
38
Configuring Server for Dial-in Conferencing
demo Configuring Server for Dial-in Conferencing
39
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
40
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
41
CDR: using Monitoring Server Reports
Reports can be filtered by: Dates (can choose range) Granularity (hourly, daily, weekly, monthly) Participant count, conference count, minutes
42
CDR: Example Report
43
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
44
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?
45
3 Top Takeaways 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? Deploy QFE2 (build ) Deploy Monitoring Server
46
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
47
Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!
48
question & answer
49
Resources www.microsoft.com/teched www.microsoft.com/learning
Sessions On-Demand & Community Microsoft Certification & Training Resources Resources for IT Professionals Resources for Developers
50
Required Slide © 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.