including URL and other Internet e! site references, ma" change without notice. #ome examples depicted herein are provided for illustration onl" and are fictitious. $o real association or connection is intended or should !e inferred. This document does not provide "ou with an" legal rights to an" intellectual propert" in an" %icrosoft product. &ou ma" cop" and use this document for "our internal, reference purposes. 'op"right ( )*++ %icrosoft 'orporation. ,ll rights reserved. %icrosoft, ,ctive -irector", L"nc, .utloo/, 0ower0oint, and #1L #erver are trademar/s of the %icrosoft group of companies. ,ll other trademar/s are propert" of their respective owners. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2 This chapter is part of the %icrosoft L"nc #erver )*+* Resource 2it !oo/ that is currentl" !eing developed. 'hapters will !e availa!le for download while this !oo/ is !eing completed. To help us improve it, we need "our feed!ac/. &ou can contact us at nexthop@microsoft.com. 0lease include the chapter name. 3or information a!out the continuing release of L"nc #erver )*+* Resource 2it chapters, chec/ the -rRe4 !log at http://go.microsoft.com/fwlink/?LinkId=20459. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3 Contributors Project Manager: #usan #. 5radle" Content Architect: Rui %aximo Chapter Lead: #eth 0aul Lead Writer: #eth 0aul Technical Reviewers: 6ao &an, ,rish ,lre7a, Tarang %ittal, Mei Lu, Duy Tran, Ramesh $ara"anan, 8osh %arsha/, 9en/at ,ddan/i Lead Editor: 2atrina 0urcell Art Manager: 8im 5radle" Cover Design: 8im 5radle" Production Editor: 2ell" 3uller 5lue Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 4 Table of Contents Contributors................................................................................................................................. 4 Introduction.................................................................................................................................. 6 Scenarios..................................................................................................................................... 6 Internals....................................................................................................................................... 7 Conferencing Architecture........................................................................................................ 7 How the Components or! "ogether...................................................................................# Scheduling a Conference....................................................................................................... $% &oining a Conference............................................................................................................. $4 Audio and 'ideo Conferencing............................................................................................... $( 'ideo Conferencing............................................................................................................ 23 )ial*in Conferencing............................................................................................................... 2+ eb Conferencing and Application Sharing...........................................................................3$ eb Conferencing.............................................................................................................. 32 Application Sharing............................................................................................................. 36 Summar,................................................................................................................................... 3( Additional -esources................................................................................................................. 3( .otes from the /ield................................................................................................................... 3( Is "here a 2+% 0articipant 1imit for Conferencing2....................................................................3( Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page + Introduction %icrosoft: L"nc; #erver )*+* provides a complete set of tools that "ou can use for conferencing and colla!oration, including servers and services that support audio and video conferences, application sharing, we! conferencing, and dial-in conferencing, in addition to clients for connecting to a conference. 3ollowing a !rief introduction of how these tools wor/ together, this chapter will descri!e the technical details of what happens !ehind the scenes when a user schedules and 7oins a conference. Scenarios 3undamentall", a conference consists of two separate actions< #cheduling a conference 8oining a conference The conference organi4er uses %icrosoft: .utloo/: to schedule a conference, and then .utloo/ communicates with %icrosoft L"nc #erver )*+* !" using an .utloo/ add-in that is included as part of the %icrosoft: L"nc; )*+* installation. .utloo/ uses the information supplied !" the server to create a new invitation, which includes a conference URL for attendees who are 7oining the conference !" using one of the supported L"nc clients, and telephone num!ers and a conference I- for attendees who are 7oining !" phone. hen it=s time to 7oin the conference, an attendee clic/s the lin/ included in the .utloo/ meeting invitation, and then selects a client to use >unless the" are 7oining !" phone, in which case the" would dial the included num!er?. The lin/ opens the %eeting 8oin we!page, which detects whether a L"nc #erver client is alread" installed on the user=s computer. If a client is alread" installed, the default client opens and 7oins the conference. If a client is not installed, the %eeting 8oin we!page displa"s options for 7oining the meeting with alternate clients< If %icrosoft L"nc )*+* or %icrosoft: L"nc; )*+* ,ttendant is installed, the client starts and 7oins the meeting. If neither L"nc )*+* nor L"nc )*+* ,ttendant is installed and %icrosoft: L"nc; )*+* ,ttendee is installed, L"nc )*+* ,ttendee starts and 7oins the meeting. If no L"nc #erver client is installed, the %eeting 8oin page opens and gives the user the following options< o Use %icrosoft: L"nc; e! ,pp o -ownload L"nc )*+* ,ttendee >This lin/ is hidden !" default? o Use %icrosoft: .ffice 'ommunicator )**@ R) or %icrosoft: .ffice 'ommunicator )**@ >This lin/ is hidden !" default? 3or details a!out the differences in using these clients, see 0lanning for 'lients in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?LinkId=2050!". , conference can support an" com!ination of the following conference t"pes >also called modalities?< Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 6 ,udio 9ideo e! conferencing ,pplication sharing -ial-in conferencing ,dministrators control the modalities that are ena!led for a new conference !" using the CsMeetingConfiguration cmdlet. 5" default, all modalities are ena!led. This means, for example, that if a presenter shares a file while a conference is in progress >thus ena!ling we! conferencing?, the conference is alread" configured for we! conferencing. There ma" !e some instances where an administrator wants to disa!le certain modalities for specific users. 3or example, the compan" polic" ma" !e to disa!le application sharing for users that wor/ with highl" sensitive data. If an attendee is an anon"mous user, or the" are dialing in to the meeting, the" ma" !e transferred to the lo!!" until a conference presenter allows them access. ,dministrators can also use the CsMeetingConfiguration cmdlet to configure this !ehavior. 3or example, "ou can configure meetings so that an"one dialing in over the pu!lic switched telephone networ/ >0#T$? is automaticall" admitted to the meeting. ,lternativel", "ou can configure meetings so that dial-in users are not automaticall" admitted the meeting, !ut are instead routed to the meeting lo!!". These dial-in users remain on hold in the lo!!" until a presenter admits them to the meeting. 3or details, see 'onfiguring the %eeting 8oin Axperience, http://go.microsoft.com/fwlink/?LinkId=2#$"94% and -ial-In 'onferencing 'apa!ilities, http://go.microsoft.com/fwlink/?LinkId=20$59% in the L"nc #erver )*+* documentation. The following sections provide more information a!out what happens when a conference is scheduled and 7oined. Internals Conferencing Architecture In a L"nc #erver )*+* deplo"ment, there are several conferencing components that wor/ together to provide conferencing functionalit". The" include the 3ocus, 3ocus 3actor", e! 'onferencing service, ,B9 'onferencing #erver, I% 'onferencing service, and ,pplication #haring 'onferencing service. 3igure @-+ shows the process !oundaries for these conferencing components. Note. The A/V Conferencing Server can also be collocated with the Front End Server. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 7 Figure 7-1. Process boundaries for conferencing components 3or a more in-depth description of these components, see the 'onferencing #ervices section in 'hapter C< Technical .verview. 3or more details a!out the !asics of conferencing, including planning for conferencing, reDuired components, and hardware and software reDuirements, see 0lanning for 'onferencing in the L"nc #erver )*+* documentation at http://go.microsoft.com/fwlink/? linkid=2055$2. If "ou need detailed instructions a!out how to deplo" the various components shown in 3igure @-+, see -eplo"ment in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=20$#42. How the Components Work Together 3igure @-) provides an overview of how the various conferencing protocols interact with the L"nc #erver )*+* components shown in 3igure @-+. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page # Figure 7-2. Interaction of conferencing protocols To help understand this diagram, let=s go over the protocols that are used to move data !etween components. These protocols will !e the !asis for all call flow discussions later in this chapter. ignaling Protocols: These are protocols that facilitate session esta!lishment, state and capa!ilit" exchange, and conference control. ession !nitiation Protocol "!P#: #I0 is the primar" signaling protocol used !" L"nc #erver. It defines a standard wa" to perform session setup, termination, and media negotiation. Centrali$ed Conferencing Control Protocol "C%P#: 'C0 is an E%L-!ased protocol that provides a thin wrapper around the 'onference Avent pac/age and media specific extensions. It is responsi!le for various conference control and state modification tas/s. 5etween the clients and the 3ocus, 'C0 is carried through #I0 inside #I0 I$3. or #I0 #AR9I'A. The 3ocus also uses 'C0 to tal/ to the various conferencing services. 6TT0# is used as the carrier protocol in these cases. Media Protocols: These are protocols that facilitate the exchange of specific t"pes of media !etween clients and conferencing services. Persistent hared &'ject Messaging "P&M#: 0#.% is the we! conferencing protocol used for exchanging data colla!oration content and control. ession !nitiation Protocol for !nstant Messaging and Presence Leveraging E(tensions "!MPLE#: #I%0LA is used for instant messaging >I%?. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page ( Real)ti*e transport protocol "RTP#+Real)ti*e transport control protocol "RTCP#: RT0 and RT'0 allow an ,B9 'onferencing service to exchange audio and video streams with conferencing clients. RT0 defines the standard for audio and video pac/aging. RT'0 provides control information for the RT0 flow. It conve"s information a!out signal Dualit" for an audioBvideo >,B9? conferencing session. The secure versions of these protocols are secure real-time transport protocol >#RT0? and secure real-time transport control protocol >#RT'0?. Re*ote Des,top Protocol "RDP#: ,pplication #haring 'onferencing service uses R-0 wrapped in #RT0BRT0 to transmit application-sharing data, such as the stream of !itmaps from the sharer=s des/top to the other conference participants. If another participant ta/es control, R-0 transfers the controller=s /e"!oard and mouse inputs !ac/ to the sharer=s des/top. The 3ocus 3actor", shown in figure @-), is responsi!le for creating conferences. hen a user schedules a new conference, the 3ocus 3actor" creates a new instance of the conference in the conference data!ase and returns information a!out the newl" created conference to the client. The 3ocus uses the information stored !" the 3ocus 3actor" in the conference data!ase to act as the conference manager. It is responsi!le for managing the state of the conference, enforcing securit", managing roles and privileges, and providing conference state updates to all the clients 7oined to the conference. 'onference information is stored in the #1L #erver-!ased 5ac/ And #erver, which is used to s"nchroni4e information !etween the 3ocus and 3ocus 3actor". $ow that we have covered the !asics, we can discuss how this all wor/s. 3irst, we will ta/e a deeper loo/ into how a conference is scheduled, and then we will tal/ a!out 7oining a conference. Scheduling a Conference The default settings for conferences have !een ad7usted to meet the most common colla!oration demands. %ost importantl", !" default all modalities are ena!led >including ,B9, I%, we! conferencing, and application sharing?. 0u!lic switched telephone networ/ >0#T$? dial-in conferencing is also ena!led >selected !" default in the default glo!al conferencing polic"?, and all 0#T$ users are configured to automaticall" s/ip the lo!!" >'stn()llers*+p)ssLo,,+ on the CsMeetingConfiguration cmdlet is set to true?. L"nc #erver )*+* uses an .utloo/ add-in, .nline %eeting ,dd-in for %icrosoft L"nc )*+*, to schedule conferences. This add-in is installed as part of a !asic L"nc client installation. ith this add-in, .utloo/ can use L"nc ,0Is to communicate directl" with the 3ocus 3actor" on the 3ront And #erver, thus simplif"ing the process of scheduling and configuring new conferences. 3or details a!out configuring the add-in, see 'ustomi4ing the .nline %eeting ,dd-in for L"nc )*+* in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#"#9$. $ote the following when using .utloo/ to schedule conferences< , new conference cannot !e scheduled unless the L"nc client is running and the user accounts for .utloo/ and L"nc match. .nline %eeting ,dd-in for L"nc )*+* does not support %icrosoft .ffice Live %eeting service. &ou can support existing Live %eeting service meetings and users with a sideF!"-side installation of the 'onferencing ,dd-in for %icrosoft: .ffice Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $% 'ommunications #erver )**@ R) add-in and the .nline %eeting ,dd-in for L"nc )*+*. 3or details a!out migrating conferencing to L"nc #erver )*+*, see %igration 'onsiderations for %eetings in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#4$#". 5efore the user can schedule conferences, the add-in must provision .utloo/. #erver configuration and conference policies control how a conference can !e configured. The add- in needs information a!out these capa!ilities so that it can expose the appropriate functionalit" availa!le for use in .utloo/. To set the capa!ilities of the client, the add-in creates a one-time su!scription with the 3ocus 3actor" over #I0 !" using a 'C0 getConferencingCapa'ilities command. The 3ocus 3actor" then translates the generic server configuration settings to a specific set of rules for the client, and returns the rules along with the user-specific conference polic" >including settings such as whether the user is allowed to schedule a conference with external anon"mous users or whether 0#T$ dial-in conferencing is ena!led? to the add-in. 5ased on these capa!ilities, the add-in ena!les or disa!les user interface features in .utloo/. ,fter the client has !een provisioned, the user can !egin to schedule conferences. 3igure @- C is a truncated version of figure @-), and shows the process for scheduling a conference. Figure 7-. Conference scheduling process Note. The SERVICE method is the only SI!method that the Foc"s Factory "nderstands. All C# commands are carried in the body of the SERVICE re$"est. The flow for scheduling a conference can !e !ro/en up into three distinct steps. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $$ +. The .nline %eeting ,dd-in for L"nc )*+* uses the L"nc ,0Is and the -omain $ame #"stem >-$#? loo/up or the manuall" configured server address to connect .utloo/, through the L"nc client, to the 3ocus 3actor". The add-in then !undles the following information, reDuired !" the 3ocus 3actor" to create a conference, into a #I0 #AR9I'A reDuest< o The conference I- o , participant list o User role information o ,n expiration date ). The 3ocus 3actor" writes the following conferencing information to the conferencing data!ase located in the 5ac/ And #erver< o 'onference I- o 0#T$ %eeting I- o Axpiration date and time of conference o List of conference participant roles and the privileges associated with those roles o 'onference /e" for participants without an identit" in ,ctive -irector": -omain #ervices >,- -#? o upported *edia t-pes o Authori$ation t-pes "including loc/ed, invited attendee, m" compan", and ever"one? The conferencing data is contained within two data'ases: RTC and RTCD-n. The infor*ation listed previousl- is stored in real)ti*e co**unications "RTC#. The RTCD-n data'ase contains the run)ti*e conference state. This data is transient and will 'e re*oved as soon as the conference is over. Warning. %o" sho"ld not modify the data located in these databases. The 3ocus will access the information located in RT' when the first client attempts to 7oin the conference. Note. The conferencing database does not maintain calendar information (such as conference start and end times and recurrence). Instead, conference calendar information is maintained b the scheduling client or in !icrosoft "#change $er%er. &ecause the 'ocus 'actor does not collect this information, it treats scheduled and ad(hoc conferences in the same wa. C. The 3ocus 3actor" sends a )** .2 response that includes conference information such as the meeting URL and dialFin conferencing num!ers to the .utloo/ add-in. This information can then !e included in the meeting invitation. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $2 In L"nc #erver )*+*, meeting URLs are discovera!le, eas" to remem!er, and eas" to communicate. Aver" URL, for !oth pu!lic and private conferences, contains the following structure< o , !ase URL that is specific to each domain. The default !ase URL is http<BBmeet.Gsip domainH, !ut "ou can customi4e this to fit the reDuirements of "our organi4ation. o , suffix that is the user portion of the organi4er=s #I0 Uniform Resource Identifier >URI?. o , randoml" generated string of alphanumeric characters. 3or example, each of the following URLs is valid< o http<BBmeet.contoso.comBuserBIJ,K@T1 o http<BBcontoso.meet.!uilding+.comBuserBIJ,K@T1 3or details a!out using the simplified meeting URLs, see 0lanning for #imple URLs in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#5452. The flow for scheduling a conference can !e summari4ed !" the call flow shown in figure @- J. Figure 7-!. Schedule call flo" Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $3 #oining a Conference ,fter a conference >also called a meeting? has !een scheduled, participants can 7oin using one of four options< Microsoft L-nc /010: The default client for L"nc #erver )*+* conferences. Microsoft L-nc /010 Attendee: , conferencing client that allows users who have not installed L"nc )*+* to full" participate in conferences. Microsoft L-nc We' App: , we!-!ased application that supports all L"nc )*+* colla!oration and sharing features except for I0 audio and I0 video. Users can dial- out from the conference for 0#T$-!ased audio. Dial)!n conferencing: , feature that ena!les users to use a 0#T$ phone to 7oin the audio portion of a conference. -ial-in conferencing is descri!ed in greater detail later in this chapter. 3or details a!out the differences !etween the various clients, see 'lient 'omparison Ta!les in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/? linkid=2050!$. , conference !egins when the first participant using an" of these client options 7oins the conference. , participant can 7oin a conference when the conference is not loc/ed and when the participant can !e authenticated, which is !ased on the participant=s ,ctive -irector" identit" or a supplied meeting /e". The following set of steps occurs when an attendee either clic/s the meeting URL included in the invitation or manuall" enters the meeting URL into a we! !rowser. +. The we! !rowser opens the %eeting 8oin page, which, if installed, opens L"nc )*+* or L"nc )*+* ,ttendee. If neither client is availa!le, the attendee will 7oin the user !" using the %icrosoft L"nc e! ,pp. 3or details a!out the %eeting 8oin page, see 'onfigure the %eeting 8oin 0age in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#44"!. The %eeting 8oin Launcher application converts the conference URL that is included in the invitation to the conference URI, which the client needs to 7oin the conference. The %eeting 8oin Launcher application extracts three pieces of information from the meeting URL to construct the conference URI< o The !ase meeting URL >for example, meet.contoso.com? o The user portion of the organi4er=s #I0 URI o The randoml" generated string of alpha-numeric characters that is the conference I- L"nc #erver maintains a mapping of meeting URLs to #I0 domains, which it uses to convert the !ase meeting URL extracted from the meeting URL to the #I0 domain reDuired !" the conferencing service. 3or example, using the sample meeting URL descri!ed earlier in the #cheduling section >http<BBmeet.contoso.comBuserBIJ,K@T1?, the domain is identified !" using Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $4 http<BBmeet.contoso.com, the conference organi4er is user, and the conference I- is IJ,K@T1. The converted conference URI for this example would then !e< sip:user@ <domain>;gruu;opaque=app:conf:focus:id:Z4A57TQ ). The !rowser opens the selected L"nc #erver client, and then passes it the meeting URL and an" other information reDuired to 7oin the meeting. The client then closes the !rowser. C. The client uses the procedures descri!ed later in this section to 7oin the meeting. , conference ends when one of the following cases is true< ,ll participants have left The presenter has terminated the conference If onl" unauthenticated users are left in the conference, ten minutes after the last authenticated user has left the conference )J hours have passed with no conferencing activit" hen a conference ends, the conference is deactivated. This means that an" remaining participants are e7ected, real-time media stops streaming, and the conference state and conference content are purged from the data!ase. If a conference is a recurring meeting, the conference can !e reactivated after the previous instance has !een deactivated, if it has not alread" expired. ,n" content that was uploaded previousl" is availa!le when the recurrent meeting starts again. , conference has four possi!le access levels< Loc,ed: The conference is closed to include onl" those people alread" participating in the conference. Axcept for the organi4er, no new mem!ers are allowed to 7oin. !nvited Attendees: .nl" invited attendees are automaticall" allowed into the conference. ,n"one else that wishes to attend the conference must wait in the lo!!" until the" are admitted. This access level applies onl" to private conferences. If the meeting level is set to pu!lic, Invited ,ttendees is disa!led. M- Co*pan-: .nl" attendees originating from the same ,- -# are automaticall" allowed into the conference. Ever-one: The door is open to all attendees !oth inside and outside of the compan". $o one is sent to the lo!!". Users who are not authori4ed to 7oin a conference are placed in the lo!!". , presenter can then decide to allow users into the conference on a case-!"-case !asis. The lo!!" provides a mechanism for the presenter to ma/e changes to the conference, thus correcting an" errors or omissions from when the conference was originall" scheduled. 'lient authori4ation is !ased on conference access settings and the attendee=s authentication t"pe. -ialed-out users or those added through an invitation are not placed in lo!!", !ut instead are allowed to directl" connect to the conference. This model is summari4ed in the following ta!le. Table 1-1. Conference access le$els Access Client #oin Compan% Client Client #oin PST& #oin PST& #oin Compan% Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $+ 'e$el #oin Federated Anon%mous Anon%mous (authenticated) Invited Not Invited Invited Not Invited Everyone In In In In In, after one company user joined In In Company (default) In In Lobby Lobby In, unless bypass is off In In Invited only In Lobby Lobby Lobby In, unless bypass is off In In, unless bypass is off Loced Lobby, unless or!ani"er Lobby Lobby Lobby Lobby Lobby unless or!ani"er Lobby Aven after a conference has started, the presenter can change the access level >the default is Invited? or select or clear the Alwa-s allow PT2 3sers to ,ip the Lo''- option. 3igure @-K, a truncated version of figure @-), shows the process of a L"nc #erver )*+* client attempting to 7oin a conference. 3or a description of how a user can dial into a conference, see the -ial-in 'onferencing section in this chapter. Figure 7-*. Conference +oining process The process shown in figure @-K can !e divided into six steps. +. hen a user attempts to 7oin the conference, the L"nc #erver )*+* client sends a #I0 I$9ITA reDuest to the 3ocus. The I$9ITA has two purposes. 3irst, it indicates Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $6 that the client wants to 7oin the conference. #econd, it carries conference control operations, contained in an I$3. reDuest, to the 3ocus. Note. The Foc"s "nderstands the following SI messages& I'VITE( AC)( *%E( +,ATE( CA'CE-( I'F.( and S+*SCRI*E. The I'VITE( AC)( *%E( +,ATE( CA'CE- gro"/ establishes a signaling dialog with the Foc"s referred to as the 0Conference 1oin ,ialog.2 S+*SCRI*E is "sed to establish a s"bscri/tion dialog with the Foc"s( and is disc"ssed in Ste/ 3. The I$9ITA dialog uses a 'C0 addUser reDuest containing the conference URI and the user URI to reDuest access to the conference< <addUser request> The conference URI must match the #I0 To< URI, and the user URI must match the #I0 3rom< URI. If the 3ocus returns the following diagnostic code, then the user is attempting to 7oin an un/nown conference< s!diagnostic: "#"$;reason=% &onference does not e'ist% The most common reason for this is that a user is using a conference lin/ from an outdated meeting reDuest, or cop"ing and pasting an incomplete lin/ from a current meeting reDuest. ). ,fter accepting the I$9ITA, the 3ocus Dueries the 5ac/ And #erver for the conference record. It uses this information to determine the modalities that will !e used in the conference and to authenticate the client and determine if it meets the securit" polic" criteria defined when the conference was scheduled. If accepted, the 3ocus responds to the client with the granted role in a )** response. If, according to the policies descri!ed previousl", the user is placed in the lo!!", the following happens< a. The 3ocus will send a notification to all watchers of the conference that there is an attendee waiting for admittance in the lo!!". !. The client waiting in the lo!!" then sends #U5#'RI5A to the conferencing pac/age. 5ecause the attendee is waiting in the lo!!", the client receives the !are minimum conference details and information stating he is waiting in the lo!!". , su!scription failure with the following diagnostic code means that the user was una!le to 7oin the conference !ecause the conference su!scription received a failure response< s!diagnostic: 5$(();reason=%&onference *oin fai+ed ,ecause a su,scription c-anne+ cou+d not ,e esta,+is-ed% In this case, "ou should chec/ the diagnostic headers in client side logs to determine wh" the #I0 #U5#'RI5A was re7ected. c. 0articipants in the conference who are designated as 0resenters will receive a notification that attendees are waiting in the lo!!". The" can then either allow or den" access !" sending a 'C0 setLo''-Access command to the 3ocus. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $7 d. If the presenter allows access, the attendee=s status is changed from pending to allowed, and he is sent the full conference notification along with all of the conference details. e. If the presenter denies access, the attendee=s status is sent a 5&A on the 7oin I$9ITA dialog and $.TI3& >exp<*? on the #U5#'RI5A dialog with language explaining the reason for denial. The 5&A message terminates the I$9ITA dialog, while the $.TI3& message causes the immediate expiration of the #U5'#RI0TI.$ dialog. f. If the attendee is neither admitted nor denied access to the conference, the" continue to wait in the lo!!" until the conference ends >unless the" leave first?. C. The 3ocus will tr" to allocate the availa!le servers running the conferencing services for each t"pe of conferencing reDuired in the conference, and then return to the client the address of all the servers assigned to the conference !" using #I0 $.TI3&. The client is expected to initiate dialogs with each conferencing service to start participating in individual modalities. The client em!eds a 'C0 addUser reDuest in a #I0 I$3., and sends the reDuest to each conferencing service >through the 3ocus? to reDuest permission to create a connection with it. The conferencing service responds with connection information that the client can use to esta!lish signaling and media sessions. J. The 3ocus communicates with the conferencing service to issue commands that !egin or end the conference, change the participant list, or otherwise change the conference state. K. The client esta!lishes a direct connection with the conferencing service. If the service is an ,B9 'onferencing #erver, the signaling protocol is #I0 and the media is transported over RT0BRT'0. If the service is the e! 'onferencing service, !oth signaling and media are sent using the 0#.% protocol. If the service is the ,pplication #haring 'onferencing service, the signaling protocol is #I0 and the media is transported over R-0 encapsulated within RT0. L"nc #erver also supports sharing R-0 wrapped in RT0 0#.% side-!"-side for a scenario where features such as des/top sharing >R-0?, white!oard, and polling are used simultaneousl". 3or a more detailed description of what happens when the client contacts each specific modalit", see the e! 'onferencing and ,pplication #haring, ,udio and 9ideo 'onferencing, and -ial-In 'onferencing sections later in this chapter. L. If the client meets the criteria of the access t"pe defined for the conference, the attendee is admitted to the conference. ,fter the client 7oins the conference, it esta!lishes a su!scription dialog with the 3ocus to receive conference roster notifications. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $# The 3ocus then processes the su!scription. If no corresponding active signaling dialog is found, the 3ocus fails the su!scri!e. ,fter the su!scri!e is accepted, the 3ocus responds, and then generates a notification. The su!scription dialog is periodicall" refreshed following standard R3' C)LK procedures. The su!scription dialog is terminated upon termination of the signaling dialog. The detailed process of 7oining a conferencing is summari4ed in the call flow shown in figure @-L. Figure 7-,. #oining conference call flo" Audio and -ideo Conferencing The ,B9 'onferencing #erver provides audio and video conferencing support for conferencing !" using either the Real-time Transport 0rotocol >RT0? and Real-time Transport 'ontrol 0rotocol >RT'0? or the encr"pted #ecure Real-time Transport 0rotocol >#RT0? and #ecure Real-time Transport 'ontrol 0rotocol >#RT'0?. &ou can set the reDuired level of encr"ption !" using the -ncr+ptionLe.el parameter of the et) CsMediaConfiguration cmdlet. 3or details, see #et-'s%edia'onfiguration in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#5504. There are three conferencing policies that affect the client=s experience when connecting to a conference< Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page $( Allow!PAudio: If this is set to true, the ,B9 'onferencing #erver will allow audio in the conference and the client will !e a!le to connect to the ,B9 'onferencing #erver and initiate an audio conference. Allow!P4ideo: If this is set to true, the ,B9 'onferencing #erver will allow video in the conference and the client will !e a!le to connect to the ,B9 'onferencing #erver and initiate a video conference. Ma(4ideoConferenceResolution: -efines the maximum allowed resolution for video conferencing. This can !e set to either 'ommon Intermediate 3ormat >'I3? or 9M,. The default is 9M,. ,n administrator can modif" these policies !" using the et5CsConferencingPolic- cmdlet. In previous sections we discussed how a conference is scheduled and 7oined. $ow let=s loo/ at what happens when the client initiates a connection to the ,B9 'onferencing #erver. 3or the purposes of this section, let=s assume that the conference is scheduled, 7oined, and the 3ocus has used the 'C0 getConferencingCapa'ilities command to provide the client with the relevant information for the conference. Note. The conference m"st already e4ist before the client can send an invitation to the A/V Conferencing Server. ,t a high level, the client initiates the communication with the ,B9 'onferencing #erver !" inviting the ,B9 'onferencing #erver to enter into a media session. The invitation includes a #ession -escription 0rotocol >#-0? offer that descri!es the capa!ilities of the client. The ,B9 'onferencing #erver sends !ac/ a response containing its capa!ilities. $ext, the client and the ,B9 'onferencing #erver negotiate Interactive 'onnectivit" Asta!lishment >I'A? chec/s, and use the matching capa!ilities included in the #-0 offers to initiate a media connection. This process is shown in figure @-@. Figure 7-7. A client initiates a connection to the A.- Conferencing Ser$er. $ow let=s ta/e a closer loo/ at the steps shown in figure @-@. +. The client uses the information it receives from the 3ocus during the 7oin process to initiate contact with the ,B9 'onferencing #erver. To do this, the client first em!eds a 'C0 adduser reDuest in a #I0 I$3., and then sends the reDuest to the 3ocus. The Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2% reDuest includes a parameter that specifies whether the invitation to 7oin the conference is dial-out or dial-in. In a dial-in reDuest, the ,B9 'onferencing #erver receives the reDuest. In a dial-out reDuest, the ,B9 'onferencing #erver sends out the reDuest. ). The 3ocus ta/es the E%L 'C0 adduser reDuest out of the #I0 reDuest, wraps it in 6TT0#, and forwards it to the ,B9 'onferencing #erver. The ,B9 'onferencing #erver sends a 'C0 adduser response !ac/ to the clientNrouted through the 3ocusNthat tells the client to 7oin the conference. The ,B9 'onferencing #erver has now created a logical representation of the client and is waiting for the client to send a media offer. C. The next step is to set up the media connection. ,fter receiving the success message, the client em!eds the #-0 offer in a #I0 I$9ITA to the focus, which then forwards this information on to the ,B9 'onferencing #erver. The #-0 .ffer contains information >called an m/line? a!out client support for each modalit" supported !" the ,B9 'onferencing #erver, including audio, video, and panoramic. Aach m-line contains some com!ination of the following< Transport candidates: -escri!es the ports availa!le to the client. This information will !e used for I'A 'onnectivit" chec/s. Codecs: -escri!es the codecs that the client will support. The ,B9 'onferencing #erver will respond with the codecs that it supports. Resolution "video onl-#: -escri!es the video resolution that the client supports. 3or details, see the 9ideo section in this chapter. Cr-pto,e-s: This is used for encr"pted media. Aach piece of information contained in the m-line is ordered. 3or example, of the availa!le transport candidates, a local-to-local connection is preferred. If !oth the ,B9 'onferencing #erver and client support a local I0 address, or an Adge #erver I0 address, the local I0 address is preferred. #imilarl", codecs and resolutions are listed in order of preference. The highest order codec or resolution that matches from each list will !e used in the session. ,fter receiving the I$9ITA, the ,B9 'onferencing #erver compares the client=s #-0 offer with its own capa!ilities >!ased on the conference policies?. If there is a difference, the ,B9 'onferencing #erver ignores an" capa!ilities that it does not support. 3or example, if the ,B9 'onferencing #erver does not support video, the 9ideo and 0anoramic lines of the client #-0 offer are ignored. The ,B9 'onferencing #erver then responds with a )** .2 containing its #-0 answer. The #-0 answer contains the same t"pe of information that the client offer contained, except that it descri!es what the ,B9 'onferencing #erver supports. In other words, the #-0 offer and #-0 answer provide a wa" for the client and ,B9 'onferencing #erver to compare media capa!ilities. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2$ J. ,fter exchanging capa!ilities, the ,B9 'onferencing #erver and the client negotiate I'A connectivit" chec/s. The client will first specif" a set of I0 and T'0 and U-0 port com!inations that can send and receive media. The ,B9 'onferencing #erver responds with its list of T'0 and U-0 com!inations. 3rom these two lists, the client and the ,B9 'onferencing #erver will start to ping each possi!le match. 'onsider the example where there are four possi!le candidates for the client and the server. This means that there will !e a total of +L chec/s >J x J?. This is called the I'A connectivit" chec/s. ,t a !asic level, the client and the ,B9 'onferencing #erver will ping each other until the" figure out which routes wor/ !est for sending media. The" will then order the routes !ased on an algorithm that, for example, prefers local candidates over remote rela" candidates. $ow, the media is set up, the relevant audio, video, or panorama media !egins to stream, and the ,B9 'onferencing #erver sends a roster notification to inform the other attendees that a new user has 7oined the conference. The client is full" engaged in the conference. -uring an ,B9 conference, if the media session ends due to a timeout, the following diagnostic code is returned< s!diagnostic: 7#$7;reason=%T-e media connection .it- t-e c+ient .as +ost% The most li/el" cause is the client either stopped responding or lost networ/ connectivit" !efore it could properl" close the #I0 session. The process of 7oining a client to the ,B9 'onferencing #erver is summari4ed in the call flow shown in figure @-O. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 22 Figure 7-/. A.- conferencing call flo" In the next section we will discuss concepts specific to video conferencing, including codecs and resolution. )ideo Conferencing ,s we discussed earlier, the client #-0 offer contains information descri!ing the video capa!ilities that the client supports. There are two factors that determine the video that the client can receive< Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 23 The user polic-: The user polic" dictates what level of video that the client can receive. 3or example, if the user polic" specifies 'I3 onl", than the offer will onl" contain the 'I3 capa!ilit". The client can support up to the following three resolutions< o 'I3 >CK) x )OO? o 9M, >LJ* x JO*? o 6-@)*p >+)O* x @)*? Note. Conferencing does not s"//ort high definition 56,7 video. 6, video can only be "sed for /eer! to!/eer calls between "sers r"nning -ync 89:9 on high!end com/"ters. 6ardware of the client co*puter: 3or example, if the client is located on a computer that is using a single core processer, onl" the 'I3 resolution is supported. 3or details a!out supported video resolutions, see %edia Traffic $etwor/ Usage in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#55#2. The #-0 offer descri!es the supported resolutions !" using the following format< A='!capa,i+ities;/capa,i+it0 (1;/capa,i+it0 $1;/capa,i+it0 "1; here capa,i+it0 is represented !" the form< /reso+ution1;/num,er of concurrent 2ideo streams1;/frame rate1 3or example, a client #-0 could ta/e the following form< a='3capa,i+ities;"5$'$44;(;(5;54#'44#;(;$5;($4#'7$#;(;"# In this example, "5$'$44;(;(5 represents a capa!ilit" for 'I3 video. The resolution is CK) x )OO, the num!er of concurrent streams allowed is +, and the frame rate is +K frames per second >fps?. #imilarl", 54#'44#;(;$5 represents a capa!ilit" for 9M, video and ($4#'7$#;(;"# represents a capa!ilit" for 6- video. Note. -ync Server 89:9 does not s"//ort m"lti/le video streams( so only one ca/ability can be "sed at a time. ,s part of the #I0 answer, the ,B9 'onferencing #erver responds with its own capa!ilities for video. The ,B9 'onferencing #erver response partl" depends on the conference organi4er=s polic". If video is not ena!led for the conference >the server determines this !" reading the -n),le'2'0ideo parameter on the conference polic"?, the ,B9 'onferencing #erver will respond onl" to the offer with audio. If video is ena!led, the conference polic" can further control the resolution of the video supported for the conference !" using the 1)x0ideo(onference2esol3tion parameter. In L"nc #erver )*+*, this can !e set to either 'I3 or 9M,. The default value is 9M,. 5ased on the conference policies settings, the ,B9 'onferencing #erver will respond to the client in the preceding example with the following capa!ilities line< a='3capa,i+ities;"5$'$44;(;(5;54#'44#;(;$5 $otice that this onl" contains 'I3 or 9M, capa!ilities. The maximum resolution that is common to !oth the client and the ,B9 'onferencing #erver will !e used in the specific session. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 24 Note. The agreed "/on resol"tion does not necessarily g"arantee the resol"tion of the conference. If the conference is set to V;A( b"t a /ercentage of the /artici/ants in the conference can receive only CIF( then the conference resol"tion will be set to CIF. The focus of the video is driven !" the active spea/er. The ,B9 'onferencing #erver uses the strength of the audio signal coming from each client to decide which video signal it should stream to the conference. 0anoramic video wor/s in the same wa". If there is more than one round ta!le !eing used in a conference, the conference will show active video. , video conferencing session t"picall" involves the transmission of !oth audio and video streams. To conserve networ/ !andwidth while maintaining the highest possi!le Dualit" and data fidelit", information is first coded and compressed !efore it is put onto the wire for transmission. ,t the receiving end, decompression ta/es place to reconstruct >or decode? the information !efore it can !e pla"ed !ac/ in a meaningful fashion. This function is the tas/ of a codec, a common a!!reviation for compression and decompression, and can !e performed completel" in software or as part of the function of an ,B9 conferencing device. 3or a complete list of the codecs used !" L"nc #erver )*+*, see %edia Traffic $etwor/ Usage in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/? linkid=2#55#2. ,n administrator can throttle the audio and video !it rates !" using the 43dio*it2)te5* and 0ideo*it2)te5* parameters on the et)CsConferencingPolic- cmdlet. ,t the time of creation, a conferencing polic" will ta/e on the maximum setta!le values of )** and )*** /ilo!"tes respectivel" for audio and video sent from the client to the conferencing service. 0ial-in Conferencing -ial-in conferencing ena!les users who want or need to use a 0#T$ phone to 7oin the audio portion of an on-premises conference. This means that users who do not have access to a computer or smartphone can still participate in a conference. 3or details a!out planning for dial-in conferencing, see -ial-In 'onferencing in L"nc #erver )*+* in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/? linkid=2#55#4. 3or details a!out managing dial-in conferencing, see %anaging .n- 0remises %eetings in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#55#5. In order to use dial-in conferencing, the following conferencing polic" needs to !e set to true< Ena'leDial!nConferencing: Indicates whether users are a!le to 7oin the conference !" dialing in with a 0#T$ telephone. The default value is True. This setting applies to the user who organi4es the conference. If it is set to 3alse, no conference created !" a user affected !" this polic" will allow dial-in conferencing. 6owever, the user can ta/e part in other conferences where dial-in conferencing is allowed. ,n administrator can modif" this polic" !" using the et5CsConferencingPolic- cmdlet. ,s with the previous discussion of audio and video conferencing, L"nc #erver )*+* uses the ,B9 'onferencing #erver to provide support for dial-in conferencing. In the next section we will ta/e a detailed loo/ at how dial-in conferencing wor/s in L"nc #erver )*+*. hen a user schedules a conference that includes dial-in conferencing, the .nline %eeting ,dd-in for L"nc )*+* verifies that dial-in conferencing is configured on L"nc #erver and that the user has permission to schedule a conference with dial-in conferencing ena!led. It also Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2+ chec/s to see what the default settings for the conference are, including whether 0#T$ callers should !"pass the lo!!", and whether entr" and exit announcements should !e turned on. ,fter the add-in has completed these chec/s, the 3ocus returns a list of access num!ers to the add-in, which then automaticall" adds them to the meeting invitation. The access num!ers are generated !" using the dial-in region specified !" the user=s dial plan. ,ccess num!ers can !e scoped glo!all" or to a specific site. 3or details on using access num!ers, see 'onfigure -ial-in 'onferencing ,ccess $um!ers. ,n access num!er has one primar" language with which it initiall" answers the phone call, and a list of up to five secondar" languages from which the caller can choose. Note. If the "ser who sched"led the conference decides to ma<e a change to the conference by "sing ."tloo<( the add!in immediately comm"nicates with the server to im/lement the change= it does not wait for the invitation to be sent again. 3igure @-P shows the process of 7oining a conference !" using dial-in conferencing. Figure 7-1. 0ial-in conferencing process This diagram assumes that the conference has alread" !een scheduled. $ow, let=s ta/e a closer loo/ at the steps. +. , user places a call to one of the L"nc )*+* ,ttendant num!ers listed in the .utloo/ meeting invitation. The call is routed through the %ediation #erver to a L"nc #erver Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 26 -irector or 3ront And pool, which then routes the call to the pool where the ,ttendant located. ,fter connecting, the user is as/ed to enter a numeric conference I- that identifies the conference. The ,ttendant first uses this conference I- to verif" that it is not alread" an active conference passcode !" verif"ing a null conference passcode with the 3ocus. This is important !ecause even though "ou cannot schedule conferences with passcodes !" using the add-in, it is possi!le for the conference I- to map to an .ffice 'ommunications #erver )**@ R) meeting with an active passcode. ). The ,ttendant passes the conference I- to the 3ocus, which returns the correct conference. If the conference is hosted on another pool, the call is transferred to the correct ,ttendant. The ,ttendant then attempts to 7oin the conference !" issuing a 'C0 ,ddUser command to the 3ocus. 5ecause the ,ttendant is a trusted server entit", it is a!le to 7oin an" conference. ,s part of this dialog, the ,ttendant receives the ,ttendant pool Mlo!all" Routa!le User ,gent URI >MRUU? that corresponds to the ,ttendant instance in the pool where the conference is homed. If the MRUU does not match the MRUU of the ,ttendant, then the conference is !eing hosted in another pool. In this case, the ,ttendant !lindl" transfers the call to the correct MRUU, which corresponds to the correct ,ttendant that is serving the pool where the conference is homed. ,s a result, the remote pool=s ,ttendant will serve the remainder of the interactive voice response >I9R?. The process of transferring !etween ,ttendants is called interpool transfer. In L"nc #erver )*+*, the ,ttendant can recogni4e incoming !lind transfers that correspond to interpool transfers and resume from the appropriate stage in the I9R. This functionalit" ena!les coexistence and interoperation !" ensuring that the version of ,ttendant serving the call is the ,ttendant serving the pool where the conference is homed. Note. The Attendant will not transfer the call to an older version of Attendant. C. ,fter 7oining the conference, the ,ttendant #U5#'RI5As to roster updates to o!tain information a!out the current state of the conference. This is important if, for example, the conference was scheduled as an anon"mous conference, !ut was later loc/ed. The ,ttendant then determines whether to prompt the user for identification. If authori4ation is reDuired, the caller is as/ed to provide credentials. If the caller does not provide the correct credentials, the" are routed to the lo!!". 5ecause prompting for identification can !e confusing to users, unless the conference is Invite .nl" or Loc/ed, or the server policies don=t allow anon"mous 7oin, the ,ttendant will attempt to 7oin the user to the conference anon"mousl" without as/ing for identification. ,s part of this step, the ,ttendant as/s the user if the" are the leader, and if "es directs the user to press QR=. The user is then as/ed to enter a personal identification Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 27 num!er >0I$?, or if the" are not the organi4er, !ut instead another leader, the" are as/ed to press QR= again and enter a phone num!er, extension, and 0I$. ,ll dialogs that are responsi!le for 0I$ communication !etween the ,ttendant and the 3ocus use the User 0in #ervice >User0in#vc?. User0in#vc is responsi!le for managing 0I$s, including loc/ing them when there are too man" failed attempts or expiring them when server policies dictate that 0I$s have an expir" >!" default the" do not?. The 0I$ that is used to authenticate the user is also the same 0I$ that the user uses to unloc/ their des/ phone. Note. This is not the same I' that is "sed for >icrosoft E4change scenarios s"ch as voice mail. &ou can use several different policies to control 0I$s, including control of their complexit", expiration, and histor". ,n administrator can reset a user=s 0I$ using the 0I$ 0olic" page in the L"nc #erver 'ontrol 0anel. 3or details a!out changing a 0I$, see %odif" the -efault -ial-in 'onferencing 0I$ #ettings in the L"nc #erver )*+* documentation, http://go.microsoft.com/fwlink/?linkid=2#"200. 0I$s can !e one of the following states< o 0I$ is loc/ed !ecause there have !een too man" consecutive failed attempts on the 0I$ o 0I$ is expired !ecause the 0I$ was last reset too far in the past >as defined !" polic"? o 0I$ is not set !ecause the user has never set their 0I$, and the administrator has never set it for them o >$ormal N none of the a!ove? The ,ttendant can onl" use a 0I$ that is in the normal state to authenticate users. ,fter the ,ttendant has verified the user to !e authenticated, the user is identified !" entit0=sip:<user>@<domain>6com in communication with other components. 5ecause the ,ttendant is a trusted entit", the user does not need to !e authenticated !" an" other component. If the user cannot !e authenticated, and there is not a #I0 authenticated user in the conference, then the ,ttendant does not attempt to 7oin the user to the 3ocus, !ut instead informs the user that leader is not present and places them on hold with music. ,s soon as an" authenticated user arrives in the conference, the ,ttendant will continue with the 7oin process. J. The ,ttendant 7oins the conference, transfers the user to the conference, and then indicates that entr" and exit announcements are reDuired. The ,ttendant 7oins the conference, and then attempts to 7oin the user to the 3ocus !" issuing another 'C0 Add3ser command on !ehalf of the user >!" specif"ing entit0=sip:<user>@<domain>6com?. The 3ocus will return an ,ddUser status of one of the following< Connected: The user is accepted into the conference. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2# Deleted: The user is not allowed into the conference. on6old: The user is placed in the lo!!". If the status is on6old, the ,ttendant informs the user that the" need to wait for a leader to admit them, and starts streaming music. 5ecause the ,ttendant is su!scri!ed to the conference, it receives a 5A$.TI3& when the user is admitted or re7ected from the lo!!", and ta/es the appropriate action. If no event is received within +K minutes, the ,ttendant will inform the user the timeout expired and then disconnect. The 3ocus uses three pieces of information to decide the status of the client< o The current permission level of the conference, with possi!le settings of either Aver"one, 'ompan", Invite onl", or Loc/ed B .rgani4er onl". o hether the conference was scheduled !" using the 'onferencing ,dd-in for .utloo/ or the .nline %eeting ,dd-in for L"nc )*+*. o hether 0#T$ lo!!" !"pass is on. The ,ttendant includes a flag in the 'C0 Add3ser command that indicates whether the user has dialed in from the 0#T$. The ,ttendant /nows that the user is a 0#T$ caller if it detects the is6)tew)+ flag during its dialog with the %ediation #erver. If the 0#T$ lo!!" !"pass is ena!led for this conference, the 3ocus will change an" results of ,dmit to the lo!!" to ,dmit to the conference for 0#T$ callers onl". ,s such, if non-federated external callers place a call !" using L"nc or another L"nc #erver client such as %icrosoft: L"nc; )*+* 0hone Adition, the" will !e considered a 0#T$ caller if the audio comes through the gatewa" and not over 9oice over Internet 0rotocol >9.I0?. If this is the case, the user will !e admitted to the audio part of the conference, !ut will not !e a!le to see an" shared data or other modalities. 0#T$ lo!!" !"pass callers have access onl" to the audio modalit". ,s part of the '0C Add3ser command, ,ttendant will alwa"s specif" the participant propert" entr-E(itAnnounce*ents7true, which we=ll see later will result in the user receiving certain in-conference support. The result from the Add3ser command also indicates whether the user entered the conference as a leader or an attendee. K. The ,B9 'onferencing #erver invites the 'onferencing ,nnouncement #ervice application and the Mroup 9irtual ,ssistant application into the conference. The 'onferencing ,nnouncement service monitors the roster to ma/e sure that the correct Mroup 9irtual ,ssistants and 0ersonal 9irtual ,ssistants are provisioned. The Mroup 9irtual ,ssistant provides the entr" and exit announcements. The administrator can use the entr-E(itAnnounce*ents propert" on the et) CsDial!nConferencingConfiguration cmdlet to turn the announcements off, or use the Entr-E(itAnnouce*entsT-pe propert" to configure the st"le of announcement that is pla"ed >either a tone or the name of the person entering or exiting the conference?. , user can turn announcements on or off in the conference, !ut the" cannot change the st"le of announcement. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 2( L. The 'onferencing ,nnouncement service invites the 0ersonal 9irtual ,ssistant into the conference. ,fter the user=s state in the roster maintained !" the 3ocus is connected, the ,ttendant attempts to 7oin the call to an ,B9 'onferencing #erver for audio. 5ecause the 3ocus alread" provisioned an ,B9 'onferencing #erver for the conference, it can use the conference information populated !" the 3ocus to find the correct ,B9 'onferencing #erver. ,ttendant sends another 'C0 Add3ser reDuest on !ehalf of the user, this time directed to the ,B9 'onferencing #erver. This invitation has a refer-to-URI with RA0L,'As. This causes the ,B9 'onferencing #erver to send an I$9ITA with referred-!" to the %ediation #erver. This invitation replaces the audio leg !etween the %ediation #erver and ,ttendant, effectivel" 7oining the user to the conference. hen this dialog is complete, the user can hear conference audio and participate in the conference. The dial-in conferencing process is summari4ed in the call flow shown in figure @-+*. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3% Figure 7-12. 0ial-in conferencing call flo" 3eb Conferencing and Application Sharing L"nc #erver )*+* supports a rich mix of data colla!oration possi!ilities. Users can share and colla!orate on documents, such as %icrosoft: 0ower0oint: presentations, !" using the e! 'onferencing service. ,dditionall", users can ta/e advantage of the ,pplication #haring 'onferencing service to share all or part of their des/top with each other in real time, ma/ing it seem as though the attendees are gathered around the same ta!le in the conference. The next two sections discuss technical details associated with the e! 'onferencing and ,pplication #haring 'onferencing services. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3$ Web Conferencing The e! 'onferencing service manages conference data colla!oration, including native support for 0ower0oint presentations, document sharing, white!oard, polling, compliance logging, annotations, and handouts. hile scheduling and 7oining a conference remain the same as with other modalities, the client communicates with the e! 'onferencing service !" using the 0ersistent #hared .!7ect %odel >0#.%? protocol. 0#.% is a custom protocol that is used for transporting we! conferencing content. &ou can use we! conferencing to< #hare a 0ower0oint presentation. &ou can also ma/e the presentation availa!le for download. #hare an" file, such as a document or media file, as a handout. The administrator can choose to disallow specific extensions. Use the integrated white!oard and annotation functionalit". &ou can also upload images as annotations, cut and paste, and annotate 0ower0oint presentations. #et up polls. There are three conferencing policies that affect the client=s experience when connecting to a we! conference< Ena'leDataColla'oration: hen this is set to true, a user can schedule a new conference that includes we! conferencing. If this is set to false, the user cannot schedule a conference with we! conferencing. The" can, however, ta/e part in another conference where we! conferencing is ena!led. AllowAnnotations: Indicates whether or not participants are allowed to ma/e on- screen annotations on an" content shared during the conference. This also determines whether white!oard functionalit" is allowed in the conference. The default value is True. This setting applies to the user who organi4es the conference< if set to 3alse, no conference created !" a user affected !" this polic" will include annotations. 6owever, the user can participate in other conferences where annotations are allowed. AllowE(ternal3sersToaveContent: Indicates whether external users >that is, users not currentl" logged on to "our networ/? are allowed to save handouts, slides, and other conference content. The default value is True. This setting applies to the user who organi4es the conference< if set to 3alse, no conference created !" a user affected !" this polic" will allow external users to save content. 6owever, the user can ta/e part in other conferences where external users are allowed to save content. ,n administrator can modif" these policies !" using the et5CsConferencingPolic- cmdlet. 3igure @-++ illustrates the !asic movement of data !etween the conferencing components. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 32 Figure 7-11. 3eb conferencing process The following steps provide a detailed loo/ at the we! conferencing process. +. , user uploads content to the e! 'onferencing service over 0#.% !" using a L"nc client. T"picall" this file is com!ined with an E%L file manifest >named manifest.xml? and is uploaded as a II0 file. The E%L file manifest descri!es the content, including whether it is meant to !e a handout or content for a 0ower0oint presentation. ). The e! 'onferencing service uses shared folders on a file s"stem to store conference state and conference contents. ,fter un4ipping the file, the e! 'onferencing service reads the manifest, and then stores the associated content in two places< the metadata file share and the content file share. Metadata file share: The metadata folder stores the conference metadata >for example, the num!er of slides, the slide names, and the slide t"pes? that the e! 'onferencing service shares with the clients. Under the metadata folder root, the e! 'onferencing service creates the following structure of su!folders< o 3or each conference organi4er, the e! 'onferencing service creates a separate folder !elow the metadata folder root. The organi4er folder name is a hash value computed !" using the organi4er URI. o 3or each conference, the e! 'onferencing service creates a separate folder !elow the organi4er su!folder. The conference folder name is the same as the conference I-. o %etadata files for a conference are stored in the conference folder. 3igure @-+) shows the structure of the metadata file share. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 33 Figure 7-12. 4etadata file share The e! 'onferencing service creates these folders and su!folders when it receives a 'C0 addConference reDuest from the 3ocus. If a folder for an organi4er does not exist, the e! 'onferencing service creates a new organi4er folder. If a folder for an organi4er alread" exists, the e! 'onferencing service creates the conference su!folder !elow the existing organi4er folder. If a folder for a conference does not exist, the e! 'onferencing service creates a new conference folder. If a conference folder alread" exists, the e! 'onferencing service saves the metadata files in the existing conference folder. hen the e! 'onferencing service needs to create a metadata folder for a conference, it extracts the organi4er URI from the addConference E%L. The URI is passed as input for a hash function. The result of this call is used to search through the su!folders of the metadata root folder to determine whether there is alread" an existing organi4er su!folder. If no organi4er su!folder exists, the e! 'onferencing service creates a new one. The conference folder contains all the information that is used !" e! 'onferencing service to recreate the content of a conference. Content file share: The content folder stores the content that is shared !etween the e! 'onferencing service and clients using the e! 'omponents #erver. The content folder contains the following< o , separate su!folder for each organi4erS the folder name is a hash !ased on the organi4er URI. o Under the organi4er su!folder, there is a separate folder for each conferenceS the folder name is the same as the conference I-. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 34 3igure @-+C shows the structure of the content folder. Figure 7-1. Content folder ,fter the client uploads the file, the e! 'onferencing service stores the content file share. ,s part of the process of storing the file in the content file share, the server !oth encr"pts the file and o!fuscates the file name. 3or example, if "ou upload a file called Duarterl"Tresults.ppt, it might end up loo/ing li/e this< s)mple.,in. This is done for two reasons. 3irst, since IT administrators have access to this folder, sensitive data ma" need to !e protected. #econd, !ecause the file is encr"pted, "ou can ma/e a file availa!le for download !efore "ou are read" for people to view it. &ou can then send the decr"ption information at a separate time when "ou are read" to present the file in the conference. C. The other clients in the conference download the file from Internet Information #ervices >II#?. The e! 'onferencing service uses an II# server as the mechanism for ma/ing the files availa!le to the client. hen a file is availa!le for download, the client is sent a we! URL that points to the II# server. The II# folder is configured so that it /nows how to read the content folder, !ut not the metadata folder. Note. The connection to the IIS server is config"red d"ring de/loyment. The IIS server where the files are stored is config"red so that yo" cannot browse directly to the content in the folder. %o" can only access the content "sing the +R- sent o"t by the ?eb Conferencing service. The II# server reads from the content folder. J. These files are still encr"pted. #o the e! 'onferencing service sends the client a message telling the client how to decr"pt the file. The file and the /e" are sent separatel" for optimi4ation purposes. &ou can send the download lin/ !efore the conference time, and client can download the file and store it locall". hen the file officiall" !ecomes shared, all the client needs to do is download the /e" to decr"pt it. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3+ This process can !e summari4ed !" the call flow shown in figure @-+J. Figure 7-1!. 3eb conferencing call flo" *pplication $haring ,s with other conference modalities, the ,pplication #haring 'onferencing service communicates with L"nc clients !" using #I0B#-0 and #I0B'C0 for signaling. 6owever, it is Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 36 different in that it uses R-0-over-#RT0 as the media protocol for transmitting the displa" and remote control data. R-0 is the protocol that is used for all %icrosoft Remote -es/top services. 3or details a!out using R-0, see Remote -es/top 0rotocol in the %#-$ Li!rar", http://go.microsoft.com/fwlink/?linkid=2#"20#. The #I0 communications use mutual TL# >%TL#? for securit", and the" use the same #ecure #oc/ets La"er >##L? server certificate that is assigned to the 3ront And #erver. ,s with ,B9 traffic, the R-0B#RT0 traffic does not use a certificate and instead uses ,dvanced Ancr"ption #tandard >,A#? and a shared /e" to encr"pt and decr"pt the R-0 traffic that it transports. There are four conferencing policies that affect how application sharing wor/s< Allow3serTocheduleMeetingsWithAppharing: This polic" determines if the user can organi4e a conference that includes ,pplication #haring. This setting is !ased on the conference organi4er. It applies to the user who organi4es the conference< if set to 3alse, no conference created !" a user affected !" this polic" will allow application sharing. 6owever, the user can ta/e part in other conferences where application sharing is allowed. Ena'leAppDes,topharing: This polic" is enforced on a per user !asis. This setting determines if a user can share their des/top or their des/top and application. The possi!le settings are< o -es/top. The user can share their entire des/top. o #ingle,pplication. The user can share onl" a single application. This is useful for the scenario where a user ma" have potentiall" sensitive information located on their des/top. o $one. The user is not allowed to share an application or their des/top. AllowParticipantControl: This setting determines who in the conference can ta/e control of the conference. This setting is enforced at the per-user level, and for !oth conferences and peer-to-peer communication sessions. This means that some users in a session might !e allowed to give up control of a shared application or des/top to an external user while other users might not !e allowed to give up control. AllowE(ternal3serControl: Indicates whether external users >either anon"mous users or federated users? are allowed to ta/e control of shared applications or des/tops. If this setting is set to true, it determines that anon"mous users can ta/e control of a des/top. This setting is enforced at the per-user level, and for !oth conferences and peer-to-peer communication sessions. That means that some users in a session might !e allowed to give up control of a shared application or des/top to an external user while other users might not !e allowed to give up control. ,n administrator can modif" these policies !" using the et5CsConferencingPolic- cmdlet. -uring a conference, if the ,pplication #haring session ends due to a connection error on the media channel, the following diagnostic code is returned< s!diagnostic: $(#($;reason=%T-e media connection .it- t-e c+ient .as disconnected6% Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 37 The most li/el" cause is the client either stopped responding or lost networ/ connectivit" !efore it could properl" close the #I0 session. The application sharing process is illustrated in the call flow in figure @-+K. Figure 7-1*. Application sharing call flo" Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3# Summar% .rgani4ations can ta/e advantage of the tools included in L"nc #erver )*+* to provide their users with a rich conferencing and colla!oration solution. L"nc #erver conferences are divided into two separate actions< scheduling a conference using %icrosoft .utloo/, and 7oining a conference !" using one of the provided L"nc clients, the we!-!ased client, or dial- in conferencing. Aach conference can consist of an" com!ination of audio conferencing, video conferencing, we! conferencing, or application sharing. To schedule a conference, the 3ocus 3actor" ta/es the information provided !" .utloo/ and creates a new conference record, which is stored in the 5ac/ And #erver running %icrosoft #1L #erver data!ase software. hen an attendee clic/s the lin/ included in the .utloo/ meeting invitation, the client connects to the 3ocus, which pulls information a!out the conference from the 5ac/ And #erver. 5ased on these settings, the 3ocus allocates an ,B9 'onferencing #erver, or other conferencing service, for each modalit" that will !e used in the conference. 0ossi!le modalities include audio conferencing, video conferencing, dial-in conferencing, we! conferencing, and application sharing. The 3ocus then tells the client how to connect to each server or service. ,fter 7oining the conference, it is the client=s responsi!ilit" to initiate a connection with each conferencing service. Additional 5esources 3or more information, see the following< 0lanning for 'onferencing, http://go.microsoft.com/fwlink/?LinkI7=2055$2 -eplo"ing #tand-alone ,B9 'onferencing #ervers, http://go.microsoft.com/fwlink/? LinkId=2#"#4$ 'onfiguring -ial-in 'onferencing, http://go.microsoft.com/fwlink/?LinkId=2#"#4" %anaging .n-0remises %eetings, http://go.microsoft.com/fwlink/?LinkId=2#55#5 0lanning for 'lients and -evices in L"nc #erver )*+*, http://go.microsoft.com/fwlink/?LinkI7=2055"# &otes from the Field Is There a +,- .articipant /imit for Conferencing0 6%ron Spurloc7 rinci/al Architect and Fo"nder( @"adrantechnologies %icrosoft L"nc #erver )*+* provides an on-premises conferencing solution for organi4ations. hile planning to deplo" L"nc #erver )*+* as "our conferencing solution, "ou should consider the following information a!out conferencing limits. L"nc #erver can support a maximum of )K* participants per conference. hile a single conference with )K* participants is ta/ing place, the pool can still support a total of KU of pool users participating in concurrent conferences. 3or example, in a pool of five 3ront And #ervers and K*,*** users, while a single )K*-user conference is occurring, L"nc #erver can support ),)K* other users participating in smaller concurrent conferences. L"nc #erver supports these users participating in smaller conferences Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 3( during a )K*-user conference regardless of the num!er of users homed on the five 3ront And pools or #tandard Adition #erver. Two hundred and fift" participants in a conference is the supported maximum limit that has !een tested within %icrosoft. #o what happens when a conference is scheduled with C** usersV 3irst, the default meeting polic" has to !e modified to allow an individual to send an invitation with more than )K* users !ecause )K* is the default maximum num!er of participants for a conference. Let=s sa" a C**-user meeting invitation is sent out, and that is how man" people attempt to connect to the on-premises meeting. hether all C** invited participants will !e admitted into the conference depends on the availa!le resources of the 3ront And #ervers or ,W9 'onferencing pool. ith each user that attempts to connect to the scheduled meeting, the 'onferencing #erver 3actor" notifies the 3ocus of the current load on the 'onferencing services hosting the meeting, and also notifies the 3ocus of availa!ilit" for admittance into the conference for additional users. 3or large conferences, we recommend creating a dedicated meeting polic" for organi4ers who are responsi!le for sending out large meeting reDuests. To do this< +. ADuip the server infrastructure a!ove the minimum hardware specifications for memor" and processor in order to run multiple conferences without a strain on the '0U. ). If there are more than +*,*** users in a pool, !ranch out the ,W9 'onferencing #erver to its own pool and increase the num!er of servers in the pool to support "our organi4ation=s conferencing need. 3or details, see the L"nc #erver )*+* 'apacit" 0lanning 'alculator Muide at the %icrosoft -ownload 'enter, http://go.microsoft.com/fwlink/?LinkId=2#"400. Microsoft Lync Server 2010 Resource Kit Conferencing and Collaboration Page 4%