1 / 64

Audio Conferencing Deep Dive

Audio Conferencing Deep Dive. 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

crescent
Download Presentation

Audio Conferencing Deep Dive

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 derSchweiz • … at the Zurich Development Center

  4. Sample PSTN Dial-in Enabled Deployment

  5. OCS 2007 R2 Roles Management Information Worker (UC endpoints) Remote Users Reverse Proxy Communicator Phone Edition Meeting Console Communicator Attendant Console MOM MMC WMI Access Edge Active Directory Front End Back End ABS,DL,Content Federated Company Archiving Web Edge Monitoring Group Chat Registrar, Proxy, Presence Response Group SQL Database A/V Edge Web Conf MCU Mediation Server App Share MCU CWA Server Exchange 2007 SP1 A/V MCU SIP Trunk PSTN and Mobile Phones PSTN GW TDM PBX SIP/Media Translation Slide/Meeting Content Desktop Sharing Communicator Web Access Email, Unified Messaging 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 Web Conf MCU Mediation Server CWA Server A/V MCU SIP Trunk PSTN and Mobile Phones PSTN GW TDM PBX 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. demo Scheduling a conference

  10. Conference Access Types 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 (https://<cwa>/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

  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 Exchange SIP Proxy / Focus Factory Outlook with Conferencing Add-in OCS Database (Conf Directory) 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. 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:u@microsoft.com;gruu;opaque=app:conf:focusfactory SIP/2.0 From: <sip:u@microsoft.com>;tag=2018ed7e7f;epid=d28433a0cd To: <sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory> CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ... <request requestId="1" from="sip:u@microsoft.com" to="sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory" xmlns="urn:ietf:params:xml:ns:cccp" ...> <getConferencingCapabilities /> </request> Confirm Pool Supports CA

  20. getConferencingCapabilities returns MCUs + pstn-bridge info Content-Type: application/cccp+xml <response requestId="1" from="sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory" to="sip:u@microsoft.com" 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>http://contoso</msci:internal-url> <msci:external-url>http://www.contoso.com</msci:external-url> <msci:region name=”UsaWest”> <msci:access-number> <msci:language tag="en-US"/> <msci:language tag="es"/> <msci:number>18005555555</msci:number> </msci:region> </pstn-bridging> </getConferencingCapabilities> </response> CA Support Confirmed

  21. Organizer requests a PSTN Bridge for the meeting being created SERVICE sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory SIP/2.0 From: <sip:u@microsoft.com>;tag=2018ed7e7f;epid=d28433a0cd To: <sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory> CSeq: 1 SERVICE Content-Type: application/cccp+xml ... SIP Headers ... <request requestId="1" from="sip:u@microsoft.com" to="sip:u@microsoft.com;gruu;opaque=app:conf:focusfactory" 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> Request CA for Conf. (AddConference)

  22. Upon success, ID and Access Numbers returned <addConference> <conference-info xmlns="urn:ietf:params:xml:ns:conference-info" entity="sip:u@microsoft.com;gruu; 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>http://contoso</msci:internal-url> <msci:external-url>http://www.contoso.com</msci:external-url> <msci:region name=”UsaWest”> <msci:access-number> <msci:language tag="en-US"/> <msci:language tag="es"/> <msci:number>18005555555</msci:number> </msci:access-number> </msci:region> <msci:region name=”UsaEast”> <msci:access-number> <msci:number>18003335555</msci:number> </msci:access-number> </msci:region> </msci:access-numbers> </msci:pstn-access> </conference-description> </conference-info> </addConference> Request CA Access Numbers

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

  24. demo PSTN Join

  25. PSTN Client dials the phone number in the meeting-invite Joining A Conference from PSTN • 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 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 • 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

  28. PSTN Join SIP Proxy/Focus/ MCU Factory A/V MCU Dial-in caller via Mediation Server Conferencing Attendant (CA) 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 (transfer from Mediation Server) INVITE with REPLACEs (xfer) 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. 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> Resolve Conf ID using Meeting ID

  30. 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... <response requestId="1" from="sip:pool.microsoft.com;gruu; opaque=app:conf:focusfactory:resolve" to="[CAAgruu]" code="success" > <resolveConference entity="sip:u@microsoft.com; gruu;opaque=app:conf:focus:id:abcdefURI"> <ci:user entity=”u@microsoft.com”/> <msci:conference-id>abcdefURI</msci:conference-id> </resolveConference> </response> Resolve Conf ID using Meeting ID

  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 • Demo: configuring global policy & CA • QFE changes • Reports, CDRs and Performance Counters

  33. Usage Model

  34. Usage Model

  35. Extending the Example to Servers

  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. 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 notrecommended • 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 6907.37) • 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 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

  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.

More Related