Anda di halaman 1dari 310

Microsoft Office Communications

Server 2007 R2
Technical Reference
Published: July 2009
Updated: October 2009
Updated: April 2010
For the most up-to-date version o the !echnical "eerence documentation and the complete set
o the #icrosot$ Oice %ommunications &erver 200' "2 online documentation( see the Oice
%ommunications &erver !ech)et *ibrary at http:++,o-microsot-com+.lin/+0*in/123142105-
Note: 1n order to ind topics that are reerenced by this document but not contained .ithin it(
search or the topic title in the !ech)et library at http:++,o-microsot-com+.lin/+0*in/123142105-
1
!his document is provided 6as-is7- 1normation and vie.s e8pressed in this document( includin,
U"* and other 1nternet 9eb site reerences( may chan,e .ithout notice- :ou bear the ris/ o
usin, it-
&ome e8amples depicted herein are provided or illustration only and are ictitious- )o real
association or connection is intended or should be inerred-
!his document does not provide you .ith any le,al ri,hts to any intellectual property in any
#icrosot product- :ou may copy and use this document or your internal( reerence purposes-
%opyri,ht ; 2010 #icrosot %orporation- All ri,hts reserved-
#icrosot( Active 2irectory( Outloo/( &<* &erver( =isio( =isual %>>( 9indo.s( 9indo.s #edia(
9indo.s Po.er&hell( 9indo.s &erver( and 9indo.s =ista are trademar/s o the #icrosot ,roup
o companies- All other trademar/s are property o their respective o.ners-
2
Contents
#icrosot Oice %ommunications &erver 200' "2------------------------------------------------------------------------- 1
!echnical "eerence-------------------------------------------------------------------------------------------------------------------- 1
%ontents------------------------------------------------------------------------------------------------------------------------------------------ 4
Oice %ommunications &erver 200' "2 !echnical "eerence ?uide---------------------------------------------1
Oice %ommunications &erver 200' "2 Architecture---------------------------------------------------------------------1
!opolo,y and %omponent Architecture---------------------------------------------------------------------------------------- 2
&tandard @dition A&in,le &erver 1nstallationB---------------------------------------------------------------------------- 2
@nterprise @dition--------------------------------------------------------------------------------------------------------------------- 4
%onsolidated %oni,uration------------------------------------------------------------------------------------------------------ 4
@8panded %oni,uration----------------------------------------------------------------------------------------------------------- 4
Pool %omponents or Oice %ommunications &erver 200' "2---------------------------------------------------C
Overvie. o Pool %omponents------------------------------------------------------------------------------------------------- C
%ommon 1nrastructure %omponents--------------------------------------------------------------------------------------- 5
"!%&rv--------------------------------------------------------------------------------------------------------------------------------- '
Oice %ommunications &erver Application Pro,rammin, 1nterace AAP1B-----------------------------9
"!%Dost----------------------------------------------------------------------------------------------------------------------------- 12
Eac/-@nd 2atabase------------------------------------------------------------------------------------------------------------ 12
Presence %omponents------------------------------------------------------------------------------------------------------- 14
9eb %omponents &ervices or Oice %ommunications &erver 200' "2----------------------------14
Archivin, and #onitorin, or Oice %ommunications &erver 200' "2--------------------------------1C
Uniied %ommunications Application &ervices AU%A&B 1nrastructure---------------------------------1F
%onerencin, %omponents----------------------------------------------------------------------------------------------------- 1F
%onerencin, 1nrastructure %omponents--------------------------------------------------------------------------- 1F
%onerencin, &ervers or Oice %ommunications &erver 200' "2------------------------------------1G
=oice %omponents----------------------------------------------------------------------------------------------------------------- 20
"!%Dost =oice %omponents---------------------------------------------------------------------------------------------- 20
Uniied %ommunications Application &ervices AU%A&B =oice Applications-------------------------22
%ommunication Protocols or Oice %ommunication &erver 200' "2---------------------------------------2C
Protocols Overvie.---------------------------------------------------------------------------------------------------------------- 2C
%onerencin, Protocols---------------------------------------------------------------------------------------------------------- 2F
%entraliHed %onerencin, %ontrol Protocol A%4PB---------------------------------------------------------------2'
P&O#--------------------------------------------------------------------------------------------------------------------------------- 2G
"!P+"!%P-------------------------------------------------------------------------------------------------------------------------- 2G
&1P+&2P------------------------------------------------------------------------------------------------------------------------------ 2G
&i,nalin, and %ontrol Protocol-------------------------------------------------------------------------------------------- 29
#edia Protocols------------------------------------------------------------------------------------------------------------------ 29
&cenarios or Oice %ommunications &erver 200' "2-----------------------------------------------------------------29
%onerencin, &cenario or Oice %ommunications &erver 200' "2-----------------------------------------40
%ore AFocus( Focus Factory( and %onerencin, &erver FactoryB-------------------------------------------40
3
%onerencin, *iecycle-------------------------------------------------------------------------------------------------------- 40
%onerencin, 2ata Flo.----------------------------------------------------------------------------------------------------- 41
%onerence %reation and Activation------------------------------------------------------------------------------------ 42
Joinin, a %onerence---------------------------------------------------------------------------------------------------------- 4'
Addin, Participants to the %onerence--------------------------------------------------------------------------------C1
)otiication 2ocument--------------------------------------------------------------------------------------------------------- CC
%onerence 2eactivation----------------------------------------------------------------------------------------------------- C5
%onerence @8piration-------------------------------------------------------------------------------------------------------- C5
9eb %onerencin, &erver or Oice %ommunications &erver 200' "2---------------------------------C5
9eb %onerencin, Architecture------------------------------------------------------------------------------------------ C'
File &tructure----------------------------------------------------------------------------------------------------------------------- CG
#etadata Folder------------------------------------------------------------------------------------------------------------------ C9
Or,aniHer Folder----------------------------------------------------------------------------------------------------------------- F0
%onerence Folder-------------------------------------------------------------------------------------------------------------- F0
!ypes o &lides-------------------------------------------------------------------------------------------------------------------- F2
%ontent Upload and 2o.nload over P&O#------------------------------------------------------------------------F4
%ontent Upload over P&O# and 2o.nload over D!!P&---------------------------------------------------FC
&lide &et Files--------------------------------------------------------------------------------------------------------------------- F5
Dandouts AFile !ransersB---------------------------------------------------------------------------------------------------- 54
Persist2ata Folder A&hared )otesB------------------------------------------------------------------------------------- 5C
%ontent Folder-------------------------------------------------------------------------------------------------------------------- 5F
%onerence %ontent Folder------------------------------------------------------------------------------------------------- 55
File &iHe "estrictions---------------------------------------------------------------------------------------------------------- 5G
%ompliance------------------------------------------------------------------------------------------------------------------------- 5G
%onerencin, &cenario %all Flo.s in Oice %ommunications &erver 200' "2----------------------'1
*oc/ or Unloc/ a %onerence---------------------------------------------------------------------------------------------- '1
2ial 1n to a P&!) %onerence Usin, &1P %4P A!elephony %onerencin, &erverB---------------'1
2ial Out to 2evice Usin, addUser AAudio %onerencin, ProviderB-------------------------------------'2
"emove a Participant---------------------------------------------------------------------------------------------------------- '2
#ute or Unmute------------------------------------------------------------------------------------------------------------------ '4
#a/e Presenter------------------------------------------------------------------------------------------------------------------- 'C
2ial-1n %onerencin, &cenario--------------------------------------------------------------------------------------------------- 'F
&erver-Eased 2ial-1n %onerencin, %omponents-------------------------------------------------------------------''
Active 2irectoryIEased %oni,uration 2ata------------------------------------------------------------------------''
Oice %ommunications &erver Front @nd &erver %omponents------------------------------------------G0
%lient-Eased 2ial-in %onerencin, %omponents--------------------------------------------------------------------GF
%onerencin, Add-in or #icrosot Oice Outloo/---------------------------------------------------------------GF
*ive #eetin, %lient------------------------------------------------------------------------------------------------------------- G5
Oice %ommunicator---------------------------------------------------------------------------------------------------------- G5
%all Flo.s------------------------------------------------------------------------------------------------------------------------------- G'
#eetin, &et-up-------------------------------------------------------------------------------------------------------------------- G'
!o create an Anonymous-Allo.ed *ive #eetin, .ith 2ial-1n %onerencin, support------------G'
%onnectin, to the #eetin,-------------------------------------------------------------------------------------------------- GG
2es/top &harin, &cenario--------------------------------------------------------------------------------------------------------- 92
Oice %ommunications &erver 200' "2 2es/top &harin, Architecture---------------------------------94
Architectural Overvie.-------------------------------------------------------------------------------------------------------- 94
4
Protocols Used Ey 2es/top &harin,----------------------------------------------------------------------------------- 9C
2es/top &harin, %omponents-------------------------------------------------------------------------------------------- 95
2es/top &harin, %all Flo.s------------------------------------------------------------------------------------------------- 101
%reatin, a 2es/top &harin, %onerence--------------------------------------------------------------------------101
Addin, a User to a 2es/top &harin, %onerence-------------------------------------------------------------102
2es/top &harin, &ession %ontrol------------------------------------------------------------------------------------- 10F
%ommunicator 9eb Access &cenario-------------------------------------------------------------------------------------- 10'
Functionality Overvie.--------------------------------------------------------------------------------------------------------- 10'
)e. %ommunicator 9eb Access Features-----------------------------------------------------------------------10G
Oice %ommunicator and 9eb Access Feature %omparison-------------------------------------------109
%ommunicator 9eb Access %ore Architecture---------------------------------------------------------------------111
U%#A *ayer Functions----------------------------------------------------------------------------------------------------- 114
Application *o,ic *ayer Functions------------------------------------------------------------------------------------- 114
%lient Functions---------------------------------------------------------------------------------------------------------------- 11C
%ommunicator 9eb Access Audio---------------------------------------------------------------------------------------- 115
%ommunicator 9eb Access Audio &cenarios-------------------------------------------------------------------11'
%all 2election &ession 1nitiation Protocol A&1PB !racin,---------------------------------------------------120
Add Audio &ession 1nitiation Protocol A&1PB !racin,----------------------------------------------------------12F
Outside =oice %ontrol &cenario----------------------------------------------------------------------------------------------- 1C1
Outside =oice %ontrol Architecture--------------------------------------------------------------------------------------- 1C4
Architectural Overvie.--------------------------------------------------------------------------------------------------------- 1CC
Protocols Used Ey Outside =oice %ontrol------------------------------------------------------------------------- 1CF
%all Flo.s----------------------------------------------------------------------------------------------------------------------------- 1CF
Outbound %all------------------------------------------------------------------------------------------------------------------- 1CF
1nbound %all---------------------------------------------------------------------------------------------------------------------- 1CG
?roup %hat Feature &cenario-------------------------------------------------------------------------------------------------- 1F0
?roup %hat &ervices------------------------------------------------------------------------------------------------------------ 1F0
%hannel &ervice---------------------------------------------------------------------------------------------------------------- 1F0
*oo/up &ervice----------------------------------------------------------------------------------------------------------------- 1F1
9eb &ervice---------------------------------------------------------------------------------------------------------------------- 1F2
%ompliance &ervice---------------------------------------------------------------------------------------------------------- 1F2
Jey Protocols and 9indo.s &ervices Used by ?roup %hat------------------------------------------------1F4
&ession 1nitiation Protocol A&1PB---------------------------------------------------------------------------------------- 1F4
9indo.s %ommunication Foundation A9%FB-------------------------------------------------------------------1F4
D!!P&------------------------------------------------------------------------------------------------------------------------------ 1F4
#essa,e <ueuin,------------------------------------------------------------------------------------------------------------- 1FC
?roup %hat %all Flo.s--------------------------------------------------------------------------------------------------------- 1FC
?roup %hat %lient &i,n 1n------------------------------------------------------------------------------------------------- 1FC
&ubscribin, to a %hat "oom and Postin, a #essa,e-------------------------------------------------------1F'
!echnical 2rilldo.ns------------------------------------------------------------------------------------------------------------------- 1F9
&1P Processin, 2rilldo.n-------------------------------------------------------------------------------------------------------- 1F9
&1P Processin, and ?"UU-------------------------------------------------------------------------------------------------- 1F9
?"UU %reation-------------------------------------------------------------------------------------------------------------------- 150
Do. ?"UU 1s Used by Oice %ommunications &erver-------------------------------------------------------150
User "eplicator 2rilldo.n-------------------------------------------------------------------------------------------------------- 151
5
Archivin, and #onitorin, 2rilldo.n------------------------------------------------------------------------------------------ 152
Archivin, and #onitorin, &ervers-------------------------------------------------------------------------------------------- 154
Archivin, &erver---------------------------------------------------------------------------------------------------------------- 154
#onitorin, &erver-------------------------------------------------------------------------------------------------------------- 154
Archivin, 2atabase &chema------------------------------------------------------------------------------------------------ 15C
*ist o !ables--------------------------------------------------------------------------------------------------------------------- 15C
&upportin, !ables------------------------------------------------------------------------------------------------------------- 15C
!ables or #essa,es in 1# %onerences--------------------------------------------------------------------------- 15C
!ables or Peer-to-Peer 1# Archivin,-------------------------------------------------------------------------------- 15F
!ables or 1nternal Use by Oice %ommunications &erver------------------------------------------------15F
!able 2etails--------------------------------------------------------------------------------------------------------------------- 15F
%lient=ersions !able---------------------------------------------------------------------------------------------------------- 15F
%omputers !able--------------------------------------------------------------------------------------------------------------- 155
%ontent!ypes !able---------------------------------------------------------------------------------------------------------- 155
2ialo,s !able-------------------------------------------------------------------------------------------------------------------- 155
Pools !able----------------------------------------------------------------------------------------------------------------------- 15'
Users !able----------------------------------------------------------------------------------------------------------------------- 15'
%onerences !able------------------------------------------------------------------------------------------------------------ 15'
%onerence#essa,e"ecipient*ist !able--------------------------------------------------------------------------- 15G
%onerence#essa,es !able---------------------------------------------------------------------------------------------- 159
&ession2etails !able--------------------------------------------------------------------------------------------------------- 1'0
#essa,es !able---------------------------------------------------------------------------------------------------------------- 1'2
%2" 2atabase &chema------------------------------------------------------------------------------------------------------- 1'4
*ist o !ables--------------------------------------------------------------------------------------------------------------------- 1'4
&tatic !ables---------------------------------------------------------------------------------------------------------------------- 1'4
&upportin, !ables------------------------------------------------------------------------------------------------------------- 1'4
!ables &peciic to %onerence %2" "ecords--------------------------------------------------------------------1'C
!ables or #essa,es in 1# %onerences--------------------------------------------------------------------------- 1'C
!ables or Peer-to-Peer &essions------------------------------------------------------------------------------------- 1'F
!able or =o1P %all 2etails------------------------------------------------------------------------------------------------- 1'F
!ables or !roubleshootin,------------------------------------------------------------------------------------------------ 1'F
!ables or 1nternal Use by Oice %ommunications &erver------------------------------------------------1'5
!able 2etails--------------------------------------------------------------------------------------------------------------------- 1'5
#edia*ist !able----------------------------------------------------------------------------------------------------------------- 1'5
"oles !able----------------------------------------------------------------------------------------------------------------------- 1''
UserAuth!ypes !able-------------------------------------------------------------------------------------------------------- 1''
%lient=ersions !able---------------------------------------------------------------------------------------------------------- 1'G
%omputers !able--------------------------------------------------------------------------------------------------------------- 1'G
Pools !able----------------------------------------------------------------------------------------------------------------------- 1'G
2ialo,s !able-------------------------------------------------------------------------------------------------------------------- 1'G
?ate.ays !able---------------------------------------------------------------------------------------------------------------- 1'9
#cus !able------------------------------------------------------------------------------------------------------------------------ 1'9
Users !able----------------------------------------------------------------------------------------------------------------------- 1G0
Phones !able-------------------------------------------------------------------------------------------------------------------- 1G0
%onerences !able------------------------------------------------------------------------------------------------------------ 1G0
FocusJoinsAnd*eaves !able-------------------------------------------------------------------------------------------- 1G2
6
#cuJoinsAnd*eaves !able----------------------------------------------------------------------------------------------- 1G4
%onerence#essa,e%ount !able-------------------------------------------------------------------------------------- 1GC
&ession2etails !able--------------------------------------------------------------------------------------------------------- 1GF
File!ransers !able------------------------------------------------------------------------------------------------------------ 1G'
#edia !able----------------------------------------------------------------------------------------------------------------------- 1GG
=oip2etails !able-------------------------------------------------------------------------------------------------------------- 1GG
Application !able--------------------------------------------------------------------------------------------------------------- 190
@rror2e !able------------------------------------------------------------------------------------------------------------------- 190
@rror"eport !able-------------------------------------------------------------------------------------------------------------- 191
Pro,ress"eport !able------------------------------------------------------------------------------------------------------- 191
&ample 2atabase <ueries------------------------------------------------------------------------------------------------ 192
<o@ 2atabase &chema-------------------------------------------------------------------------------------------------------- 194
*ist o !ables--------------------------------------------------------------------------------------------------------------------- 194
!able 2etails--------------------------------------------------------------------------------------------------------------------- 19C
&ample 2atabase <ueries------------------------------------------------------------------------------------------------ 21'
#essa,e <ueuin, Architecture and %oni,uration or Archivin,-------------------------------------------21G
#essa,e &tampin,--------------------------------------------------------------------------------------------------------------- 220
%reatin, a !hird-Party <o@ &olution------------------------------------------------------------------------------------ 220
1nrastructure "eKuirements and PrereKuisites o #onitorin, &erver--------------------------------220
2eployin, a %ustom <o@ &olution------------------------------------------------------------------------------------ 22C
9#1 "eerence or <o@ &olutions------------------------------------------------------------------------------------ 22C
@nablin, or 2isablin, an D!!P Pro8y or <o@ &olutions--------------------------------------------------225
@d,e &ervers 2rilldo.n----------------------------------------------------------------------------------------------------------- 22'
"esponse ?roup %lient 9eb &ervice 2rilldo.n-----------------------------------------------------------------------22'
&ervice 2escriptions------------------------------------------------------------------------------------------------------------- 22'
%lient 2)& <ueries 2rilldo.n-------------------------------------------------------------------------------------------------- 22G
Application &erver 2rilldo.n---------------------------------------------------------------------------------------------------- 22G
%haracteristics o the Oice %ommunications &erver 200' "2 Application &erver--------------229
Architecture----------------------------------------------------------------------------------------------------------------------- 229
Other Jey Application &erver %haracteristics-------------------------------------------------------------------241
Application &erver %oni,uration------------------------------------------------------------------------------------------ 241
Application &erver Application %oni,uration------------------------------------------------------------------------242
?lobal &ettin,s------------------------------------------------------------------------------------------------------------------ 242
Pool &ettin,s--------------------------------------------------------------------------------------------------------------------- 242
&1P !run/in, 2rilldo.n------------------------------------------------------------------------------------------------------------ 242
&1P !run/in, 2rilldo.n: &upported &cenarios----------------------------------------------------------------------244
&1P !run/in, 2rilldo.n: &upported !opolo,ies---------------------------------------------------------------------244
&1P !run/in, 2rilldo.n: &ecurity %onsiderations-----------------------------------------------------------------24F
&1P !run/in, 2rilldo.n: Eand.idth %onsiderations--------------------------------------------------------------245
&1P !run/in, 2rilldo.n: Protocol Flo. and 2etails---------------------------------------------------------------24'
&1P %all Flo. and &tate #achine-------------------------------------------------------------------------------------- 24'
%all Dold--------------------------------------------------------------------------------------------------------------------------- 24'
2ual-tone multireKuency A2!#FB------------------------------------------------------------------------------------- 24G
@arly #edia----------------------------------------------------------------------------------------------------------------------- 24G
Uniorm "esource 1dentiier AU"1B Formattin,-------------------------------------------------------------------24G
%odec &upport------------------------------------------------------------------------------------------------------------------ 24G
7
&1P !run/in, 2rilldo.n: Di,h Availability------------------------------------------------------------------------------249
Address Eoo/ &erver 2rilldo.n----------------------------------------------------------------------------------------------- 249
Address Eoo/ &erver 1ntroduction---------------------------------------------------------------------------------------- 2C1
1ntroduction----------------------------------------------------------------------------------------------------------------------- 2C1
Address Eoo/ &erver: File and 2atabase ?eneration----------------------------------------------------------2C2
Address Eoo/ &erver 2ata Flo.--------------------------------------------------------------------------------------- 2C2
Address Eoo/ &erver Process------------------------------------------------------------------------------------------ 2C2
Address Eoo/ &erver: Address Eoo/ File 2o.nload &ervice-----------------------------------------------2CF
File ?eneration----------------------------------------------------------------------------------------------------------------- 2CF
Or,aniHational Unit and Address Eoo/ File ?eneration----------------------------------------------------2CG
%lient and Address Eoo/ &erver %ommunication-------------------------------------------------------------2CG
Address Eoo/ and Oice %ommunicator-------------------------------------------------------------------------- 2C9
%lient 2o.nload Process-------------------------------------------------------------------------------------------------- 2F0
1nternet @8plorer 2ependencies---------------------------------------------------------------------------------------- 2F1
File &tore "ecommendations and File &iHe ?uidelines----------------------------------------------------2F1
Oice %ommunicator *ocal Address Eoo/ 2atabase Files-----------------------------------------------2F1
Address Eoo/ and Oice %ommunicator Phone @dition---------------------------------------------------2F2
Address Eoo/ 9eb <uery &ervice------------------------------------------------------------------------------------ 2F2
Address Eoo/ &erver: Address Eoo/ 9eb <uery &ervice----------------------------------------------------2F2
Oice %ommunicator Address Eoo/ <ueries -------------------------------------------------------------------2FC
<ueries on 2isplay )ame ------------------------------------------------------------------------------------------------ 2F5
<ueries on Phone )umbers --------------------------------------------------------------------------------------------- 2F'
&ortin, <uery "esults------------------------------------------------------------------------------------------------------- 2FG
Predictive !e8t <ueries----------------------------------------------------------------------------------------------------- 2FG
Address Eoo/ 9eb <uery 2atabase--------------------------------------------------------------------------------2F9
Address Eoo/ 9eb <uery 2atabase *an,ua,e &upport--------------------------------------------------2F9
Address Eoo/ 9eb <uery &erver Perormance----------------------------------------------------------------250
Address Eoo/ &erver: Advanced Address Eoo/ Features----------------------------------------------------250
#ana,ement o Oice %ommunications &erver 200' "2-----------------------------------------------------------255
Administrative !ools Overvie.------------------------------------------------------------------------------------------------- 255
Administrative !ools------------------------------------------------------------------------------------------------------------- 25'
Permissions-------------------------------------------------------------------------------------------------------------------------- 2'0
1nstallation and Use o Administrative !ools----------------------------------------------------------------------------- 2'0
=ersion "estrictions-------------------------------------------------------------------------------------------------------------- 2'1
"emote Administration "eKuirements----------------------------------------------------------------------------------2'1
1nstallin, Administrative !ools----------------------------------------------------------------------------------------------- 2'2
!roubleshootin, or Oice %ommunications &erver 200' "2--------------------------------------------------2'C
*oad Ealancers or Oice %ommunications &erver 200' "2---------------------------------------------------2'C
PrereKuisites or a *oad Ealancer %onnectin, to a Pool------------------------------------------------------2'C
*oad Ealancer "eKuirements----------------------------------------------------------------------------------------------- 2'F
&upported *oad Ealancer %oni,urations----------------------------------------------------------------------------- 2''
#edia Ports----------------------------------------------------------------------------------------------------------------------------- 2'G
#ediation &erver or Oice %ommunications &erver 200' "2---------------------------------------------2'G
#edia ?ate.ay----------------------------------------------------------------------------------------------------------------- 2'9
#edia Port "an,e or Oice %ommunications &erver 200' "2-------------------------------------------2'9
8
#inimum )umber o Ports------------------------------------------------------------------------------------------------ 2'9
&erver Port Allocation------------------------------------------------------------------------------------------------------- 2G5
=oice <uality o &ervice A<o&B------------------------------------------------------------------------------------------------ 2G'
<o& .ith Oice %ommunications &erver 200' "2---------------------------------------------------------------2G'
@nablin, 2&%P #ar/in,------------------------------------------------------------------------------------------------------- 2GG
@nablin, <o&-------------------------------------------------------------------------------------------------------------------- 2G9
1nstallin, the <o& Pac/et &cheduler on %omputers---------------------------------------------------------292
=eriyin, ?roup Policy &ettin,s on %omputers-----------------------------------------------------------------294
9#1 &ettin,s or Oice %ommunications &erver 200' "2------------------------------------------------------29C
%lient "e,istry Jeys+?PO or Oice %ommunications &erver 200' "2----------------------------------29C
1n-Eand Provisionin, over &1P------------------------------------------------------------------------------------------------- 29C
9hy Use 1n-Eand Provisionin,0--------------------------------------------------------------------------------------- 295
Oice %ommunicator 200' "2 ?roup Policy Precedence------------------------------------------------29'
Policy transport----------------------------------------------------------------------------------------------------------------- 29'
Provisionin, ?roups---------------------------------------------------------------------------------------------------------- 401
9
Office Communications Server 2007 R2
Technical Reference Guide
!his document provides detailed technical reerence inormation or administrators .ho are
deployin,( have deployed( or are administerin, #icrosot Oice %ommunications &erver 200'
"2- !his inormation is not necessary or day-to-day mana,ement o your Oice %ommunications
&erver deployment( but it can be useul i you are troubleshootin, an issue( or i you are
implementin, a solution or developin, an application that reKuires more technical detail than the
basic documentation provides-
!he inormation in this document supplements and should be used in conLunction .ith the rest o
the Oice %ommunications &erver 200' "2 documentation set- Additional resources or technical
Kuestions that are not covered here are as ollo.s:
!he !echnical Overvie. in the ?ettin, &tarted documentation-
!he #icrosot !ech)et portal or Oice %ommunications &erver at
http:++,o-microsot-com+.lin/+0*in/1231CC''0( .hich includes technical orums .here you
can as/ speciic Kuestions-
1 you have speciic Kuestions( comments( or su,,estions or this !echnical "eerence( please
contact us at ocsdocMmicrosot-com- 9e are al.ays ,lad to hear rom you-
Note:
:ou can do.nload the Oice %ommunications &erver 200' "2 !echnical "eerence
?uide as a 9ord ile rom the #icrosot 2o.nload %enter at
http:++,o-microsot-com+.lin/+0*in/1231F95C9-
In This Document
Oice %ommunications &erver 200' "2 Architecture
&cenarios or Oice %ommunications &erver 200' "2
!echnical 2rilldo.ns
#ana,ement o Oice %ommunications &erver 200' "2
Office Communications Server 2007 R2
rchitecture
Ater providin, a brie overvie. o the Oice %ommunications &erver 200' "2 topolo,y and
component architecture( this section describes the architecture o the pool components in detail
and the protocols that the components use to interact .ith each other-
In This Section
!his section includes the ollo.in, topics:
1
!opolo,y and %omponent Architecture
Pool %omponents or Oice %ommunications &erver 200' "2
%ommunication Protocols or Oice %ommunication &erver 200' "2
To!olo"# and Com!onent rchitecture
!he ollo.in, i,ure sho.s a sample Oice %ommunications &erver 200' "2 topolo,y and the
protocol lo. in that topolo,y-
Oice %ommunications &erver can be installed in several coni,urations( startin, .ith a sin,le
&tandard @dition server or simple+common installations to multiple @nterprise @dition servers
.here hi,h availability at scale is a reKuirement-
Standard $dition %Sin"le Server Installation&
Oice %ommunications &erver 200' "2( &tandard @dition contains the same server components
as @nterprise @dition- Do.ever( in this coni,uration all the server components reKuired to provide
presence( instant messa,in, A1#B( multiparty 9eb conerencin, and des/top sharin,( and
audio+video AA+=B conerencin, are installed on a sin,le computer- All voice components and
applications are also installed on the same computer- 1n a &tandard @dition coni,uration( the
Eac/-@nd 2atabase &erver also runs on the sin,le physical server- !hus( all elements share the
same server resources-
2
!his coni,uration is desi,ned to support a small number o users and concurrent meetin,s and is
not desi,ned to scale to lar,er deployments- @ase o installation and server mana,ement are the
primary ,oals or this type o server installation-
$nter!rise $dition
An @nterprise @dition server can provide an or,aniHation .ith scalin, and hi,h availability-
@nterprise @dition servers are deployed in a pool re,ardless o .hether there is one server or
multiple servers- An or,aniHation can deploy @nterprise @dition coni,uration by usin, a sin,le
@nterprise @dition server( .ith or .ithout a hard.are load balancer( or multiple @nterprise @dition
servers behind a hard.are load balancer- #ultiple servers provide hi,h availability such that( i
one Front @nd &erver ails( clients can detect the ailure and automatically reconnect to one o the
other Front @nd &ervers-
Consolidated Confi"uration
%onsolidated coni,uration is the recommended topolo,y or most or,aniHations( both in terms o
scalin, and simpliied administration-
1n Oice %ommunications &erver( each Front @nd &erver in an @nterprise @dition consolidated
coni,uration includes re,istration( presence( routin,( conerencin,( and enterprise telephony
unctionality- @ach Front @nd &erver runs an instance o the Focus( Focus Factory( %onerencin,
&erver Factory( and all conerencin, servers- @ach Front @nd &erver also runs an instance o all
voice applications Aor e8ample( =oice 1nbound and Outbound "outin,( Outside =oice %ontrol(
"esponse ?roup &ervice( %ommunicator 200' "2 Attendant( and %onerencin, Announcement
&erviceB- !he most important aspect o this architecture is that all Front @nd &ervers are
eKuivalent in unctionality- !he same sot.are components Athat is( Focus( Focus Factory(
%onerencin, &erver Factory( conerencin, servers( and voice applicationsB are installed on all
the Front @nd &ervers- A consolidated coni,uration helps simpliy setup and mana,ement( .hile
still providin, hi,h scalability( availability( and ailure recovery-
$'!anded Confi"uration
@8panded coni,uration .as introduced in Oice %ommunications &erver 200'- !he primary
advanta,e o the e8panded coni,uration in Oice %ommunications &erver 200' .as its ability to
scale in very lar,e deployments- Do.ever( the scalability limitations o consolidated coni,uration(
.hich is simpler to deploy( have been removed in Oice %ommunications &erver 200' "2( and
consolidated coni,uration is no. the preerred topolo,y or most or,aniHations-
1n an @nterprise @dition e8panded coni,uration( the A+= %onerencin, &erver and 9eb
%onerencin, &erver server roles are distributed and run on separate servers- @8panded
coni,uration is no lon,er a recommended scenario and reKuires command-line installation and
coni,uration in Oice %ommunications &erver 200' "2-
3
(ool Com!onents for Office Communications
Server 2007 R2
In This Section
!his section includes the ollo.in, topics:
Overvie. o Pool %omponents
%ommon 1nrastructure %omponents
%onerencin, %omponents
=oice %omponents
Overvie) of (ool Com!onents
Oice %ommunications &erver supports the ollo.in, three scenarios or .or/loads: instant
messa,in, A1#B and presence( conerencin, Aincludin, 9eb conerencin,( des/top sharin,(
audio+video conerencin,B( and @nterprise =oice( .hich encompasses telephony- !his section
describes all o the architectural components o an Oice %ommunications &erver 200' "2
&tandard @dition server or @nterprise pool- %ollectively( these components support all three
.or/loads-
!his section ocuses on the services that run on the core Oice %ommunications &erver roles(
the components .ithin those services( and relationships bet.een them- !his section does not
cover net.or/ architecture or deployment architecture( .hich complement component
architecture- For details about those aspects o architecture( see the Plannin, And Architecture
documentation-
9hile this section describes components in the conte8t o an @nterprise pool( it also applies to
most aspects o a &tandard @dition server- All server components Athat is( services( database(
and so onB described in this section run to,ether on a sin,le instance o a &tandard @dition
server- !his is a typical coni,uration or simple or relatively small deployments Athat is( up to a
e. thousand usersB .here hi,h availability is not a reKuirement-
%onceptually( a pool consists o one or more Front @nd &ervers and one or more databases on
the Eac/-@nd 2atabase &erver .ith a sin,le &<* &erver- 1n a pool( all persistent states are
stored in the database on the Eac/-@nd 2atabase &erver( so that .hen a Front @nd &erver
component ails( ailover can be Kuic/- Fi,ure 1 sho.s a sample @nterprise pool-
4
*i"ure +, Sam!le $nter!rise !ool
Fi,ure 1 illustrates the components o Front @nd &ervers and the Eac/-@nd 2atabase &erver-
!here is a hard.are load balancer or the Front @nd &ervers( .hich are reKuired or an @nterprise
pool that has more than one @nterprise @dition server- A1 your pool consists o only one Front @nd
&erver( .hich is connected to a separate Eac/-@nd 2atabase &erver runnin, &<* &erver( a load
balancer is not reKuired-B All Front @nd &ervers in a consolidated coni,uration pool are
homo,eneous and identical to each other- !hereore( all relevant Oice %ommunications &erver
services and applications are installed on all Front @nd &ervers in this type o a pool-
On each Oice %ommunications &erver 200' "2 Front @nd &erver( the main components can be
classiied as ollo.s:
Common infrastructure com!onents, !hese components are reKuired or the
operation o any Oice %ommunications &erver .or/load( and provide a oundation or
conerencin, and voice components- !he common inrastructure components include:
RTCSrv, !his is the main Oice %ommunications &erver service that runs the Oice
%ommunications &erver &ession 1nitiation Protocol A&1PB stac/( perorms presence
unctions( perorms directory replication unctions and interaces .ith the database( hosts
5
application interaces( and has modules to capture archivin, and call detail recordin,
A%2"B data-
-ac./end data0ase, !his is a &<* persistent store .ith inormation on user
identities and capabilities that are replicated rom Active 2irectory( user contact lists( and
dynamic presence and conerencin, data-
RTC1ost, !his process hosts several Oice %ommunications &erver applications or
presence( conerencin,( and @nterprise =oice that are reKuired or core unctionin, o
these scenarios-
OCS !!lication interfaces, !hese interaces enable the applications on "!%Dost
Aas .ell as third-party applications built on the same AP1B to interace .ith the main server
process "!%&rv Aor e8ample( to inspect the &1P streamB-
2e0 Com!onents infrastructure, !his inrastructure( .hich is built on #icrosot
1nternet 1normation &erver A11&B( hosts various D!!P components reKuired or presence(
conerencin,( and @nterprise =oice unctions-
3CS infrastructure, !he Uniied %ommunications Application &ervices AU%A&B
inrastructure enables Oice %ommunications &erver to host robust( scalable( middle-tier
server endpoint applications- &everal U%A& applications or @nterprise =oice are hosted
by this inrastructure-
Conferencin" com!onents, !hese components include various conerencin,-speciic
components hosted by the common inrastructure discussed previously Aor e8ample( an
"!%Dost application( several .eb componentsB( as .ell as a set o conerencin, servers
.hich perorm mi8in, unctions or 1# conerencin,( 9eb conerencin,( des/top sharin,
conerencin,( and audio+video conerencin,-
4oice com!onents, !hese are the additional Oice %ommunications &erver
components reKuired or enterprise telephony unctions- !hese components include
"!%Dost applications or inbound telephony routin,( outbound telephony routin,( and phone
number normaliHation( as .ell as U%A& applications or dial-in conerencin,( response
,roups Athat is( similar to Automatic %all 2istribution or =oiceB( and Outside =oice %ontrol
A.hich e8tends enterprise telephony unctionality to cellular phonesB-
@ach o these classes o components is described in the topics that ollo.-
Common Infrastructure Com!onents
!he common inrastructure components are reKuired or the operation o any Oice
%ommunications &erver .or/load( and provide a oundation or conerencin, and voice
components- !he common inrastructure components include "!%&rv( Oice %ommunications
&erver application interaces( "!%Dost( the bac/-end database( presence components( 9eb
components( archivin, and monitorin, components( and Uniied %ommunications Application
&ervices AU%A&B inrastructure-
In This Section
!his section contains the ollo.in, topics:
"!%&rv
6
Oice %ommunications &erver Application Pro,rammin, 1nterace AAP1B
"!%Dost
Eac/-@nd 2atabase
Presence %omponents
9eb %omponents &ervices or Oice %ommunications &erver 200' "2
Archivin, and #onitorin, or Oice %ommunications &erver 200' "2
Uniied %ommunications Application &ervices AU%A&B 1nrastructure
RTCSrv
!he "!%&rv-e8e process is the core Oice %ommunications &erver 200' "2 process- "!%&rv
runs on every &tandard @dition server and Front @nd instance o Oice %ommunications &erver
200' "2- "!%&rv-e8e hosts the User &ervices module( the server application pro,rammin,
interace AAP1B( archivin, and call detail recordin, A%2"B( <uality o @8perience A<o@B( and the
&ession 1nitiation Protocol A&1PB Pro8y- !he User &ervices module( the server AP1( archivin, and
%2"( and <o@ sit on top o the &1P Pro8y- A messa,e dispatcher mediates by sendin, messa,es
bet.een these components and the &1P Pro8y-
!he ollo.in, i,ure sho.s the "!%&rv-e8e process-
*i"ure +, The RTCSrv,e'e !rocess
7
SI( (ro'#
!he &1P Pro8y is the core protocol platorm on .hich all other Oice %ommunications &erver
200' "2 services are built- !he &1P Pro8y provides the basic structure or net.or/in, and
security( and perorms connection mana,ement( messa,e header parsin,( routin,(
authentication( and state mana,ement-
!he &1P Pro8y( also /no.n as the &1P stac/( orms the basis or all other Oice %ommunications
&erver 200' "2 services- &i,nalin, connections( authentication( messa,e routin,( and state
mana,ement all rely on the &1P Pro8y-
3ser Services
User &ervices enables the instant messa,in, A1#B( presence( and conerencin, eatures o
Oice %ommunications &erver 200' "2- For details about the presence components o User
&ervices( see Presence %omponents- User &ervices includes the Focus and Focus Factory(
.hich are e8plained in more detail in %onerencin, %omponents- !he ollo.in, table describes
the unctionality provided or User &ervices-
Ta0le +, 3ser Services
Com!onent *unction
User "eplicator User "eplicator is the component o Oice
%ommunications &erver 200' "2 that is
responsible or /eepin, the presence store in
the &<* database synchroniHed .ith user and
contact obLects in Active 2irectory 2omain
&ervices AA2 2&B- User "eplicator monitors the
data in A2 2& and then sends the data throu,h
"!%&rv-e8e to the &<* database on the Eac/-
@nd 2atabase &erver or stora,e- User
"eplicator also monitors user( contact( and
,roup obLects to provide content or the Address
Eoo/ &erver iles-
"P% bet.een Front @nd &ervers !he User &ervices module on each Front @nd
&erver communicates .ith the same process
runnin, on other Front @nd &ervers by usin,
"emote Procedure %all A"P%B-
O2E%-based 2atabase Access *ayer !he User &ervices module sends presence(
re,istration( and conerencin, data to the &<*
&erver runnin, on the Eac/-@nd 2atabase
&erver throu,h a database Kueuin, layer that
uses the #icrosot Open 2atabase %onnectivity
interace AO2E%B- O2E% provides a standard
AP1 that Oice %ommunications &erver 200'
"2 uses to run &<* Kueries a,ainst the &<*
8
Com!onent *unction
&erver bac/-end database-
rchivin"5 CDR5 and 6o$
!he archivin, and %2" components( are installed on every Front @nd &erver .hen you deploy
Oice %ommunications &erver 200' "2 &tandard @dition server or @nterprise @dition server-
&imilarly( <o@ is installed on every Front @nd &erver-
Archivin, and %2"( and <o@ connect to the Archivin, &erver and the #onitorin, &erver Athat is(
runnin, in one o several possible physical topolo,iesB usin, #essa,e <ueuin, Apreviously
/no.n as #&#<B technolo,y- !he Archivin, &erver receives instant messa,es rom the archivin,
and %2" a,ent and stores the inormation in a &<* database- !he #onitorin, &erver receives
call data rom the archivin, and %2" a,ent( and <o@ data rom the <o@ a,ent- For details about
archivin, and monitorin,( see Archivin, and #onitorin, 2rilldo.n-
Office Communications Server !!lication (ro"rammin" Interface %(I&
!he Oice %ommunications &erver 200' "2 application pro,rammin, interace AAP1B is built on
the &ession 1nitiation Protocol A&1PB pro8y platorm and implemented usin, the ollo.in,:
Server (I module %!iem,dll&, An e8tension that provides the basic scriptin, capability
or creatin, custom messa,e ilters and routin, applications- !he scripts can either run in
process .ith Oice %ommunications &erver 200' "2 A"tcsrv-e8eB or can be incorporated in a
mana,ed server application that is runnin, in a separate process-
Mana"ed server (I !latform %Server"ent,dll&, A platorm that you use to implement
both #icrosot and non-#icrosot mana,ed server applications- #ana,ed server applications
that are .ritten by usin, the mana,ed server AP1 run as separate processes-
7ocal shared/memor# I(C %6ueue,dll&, !he interace bet.een the server AP1 module
and mana,ed applications-
Internal COM (I, An AP1 used to communicate .ith the &1P pro8y platorm-
!he ollo.in, i,ure sho.s ho. the AP1 architecture is implemented or Front @nd &ervers-
9
*i"ure +, (I architecture for *ront $nd Servers
&1P-a.are mana,ed server applications that are developed by usin, the mana,ed server AP1
platorm e8tend the core services available in Oice %ommunications &erver200' "2- #ana,ed
server applications include both o the ollo.in,:
Oice %ommunications &erver 200' "2 applications implemented by usin,
"!%Dost-e8e- !his includes the ollo.in, ilterin, applications: =oice over 1nternet Protocol
A=o1PB applications( conerencin, server Factory( "eal-time %ommunications A"!%B
A,,re,ate application( and other applications Athat is( non-#icrosot applicationsB- For details
about the mana,ed server applications implemented .ith "!%Dost-e8e( see "!%Dost-
)on-#icrosot applications developed in-house( by vendors( or by usin, other resources-
!he mana,ed server AP1 or implementin, these applications unctions as ollo.s:
@8posed throu,h the #icrosot-"tc-&ip namespace-
Uses the server AP1 to perorm speciic &1P messa,e processin, tas/s-
1mplemented by usin, the mana,ed server application platorm Athat is( &erverA,ent-dll
assemblyB- @ach mana,ed application loads the &erverA,ent-dll and e8ecutes in its o.n
process space- #ana,ed applications are isolated rom each other in a .ay that prevents a
aulty application rom aectin, other applications-
Follo.in, are the t.o maLor components o the server AP1 module AApiem-dllB that support
implementation o mana,ed server applications:
!!lication manifest, A script that is .ritten by usin, #icrosot &1P Processin,
*an,ua,e A#&P*B and describes an application to the server- 9hen a mana,ed server
10
application re,isters .ith the server usin, the Server"ent class( it provides this script to the
server- !he application maniest serves the ollo.in, purposes:
Provides details about the application type and the state that the server needs to
maintain or the application to run( so the server can optimiHe processin, or the
application-
%ontains a messa,e ilter script to communicate detailed inormation about .hich
messa,es Athat is( reKuests and responsesB the application needs to see- !o ilter
messa,es( the application maniest has a set o built-in actions that it can invo/e- For any
other actions reKuired by a speciic messa,e Athat is( those actions that cannot be
handled by the built-in actionsB( the application maniest can invo/e mana,ed code in a
separate application process by passin, all or parts o the messa,e to the code in the
application process- Usin, the built-in actions helps you avoid cross-process calls or
simple processin, Aor e8ample( basic i( then( and else unctionsB-
@nables the application developer to speciy moderate amount o lo,ic to be
e8ecuted by an interpreter inside the server AP1 module- 1 the unctionality o the
interpreter is not suicient( a cross-process call is made as a sin,le call containin, only
the portions o the messa,e that are appropriate to the messa,e ilterin, used-
Uses an application Uniorm "esource 1dentiier AU"1B to uniKuely identiy the
application to the server- !he application U"1 is e8pected to be an D!!P U"*( but no
validation is perormed-
Microsoft,Rtc,Si! class li0rar#, %ontains the ollo.in, classes:
&1P messa,e and transaction processin, classes-
Server"ent class- !his class implements most o the lo,ic needed to mana,e
sessions .ith the server- 1t is the entry point or the mana,ed server AP1- @ach
application initiates an instance o &erverA,ent-dll and supplies an application maniest
instance to it- !he &erverA,ent-dll assembly mana,es the session .ith the server(
includin, compilin, the application maniest and re,isterin, .ith the server- 1 the
re,istration succeeds( the Server"ent class sets up the environment necessary to
receive and process &1P messa,es rom the server- !he &erverA,ent-dll assembly
invo/es application-speciic event handlers or speciic events Aor e8ample( messa,e
events and transaction eventsB- For each instance o the application( a sin,le
&erverA,ent-dll obLect mana,es the applications session .ith the server- !o e8it( the
application releases the &erverA,ent-dll obLect( .hich causes the session .ith the server
to end-
:ou can use the Oice %ommunications &erver 200' "2 &ot.are 2evelopment Jit
A&2JB to develop applications by usin, the #icrosot-"tc-&ip class library- :ou can
do.nload the &2J at http:++,o-microsot-com+.lin/+0*in/1d31CCCG0- For details about
usin, the &2J( see 6%ommunications &erver 200' "2 &erver &2J 2ocumentation7 at
http:++,o-microsot-com+.lin/+0*in/1d31CCCG2-
11
RTC1ost
"!%Dost-e8e runs on each Front @nd server and can be accessed throu,h the #ana,ed &erver
application pro,rammin, interace AAP1B library- !he ollo.in, applications run inside the
"!%Dost-e8e process:
!he Client 4ersion *ilter enables the server to deny client connections based on a
clientNs version number- !he %lient =ersion Filter compares a clientNs version number .ith the
version settin,s speciied by the administrator by readin, the clients &ession 1nitiation
Protocol A&1PB User-A,ent header- :ou can coni,ure the %lient =ersion Filter by usin, the
Oice %ommunications &erver #ana,ement #icrosot #ana,ement %onsole A##%B-snap-in-
!he RTC ""re"ate a!!lication mana,es the multiple points o presence A#POPB
eature or Oice %ommunications &erver 200' "2 by a,,re,atin, the presence inormation
published by multiple client endpoints into one presence status that best represents the
userOs current availability- For details about the "!% A,,re,ate application( see Presence
%omponents-
!he Intelli"ent IM *ilter helps prevent unsolicited mar/etin, that tar,ets instant
messa,in, A1#B pro,rams- !he 1ntelli,ent 1# Filter uses settin,s coni,ured by the
administrator to ilter incomin, instant messa,es received by the server rom outside the
or,aniHationNs ire.all- :ou can coni,ure the 1ntelli,ent 1# Filter by usin, the Oice
%ommunications &erver #ana,ement snap-in-
!he Conferencin" Server *actor# is reKuired or conerencin,- For details( see
%onerencin, %omponents-
!he 3ser (in Service authoriHes dial-in conerencin, participants that enter in a
conerence personal identiication number AP1)B .hen Loinin, a conerence by usin, the
public s.itched telephone net.or/ AP&!)B-
!he 4oI( a!!lications that run inside "!%Dost-e8e are the 1nbound "outin, application(
!ranslation &ervice( and Outbound "outin, application- !o,ether( these applications enable
the server to route =o1P calls- For details( see =oice %omponents-
!he $'chan"e 3M Routin" component handles redirection o missed calls to @8chan,e
Uniied #essa,in,- For details( see =oice %omponents-
-ac./$nd Data0ase
1n Oice %ommunications &erver 200' "2( the bac/-end database stores coni,uration
inormation( contact lists and presence inormation or users( and any state inormation reKuired
to resume a conerence- Presence data and conerencin, data are stored in dierent tables o the
same physical database-
1n a &tandard @dition coni,uration( all server components are installed on the same computer(
includin, the bac/-end database- !he bac/-end database on a &tandard @dition server uses
#icrosot &<* &erver 200F @8press @dition .ith &ervice Pac/ 2 A&P2B or later-
1n an @nterprise @dition coni,uration( the bac/-end database must be coni,ured as a separate
dedicated computer- 1n an @nterprise pool( all servers in the pool share a central #icrosot &<*
&erver database- !his database runs on #icrosot &<* &erver 200G A42-bit or 5C-bitB or &<*
12
&erver 200F .ith &ervice Pac/ 2 A&P2B or later A42-bit or 5C-bitB( and you can cluster it in an
active-passive coni,uration or hi,her availability-
(resence Com!onents
!his section describes the presence components and the relationship bet.een these
components- 1t also sho.s the process boundaries or the various components-
!he primary presence components o Oice %ommunications &erver 200' "2 are the User
&ervices module that runs inside the "!%&rv-e8e process and the "!% A,,re,ate application
that runs inside the "!%Dost-e8e process- !he User &ervices module processes re,istration
reKuests received by a Front @nd &erver and sends presence( re,istration( and conerencin, data
to the Eac/-@nd 2atabase &erver to /eep the presence store in the &<* database synchroniHed
.ith user and contact obLects in Active 2irectory- !he "!% A,,re,ate application a,,re,ates
presence inormation rom multiple client endpoints into one presence document-
!he ollo.in, i,ure sho.s the presence components-
*i"ure +, (resence com!onents
2e0 Com!onents Services for Office Communications Server 2007 R2
!he 9eb %omponents &ervices run on #icrosot 1nternet 1normation &erver A11&B( and enable
Oice %ommunications &erver clients to perorm the ollo.in, unctions:
2o.nload Address Eoo/ &erver iles to provide Oice %ommunicator .ith ,lobal address
list A?A*B inormation-
@8pand membership in distribution ,roups and other data that is used by the 9eb
%onerencin, &erver-
13
Access meetin, presentations and other content rom 9eb conerences-
Dost sot.are pac/a,es or device updates-
Dost administration or "esponse ?roup &ervice-
rchivin" and Monitorin" for Office Communications Server 2007 R2
Oice %ommunications &erver 200' "2 includes Archivin, and #onitorin, unctionality as
ollo.s:
rchivin", 2esi,ned or enterprise compliance needs( enables the capture and stora,e
o instant messa,in, A1#B content-
Monitorin", 2esi,ned or enterprise operational needs and enables the ollo.in,:
!he capture o call detail recordin,s A%2"sB that include 1#( conerencin,( and voice
and video calls- %2"s include usa,e inormation related to voice calls( audio+video AA+=B
conversations( application sharin,( remote assistance( and 9eb conerences-
!he capture and vie.in, o detailed <uality o @8perience A<o@B metrics to monitor
voice and video Kuality- <o@ data includes statistics about voice and video Kuality( both
or individual calls and a,,re,ate reports-
!he ollo.in, i,ure sho.s the archivin, and monitorin, architecture in Oice %ommunications
&erver 200' "2-
*i"ure +, rchivin" and monitorin" architecture in Office Communications Server 2007
R2
!he Front-@nd server hosts an archivin, and %2" a,ent( .hich is part o the "!%&rv process( to
capture archivin, and %2" data .hich is transerred over #essa,e <ueuin, Aalso /no.n as
#&#<B to the Archivin, &erver and #onitorin, &erver respectively- !he Archivin, &erver and
#onitorin, &erver are separate Oice %ommunications &erver roles-
&imilarly( the Front @nd contains a <o@ a,ent( .hich is part o the "!%<#& process( to capture
<o@ data- !he <o@ data is transerred over #essa,e <ueuin, to the #onitorin, &erver-
1n Oice %ommunications &erver 200' "2( the %2" unction moves to the #onitorin, &erver
rom the Archivin, &erver .ith .hich it .as a co-located in Oice %ommunications &erver 200'-
%2" data accumulation and reportin, reKuirements have characteristics more in common .ith
<o@ data than Archivin, data( .hich drove the evolution in architecture-
14
3nified Communications !!lication Services %3CS& Infrastructure
Uniied %ommunications Application &erver AU%A&B is a platorm introduced in Oice
%ommunications &erver 200' "2 that ma/es it easier to build server-side applications that run on
&tandard @dition servers or @nterprise pool servers- @ach Front-@nd &erver in a pool runs an
instance o an Application &erver host- Applications developed by usin, the Uniied
%ommunication #ana,ed AP1s AU%#AB 2-0 can use the U%A& platorm as a common rame.or/
that levera,es Oice %ommunications &erver capabilities such as deployment( trust(
administration( load balancin, and routin,( monitorin,( and so on- U%A& is desi,ned to host
server applications that act as &ession 1nitiation Protocol A&1PB endpoints-
&imilar to Oice %ommunications &erver conerencin, servers( U%A& is another server role-
9hen you deploy U%A& on an @nterprise @dition server consolidated pool topolo,y( each U%A&
application runs on all servers in the pool and to,ether they share the overall .or/load o the
application- U%A& consists o a sin,le 9indo.s service( called Application Dost
AO%&App&erver#aster-e8eB( and one or more instances o another 9indo.s service called
O%&App&erverDost-e8e- @ach instance o O%&App&erverDost-e8e on a server hosts a U%A&
application uniKue to that server-
&everal ne. eatures in Oice %ommunications &erver 200' "2 are implemented as U%A&
applications( includin, dial-in conerencin,( "esponse ?roup &ervice( and Outside =oice %ontrol-
For details( see =oice %omponents-
For details about Application &erver architecture( see Application &erver 2rilldo.n-
Conferencin" Com!onents
%onerencin, unctionality in Oice %ommunications &erver 200' "2( .hich includes instant
messa,in, A1#B conerencin,( 9eb conerencin,( audio+video conerencin,( des/top sharin,( and
control o third-party audio conerencin, services( is supported by the ollo.in,:
Conferencin" infrastructure com!onents, 1ncludes conerence control entities such as
the Focus( Focus Factory( and so on-
Conferencin" servers, Dandle media( includin, mi8in, unctions or media-
!o,ether( these t.o components support conerences over across a broad ran,e o modalities-
In This Section
!his section contains the ollo.in, topics:
%onerencin, 1nrastructure %omponents
%onerencin, &ervers or Oice %ommunications &erver 200' "2
Conferencin" Infrastructure Com!onents
!he main conerencin, inrastructure components o Oice %ommunications &erver 200' "2 are
the Focus instances( Focus Factory( %onerencin, &erver Factory and conerencin, servers or
each media type- &<* &erver databases are used or storin, the persistent state-
!he ollo.in, i,ure sho.s the conerencin, component interrelationships-
15
*i"ure +, Conferencin" com!onent interrelationshi!s
!he Focus Factory and Focus components run in the main conerencin, process( .hich is also
the &ession 1nitiation Protocol A&1PB Pro8y process A"!%&rvB- !he %onerencin, &erver Factory is
a airly li,ht.ei,ht component Ahosted by the "!%Dost processB that is accessed by the Focus
once or each media type .hen that media needs to be activated or the conerence- !he
%onerencin, &erver Factory is an application runnin, on each Front @nd &erver and uses an
D!!P interace- %ommunication bet.een the Focus and conerencin, servers( and bet.een the
%onerencin, &erver Factory and conerencin, servers is D!!P-based-
*ocus
!he Focus is the central policy and state mana,er or a conerence and acts as the coordinator
or all aspects o the conerence- !he Focus is responsible or enorcin, the conerence control
policy( mana,in, the overall security or a conerence( mana,in, conerence participant roles and
privile,es( sendin, conerence state notiications to clients and providin, a conduit or control
commands to lo. bet.een clients and conerencin, servers-
16
9hen a ne. media type must be activated or a conerence( the Focus also instantiates the
conerence on the appropriate conerencin, server( communicates .ith the conerencin, server
about addin, a ne. user( obtains the authoriHation credentials so the client can connect to that
conerence( and then sends the media inormation to the client- !he same seKuence is repeated
or all clients .ho .ant to add this media- 9hen a ne. media type is added to the conerence(
the seKuence is repeated .ith the ne. conerencin, server or that media type- Ey centraliHin,
the security enorcement and roster mana,ement( the Focus relieves each o the conerencin,
servers o this duty-
*ocus *actor#
!he Focus Factory is a &1P entity that creates( deletes( and modiies meetin,s in the
conerencin, database- !he Focus Factory manipulates meetin,s in the conerencin, database
accordin, to %entraliHed %onerencin, %ontrol Protocol A%4PB commands that are issued by
clients-
Conferencin" Server *actor#
!he %onerencin, &erver Factory is responsible or provisionin, a conerence or a particular
media type on a conerencin, server- !he %onerencin, &erver Factory can also ta/e into
account the current load on the conerencin, servers beore assi,nin, a conerencin, server to a
conerence- !here is one %onerencin, &erver Factory instance on each Front @nd &erver( .hich
handles all media types-
Conferencin" Data0ase
A Focus holds important inormation or the entire conerence( includin, all conerence
participants- 1 a Focus instance ails( it must be possible to restart the conerence- !o support
this( any state inormation that is needed to resume the conerence persists in a conerencin,
database( .hich runs on the &<* &erver bac/-end database- 1n Oice %ommunications &erver
200' "2( presence and re,istrar inormation( and conerencin, inormation are stored in dierent
tables o the same physical database-
!he important metadata associated .ith a conerence in the conerencin, database includes the
ollo.in,:
%onerence 12-
P&!) #eetin, 12-
@8piration date and time o the conerence-
*ist o meetin, participant roles and the privile,es associated .ith those roles-
%onerence /ey or participants .ithout an identity in Active 2irectory-
&upported media types-
AuthoriHation types Aor e8ample( closed( open( and anonymousB-
!he conerencin, database contains the metadata or a conerence but does not contain calendar
inormation- %onerence calendar inormation Aor e8ample( meetin, start and end timesB( the
recurrence schedule( and e8ceptions to recurrence are all important or a prescheduled
conerence( but that inormation is maintained outside o the conerencin, database- 1nstead(
17
conerence calendar inormation is maintained by schedulin, clients( as appropriate( typically as
an @8chan,e &erver calendar item-
!he Focus stores all conerence state inormation on the Eac/-@nd 2atabase &erver to ensure
that state inormation is accessible to all Front @nd &ervers- 9ith this model( i a client loses
connectivity to the conerencin, server( the client can reconnect( and its reKuest can be handled
by any Front @nd &erver- !his provides a natural ailover model or ront-end ailures( as .ell as
temporary loss o net.or/ connectivity rom client to server- &imilarly( inormation about
conerencin, server load persists on the Eac/-@nd 2atabase &erver( so that it is available to a
%onerencin, &erver Factory instance runnin, on any Front @nd &erver- !his data is .ritten by a
%onerencin, &erver Factory to the database( but any conerencin, server or a particular media
type under the control o the %onerencin, &erver Factory can read the database-
Conferencin" Servers for Office Communications Server 2007 R2
A conerencin, server is responsible or mi8in, and mana,in, one or more media types- !he
ollo.in, types o conerencin, servers are included in Oice %ommunications &erver 200' "2:
9eb %onerencin, &erver or data collaboration-
A+= %onerencin, &erver or audio and video-
1nstant messa,in, A1#B %onerencin, &erver or multiparty 1#-
!elephony %onerencin, &erver or interacin, .ith audio conerencin, providers-
Application &harin, &erver or multiparty or %ommunicator 9eb Access-based
application sharin,-
!he architecture allo.s the addition o other conerencin, servers as needed in the uture- !he 1#
%onerencin, &erver( Application &harin, &erver( and !elephony %onerencin, &erver can only
be installed as part o a Front @nd &erver( but you can install A+= %onerencin, &ervers and 9eb
%onerencin, &ervers independently o other components-
9eb %onerencin, &ervers( A+= %onerencin, &ervers( and 1# %onerencin, &ervers each have
t.o lo,ical components: a media controller and a media processor-
MC %Media Controller&
!he media controller on a conerencin, server is responsible or mana,in, the control commands
bet.een a Focus and a conerencin, server-
M( %Media (rocessor&
!he media processor is responsible or media mana,ement Aor e8ample( mi8in,( relayin,( and
transcodin,B- 1n a 9eb %onerencin, &erver( the media processor is a sot.are component that is
responsible or mana,in, data collaboration or Oice %ommunications &erver- 1n an A+=
%onerencin, &erver( the media processor mi8es audio streams( s.itches video streams( and
converts the media or clients .ho are on slo. lin/s- O all the conerencin, components( the
media processor can be the most %PU and net.or/ intensive component- 1n our architecture( a
media controller and media processor are collocated on the same computer to simpliy
deployment-
18
84 Conferencin" Server
!he A+= %onerencin, &erver enables multiparty audio and video mi8in, and relayin, capabilities-
1t is built on industry standard real-time transport protocol A"!PB and real-time transport control
protocol A"!%PB-
!he A+= %onerencin, &erver also incorporates elements o the 1nternet @n,ineerin, !as/ Force
A1@!FB drats or 1nteractive %onnectivity @stablishment A1%@B as a means to enable the e8chan,e
o media bet.een t.o or more clients that are usin, )et.or/ Address !ranslators A)A!sB- 1%@ is
an e8tension to &ession 2escription Protocol A&2PB that enables media streams to traverse )A!s
by includin, in the &2P multiple 1P address and port combinations or a particular transport
protocol( /no.n as candidate transport addresses( that the client can use to communicate .ith
other clients- 1n an Oice %ommunications &erver environment( a client uses &ession !raversal
Utilities or )A! A&!U)B and !raversal Usin, "elay )A! A!U")B protocols to obtain its candidate
transport addresses rom the Oice %ommunications &erver A+= %onerencin, @d,e &erver-
2urin, ne,otiation( clients on either end e8chan,e &2Ps and then test candidate addresses or
peer-to-peer connectivity- Ater the connectivity chec/s( clients rene,otiate by includin, only the
candidate transport address that succeeded in the &2P or a &1P re-1)=1!@ reKuest and
response-
For details about 1@!F drats or 1%@( see 61nteractive %onnectivity @stablishment A1%@B: A
Protocol or )et.or/ Address !ranslator A)A!B !raversal or Oer+Ans.er Protocols7 at
http:++,o-microsot-com+.lin/+0*in/1d31CCC0G-
2e0 Conferencin" Server
!he 9eb %onerencin, &erver adds data collaboration unctionality to Oice %ommunications
&erver- !he 9eb %onerencin, &erver is built on the same Persistent &hared ObLect #odel
AP&O#B technolo,y that is used by the *ive #eetin, service- Eoth si,nalin, and media are sent
to and rom a 9eb %onerencin, &erver usin, the P&O# protocol- !he 9eb %onerencin, &erver
supports *ive #eetin, eatures( such as #icrosot Oice Po.erPoint presentations( document
presentations( chat( votin,( .hite boardin,( and application sharin,-
!he 9eb %onerencin, &erver uses shared olders on a ile system to store conerence state and
conerence contents- Universal )amin, %onvention AU)%B paths are coni,ured on the 9eb
%onerencin, &erver to reer to the shared olders( .hich are created by an administrator durin,
Oice %ommunications &erver deployment- !hese olders or conerence metadata and
conerence content can be located on the same computer as the 9eb %onerencin, &erver or(
preerably( on a dedicated computer-
For inormation about the .ay that a 9eb %onerencin, &erver .or/s( see 9eb %onerencin,
&erver or Oice %ommunications &erver 200' "2-
IM Conferencin" Server
!he 1# %onerencin, &erver is installed automatically on the Front @nd &erver- !he 1#
%onerencin, &erver enables multiparty instant messa,in, A1#B- !he 1# %onerencin, &erver
uses &1P or si,nalin, and media-
19
Tele!hon# Conferencin" Server
!he !elephony %onerencin, &erver is installed automatically on the Front @nd &erver- !he
!elephony %onerencin, &erver enables Oice %ommunications &erver to communicate .ith
audio conerencin, providers-
!!lication Sharin" Server
!he Application &harin, &erver is a ne. conerencin, server role introduced in Oice
%ommunications &erver 200' "2( and is used speciically or multiparty des/top sharin, rom the
Oice %ommunicator client and des/top sharin, rom the %ommunicator 9eb Access client- !he
Application &harin, &erver uses the "emote 2es/top Protocol A"2PB( .ith "!P as the transport
or remote access scenarios-
Althou,h the 9eb %onerencin, &erver also supports Application &harin, Athat is( by usin, the
P&O# protocol and the *ive #eetin, clientB( the Application &harin, &erver provides des/top
sharin, unctionality that users can access directly in Oice %ommunicator and %ommunicator
9eb Access( instead o reKuirin, users to start the *ive #eetin, client separately-
4oice Com!onents
Oice %ommunications &erver 200' "2 provides a rich set o @nterprise =oice eatures suitable
or ,lobal voice Athat is( telephonyB deployments- !his section describes the voice components
and the relationship bet.een these components- 1t also describes the process boundaries or the
various components-
Other topics in the !echnical "eerence describe common inrastructure and conerencin,
inrastructure that enable certain /ey unctions or @nterprise =oice- For e8ample( &ession
1nitiation Protocol A&1PB re,istration( perormed by "!%&rv-e8e and the User &ervices module(
enables the undamental call s.itchin, aspect o @nterprise =oice- !he /ey additional
components speciic to enablin, @nterprise =oice are either hosted on "!%Dost-e8e Athat is(
1nbound "outin,( !ranslation &ervice( Outbound "outin,( @8chan,e U#B or hosted as Uniied
%ommunications Application &ervices AU%A&B applications Athat is( %onerencin, Attendant(
%onerencin, Announcement &ervice( "esponse ?roup &ervice( and Outside =oice %ontrolB-
In This Section
!his section contains the ollo.in, topics:
"!%Dost =oice %omponents
Uniied %ommunications Application &ervices AU%A&B =oice Applications
RTC1ost 4oice Com!onents
!he core voice components o Oice %ommunications &erver 200' "2 are the 1nbound "outin,
application( the !ranslation &ervice( and the Outbound "outin, application that run inside the
"!%Dost-e8e process on each Front @nd &erver- !he 1nbound "outin, application determines
ho. incomin, calls to the server should be routed( based on settin,s coni,ured on the client-
!he !ranslation &ervice uses administrator-speciied phone number normaliHation rules to
translate a dialed number into an @-15C ormat that can be consumed by other components in the
system( such as the private branch e8chan,e APEPB or public s.itched telephone net.or/
20
AP&!)B ,ate.ay- !he Outbound "outin, application uses call authoriHation rules to route each
call to the appropriate media ,ate.ay-
!he ollo.in, i,ure sho.s the architecture o the core components: !ranslation &ervice( 1nbound
"outin,( and Outbound "outin,-
*i"ure +, Core com!onent architecture
In0ound Routin"
!he 1nbound "outin, application determines ho. incomin, calls to the server should be routed- 1
an @nterprise =oice client speciies settin,s or handlin, missed calls( the 1nbound "outin,
application acts accordin,ly- For e8ample( i a client is coni,ured or call or.ardin,( the 1nbound
"outin, application can or.ard incomin, calls either to a speciied number or to an @8chan,e
&erver 200' Uniied #essa,in, server that can ans.er the call-
Translation Service
!he !ranslation &ervice applies administrator-speciied phone number normaliHation rules to
translate a dialed number into an @-15C ormat that can be more easily consumed by a PEP or
P&!) ,ate.ay- @nterprise =oice in Oice %ommunications &erver 200' "2 employs the
!ranslation &ervice to normaliHe phone numbers into a sin,le ormat- )ormaliHed phone numbers
assist the server .ith reverse number loo/up( outbound call routin,( and call authoriHation rules-
21
"everse number loo/up is a process .hereby a userOs phone number is mapped to the
appropriate &1P Uniorm "esource 1dentiier AU"1B- Ey perormin, reverse number loo/up( the
server can route calls to all endpoints associated .ith a particular userNs &1P U"1- "everse
number loo/up also enables advanced call handlin, eatures( such as call or.ardin,-
Ater a dialed number is normaliHed by the !ranslation &ervice( the Outbound "outin, application
can apply call authoriHation rules to route the call-
Out0ound Routin"
!he Outbound "outin, application uses call authoriHation rules coni,ured by the administrator to
route each call to the appropriate media ,ate.ay- %all authoriHation rules in Oice
%ommunications &erver 200' "2 are similar to traditional telephony Qclass o serviceQ options- 1
the Outbound "outin, application determines that a caller is not authoriHed to dial a particular
number Aor e8ample( numbers outside the or,aniHation or international numbersB( the Outbound
"outin, application can inorm the caller that the call cannot be completed-
3nified Communications !!lication Services %3CS& 4oice !!lications
Uniied %ommunications Application &ervices AU%A&B @nterprise =oice applications .ere added
in the Oice %ommunications &erver 200' "2 release to provide /ey @nterprise =oice eatures(
such as dial-in conerencin, A%onerencin, Attendant and %onerencin, Announcement &erviceB(
basic Automatic %all 2istribution Athat is( "esponse ?roup &erviceB( and Oice %ommunications
&erver server-side unctions to e8tend @nterprise =oice to cellular telephones Athat is( Outside
=oice %ontrolB-
2ial-in conerencin, allo.s callers to use standard public s.itched telephone net.or/ AP&!)B
telephones to dial in to audio conerences hosted on Oice %ommunications &erver- A1n Oice
%ommunications &erver 200'( only Oice %ommunications &erver enterprise-enabled users .ho
connect over 1nternet Protocol A1PB audio could Loin audio conerences hosted on Oice
%ommunications &erver-B 2ial-in conerencin, is enabled by the %onerencin, Attendant and
%onerencin, Announcement &ervice U%A& applications- For details( see 2ial-1n %onerencin,
&cenario-
Conferencin" ttendant
!he %onerencin, Attendant is an auto-attendant service Athat is( a botB that authenticates and
Loins dial-in participants to audio conerences- Oice %ommunications &erver 200' "2
%onerencin, Attendant supports 1C dierent lan,ua,es- !he %onerencin, Attendant prompts
the caller or conerence 12s and passcode Athat is( i the caller is callin, in as an anonymous
participantB or e8tension number and personal identiication number AP1)B Athat is( i the caller is
Loinin, as a @nterprise UserB( plays on-hold music .hen enterprise users have not yet Loined the
meetin,( reKuests authentication rom a ront-end service( and Loins authenticated callers to the
Focus and A+= %onerencin, &erver or the reKuested conerence 12-
!he %onerencin, Attendant &ervice on each Front @nd &erver listens on !ransmission %ontrol
Protocol A!%PB port F0'2 or incomin, calls- !hese reKuests normally come rom a #ediation
&erver and are pro8ied by the #ediation &erverNs ne8t hop pool-
22
Conferencin" nnouncement Service
!he %onerence Announcement &ervice is another trusted bot that participates in all dial-in
enabled audio conerences- 1t monitors the conerence roster and plays entry and e8it tones to all
dial-in attendees .hen other dial-in attendees Loin or leave( and also tells attendees .hen their
microphone has been muted or unmuted in the lan,ua,e that they chose .hen they connected to
the %onerencin, Attendant- )o coni,uration is reKuired or this service-
!he %onerence Announcement &ervice on each Front @nd &erver listens on !%P port F0'4 or
reKuests rom a Focus that is runnin, on one o the Front @nd &ervers in the pool-
Res!onse Grou! Service
!he Oice %ommunications &erver 200' "2 "esponse ?roup &ervice enables administrators to
create and coni,ure one or more response ,roups or the purpose o routin, and Kueuin,
incomin, phone calls to one or more desi,nated a,ents- !hese response ,roups can be
deployed in departmental or .or/,roup environments and in entirely ne. telephony installations-
!ypical usa,e scenarios include an internal helpdes/( a customer service des/( or a ,eneral
e8ternal call handler- "esponse ?roup &ervice can increase response ,roup usa,e and reduce
the associated overhead by pushin, the tas/s o response ,roup maintenance do.n to the users
.ho directly beneit rom them-
!he "esponse ?roup &ervice unctionality is enabled by the "esponse ?roup &ervice
application( .hich is a U%A& application that implements standard response ,roup call-routin,
al,orithms Athat is( includin, serial( lon,est-idle( parallel( and round robinB( interactive voice
response A1="B( call Kueuin,( on-hold music( presence-based routin,( and so on-
Outside 4oice Control
!he Oice %ommunications &erver 200' "2 Outside =oice %ontrol eature enables users to use
their enterprise telephone number or inbound and outbound calls on their personal mobile
phone-
!o use this eature( the user must have Oice %ommunicator #obile A200' "2 releaseB installed
on a 9indo.s #obile phone and must be able to use data pac/et communication bet.een the
mobile phone and the mobile phone provider Aor e8ample( ?eneral Pac/et "adio &ource
A?P"&BB that allo.s &1P messa,es to be transmitted- !he user must also be enabled or
@nterprise =oice-
For inbound calls( Oice %ommunications &erver 200' "2 sends a &1P 1nvite to all re,istered &1P
endpoints o the user includin, the userNs %ommunicator #obile A200' "2 releaseB client runnin,
on the phone( over the data channel- Oice %ommunications &erver 200' "2 subseKuently
initiates an outbound P&!)+mobile net.or/ call throu,h Oice %ommunications &erver 200' "2
#ediation &erver to the userNs mobile phone number-
For an outbound call rom a mobile phone( the user has the option to enter the phone number to
be dialed into %ommunicator #obile A200' "2 releaseB or to initiate a call to a &1P contact usin,
%ommunicator #obile A200' "2 releaseB- !he user receives an incomin, mobile phone call rom
Oice %ommunications &erver usin, the mobile phone providerNs cellular net.or/- Ater the user
accepts the call rom Oice %ommunications &erver( Oice %ommunications &erver sets up a
second call le, to the desi,nated called party and then Loin the t.o connections- !he called party
23
receives a call rom the userNs company usin, the userNs oice phone number despite the act
that the user is actually on a mobile phone-
!he Outside =oice %ontrol application on each Front @nd &erver listens on !%P port F0'C-
Communication (rotocols for Office
Communication Server 2007 R2
In This Section
!his section includes the ollo.in, topics:
Protocols Overvie.
%onerencin, Protocols
(rotocols Overvie)
9hile &ession 1nitiation Protocol A&1PB is still the primary control protocol used by Oice
%ommunications &erver 200' "2( 9eb %onerencin, &erver( A+= %onerencin, &erver( and their
subcomponents( they also employ other protocols to set up and modiy conerences and to set up
and brea/ do.n media streams bet.een dierent elements in the Oice %ommunications
&erver200' "2 net.or/- !he ollo.in, protocols are employed by Oice %ommunications &erver
200' "2:
Session Initiation (rotocol %SI(&, !he industry standard protocol described in 1@!F
"F% 4251 that deines a standard or session setup( termination( and media ne,otiation
bet.een t.o parties- 1t is .idely used or =oice over 1P A=o1PB call si,nalin,-
s#nchronous 9avaScri!t nd :M7 %9:&, Used in %ommunicator 9eb Access to
ensure eicient client-server interaction( .hile /eepin, the 9eb user interace AU1B
responsive-
Centrali;ed Conferencin" Control (rotocol %C<(&, Used to encode %onerencin,
%ontrol commands in Oice %ommunications &erver-
1TT(S, !he set o rules or e8chan,in, iles Athat is( te8t( ,raphic ima,es( sound( video(
and other multimedia ilesB on the 9orld 9ide 9eb- "elative to the !ransmission %ontrol
Protocol A!%PB+1nternet Protocol A1PB suite o protocols( the basis or inormation e8chan,e on
the 1nternet( D!!P is an application-layer protocol- D!!P& is the D!!P protocol over &ecure
&oc/ets *ayer A&&*B+!ransport *ayer &ecurity A!*&B-
Interactive Connectivit# $sta0lishment %IC$&, Used to provide media connectivity
across ire.alls and )et.or/ Address !ranslation A)A!B devices( thereby enablin,
audio+video any.here-
(ersistent Shared O0=ect Model %(SOM&, A proprietary protocol or the transport o
real-time data( includin, audio and video- P&O# uses !%P or !*& as the underlyin,
transport-
Remote Des.to! (rotocol %RD(&, !he #icrosot protocol that is used in Oice
%ommunications &erver 200' "2 or des/top sharin,- !his is the protocol that is used or
#icrosot "emote 2es/top &ervices-
24
Real/time trans!ort !rotocol8real/time control !rotocol %RT(8RTC(&, !he industry
standard protocol or the transport o real-time data( includin, audio and video-
Session Descri!tion (rotocol %SD(&, Used to ne,otiate capabilities bet.een &1P
endpoints durin, call initiation-
Secure real/time trans!ort !rotocol8secure real/time control !rotocol
%SRT(8SRTC(&, @ncrypted versions o "!P+"!%P-
Scale secure real/time trans!ort !rotocol %SSRT(&, &cale secure "!P+"!%P( used or
eicient media sessions or multi-point audio+video conerences-
Sim!le Traversal of 3D( throu"h NT %ST3N&, Used by endpoints to determine the
public 1P addresses allocated to them by the )A! Ai applicableB-
Trans!ort 7a#er Securit# %T7S&, Used to encrypt &1P or D!!P traicin addition to server
authentication-
Third (art# Control (rotocol %T(C(&, Used or Outside =oice %ontrol-
Traversal 3sin" Rela# NT %T3RN&, A protocol or allocatin, a public 1P address and
port on a ,lobally reachable server or the purpose o relayin, media rom one endpoint to
another-
For detailed speciications or Oice %ommunications &erver protocols( includin, several o those
listed in this topic( see 6#icrosot Oice Protocol 2ocuments7 at http:++,o-microsot-com+.lin/+0
*in/1d31FGC4G-
Conferencin" (rotocols
!he ollo.in, table sho.s the protocols that are used bet.een conerencin, components-
Ta0le +, Conferencin" (rotocols
Client *ocus *ocus
*actor#
Conferencin"
Server *actor#
Conferencin"
server
%lient P &ession
1nitiation
Protocol A&1PB(
%entraliHed
%onerencin,
%ontrol Protocol
A%4PB
&1P( %4P P &1P( real-time
transport
protocol A"!PB(
Persistent
&hared ObLect
#odel AP&O#B
and so on
Focus &1P( %4P P P D!!P&( %4P D!!P&( %4P
Focus Factory &1P( %4P P P P P
%onerencin,
&erver Factory
P D!!P&( %4P P P D!!P&( %4P
%onerencin, &1P( "!P( D!!P&( %4P P D!!P&( %4P P
25
Client *ocus *ocus
*actor#
Conferencin"
Server *actor#
Conferencin"
server
&erver P&O#
and so on
!he ollo.in, i,ure provides an overvie. o the protocols and the components that use them to
communicate-
*i"ure +, Office Communication Server 2007 R2 conferencin" !rotocols and com!onent
relationshi!s
26
1nteraces in the dia,ram identiy a speciic lin/( based on the transport and purpose( bet.een
t.o lo,ical elements- !he same protocol can be used in dierent .ays over the various
interaces- For e8ample( &1P+4%P is used to communicate %4P commands over &1P 1)FO
messa,es and conerence event pac/a,e notiications over &1P &UE&%"1E@ and )O!1F:
messa,es-
Centrali;ed Conferencin" Control (rotocol %C<(&
%4P is a conerence manipulation protocol used by the Oice %ommunications &erver 200'
conerencin, servers- %4P is used to modiy the conerence state- !he channels over .hich %4P
can be used in an Oice %ommunications &erver 200' deployment are sho.n in Fi,ure 1-
%4P has reKuest+pendin, response+inal response semantics similar to &1P- !he ollo.in, table
lists %4P commands-
Ta0le 2, C<( Commands
Conference 7evel
add%onerence
delete%onerence
modiy%onerence
,et%onerence
,et#%U
modiy%onerence*oc/
modiyUsers#ediaFilters
3ser 7evel
addUser
deleteUser
modiyUser
modiyUser"oles
setUserAccess
Schedulin"
,etAvailable#cu!ypes
,et%onerencin,%apabilities
,et@ncryptionJey
27
Schedulin"
,et%onerences
$nd!oint 7evel
modiy@ndpoint"ole
$nd!oint Media 7evel
add@ndpoint#edia
delete@ndpoint#edia
modiy@ndpoint#edia
1i"h vaila0ilit# %1&87oad -alancin"
pin,
,et%onerence
(SOM
P&O# is the media protocol or data collaboration- P&O# uses !ransport *ayer &ecurity A!*&B
as the underlyin, transport- %onerencin, clients can use P&O# to establish media channels .ith
the 9eb %onerencin, &erver to ne,otiate or transer media-
RT(8RTC(
"!P+"!%P is the standard protocol or the transport o real-time data( includin, audio and video-
SI(8SD(
&ession 1nitiation Protocol A&1PB is the industry standard protocol described in 1@!F "F% 4251
that deines a standard .ay or session setup( termination( and media ne,otiation bet.een t.o
parties- 1t is .idely used or =oice over 1P A=o1PB call si,nalin,-
&ession 2escription Protocol A&2PB is the industry standard protocol described in 1@!F "F% CF55
that deines a standard .ay to convey media details( transport addresses( and other session
description metadata to the participants .hen initiatin, multimedia teleconerences( =oice over 1P
calls( streamin, video( or other sessions-
28
Si"nalin" and Control (rotocol
!his section describes the protocols supported by the various server components and the
unctionality supported by each o those protocols- %lients and servers use si,nalin, and control
protocols or session setup and conerence mana,ement- For each media in a conerence or an
audio+video call( dierent media protocols are used-
&1P( as speciied in "F% 4251( is used or session setup and termination in Oice
%ommunications &erver 200'- &1P messa,es use !ransmission %ontrol Protocol A!%PB or !*& as
the underlyin, transport layer or client-to-server communications and mutual !*& A#!*&B or
server-to-server communications- %onerences and call control are established .ithin the conte8t
o e8istin, &1P sessions usin, %4P protocol- %4P commands are sent usin, &1P 1)FO messa,es-
A separate &UE&%"1E@+)O!1F: dialo, is used to subscribe to conerence pac/a,es( state
chan,e notiications( and the conerence participant list-
Media (rotocols
!he 9eb %onerencin, &erver uses P&O# as the media protocol or data collaboration- P&O#
uses !*& as the underlyin, transport- As the client or the 9eb %onerencin, &erver( *ive
#eetin, unctionality also relies on P&O#-
"!P and "!%P are used to transport audio+video and des/top sharin, data- Ey deault( Oice
%ommunications &erver 200' uses secure real-time transport protocol A&"!PB and secure real-
time transport control protocol A&"!%PB to secure and encrypt both media types- "!P+"!%P can
use either !%P or User 2ata,ram Protocol AU2PB as the underlyin, transport or audio+video( but
.ill use only !%P or des/top sharin,-
Scenarios for Office Communications Server
2007 R2
!his part o the !echnical "eerence provides details about architecture and call lo.s that enable
speciic end-user scenarios-
In This Section
!his section includes the ollo.in, topics:
%onerencin, &cenario or Oice %ommunications &erver 200' "2
2ial-1n %onerencin, &cenario
2es/top &harin, &cenario
%ommunicator 9eb Access &cenario
Outside =oice %ontrol &cenario
?roup %hat Feature &cenario
29
Conferencin" Scenario for Office
Communications Server 2007 R2
!his section describes ho. conerencin, .or/s- 1t contains a detailed discussion about ho.
conerencin, components interact and includes call lo.s or various conerencin, scenarios-
!o,ether .ith the Focus and the Focus Factory( the 9eb %onerencin, &erver( A+= %onerencin,
&erver( and Application &harin, &ervice AA&#%UB provide conerencin, unctionality
In This Section
!his section includes the ollo.in, topics:
%ore AFocus( Focus Factory( and %onerencin, &erver FactoryB
9eb %onerencin, &erver or Oice %ommunications &erver 200' "2
%onerencin, &cenario %all Flo.s in Oice %ommunications &erver 200' "2
Core %*ocus5 *ocus *actor#5 and Conferencin" Server *actor#&
@very Oice %ommunications &erver 200' "2 conerence has a similar liecycle( .hich is
described at a hi,h level in this section-
In This Section
!his section includes the ollo.in, topics:
%onerencin, *iecycle
%onerencin, 2ata Flo.
%onerence %reation and Activation
Joinin, a %onerence
Addin, Participants to the %onerence
)otiication 2ocument
%onerence 2eactivation
%onerence @8piration
Conferencin" 7ifec#cle
A meetin, be,ins .hen the irst participant o any type Loins the conerence- A participant can Loin
a conerence .hen the conerence is not loc/ed and .hen the participant can be authenticated(
based on the participants Active 2irectory identity or supplied meetin, /ey- A meetin, ends .hen
all participants leave( .hen a presenter terminates the conerence( or .hen ten minutes have
lapsed since the last authenticated participant let the conerence- 9hen a conerence ends( the
conerence is deactivated( .hich means that any remainin, participants are eLected and that real-
time media stops streamin, in the meetin,- !hen( the meetin, state and meetin, content are
pur,ed at the time the conerence e8pires( as deined .hen the meetin, .as scheduled- 1 a
meetin, is a recurrin, meetin,( the meetin, can be reactivated ater the previous instance has
been deactivated( i it has not already e8pired- Any content that .as uploaded previously is
available .hen the recurrent meetin, starts a,ain-
30
Conferencin" Data *lo)
!his i,ure sho.s the data lo. bet.een participatin, components .hen an intranet client creates
and Loins a conerence-
!his is a description o the data lo. bet.een conerencin, components .hen an intranet client
creates and Loins a conerence:
Ste! +, !he schedulin, client communicates .ith the Focus Factory usin, 2omain )ame
&ystem A2)&B loo/up or the manually coni,ured server address- !he schedulin, client
sends inormation reKuired or creatin, a meetin,( such as the conerence 12( participant list(
user role inormation( and e8piration date in a &@"=1%@ reKuest-
Ste! 2, !he Focus Factory creates a conerence record in the conerencin, database on
the Eac/-@nd 2atabase &erver- !he Focus Factory also creates and returns a &1P U"1 that
represents the conerence to the client-
Ste! <, !he conerencin, client connects to the Focus and establishes t.o dialo,s .ith it(
an 1)=1!@ dialo, to Loin a conerence and carry additional command traic rom the client to
the Focus and a &UE&%"1E@+)O!1F: dialo, to ,et conerence state chan,e notiications-
Ste! >, !he Focus connects to the Eac/-@nd 2atabase &erver to retrieve the conerence
record and to Kuery the conerencin, database to veriy that the client Loinin, the meetin, is
valid- Policy chec/s are also perormed at this time-
Ste! ?, !he Focus reKuests inormation rom the %onerencin, &erver Factory about ho.
to contact a conerencin, server-
Ste! @, !he %onerencin, &erver Factory inds the conerencin, server o the type
reKuested by the Focus and then tries to provision a conerence on that conerencin, server(
in order to allocate resources or the conerence- 1 provisionin, succeeds( the %onerencin,
&erver Factory returns to the Focus an D!!P U"* that allo.s the Focus to establish a control
lin/ .ith the conerencin, server-
Ste! 7, !he Focus communicates .ith the conerencin, server to issue commands that
be,in or end the conerence( chan,e the participant list( or other.ise chan,e the conerence
state-
Ste! A, !he conerencin, client communicates .ith the conerencin, server- 1 the server
is an A+= %onerencin, &erver( the si,nalin, protocol is &1P and the media is transported over
31
"!P+"!%P- 1 the server is a 9eb %onerencin, &erver( both si,nalin, and media are sent
usin, the P&O# protocol- 1 the server is an Application &harin, &erver( the si,nalin, protocol
is &1P and the media is transported over "2P encapsulated .ithin "!P-
Conference Creation and ctivation
!he schedulin, client communicates .ith the Focus Factory to create a ne. conerence- !o
create a conerence( the Focus Factory on the server creates and coni,ures a conerence
record- !he Focus Factory then sends the U"1 or the Focus instance to the client- !he
conerence U"1 includes the or,aniHer o the conerence and a uniKue conerence identiier- !he
synta8 is as ollo.s:
sip:RorganizerSMRdomain.comST,ruuTopaKue3app:con:ocus:id: RuniKue 12S-
For instance:
sip:!edMcontoso-comT,ruuTopaKue3app:con:ocus:id:41%:@O*D2JO@4UPFJ9<OF5P)'02GP
%29-
!here is ho.ever a uniKue conerence identiier that is especially reserved or reservationless
meetin,s- !he uniKue id is 4G1CAG2G09A4C@209FG%F2E509F'E2F- !his meetin, never e8pires-
9hen a client creates a conerence usin, the &1P &@"=1%@ mechanism( the client irst ma/es a
&@"=1%@ reKuest( .hich reKuests a summary o conerencin, capabilities supported in the
server( and then passes all the inormation that it needs re,ardin, the conerence( media types(
privile,es( and participants as part o a second &@"=1%@ reKuest to the Focus Factory- !he
Focus Factory creates the conerence record and then sends the connection inormation to the
client in the 200 OJ response to the &@"=1%@ reKuest-
!his i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client creates a
conerence usin, the &1P &@"=1%@ mechanism-
32
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client creates a conerence usin, the &1P &@"=1%@ mechanism:
Ste! +, !he client sends a &@"=1%@ reKuest to the Focus Factory .ith inormation reKuestin,
conerencin, capabilities- !hese capabilities include a list o media capabilities( P&!) support
and important policy inormation a client should /no. beore schedulin, a conerence- For
e8ample:
SERVICE sip:Ted@contoso.com;gruu;opaque=app:conf:focusfactory
To: sip:Ted@contoso.com;gruu;opaque=app:conf:focusfactory
From: sip:cient!@contoso.com;tag=f"#$$dc%%!&''&(a)"*%
Ca+I,: *'!&asdsss
CSeq: ! SERVICE
Content+Type: appication-cccp./m
SI0 1eaders...
2345 )ody6
Ste! 2, Ater the ,et%onerencin,%apabilities &@"=1%@ reKuest has been sent and the response
parsed by the client so that it can be a.are o the capabilities available( the client sends a
&@"=1%@ reKuest to the Focus Factory to have the conerence created-
Ste! <, !he Focus Factory parses the create conerence inormation in the &@"=1%@ reKuest
and .rites it to the conerencin, database in the 2atabase-
Ste! 2,2, Ater the Focus Factory .rites to the conerencin, database on the Eac/-@nd 2atabase
&erver( the Focus Factory sends a 200 OJ response to the client .ith the conerence inormation-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
Loins a conerence-
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client Loins a conerence:
33
Ste! +, !he client sends an 1)=1!@ reKuest to the %onerence U"1 to Loin the conerence- !he
purpose o the 1)=1!@ dialo, is t.o-old- !he 1)=1!@ dialo, indicates that the client .ishes to Loin
the conerence- !he 1)=1!@ dialo, is also used by the client to send an 1)FO reKuest in the
conte8t o the dialo,( in order to set up control o the conerence( as ollo.s:
I7VITE sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'
To: sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'
From: sip:8oe@contoso.com;tag=f"#$$dc%%!&''&(a)"*%
Ca+I,: adfsfasdfasdfds
CSeq: ! I7VITE
Content+Type: appication-cccp./m
SI0 1eaders...
2add9ser C*0 request6
!he %4P addUser reKuest in the body o the 1)=1!@ can be used to speciy speciic client
attributes( such as its 2isplay )ame-
Ste! 2, !he client .ill use the &UE&%"1E@+)O!1F: dialo, or .atchin, the conerence state( as
ollo.s:
S9:SCRI:E sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'
To: sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'
From: sip:8oe@contoso.com;tag=f"#$$dc%%!&''&(a)"*%
Ca+I,: adfsfasdfasdfds
CSeq: ! S9:SCRI:E
E;ent: conference
<ccept: appication-conference+info./m
Content+5engt1: =SI0 1eaders...
!he Focus processes and accepts the subscription and notiies subscribers o any conerence
state chan,es- !he conerence state includes the state maintained by the Focus itsel( the
conerence policy( and the media policy+inormation-
Ste! 2,+, !he initial conerence state document can be included in the 200 OJ o the
&UE&%"1E@( i the client e8presses support or this e8tension( as ollo.s:
SI0-&.= &== >?
To: sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'
From: sip:8oe@contoso.com;tag=f"#$$dc%%!&''&(a)"*%
Ca+I,: adfsfasdfasdfds
CSeq: ! S9:SCRI:E
E;ent: conference
<ccept: appication-conference+info./m
Content+Type: appication-conference+info./m
34
SI0 1eaders...
2conference+state ;ersion=@=@ state=@fu@
entity=@sip:confuri@6
2conference+info6
2conf+uris6
2entry6
2uri6sip:Ted@contoso.com;gruu;opaque=app:conf:audio+
;ideo:id:!&*'2-uri6
2dispay+te/t6audio+;ideo2-dispay+te/t6
2purpose6audio+;ideo2-purpose6
2-entry6
2entry6
2uri6sip:Ted@contoso.com;gruu;opaque=app:conf:meeting:id:!&*'2-
uri6
2dispay+te/t6meeting2-dispay+te/t6
2purpose6meeting2-purpose6
2-entry6
2entry6
2uri6sip:Ted@contoso.com;gruu;opaque=app:conf:c1at:id:!&*'2-uri6
2dispay+te/t6c1at2-dispay+te/t6
2purpose6c1at2-purpose6
2-entry6
2entry6
2uri6sip:Ted@contoso.com;gruu;opaque=app:conf:p1one+
conf:id:!&*'2-uri6
2dispay+te/t6p1one+conf2-dispay+te/t6
2purpose6 p1one+conf2-purpose6
2-entry6
2-conf+uris6
2-conference+info6
2....>t1er conf Info...6
2-conference+state6
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen the Focus
bootstraps the 9eb %onerencin, &erver-
35
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen the
Focus bootstraps the conerencin, server:
Ste! +, !he client Loins the conerence( as described previously-
Ste! 2, !he #%U Factory is selected based on the #%U !ype and =endor coni,ured at
schedulin, time- !he Focus then ma/es a "etMcu call to the #%U Factory-
Ste! 2,+, 1 the #%U Factory inds a suitable #%U( then it responds to the Focus .ith a success
"etMcu response-
Ste! <, 9hen the #%U &erver U"* has been obtained by the Focus( it then ma/es an
addConference call to the #%U- !he #%U can choose to accept or reLect the reKuest- Do.ever(
.hen ailin, the call the #%U must place a reason element inside the addConference response
element that contains an indicator o .hy the reKuest .as ailed- !his reason is an enumeration
deined in the %4P schema- 1 the conerence e8ists already( the #%U must respond .ith
conference$'istslread#-
!he Conf/3ris section lists the #%U %onerence U"1 or this conerence- !he #%U
needs to use this inormation to correlate incomin, media-1)=1!@ reKuests to the conerence-
!he Service/3ris section contains t.o U"1s I one is an D!!P& U"* that ,ives the
Focus Pool U"* or use in sendin, %4P notiications- !his U"* is indicated by the ms/
notification purpose parameter- !he second U"* is a &1P U"* that speciies the outbound-
pro8y or use by the #%U .hen it sends a &1P reKuest- !his outbound-pro8y is usually the
Focus itsel but it may be dierent- 9e use the purpose value o ms/si!/out0ound/!ro'# to
indicate this-
%onerence attributes Aor e8ample( or"ani;er( user count( admission !olic#( and
e'!iration time& are communicated in the addConference call-
$ntit#/(olic# inormation applicable to the #%U is also conveyed in the addConference
call Athis is discussed in a previous sectionB-
36
Ste! <,+, 1 the #%U accepts the addConference reKuest( it then responds to the
addConference call .ith a success parameter- 1t can optionally reKuest Focus to send
conerence notiications by settin, the notiication parameter appropriately-
9oinin" a Conference
Ater a client Loins the conerence and the conerence is created( the client must establish a
media session .ith a conerencin, server responsible or that media type- For each conerencin,
server that is involved in a conerence( the Focus assi,ns a virtual &1P U"1 that is routable to the
Focus itsel- !he initial notiication rom the Focus to the client contains the U"1s or all
conerencin, servers in the conerence-
A client can Loin itsel to the conerence in one o the ollo.in, t.o .ays:
!o Loin to an 1# %onerencin, &erver or an A+= %onerencin, &erver A%onerencin,
&ervers that communicate usin, &1PB( a client issues a direct media 1)=1!@ to the
conerencin, server U"1-
!o Loin to a 9eb %onerencin, &erver A.hich does not use &1PB( a client issues an
add3ser %4P dial-in command tar,eted at the conerencin, server U"1- AAll %4P commands
are carried inside a &1P 1)FO-B
A presenter client .ill typically invite another participant into a conerence by irst sendin, an
a!!IN4IT$ directly to the other participant- AAn a!!IN4IT$ is an 1)=1!@ bet.een client
endpoints in .hich the body o the reKuest contains the Focus U"1 or the conerence-B
1 that participant client supports %4P( it .ill Loin itsel to the conerence usin, one o the precedin,
methods-
1 the participant is a client .ith aversion o Oice %ommunications &erver prior to 200'( the
presenter client .ill receive a C1F error that .ill cause the presenters client to issue an add3ser
%4P dial-out command to the conerencin, server U"1( to have the conerencin, server directly
connect to the le,acy client-
In This Section
!his section includes the ollo.in, topics:
2irect #edia 1)=1!@ %onerence Join #ethod or Oice %ommunications &erver 200' "2
%4P addUser dial-in %onerence Join #ethod
Direct Media IN4IT$ Conference 9oin Method for Office Communications Server 2007 R2
%lients can Loin a conerence by sendin, a direct media 1)=1!@- !his method can only be used
.ith conerencin, servers that use &1P to establish sessions( such as the A+= %onerencin,
&erver and the 1# %onerencin, &erver- A media 1)=1!@ is an 1)=1!@ .here the To: line contains
the conerencin, server U"1-
%lients can Loin a conerence by sendin, a direct media 1)=1!@- !his method can only be used
.ith conerencin, servers that use &1P to establish sessions( such as the A+= %onerencin,
&erver and the 1# %onerencin, &erver- A media 1)=1!@ is an 1)=1!@ .here the To: line contains
the conerencin, server U"1-
37
A client can send the media session 1)=1!@ to the conerencin, server U"1 directly( .ithout any
prior add3ser call- !he 1)=1!@ is routed to the Focus- !he Focus chec/s i the connection
inormation is a routable &1P address and or.ards the 1)=1!@ directly to the conerencin, server-
!he Focus also sends the add3ser command to the conerencin, server on the clientOs behal-
!he conerencin, server authoriHes the reKuest and responds .ith the connection inormation-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
Loins a conerence by sendin, a direct media 1)=1!@-
%lient sendin, the media session 1)=1!@ to the conerencin, server directly
V !he E@)O!1F: is sent to all clients subscribed to the conerence state-
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client Loins a conerence by sendin, the media session 1)=1!@ to the conerencin, server U"1
directly:
Ste! +, !he client sends an 1)=1!@ to the ocus+conerence U"1 it received in the notiication
document- !his 1)=1!@ is routed to the ocus- !he client mi,ht have included a session
description or media ne,otiation- &ince the ocus reco,niHes that the 1)=1!@ .as addressed to a
particular conerencin, server( it saely i,nores any session description in the body o the 1)=1!@-
Ste! 2, !he Focus then sends an D!!P reKuest to the conerencin, server assi,ned by the
%onerencin, &erver Factory to this conerence as/in, it to e8pect a ne. participant Aadd3serB-
Any bootstrappin, reKuests that the Focus sends to initialiHe the conerence on the conerencin,
server are not included in the call lo. dia,ram-
Ste! 2,+, !he conerencin, server sends a successul response or the add3ser call- !he
response includes the actual U"* that it .ants the participant to use to communicate .ith the
38
conerencin, server- 1 the server sendin, the response is an A+= %onerencin, &erver( the U"*
indicates that the participant can communicate .ith the conerencin, server usin, &1P-
Ste! +,+, Ater the Focus receives the successul response or the add3ser reKuest( the Focus
or.ards the 1)=1!@ to the A+= %onerencin, &erver-
Ste! +,2, !he conerencin, server sends a successul response to the client-
Ste! +,<, !he client sends an A%J to the conerencin, server to complete the 1)=1!@ dialo,- !he
same 1)=1!@ dialo, is also used or media ne,otiation .ith the conerencin, server-
)ote:
Althou,h the client establishes the 1)=1!@ dialo, directly .ith the conerencin, server( the &1P
reKuests traverse the Focus-
Ste! <, Ater the client successully Loins the conerencin, server( it sends a participant Loined
event to the Focus-
Ste! >, !he Focus sends a participant Loined conerencin, server state chan,e notiication to all
clients subscribed to the conerence state-
Ste! ?, 2irect media ne,otiation occurs bet.een the client and the conerencin, server- 9ith an
A+= %onerencin, &erver( the media are "!P+"!%P streams-
C<( add3ser dial/in Conference 9oin Method
A client can connect to a non-&1P based conerencin, server( such as a 9eb %onerencin,
&erver( by issuin, an add3ser %4P dial-in command- 9hen a client issues an add3ser dial-in
%4P command( the Focus or.ards the command to the 9eb %onerencin, &erver- !he 9eb
%onerencin, &erver authoriHes the command and returns the appropriate connection
inormation- !he client then establishes a direct media session .ith the conerencin, server-
!he Follo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
Loins a conerence by issuin, an add3ser %4P dial-in command-
39
%lient Loinin, media .ith a 9eb %onerencin, &erver usin, addUser dial-in
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client Loins a conerence by sendin, an add3ser %4P command to the 9eb %onerencin, &erver:
Ste! +, !he client sends an 1)FO reKuest .ith an add3ser dial-in command to the Focus- !he
client uses the ocus+conerence U"1 it received in the notiication document-
Ste! 2, !he Focus determines i a conerencin, server has been assi,ned to support this
particular media type or this conerence- 1 a conerencin, server has not been assi,ned( the
Focus sends an D!!P reKuest to the %onerencin, &erver Factory as/in, it to allocate a
conerencin, server or this conerence- 1n the dia,ram( it is assumed that the conerencin,
server has been assi,ned to the conerence- !he Focus then sends an D!!P reKuest to the
desi,nated conerencin, server as/in, it to e8pect a ne. participant Aadd3serB- Any
bootstrappin, reKuests that the Focus sends to initialiHe the conerence on the conerencin,
server are not included in the call lo. dia,ram-
Ste! 2,+, !he conerencin, server sends a successul response or the add3ser reKuest- !he
response contains the actual U"* it .ants the conerence participant to use to tal/ to the
conerencin, server- 1 the client is Loinin, a 9eb %onerencin, &erver( the U"* is a P&O# U"*-
AuthoriHation inormation( i any( is also included in the response-
Ste! <, !he Focus sends the P&O# connection inormation to the client-
Ste! >, !he client directly establishes a P&O# channel .ith the 9eb %onerencin, &erver-
Ste! ?, Ater the client successully Loins the 9eb %onerencin, &erver( it sends a participant
Loined event to the Focus-
40
Ste! @, !he Focus sends a participant Loined conerencin, server state chan,e notiication to all
clients subscribed to the conerence state-
:E7>TIFA sip:cient!@contoso.com SI0-&.=
SI0 1eaders...
2conference+state ;ersion=@!@ state=@partia@
entity=@sip:Ted@contoso.com;gruu;opaque=app:conf:focus:id:!&*'@6
2user entity=@)o)@contoso.com@ state=@fu@6
2dispay+te/t6:o) ?ey2-dispay+te/t6
2endpoint entity=@addf@6
2state6connected2-state6
2B++
4E,I<
++6
2media entity=@&@ state=@fu@6
2dispay+te/t6data coa)2-dispay+te/t6
2proto6dataCoa)2-proto6
2-media6
2-endpoint6
2-user6
2....>t1er conf Info...6
2-conference+state6
ddin" (artici!ants to the Conference
!his section describes the dierent .ays that participants can be added to a conerence-
In This Section
!his section includes the ollo.in, topics:
Addin, Participants Usin, an App1)=1!@
%4P addUser dial-out %onerence Join #ethod
ddin" (artici!ants 3sin" an !!IN4IT$
!his method o addin, participants to a conerence is used by clients that support %4P and can
thereore Loin both the #edia and the media conerencin, server-
Ater a client has Loined a conerence successully( the client can send an app 1)=1!@ to another
participant- !he app 1)=1!@ displays as a messa,e prompt in the userOs client and contains a
conerencin, U"* and meetin, /ey- Ater the participant accepts Aclic/sB the messa,e prompt( it
.ill launch the conerencin, client( .hich then dials the participant in to the conerence-
41
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
adds a participant to a conerence usin, an app1)=1!@-
Ad hoc invitation to another participant
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client adds a participant to the conerence usin, an a!!IN4IT$:
Ste! +, !he client sends an app 1)=1!@ to another participant- !he invitation contains inormation
the participant needs in order to dial in to the conerence( includin, authoriHation inormation( i
any e8ists- Ater the participant accepts the invitation( the conerencin, client is launched( .hich
enables the client to dial in to the conerence-
Ste! 2, Ater the client successully dials in to the conerence( the Focus sends a participant list
update notiication to all clients subscribed to the conerence state-
C<( add3ser dial/out Conference 9oin Method
!he primary .ay that le,acy clients( such as Oice %ommunicator A200F releaseB( are invited to
Loin conerences is throu,h a %4P add3ser dial-out command- 9hen the presenter client issues
an add3ser dial-out %4P command( the Focus or.ards the command to the conerencin,
server- !he conerencin, server authoriHes the command( dials out to the le,acy client speciied
in the add3ser command( and then establishes a direct media session .ith the le,acy client-
!his a!!IN4IT$ mechanism can be used .ith ne. clients that support the app 1)=1!@ and the
ne. %4P protocol- Do.ever( le,acy clients can also be invited to conerences- !o invite a le,acy
client to a conerence( the client sends an add3ser dial-out to another client-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
adds a participant to a conerence usin, a %4P add3ser dial-out command-
42
%lient Loinin, media .ith A+= %onerencin, &erver usin, addUser dial-out
!he ollo.in, is a description o the messa,e lo. bet.een conerencin, components .hen a
client adds a participant to the conerence usin, an add3ser dial-out command:
Ste! +, !he client sends an 1)FO reKuest add3ser dial-out command to the Focus- !he client
uses the ocus+conerence U"1 it received in the notiication document-
Ste! 2, !he Focus determines i a conerencin, server has been assi,ned to support this
particular media type or this conerence- 1 a conerencin, server has not been assi,ned( the
Focus sends an D!!P reKuest to the %onerencin, &erver Factory as/in, it to allocate a
conerencin, server or this conerence- 1n the dia,ram( it is assumed that the conerencin,
server has been assi,ned to the conerence- !he Focus then sends an D!!P reKuest to the
desi,nated conerencin, server as/in, it to dial out to the user- Any bootstrappin, reKuests that
the Focus sends to initialiHe the conerence on the conerencin, server are not included in the call
lo. dia,ram-
Ste! <, !he conerencin, server dials out an 1)=1!@ to the client usin, an outbound &1P pro8y(
.hich is usually runnin, on the same server as the Focus-
Ste! >, !he client directly establishes a "!P media channel .ith the conerencin, server-
Ste! ?, Ater the client successully Loins the conerencin, server( it sends a participant Loined
event to the Focus-
43
Ste! @, !he Focus sends a participant Loined conerencin, server state chan,e notiication to all
clients subscribed to the conerence state-
Notification Document
For each media type used in the conerence( the Focus assi,ns a virtual &1P U"1 that routes to
the Focus- !he initial notiication rom the Focus to the client contains the list o &1P U"1s or all
the conerencin, servers in the conerence- !he client uses the conerence U"1 to identiy the
conerencin, server it into .hich it .ants to dial or to .hich it .ants to issue a control command-
!he conerence state pac/a,e data model has the ollo.in, elements:
Conference descri!tion- %onerence title and description-
Conference 4ie)- %onerence-speciic inormation or each entity involved in the
conerence Aor e8ample( the Focus( A+= %onerencin, &erver( and 1# %onerencin, &erverB-
!his inormation includes capabilities( current state( settin,s( and policy inormation-
3sers- "oster o the conerences( the users( correspondin, endpoints( and the media
sessions to .hich they are connected-
!he ollo.in, is an e8ample o a conerence state notiication document .ith t.o conerencin,
servers:
2conference+info 6
2conference+description6
2msci:conference+;ieC ci:state=@fu@6
2msci:entity+;ieC entity=@a;4cuConf9ri@ ci:state=@fu@6
2BD4C9 specific dataE media+specific states go 1ere ++6
2-msci:entity+;ieC6
2msci:entity+;ieC entity=@data4cuConf9ri@ ci:state=@fu@6
2BD4C9 specific dataE media+specific states go 1ere ++6
2-msci:entity+;ieC6
2msci:entity+;ieC entity=@acp4cuConf9ri@ ci:state=@fu@6
2BD4C9 specific dataE media+specific states go 1ere ++6
2-msci:entity+;ieC6
2-msci:conference+;ieC6
2users6
2user entity=@sip:user!@contoso.com@ state=@fu@ 6
2endpoint entity=@sip:user!@contoso.com@ 6
2status6on+1od2-status6
2-endpoint6
2-user6
2user entity=@sip:user&@contoso.com@ state=@fu@ 6
44
2endpoint entity=@sip:user&@contoso.com@ 6
2status6on+1od2-status6
2-endpoint6
2-user6
2user entity=@sip:user*@conf.fa)riFam.com@ state=@fu@ 6
2roes62entry6presenter2-entry6
2-roes6
2endpoint entity=@sip:user!@conf.fa)riFam.com@ 6
2status6connected2-status6
2-endpoint6
2endpoint entity=@GguidH@ session+type=@audio+;ideo@ 6
2status 6connected2-status6
2-endpoint6
2-user6
2user entity=@sip:user'@conf.fa)riFam.com@ state=@fu@ 6
2roes62entry6participant2-entry6
2-roes6
2endpoint entity=@sip:user&@conf.fa)riFam.com@ 6
2status6connected2-status6
2-endpoint6
2-user6
2-users6
2dispay+te/t6)roCn)ag 2-dispay+te/t6
2conf+uris6
2entry6
2uri6sip:organiIer@contoso.com;ms+app=conf-meeting;ms+conf+id=cd2-uri6
2dispay+te/t6,ata 4C92-dispay+te/t6
2purpose6meeting2-purpose6
2-entry6
2entry6
2uri6sip:organiIer@contoso.com;ms+app=conf-audio+;ideo;ms+conf+
id=cd-uri6
2dispay+te/t6<V 4C92-dispay+te/t6
2purpose6audio+;ideo2-purpose6
2-entry6
45
2-conf+uris6
2-conference+description6
2conference+info6
Conference Deactivation
A presenter can terminate a conerence that is in pro,ress at any point- 9hen a presenter
terminates a conerence( the client sends a &1P 1)FO reKuest .ith a %4P deleteConference
command to the Focus( .hich includes the conerence U"1- !he Focus perorms authoriHation to
veriy that the user is a presenter .ith privile,es to end the conerence- !he Focus then
,enerates an update to the participant list by sendin, a &1P )O!1F: messa,e to all users .ith an
active 1)=1!@ dialo, associated .ith the conerence- !he conerencin, server sends a &1P E:@
to each client that has an active media dialo,- At this point( the conerence has eectively ended-
A conerence is deactivated in the ollo.in, scenarios:
9hen no ne. participant has Loined a conerence Ameanin, the conerence is idleB in 2C
hours-
10 minutes ater all authenticated participants have let the conerence-
Conference $'!iration
9hen a conerence is created( an e8piration date is typically passed to the server or the
conerence- 9hen the e8piration date arrives( the Focus is responsible or deletin, all inormation
about the conerence rom the conerencin, database and the 9eb %onerencin, &erver is
responsible or deletin, the conerence content-
2e0 Conferencin" Server for Office Communications Server
2007 R2
A discussion o the 9eb %onerencin, &erver must necessarily include a discussion o the
interactions bet.een the components: conerencin, client( Focus( Focus Factory( %onerencin,
&erver( and %onerencin, &erver Factory- 2einitions o the conerencin, components are as
ollo.s:
Conferencin" Client- A &1P endpoint capable o Loinin, and participatin, in a
conerence-
Schedulin" Client- A &1P endpoint that is responsible or schedulin, the conerence- For
e8ample( the %onerencin, Add-in or #icrosot Oice Outloo/ messa,in, and collaboration
client is a schedulin, client or scheduled conerences and Oice %ommunicator can be a
schedulin, client or ad-hoc conerences-
*ocus- A Focus is a &1P endpoint that represents a conerence- 1t is responsible or
mana,in, the state o the conerence( enorcin, security( mana,in, roles and privile,es and
providin, conerence state updates to the clients- A Focus instance runs on a Front @nd
&erver-
46
*ocus *actor#- An entity that creates( modiies( or deletes a conerence in the
conerencin, database- %lients use &1P &@"=1%@ messa,es to send %4P commands to and
receive %4P commands rom the Focus Factory-
Conferencin" Server- An entity responsible or a speciic media types- !his can also be
reerred to as an #%U- @8amples include: Audio+=ideo( 9eb %onerencin, Adata
collaborationB( 1# %onerencin, &erver( and !elephony %onerencin, &erver- !he 9eb
%onerencin, &erver enables data collaboration amon, multiple participants- %onerencin,
data collaboration eatures can include application sharin,( .hite boardin,( chat( pollin,(
Kuestion and ans.er( 9eb sharin,( multimedia content( ile transer( and Po.erPoint support-
Conferencin" Server *actor#- An entity responsible or allocatin, a conerencin, server
to a conerence or a speciic media type-
1n the Oice %ommunications &erver architecture( all conerence control commands are sent by
clients to the ocus( .hich then relays these commands to the appropriate conerencin, servers
ater veriyin, that the client that sent the reKuest has the privile,es to perorm that operation-
#edia is then e8chan,ed directly bet.een a client and the conerencin, servers-
In This Section
!his section includes the ollo.in, topics:
9eb %onerencin, Architecture
File &tructure
#etadata Folder
Or,aniHer Folder
%onerence Folder
!ypes o &lides
%ontent Upload and 2o.nload over P&O#
%ontent Upload over P&O# and 2o.nload over D!!P&
&lide &et Files
Dandouts AFile !ransersB
Persist2ata Folder A&hared )otesB
%ontent Folder
%onerence %ontent Folder
File &iHe "estrictions
%ompliance
2e0 Conferencin" rchitecture
Oice %ommunications &erver 9eb conerencin, reKuires that *ive #eetin, clients can connect
to a &tandard @dition server or an @nterprise pool( a 9eb %onerencin, &erver( and a 9eb
%omponents &erver A11&B- Furthermore( the 9eb %onerencin, &erver and 9eb %omponents
&erver must have access to the shared olders that the administrator created durin, deployment(
in order to store meetin, inormation AmetadataB and meetin, content- !he 9eb %onerencin,
47
&erver must have read+.rite access to the metadata older and .rite access to the content older-
!he 9eb %omponents &erver must have read access to the content older-
!he ollo.in, i,ure sho.s the reKuired topolo,y or 9eb conerencin, .ith Oice
%ommunications &erver-
:ou can install and run these servers on the same physical computer or on dierent computers-
Do.ever( it is recommended that a dedicated ile server hosts the conerencin, metadata and
content olders-
*ile Structure
At a minimum( the 9eb %onerencin, &erver is coni,ured .ith t.o U)% paths that indicate
.here the server stores conerence state Athat is( metadataB and conerence content- !he irst
U)% path is .here the server stores the conerence metadata iles- !he second U)% path is
.here the server stores conerence content- !hese olders are also reerred to as the metadata
older and the content older-
!he ollo.in, paths can be coni,ured usin, either the ##% or the 9indo.s #ana,ement
1nstrumentation A9#1B MS*TBSI(DataMC3Ca!a0ilit#Settin"s class:
Meetin"Metadata7ocation property or metadata ile location-
Meetin"(resentationContent7ocation property or content location-
1n addition to these olders( the 9eb %onerencin, &erver can also be coni,ured .ith a third
U)% path or a compliance older- "e,ulatory compliance is not enabled by deault( but i your
or,aniHation needs to retain data e8chan,ed in 9eb conerences to satisy re,ulatory compliance
48
reKuirements( you can coni,ure a U)% path to the compliance older usin, either the ##% or
the 9#1 MS*TBSI(DataCom!lianceSettin"Class class-
!hese U)% paths can point to a ile system runnin, on the same computer or( preerably( on a
dedicated ile server- !he administrator manually creates these olders .hen deployin, Oice
%ommunications &erver-
Metadata *older
!he metadata older stores the conerence metadata Aor e8ample( the number o slides( the slide
names( and the slide typesB that is shared by the 9eb %onerencin, &erver .ith clients over
Persistent &hared ObLect #odel AP&O#B- Under the metadata older root( the 9eb %onerencin,
&erver creates the ollo.in, structure o subolders:
For each conerence or,aniHer( the 9eb %onerencin, &erver creates a separate older
belo. the metadata older root- !he or,aniHer older name is a hash value computed usin,
the or,aniHer U"1-
For each conerence( the 9eb %onerencin, &erver creates a separate older belo. the
or,aniHer subolder- !he conerence older name is the same as the conerence 12-
#etadata iles or a conerence are stored in the conerence older-
!he ollo.in, i,ure sho.s the structure o metadata olders or m or,aniHers and n conerences
or the irst or,aniHer-
!he 9eb %onerencin, &erver creates these olders and subolders .hen it receives a %4P
addConference reKuest rom the Focus- 1 a older or an or,aniHer does not e8ist( the 9eb
%onerencin, &erver creates a ne. or,aniHer older- 1 a older or an or,aniHer already e8ists( the
9eb %onerencin, &erver creates the conerence subolder belo. the e8istin, or,aniHer older- 1
a older or a conerence does not e8ist( the 9eb %onerencin, &erver creates a ne. conerence
49
older- 1 a conerence older already e8ists( the 9eb %onerencin, &erver saves the metadata
iles in the e8istin, conerence older-
&ensitive inormation about conerences( includin, each conerences encryption /ey( is stored in
the metadata older- As a result( it is recommended that( durin, deployment( the administrator
,rants "ead+9rite permissions or the metadata older only to the user ,roup that .ill administer
the 9eb %onerencin, &erver-
Contentm"r,'ml *ile
1n the metadata older root( the 9eb %onerencin, &erver creates an P#* ile A%ontentm,r-8mlB
that is used to coordinate the mechanism that cleans up the e8pired content- For e8ample( i your
or,aniHation deployed multiple instances o the 9eb %onerencin, &erver and all instances share
the same metadata and content olders( the %ontentm,r-8ml ile is used to monitor and determine
.hich 9eb %onerencin, &erver is responsible or runnin, the clean-up mechanism-
1n the %ontentm,r-8ml ile( you can ind the ully Kualiied domain name AF<2)B o the 9eb
%onerencin, &erver responsible or removin, e8pired content rom the olders- !he 9eb
%onerencin, &erver responsible or removin, e8pired content periodically updates the
%ontentm,r-8ml ile .ith its o.n F<2) and a time stamp indicatin, the last time it updated the
ile- #ean.hile( other 9eb %onerencin, &ervers in the topolo,y periodically read the ile and
veriy the time stamp- 1 more than 10 minutes have passed since the last update( another 9eb
%onerencin, &erver attempts to loc/ the ile and .rite its o.n F<2) in the ile to become the
ne. o.ner o the clean-up process-
Or"ani;er *older
9hen a 9eb %onerencin, &erver needs to create a metadata older or a conerence( it e8tracts
the or,aniHer U"1 rom the addConference P#*- !he U"1 is passed as input or a hash unction-
!he result o this call is used to search throu,h the subolders o the metadata root older to
determine .hether there is already an e8istin, or,aniHer subolder- 1 no or,aniHer subolder
e8ists( the 9eb %onerencin, &erver creates a ne. one-
Davin, a separate older or each or,aniHer allo.s the administrator to easily move the
conerences o.ned by a particular user- !he resource /it has a tool( 2#Dash-e8e( .hich allo.s
an administrator to input an U"1 and obtain the hash- For e8ample( i you need to chan,e the U"1
or a user and continue to have the content available( you need to:
"un 2#Dash-e8e .ith the old U"1 and ,et the name or the or,aniHer older-
"un 2#Dash-e8e .ith the ne. U"1 and ,et the name or the ne. or,aniHer older-
"ename the old older usin, the ne. hash value-
Conference *older
9hen a 9eb %onerencin, &erver needs to create a metadata older or a conerence( ater the
server has created or identiied the appropriate or,aniHer older( the server e8tracts the
conerence 12 rom the P#* in the %4P addConference reKuest( and then searches the
subolders belo. the or,aniHer older or a older .ith the same name as the conerence 12- 1 a
50
matchin, older does not e8ist( the 9eb %onerencin, &erver creates a ne. older belo. the
or,aniHer older-
!he conerence older contains all the inormation that is used by 9eb %onerencin, &erver to
recreate the content o a conerence- !he ollo.in, i,ure sho.s the structure o the iles that are
stored in a conerence older-
51
!he conerence older has one subolder named or presentations- 1n this subolder( the 9eb
%onerencin, &erver creates all the conerence iles-
Conference,'ml *ile
For each conerence( a conerence-8ml ile is created- !he conerence-8ml ile contains the
ollo.in, inormation about the conerence:
Conference ID- !he same as the conerence older name-
Or"ani;er 3RI- !he same U"1 used to build the or,aniHer hash-
Conference e'!iration time- !he time and date used by the clean-up mechanism to
determine .hen the content should be removed-
$ncr#!tion .e#- !he master encryption /ey- !he 9eb %onerencin, &erver randomly
,enerates an encryption /ey usin, Advanced @ncryption &tandard AA@&B as the encryption
al,orithm- !his /ey is used to encrypt the metadata P#* iles or the slide sets in the
conerence- !his encryption is an additional layer o protection on top o the access
permissions on the root metadata older-
SSMa'Id
@ach slide set has a uniKue identiier- 1n the precedin, illustration( the identiiers start .ith aaa
and end .ith zzz- !he &&#a81d ile stores the latest allocated 12 or saved slide sets- !he ile is
updated by the 9eb %onerencin, &erver .hen a ne. slide set is created- !he ile is read by the
9eb %onerencin, &erver .hen the content o the conerence needs to be recovered-
T#!es of Slides
!he 9eb %onerencin, &erver enables conerence participants to share content that has been
uploaded to the conerence- 1 Persistent &hared ObLect #odel AP&O#B .as used to upload all
content to the conerence( content can be do.nloaded rom the 9eb %onerencin, &erver to a
participantOs *ive #eetin, client usin, either P&O# or D!!P&- 1 content is uploaded usin,
D!!P&( then the do.nload is perormed by the 11& server instead o the 9eb %onerencin,
&erver-
!he ollo.in, table describes the protocols that can be used to upload and do.nload each type o
slide that a *ive #eetin, presenter can create-
Slide T#!e 3!load over (SOM Do)nload over (SOM Do)nload over 1TT(S
9hiteboard :es - :es
&napshot :es - :es
Poll :es :es -
!e8t :es :es -
9eb :es :es -
Application sharin, :es :es -
52
Slide T#!e 3!load over (SOM Do)nload over (SOM Do)nload over 1TT(S
Po.erPoint :es - :es
#icrosot Oice 9ord
documents
:es - :es
Dandouts Aile transerB :es - :es
Content 3!load and Do)nload over (SOM
Persistent &hared ObLect #odel AP&O#B oers the most basic mechanism or uploadin, and
do.nloadin, content to a conerence- Uploadin, and do.nloadin, over P&O# involves only the
*ive #eetin, clients( the 9eb %onerencin, &erver( and the ile server .here the 9eb
conerencin, metadata and content olders reside-
Usin, P&O#( the presenters *ive #eetin, client uploads a slide and its content- !he 9eb
%onerencin, &erver chec/s the presenterOs permissions and then creates the state or the ne.
slide- !he 9eb %onerencin, &erver saves the state on the ile server and then shares the ne.
slide state .ith all clients in the conerence-
!he ollo.in, i,ure sho.s the upload and do.nload process or conerence content-
For all slide types e8cept poll slides( the content is sent .ith the irst P&O# messa,e- For poll
slides( the content Athat is( Kuestions and choicesB is sent ater an initial create slide has been
sent-
53
Content 3!load over (SOM and Do)nload over 1TT(S
9hen the actual content or a slide is uploaded to the 9eb %onerencin, &erver( the client uses a
stream to send the data rom the local computer to the 9eb %onerencin, &erver- !he stream
mechanism is built on top o Persistent &hared ObLect #odel AP&O#B to send( in real-time( a
lar,e amount o data- AP&O# is typically used to send only small pieces o data( such as inte,ers
and short strin,s-B
9hen the content o slides uploaded to the server over P&O# must be accessed by conerence
participants( D!!P& is used to do.nload the content-
For e8ample( Po.erPoint slides( 9ord documents( and handout slides Athat is( ile transersB all
reKuire participants to transer rom the 9eb %onerencin, &erver a si,niicant amount o data(
includin, ima,es and ori,inal documents- For these types o slides( the data is transerred to
clients usin, the 9eb %omponents &erver- First( the 9eb %onerencin, &erver .rites the content
to the shared older or conerencin, content- A!he olders .here the content is saved are
encrypted-B !hen( the 9eb %onerencin, &erver sends clients in the conerence the U"* and the
encryption /ey or the content iles- @ach participant uses this U"* to do.nload the content rom
the 9eb %omponents &erver- Usin, the encryption /ey( each participant decrypts the content and
displays it in the *ive #eetin, .indo.-
!he ollo.in, i,ure sho.s the data lo. .hen clients do.nload conerence content over D!!P&-
54
!he upload process is similar to the one .hereby the content is do.nloaded over P&O#- !he
dierence is that the *ive #eetin, client al.ays sends content to the 9eb %onerencin, &erver in
a separate step( as a stream over P&O#-
Ater the 9eb %onerencin, &erver receives the content stream rom the presenter( the 9eb
%onerencin, &erver ,enerates a random encryption /ey and ile name or the content and saves
the content into the content older on the shared ile system- Ater the content is saved to the ile
server( the 9eb %onerencin, &erver sends the encryption /ey and ile name to the client- !he
client sends a ?@! reKuest to the 9eb %omponents &erver- &ince the 9eb %omponents &erver
is coni,ured to use the same content older( 1nternet 1normation &ervices A11&B is able to resolve
the reKuest and send the client the encrypted content- !he *ive #eetin, client then decrypts the
content and displays it-
55
Slide Set *iles
For each slide set created( the 9eb %onerencin, &erver saves t.o encrypted P#* iles- !he
encryption al,orithm is A@& and the encryption /ey is the master /ey stored in the
conerence-8ml ile- Eecause the iles are encrypted( their ile names use an -e8ml ile name
e8tension-
@ach slide set has a uniKue identiier- !he slide set ile names are created usin, the ollo.in,
patterns:
set-<unique_identifier>-e8ml and set-s-<unique_identifier>-e8ml
For e8ample( or a slide set .ith the uniKue identiier abc( the ile names are set-abc-e8ml and
set-s-abc-e8ml-
!he content o the t.o iles is the same- !he second ile is provided or bac/up purposes- 9hen
the 9eb %onerencin, &erver needs to save ne. chan,es in the slide set .ith the uniKue
identiier aaa( the server opens the irst ileWset-aaa-e8mlWand attempts to save the chan,es to
that ile- 1 the ori,inal .rite operation succeeds( the 9eb %onerencin, &erver creates a copy o
set-aaa-e8ml and renames the copy slide-s-aaa-e8ml- 1 the .rite operation ails( the 9eb
%onerencin, &erver deletes set-aaa-e8ml( creates a copy o set-s-aaa-e8ml( and renames the
copy set-aaa-e8ml-
!he ollo.in, i,ure sho.s the lo,ical lo. o the update operation-
56
!he update procedure or slide sets is called every ive minutes- !his value is hard coded and
cannot be chan,ed- 1 an update operation ails( the chan,es made to a slide set in the past ive
minutes are not saved- 1 the 9eb %onerencin, &erver stops runnin, durin, this period( chan,es
to the slides can be lost- Do.ever( the 9eb %onerencin, &erver continually tries to update the
iles every ive minutes- As a result( i one attempt ails( the 9eb %onerencin, &erver can
attempt to save the content later-
@ach slide set ile contains the P#* serialiHation o the data reKuired to recreate the slide set
content- !he ,eneric layout or this P#* is as ollo.s:
A root node that contains inormation about the slide set Aor e8ample( the name( creator(
and time .hen the slide set .as createdB-
A child node or each slide in the slide set- !his node contains the inormation about the
slide Aor e8ample( the name( creator( time .hen the slide .as created( type o slide( a lin/ to
the ori,inal document( and a lin/ to the ima,es representin, the slideB-
Eased on the type o slide( there can be child nodes- For e8ample( there can be a child
node or the annotations in a Po.erPoint slide or a child node or the Kuestion and ans.er
choices in a poll slide-
57
!he ile is a snapshot o the current content or a ,iven slide set- !he ile does not store historical
inormation such as deleted slides or the values or attributes beore they have been updated-
!here are t.o types o slides:
&lides or .hich all the slide content is shared bet.een 9eb %onerencin, &erver and
meetin, clients usin, only the P&O# channel- !he ollo.in, table lists the slide types or
.hich all content is shared over P&O#-
Slide T#!e Slide Content Shared over (SOM
9eb slide )ame( U"*
Poll &lide )ame( Kuestion( ans.er choices
!e8t &lide )ame( content
Application &harin, &lide )ame( type o sharin, Athat is( 2es/top or
ApplicationB( color depth( process 12
&lides or .hich some part o the content is shared bet.een the 9eb %onerencin,
&erver and meetin, clients over P&O# and some other part o the content is shared bet.een
the 9eb %omponents &erver and meetin, clients over D!!P&- !he ollo.in, table lists the
slide types or .hich content is partially shared over P&O# and partially shared over D!!P&-
Slide T#!e Slide Content Shared over
(SOM
Slide Content Shared over
1TT(S
9hiteboard )ame( annotations Eac/,round ima,e A.hite
rectan,leB
&napshot )ame( annotations Eac/,round ima,e Athe
des/top screen capture rom
the conerence presenterB
Po.erPoint )ame( annotations P)? iles or the lar,e slide
ima,e and or the slide
thumbnailT ori,inal PP!
document
9ord 2ocument )ame( annotations P)? iles or the bi, ima,e
and or thumbnailT
ori,inal #21 document
#ultimedia )ame Ori,inal multimedia ileT the
chun/ iles
For slides or .hich some content is shared over P&O# and some is shared over D!!P&( the
content that is shared over D!!P& is stored in the conerence content olders- !he conerence
58
metadata ile or the slide set stores only the lin/ to the conerence content ile and the encryption
/ey-
For e8ample( i you have a slide ,enerated rom a Po.erPoint slide( under the P#* node or that
slide you ind the:
"andomly ,enerated name or the ori,inal uploaded PP! ile-
@ncryption /ey or the PP! ile-
"andomly ,enerated name or the lar,e ima,e o the slide in P)? ormat-
@ncryption /ey or the P)? ile-
"andomly ,enerated name or the thumbnail ima,e o the slide in P)? ormat-
@ncryption /ey or the P)? ile-
:ou can use the names o these PP! and P)? iles to search or the slide content in the
conerence content olders-
Metadata *ile for (oll Slide
!he ollo.in, is an e8ample o the P#* content or a Poll slide-
2po+side
name=@J 0o ! K@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@6
2question6L1at day is todayM2-question6
2c1oice64>72-c1oice6
2c1oice6T9E2-c1oice6
2c1oice6LE,2-c1oice6
2c1oice6TN92-c1oice6
2c1oice6FRI2-c1oice6
2c1oice6S<T2-c1oice6
2c1oice6S972-c1oice6
2-po+side6
Metadata file for Te't Slide
!he ollo.in, is an e8ample o the P#* content or a !e8t slide-
2te/t+side
name=@J Te/t Side ! K@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@
6
2current+te/t6
59
T1is is t1e content of a te/t side IO;e 8ust typed
2-current+te/t6
2-te/t+side6
Metadata *ile for 2e0 Slide
!he ollo.in, is an e8ample o the P#* content or a 9eb slide-
2Ce)+side
name=@J Le) Side ! K@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@
ur=@1ttp:--microsoft.com@6
2-Ce)+side6
Metadata *ile for 2hite0oard Slide
!he ollo.in, is an e8ample o the P#* content or a 9hiteboard slide-
2image+side
name=@J L1ite :oard ! K@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@
image+Cidt1+attr=@"='@
image+1eig1t+attr=@#&$@
page+num)er=@+!@
ric1+side+type=@L1ite)oard@
t1um)nai+aspect=@!.*******"@6
2ann
C>5>R=@=@
<9TN>R=@;C=!@
TA0E=@!@
recording+id=@@6

=!=========a=="#=="a==af=="!==cc==(c==c===)a==(d==)===()==(d==f'==$'=!!
'==($=!!%==((=!!%==((
2-ann6
2ann
C>5>R=@=@
<9TN>R=@;C=!@
60
TA0E=@&*@
recording+id=@@6
!"========("==fa=!=(=!''
2-ann6
2-image+side6
Metadata *ile for Sna!shot Slide
!he ollo.in, is an e8ample o the P#* content or a &napshot slide-
2image+side
name=@J Snaps1ot ! K@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@
image=@/$d#!&$'#$#d!.epng@
Fey=@a#!fe=f*e&%$!*"%!e!&'*#a(c&c#d$(@
image+fiesiIe+attr=@#&$%#@
image+Cidt1+attr=@*$$@
image+1eig1t+attr=@*%(@
page+num)er=@+!@
ric1+side+type=@Image@
t1um)nai+image=@/e*!d!!)=#=%d.epng@
t1um)nai+Fey=@a#!fe=f*e&%$!*"%!e!&'*#a(c&c#d$(@
t1um)nai+aspect=@!.=@
compiance+image=@/c)'de!d")"$'+aae.png@6
2ann
C>5>R=@=@
<9TN>R=@;C=!@
TA0E=@!@
recording+id=@@6

=!=========a=="#=="a==af=="!==cc==(c==c===)a==(d==)===()==(d==f'==$'=!!
'==($=!!%==((=!!%==((
2-ann6
2ann
C>5>R=@=@
<9TN>R=@;C=!@
TA0E=@&*@
61
recording+id=@@6
!"========("==fa=!=(=!''
2-ann6
2-image+side6
Metadata *ile for 2ord Document Slide
!he ollo.in, is an e8ample o the P#* content or a 9ord document slide-
2image+side
name=@0age !@
sideset+name=@test.t/t@
recording+id=@@
created)y=@sip:;C=!@rtcde;.nttest.contoso.com J;C=!K@
image=@/e)c"f'==&'$d.epng@
Fey=@ce*de$#a*"a$a%fc%)*)"=&)"=a!a(&#@
image+fiesiIe+attr=@%""$@
image+Cidt1+attr=@$!%@
image+1eig1t+attr=@!=#%@
document=@/($*$edc")=d&.emdi@
document+Fey=@$ca%$#d')cf)(afe('cc&"ea')d=a&e!@
document+fiesiIe+attr=@!#*"@
ric1+side+type=@4odi@
t1um)nai+image=@/(=$==%!!#ce).epng@
t1um)nai+Fey=@'=d&&'ca=*#ee$f"")a(c"*'&da!")!)@
t1um)nai+aspect=@=.""&"&"&#!@
t1um)nai+fiesiIe+attr=@"'$@
compiance+image=@/f*ae(%)f$%cd+aag+pngimage=.png@
compiance+document=@/)e*#%'(""%!)+aag+/.mdi@6
2-image+side6
Metadata *ile for !!lication Sharin" Slide
!he ollo.in, is an e8ample o the P#* content or an Application &harin, slide-
2demo+side
name=@Command 0rompt + ;C=!@
recording+id=@@
created)y=sip:;C=!@rtcde;.nttest.microsoft.com J;C=!K
s1are0rocInfo=sip:;C=!@rtcde;.nttest.contoso.com + =!C"E"':(!*"<C"=
62
s1areNCnd=@&%&*==@
s1areSpeed=@!@
s1are0id=@'#(&@
sideNot?ey=@!(@
sideCoor=@&'@
s1areTite=@Command 0rompt@
sideCtr=@!@
s1areType=@!@6
2-demo+side6
1andouts %*ile Transfers&
:ou can thin/ o ile transers( also /no.n as handouts( as another type o slide set- Dandouts
can be considered slide sets that contain only one slide o a sin,le type: a transerred ile-
!he 9eb %onerencin, &erver ollo.s the same process to save and update handout slides that
it uses or other slide sets- First( the server saves t.o encrypted P#* iles or each handout- !he
content o the t.o iles is the same- !he second ile is provided or bac/up purposes-
!he update procedure or a handout is called every ive minutes- 1 an update operation ails( the
chan,es made to a handout in the past ive minutes are not saved- 1 the 9eb %onerencin,
&erver stops runnin, durin, this period( chan,es to the handout can be lost- Do.ever( the 9eb
%onerencin, &erver continually tries to update the P#* iles every ive minutes- As a result( i
one attempt ails( the 9eb %onerencin, &erver can attempt to save the content later-
!he only dierences in the save and update process or handouts are the location .here the iles
are saved and updated( the namin, convention used to name the iles( and the ile that /eeps
trac/ o the 12s or the slide set or handouts-
!he iles are saved under a separate subolder Anamed tB in the conerence older or the
or,aniHer- !he F!#a812 iles contain the last used 12- !he names o the iles in .hich the slide
set inormation is saved ta/e the ollo.in, orm: ileset-RidS-e8ml- !he iles are encrypted usin,
the master encryption /ey-
!he ile content represents the P#* serialiHation o handout inormation- Eecause handout slides
are shared over D!!P& in the P#*( there is an encryption /ey and the randomly ,enerated name
or the ile that is saved in the content older-
Metadata *ile for a 1andout %*ile Transfer&
!he ollo.in, is an e8ample o the P#* content or a handout Aile transerB-
2fieset
name=@a$f#%$(f'$%%.))@
siIe=@*"@
Fey=@'$d(dd%e)e&ca*%"'"$da%($'(*edc&!@
9poaded>n,ate=@$-&#-&==" !&:&= 04@
63
9poaded>n=@!!$$=%(%!"'#(@
9poaded:y=@sip:;C=!@rtcde;.contoso.microsoft.com@
fiePdeeted=@fase@
originaPfiename=@test.t/t@
creationPdate=@!&$*&#'*!"$'!*'*$$@
Created>n,ate=@!-!$-$''! #:&& 04@
modificationPdate=@!&$*&#'*!(!"!&#%&=@
4odified>n,ate=@!-&=-$''! %:!$ <4@6
2-fieset6
(ersistData *older %Shared Notes&
1n the Persist2ata older( the 9eb %onerencin, &erver stores only one ile- !he ile contains the
P#* serialiHation o the shared notes inormation- !he ile is encrypted usin, the conerence
master encryption /ey- !he ile contains the P#* serialiHation or rich te8t-
Metadata *ile for Shared Notes
!he ollo.in, is an e8ample o the P#* content or shared notes-
20ersistent,ata6
2Scope4anager -6
2S1ared7otes6
2Ric1String6
20ainTe/t6T1is is t1e content of t1e s1ared notes pane IO;e
8ust edited
2-0ainTe/t6
2Stye,ata6
2C1aracter6
2FormatTa)e6
2Format fontface=@<ria@ fontsiIe=@(.=@ )od=@fase@
itaic=@fase@ underine=@fase@ -62Format fontface=@@ fontsiIe=@(.=@
)od=@fase@ itaic=@fase@ underine=@fase@ -6
2-FormatTa)e6
2FormatRunTa)e6
2FormatRun format=@=@ engt1=@%&@ -6
2-FormatRunTa)e6
2-C1aracter6
20aragrap16
64
2FormatTa)e6
2Format )uets=@=@ num)ering=@=@ -62Format )uets=@!@
num)ering=@=@ -6
2Format )uets=@=@ num)ering=@!@ -6
2-FormatTa)e6
20araFormats6
20aragrap1 format=@=@ -6
2-0araFormats6
2-0aragrap16
2-Stye,ata6
2-Ric1String6
2-S1ared7otes6
2-0ersistent,ata6
Content *older
!he content older stores the content that is shared bet.een the 9eb %onerencin, &erver and
clients usin, the 9eb %omponents &erver- !he content olders structure is similar to other
subolders- !he content older contains the ollo.in,:
A separate subolder or each or,aniHerT the older name is a hash based on the
or,aniHer U"1-
Under the or,aniHer subolder( there is a separate older or each conerenceT the older
name is the same as the conerence 12-
!he ollo.in, i,ure sho.s the structure o the content older-
65
Conference Content *older
!he conerence content older stores all the conerence content that is shared bet.een the 9eb
%onerencin, &erver and meetin, clients- !he ollo.in, i,ure sho.s the structure o the iles that
are stored in a conerence older-
Slidefiles *older
!he &lideiles older stores all the slide content that is shared over D!!P&- All iles are encrypted
usin, A@& and a randomly ,enerated /ey- A ne. encryption /ey is used or each content ile- !he
/ey is stored in the metadata ile Aset-888-e8mlB or the slide set that includes the slide .ith the
content that .ill be shared over D!!Ps- !he names o the iles are randomly ,enerated and
stored in the same metadata ile as the encryption /ey-
!he ollo.in, table describes ile name e8tensions or the types o slides that the &lideiles older
contains-
$'tension Descri!tion
@P)? An encrypted P)? ima,eT or e8ample( this can
be the lar,er ima,e in a Po.erPoint slide or the
slide thumbnail ima,e-
@PP! An encrypted ori,inal PP! document-
@#21 An encrypted #21 document I the console
converts the 9ord document into a #21 beore
66
$'tension Descri!tion
it is sent to the 9eb %onerencin, &erver-
9A= An encrypted 9A= document-
!he ollo.in, table lists the types o slides that the &lideiles older contains and the content each
slide type contains-
Slide Content
&napshot @P)? or the lar,er ima,e-
@P)? or the thumbnail-
Po.erPoint slide @P)? or the lar,er ima,e-
@P)? or the thumbnail-
@PP! or the ori,inal PP!- A!here is one copy o
this ile- For e8ample( i you have a PP! .ith
t.o slides( you only see a sin,le @PP! ile-B
9ord 2ocument &lide @P)? or the lar,er ima,e-
@P)? or the thumbnail-
@#12 or the ori,inal #21 ile-
9A= 9A= or the ori,inal 9A= ile-
%hun/s ,enerated by the presenter client rom
ori,inal 9A= ile-
*iles Transferred *older %ft&
!he t older stores all the handouts Atranserred ilesB that are shared over D!!P&- All iles are
encrypted usin, A@& and a randomly ,enerated /ey- A ne. encryption /ey is used or each
content ile- !he /ey is stored in the metadata ile Aileset-888-e8mlB created or the transerred ile
that .ill be shared over D!!P&- !he names o the iles are randomly ,enerated and stored in the
same metadata ile as the encryption /ey-
!he ollo.in, table describes the ile name e8tension or the handout slides contained in the t
older-
$'tension Descri!tion
E*E !he encrypted transerred ile
67
*ile Si;e Restrictions
&iHe restrictions are enorced by the 9eb %onerencin, &erver or certain documents uploaded to
the 9eb %onerencin, &erver( such as Po.erPoint documents( 9ord documents( multimedia(
snapshot slides( and handout slides- !he ollo.in, table describes the values that the 9eb
%onerencin, &erver enorces-
4alue Descri!tion (o)er(oint Documents5
2ord Documents5
Multimedia5 or Sna!shot
Slides
1andout Slides
File siHe !he siHe o a ile must
not e8ceed this value-
F0 #E 2F #E
!otal siHe !he total siHe o all iles
in a conerence must
not e8ceed this value-
100 #E 100 #E
)umber o iles !he total number o
iles in a conerence
must not e8ceed this
value-
G0F2 40000
!he values or the total siHe and number o iles reer to the iles in a conerence- 1t is
recommended that you reserve 100 #E or each conerence created on the 9eb %onerencin,
&erver- !he ile restriction values can be coni,ured usin, the 9#1
MS*TBSI(DataMC3Ca!a0ilit#Settin" class-
File siHe policies are enorced each time a ne. slide or ile is added to a conerence or an
e8istin, slide or ile is removed- 1 the presenter is tryin, to upload or transer a ne. ile that
results in a violation o ile siHe restrictions( the operation ails- !he 9eb %onerencin, &erver also
provides perormance counters that indicate each time an upload or transer e8ceeds one o
these limits-
Com!liance
1 meetin, compliance is enabled( compliance olders are created on the ile server- !he
compliance older stores the content that is shared bet.een the 9eb %onerencin, &erver and
meetin, clients throu,h the 9eb %omponents &erver in a clear unencrypted ormat- !he
compliance older structure is similar to the structure o subolders in the metadata and content
olders- !he compliance older contains the ollo.in,:
A subolder or each or,aniHer- !he older name is a hash value computed usin, the
or,aniHer U"1-
A subolder or each conerence under each or,aniHer subolder- !he older name is the
conerence 12-
!he ollo.in, i,ure sho.s the structure o the compliance older-
68
@nsure that only authoriHed users have read or .rite permissions and that the 9eb %onerencin,
&erver has .rite permissions to the compliance older-
Com!liance *older
!he compliance older stores unencrypted metadata and content iles- !he ollo.in, table lists the
compliance subolders and the types o iles stored in those subolders-
Su0folder Descri!tion
%ontent &tores the copies o metadata iles-
%ontent-upload &tores the copies o content iles-
%hat &tores the lo,s or %hat sessions-
Poll &tores the lo,s .ith the votes or Poll slides-
<na &tores the lo,s or <uestion and Ans.er
sessions-
Unli/e the metadata and content olders( the compliance older also stores all deleted slides- !he
metadata and content olders only store the most recent conerence content-
!he ollo.in, i,ure sho.s the structure o compliance subolders-
69
70
Conferencin" Scenario Call *lo)s in Office Communications
Server 2007 R2
!his section describes the lo,ical seKuence o events and call lo. or various conerencin,
scenarios-
7oc. or 3nloc. a Conference
A presenter can loc/ a conerence at any point to prevent ne. users rom Loinin, or bein, added
to the conerence- 9hen a presenter loc/s a conerence( the client sends a &1P 1)FO reKuest
.ith a %4P modif#Conference7oc. command to the Focus that includes the conerence U"1-
!he Focus perorms authoriHation to veriy that the user has privile,es to loc/ the conerence-
!he Focus then relays the modif#Conference7oc. command to all conerencin, servers- !he
ocus then sends a %4P response to the client indicatin, success-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
loc/s or unloc/s a conerence-
!he call lo. .hen a presenter unloc/s the conerence is similar( e8cept the loc/ed value in the
command body is set to alse-
Dial In to a (STN Conference 3sin" SI( C<( %Tele!hon# Conferencin"
Server&
Oice %ommunications &erver 200' "2 enables P&!) Athat is( telephoneB conerences to
provide the audio portion o a 9eb conerence- Any user .ith a valid P1) can Loin a P&!)
conerence by dialin, the audio conerencin, provider- AAn audio conerencin, provider is a
conerencin, brid,e oered by a telephone carrier .ith .hom your or,aniHation has contracted-B
!he audio conerencin, provider authoriHes the P1) and sends a &1P )O!1F: to the !elephony
%onerencin, &erver indicatin, that a ne. user is Loinin, the conerence- !his )O!1F: is sent to
the Focus( .hich then pro8ies the )O!1F: to all other users in the conerence-
71
)ote that this scenario is distinct rom the ne. 2ial-1n %onerencin, unctionality introduced in
Oice %ommunications &erver 200' "2( .here the conerence resides on an Oice
%ommunications &erver( as opposed to a conerencin, brid,e oered by a telephone carrier-
9hen usin, the Oice %ommunications &erver 200' "2 P&!) capabilities A.here the
conerence resides on an Oice %ommunications &erverB( the client simply needs to dial the
P&!) access number- !he %ommunicator 200' "2 Attendant handles authentication and Loins
the P&!) user into the audio conerencin, server- 1n order or clients to Loin usin, P&!)( the
or,aniHer client must have reKuested P&!) capabilities .hen creatin, a conerence-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a client
dials in to a P&!) conerence hosted on a conerencin, brid,e oered by a telephone carrier-
Dial Out to Device 3sin" add3ser %udio Conferencin" (rovider&
For a presenter to invite his o.n phone or another participantOs phone into the conerence( the
presenterOs client sends a &1P 1)FO reKuest to the Focus .ith a &1P %4P add3ser command-
!he Focus veriies that the client sendin, the reKuest is a presenter( and then relays the add3ser
command to the conerencin, server .ith inormation about the endpoint to call- AParticipants
cannot dial out to other users-B !he conerencin, server or.ards the 1)FO messa,e to the audio
conerencin, provider- !he A%P responds to the conerencin, server- !he conerencin, server
or.ards the response rom the A%P to the Focus- !he A%P calls out to the userOs phone and
sends a &1P )O!1F: to the conerencin, server- !he conerencin, server sends a )O!1F: to the
Focus indicatin, that the user has connected- !he Focus then sends an updated participant list to
all clients in the conerence-
Remove a (artici!ant
Participants can choose to leave a conerence or presenters can choose to remove or eLect other
participants- 9hen a participant leaves a conerence( the participantOs client sends a &1P 1)FO
reKuest to the Focus .ith a %4P delete3ser command indicatin, .hich participant to remove-
!he Focus validates the reKuest and then sends a &1P E:@ in the Loin dialo,- !he Loin dialo, is
terminated- !he subscription dialo, is also terminated ater the Loin dialo, is terminated- !he
Focus relays the delete3ser command to all conerencin, servers in the conerence- @ach
conerencin, server sends a media E:@ to the participant to terminate media streams to the
72
participant- !he Focus sends a &1P )O!1F: .ith an updated participant list to all participants .ith
an active 1)=1!@ dialo, in the conerence- !he conerencin, server sends a &1P E:@ to the
participant .ho is leavin, the conerence- 1 a presenter has removed multiple participants rom
the conerence( the conerencin, server sends a &1P E:@ to all eLected participants- 1 a
participant is Loined to a conerence usin, multiple endpoints( the conerencin, server deletes
each endpoint-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a
participant is removed rom a conerence-
Mute or 3nmute
At any time durin, a conerence( a participant can mute or un-mute his media stream and
presenters can do the same or other participants- 9hen a participant .ants to mute or unmute
his audio( the participantOs client sends a &1P 1)FO reKuest .ith a %4P modif#$nd!ointMedia
command to the Focus- !he 1)FO reKuest indicates the client to mute or unmute- !he Focus
validates the command and sends it to the conerencin, server responsible or the media type
that the client .ants to mute or unmute- !he Focus perorms authoriHation to veriy the type o
participant- AOnly conerence presenters have the authority to submit a reKuest to mute or un-
mute another participant-B 1 the participant is authoriHed to perorm the mute or un-mute
operation she reKuested( the Focus sends a 202 Accepted response- !he Focus then sends a
&1P 1)FO reKuest .ith the %4P response to the client- !he conerencin, server sends a %4P
)O!1F: to the Focus- 9hen the Focus receives the %4P )O!1F: rom the conerencin, server(
the Focus updates the conerence participant list and sends the updated list to all participants
.ith an active 1)=1!@ dialo, in a &1P )O!1F: messa,e-
73
1 a participant connected to an Audio+=ideo conerencin, server is muted( the Audio+=ideo
%onerencin, &erver rene,otiates audio media .ith the client so as to stop receivin, audio rom
that client- !his is done as an optimiHation to prevent the client rom unnecessarily sendin, audio
media that .ould have been dropped by the conerencin, server in any case .hen the participant
is muted- &imilarly .hen a user is unmuted( the Audio+=ideo conerencin, server rene,otiates the
audio media to no. start receivin, audio rom that client-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a
participant mutes or unmutes his media stream-
Ma.e (resenter
A presenter can choose to promote any attendee to the presenter role- !his is a privile,e
available to presenters only and is implemented usin, the modif#3serRoles %4P command-
9hen a presenter promotes an attendee( the presenterOs client sends a &1P 1)FO reKuest to the
Focus .ith a %4P modif#3serRoles command- !he Focus validates that the participant ma/in,
the reKuest is a presenter( and then sends a 202 Accepted- !he Focus relays the
modif#3serRoles command to all conerencin, servers to inorm the conerencin, servers o the
chan,e in participant role- !he Focus sends a &1P 1)FO .ith the %4P response to the client that
made the reKuest- !he Focus sends a &1P )O!1F: reKuest .ith an updated participant list to all
participants .ith an active 1)=1!@ dialo,-
!he ollo.in, i,ure sho.s the messa,e lo. bet.een conerencin, components .hen a
presenter promotes another participant to the presenter role-
74
Dial/In Conferencin" Scenario
!he ollo.in, i,ure sho.s the relationships amon, the components that are reKuired to support
dial-in conerencin,- !he i,ure sho.s a sin,le Front @nd &erver and a sin,le #ediation &erver-
1n practice( there .ill probably be multiple load-balanced Front @nd &ervers( each o .hich .ill be
runnin, all the shaded components( or each @nterprise @dition pool- !here .ill also probably be
multiple #ediation &ervers-
75
In This Section
!he ollo.in, topics describe these components and relationships in detail:
&erver-Eased 2ial-1n %onerencin, %omponents
%lient-Eased 2ial-in %onerencin, %omponents
76
%all Flo.s
Server/-ased Dial/In Conferencin" Com!onents
2ial-in conerencin, is supported by Oice %ommunications &erver 200' "2 &tandard and
@nterprise @ditions( and the unctionality is identical on both editions- For or,aniHations that
deploy @nterprise @dition or its ,reater scalability and availability( the consolidated topolo,y is
no. recommended or most installations o Oice %ommunications &erver 200' "2- For detailed
inormation about the consolidated topolo,y( see the @nterprise @dition %onsolidated !opolo,y
section o the #icrosot Oice %ommunications &erver 200' "2 &upported !opolo,ies and
1nrastructure "eKuirements ,uide-
1n a consolidated @nterprise @dition topolo,y( each member o a pool o Front @nd &ervers runs a
set o components: the &1P Pro8y+"e,istrar( the Focus Factory( the %onerencin, Factory( all o
the conerencin, servers Athat is( 1#( 9eb %onerencin,( A+=( and Application &harin,B( and hosts
t.o applications on the Uniied %ommunications Application &erver AApplication &erverB platorm
that are reKuired or dial-in conerencin,: the %onerencin, Attendant service and the
%onerencin, Announcement service-
Note:
%onerencin, &ervers .ere ormerly /no.n as multipoint control units A#%UsB: !he
%onerencin, &erver Factory is also /no.n as the #%U Factory( the A+= %onerencin,
&erver is the same as the A= #%U( and so on- %onerencin, servers are actually
services o the #icrosot 9indo.s operatin, system that run as independent processes
separate rom the "tcsrv-e8e ront-end service-
1n addition to the Oice %ommunications &erver 200' "2 Front @nd &ervers( dial-in conerencin,
reKuires at least one #ediation &erver inte,rated .ith a media ,ate.ay and+or a PEP( as .ell as
%ommunicator 9eb Access A200' "2 releaseB- A%ommunicator 9eb Access is reKuired or dial-in
conerencin, even i you are not providin, your users .ith a bro.ser-based client-B
ctive Director#C-ased Confi"uration Data
Eecause nearly all o the settin,s that are used by dial-in conerencin, apply to the entire
or,aniHation( Oice %ommunications &erver 200' "2 stores them .ith other ,lobal coni,uration
data in Active 2irectory 2omain &ervices AA2 2&B- !he Active 2irectory schema or Oice
%ommunications &erver 200' "2 adds ne. %ontact obLects that are speciic to dial-in
conerencin,( as .ell as location proileIaccess number contact obLect mappin,s( additional
,lobal meetin, policy attributes( ne. !rusted &ervice obLects or the %onerencin, Attendant
service and the %onerencin, Announcement service( and U"*s or internal and e8ternal access
to the %ommunicator 9eb Access server or server arm-
Contact O0=ects
Oice %ommunications &erver 200' "2 adds a ne. msRTCSI(/!!licationContacts container
class to the coni,uration container under the "!% &ervice obLect- *i/e the &ubscriber Access
and Auto Attendant %ontact obLects that are used by the #icrosot @8chan,e &erver 200' Uniied
#essa,in, service( these instances have an obLect%lass o to!D !ersonD or"ani;ational(ersonD
77
contact- Unli/e the @8chan,e %ontact obLects( dial-in conerencin, %ontact obLects are stored in
the %oni,uration container rather than in a 2omain container( and dial-in conerencin, %ontact
obLects do not appear in the Active 2irectory Users and %omputers snap-in-
Unli/e users( %ontact obLects do not have their o.n authentication credentials- &ervices runnin,
under the identity o a %ontact obLect must either be la,,ed in A2 2& as trusted or else
impersonate the identity o the user .ho called the service-
!here .ill be multiple %ontact obLects in this container that are related to dial-in conerencin,: one
or each dial-in number( plus one or the %onerencin, Attendant service
AC(rivateContactO0=ectB and one or the %onerence Announcement service o each pool-
@ach contact is a &1P User A,ent that acts as a robotic endpoint or processin, and routin, dial-in
conerence callers and or playin, conerence announcements-
Administrators mana,e dial-in contact obLects usin, the Conferencin" ttendant (ro!erties tab
o the *orest (ro!erties dialo, bo8 in the Oice %ommunications &erver mana,ement snap-in-
For each %onerencin, Attendant phone number added( an Application %ontact obLect is created
that contains the phone number( the pool name ailiated .ith the number( a &1P U"1 Aor
e8ample( si!:Microsoft,RTC,!!lications,C/EG3IDFGcontoso,com&( the primary spo/en
lan,ua,e that is played to the caller by the %onerencin, Attendant service( and a list o up to our
secondary lan,ua,es that .ill be presented as alternates to users .ho dial into the
%ommunicator 200' "2 Attendant-
Do.ever( the %onerence Announcement &ervice and %AAPrivate%ontactObLect obLects are
coni,ured durin, product activation( and neither is e8posed throu,h the snap-in- 1 you chan,e
the name o your or,aniHationNs main &1P domain ater you install Oice %ommunications &erver
200' "2( you need to chan,e the msRTCSI(/(rimar#3serddress attribute or both obLects to
relect your ne. primary &1P domain- AEoth use the orm si!:Rtc!!lication/EG3IDFGESI(
DomainF-B :ou can edit this attribute by usin, A2&1@dit( or you can use the 9E@#!est utility to
edit the (rimar#3RI attribute o the correspondin, 9indo.s #ana,ement 1nstrumentation A9#1B
Conference nnouncement Service and C(rivateContactO0=ect instances( .hich are
located in the MS*TBSI(!!licationContactSettin" top-level class-
2ial-in %ontact obLects cannot be shared across poolsT each must be bound to an @nterprise pool
or one &tandard @dition server-
7ocation (rofile to ccess Num0er Ma!!in"s
Another ne. A2 2& schema chan,e in Oice %ommunications &erver 200' "2 is the *ocation
%ontact #appin,s container- !his container contains instances o the msRTCSI(/
7ocationContactMa!!in" class( and each instance binds a dial-in contact to a location proile-
Just as each user .ho is enabled or @nterprise =oice is assi,ned a correspondin, location
proile( either e8plicitly or by deault( each %onerencin, Attendant dial-in contact also must be
assi,ned a location proile-
!he Re"ions tab o the Conferencin" ttendant (ro!erties dialo, bo8 o the Oice
%ommunications &erver mana,ement snap-in is used to mana,e these assi,nments- A re,ion is
a ,roup o dial-in access numbers that belon, to sin,le Oice %ommunications &erver @nterprise
=oice location proile- Users assi,n a re,ion to the dial-in meetin,s and conerences they create(
thereby settin, the dial-in numbers that are used by the conerence- Users .ho are enabled or
78
@nterprise =oice are assi,ned a deault re,ion- !hey can( ho.ever( manually override this
deault( or e8ample( i dial-in attendees .ould be better served by access numbers in another
,eo,raphic re,ion-
Glo0al Meetin" (olic#
AuthoriHin, users to create dial-in conerences is mana,ed throu,h the ,lobal Meetin" (olic#
tab- !his tab is not ne.( but in Oice %ommunications &erver 200' "2 the schema is e8tended
.ith t.o more settin,s( $na0le (STN conference dial/in and (STN conference dial/in
reHuires !asscode- @ither a sin,le meetin, policy can be assi,ned to all users in the
or,aniHation( or dierent policies can be assi,ned to individual user accounts-
!hese meetin, policies are stored in Active 2irectory 2omain &ervices as instances in the
%oni,uration %ontainer under Services( RTC Service( and then (olicies- @ach instance has an
msRTSI(/(olic#Content attribute that contains la,s or $na0le(STNConferencin" and
TrustedConferencin"(inReHuired-
Trusted Services
1n addition to the %ontact obLects described previously( both the %onerence Announcement
&ervice and %onerencin, Attendant &ervice are represented by multiple obLects Aclass type 3
msRTCSI(/TrustedServiceB in the %oni,uration %ontainer under Services( RTC Service( and
then Trusted Services container o Active 2irectory 2omain &ervices AA2 2&B- For each pool
supportin, 2ial-in %onerencin, services( there must be one instance o each type or each pool
name AmsRTCSI(/TrustedServer*6DN 3 <pool name FQDN>B( plus instances or each server
in those pools AmsRTCSI(/TrustedServer*6DN 3 <server FQDN>B- For &tandard @dition
servers( there are only t.o obLects( since the pool name and server name are the same-
!hese trusted service instances .ill have an RTCSI(/TrustedServiceT#!e attribute o either
Microsoft,RTC,!!lications,C or Microsoft,RTC,!!lications,CS-
Communicator 2e0 ccess 3R7s
%ommunicator 9eb Access serves an au8iliary role or 2ial-in %onerencin, unrelated to its
primary role as a 9eb server or hostin, bro.ser-based %ommunicator clientsWto serve 9eb
pa,es that are lin/ed to by Oice %ommunicator 200' "2 client( the %ommunicator 200' "2
Attendant( the %onerencin, Add-1n or Oice Outloo/( and the *ive #eetin, client- !hese 9eb
pa,es allo. users to vie. dial-in numbers or various locations and to provide them .ith an
interace to reset their dial-in corporate P1) numbers and personal conerence 12s-
One %ommunicator 9eb Access server or server arm normally serves the 2ial-in %onerencin,
&ettin,s 9eb pa,es or all users across all pools( as sho.n in the ollo.in, i,ure-
79
!o launch this pa,e( Oice %ommunicator( %ommunicator Attendant( the %onerencin, Add-1n or
Oice Outloo/( and the *ive #eetin, client obtain the internal and e8ternal U"*s o the
%ommunicator 9eb Access server rom the Oice %ommunications &erver Front @nd &erver
throu,h in-band provisionin, .hen a user si,ns in- Eecause the %ommunicator 9eb Access path
is a ,lobal rather than pool-speciic settin, by deault( the Front @nd &erver obtains these values
rom Active 2irectory 2omain &ervices AA2 2&B throu,h a 9#1 call to
MS*TBSI(Glo0alC2ServerConfi"Settin" or the Internal3R7( $'ternal3R7(
(honeConf3R7Suffi'( and 2e09oin3R7Suffi' attributes- A1n Active 2irectory 2omain &ervices(
these values are stored in the RTC Services( Glo0al Settin"s container obLect as msRTCSI(/
DefaultC2Internal3R7( msRTCSI(/DefaultC2$'ternal3R7( and msRTCSI(/
Glo0alSettin"sData-B
1 an administrator needs to chan,e either o the %ommunicator 9eb Access paths( he can use
the %ommunicator 9eb Access administrative snap-in to republish a ne. path-
:ou can also coni,ure the %ommunicator 9eb Access U"* at a pool level and this value
overrides the ,lobal value- !he pool level 9#1 property is MS*TBSI(C2ServerConfi"Settin"-
!o publish this value you need to do it manually usin, 9E@#!est-e8e and assi,n a ?U12 and
bac/-end database path to it-
Office Communications Server *ront $nd Server Com!onents
!o support conerences .ith dial-in users( each Oice %ommunications &erver 200' "2
@nterprise @dition server in a consolidated ront end topolo,y runs the ollo.in, reKuired
80
components: &1P Pro8y( %onerencin, Attendant( %onerence Announcement &ervice( Focus
Factory( %onerencin, &erver Factory( and the Audio+=ideo %onerencin, &erver- A &tandard
@dition server runs the same components( but it uses a local &<* &erver @8press @dition
database rather than a remote &<* &erver database-
!he Focus Factory is responsible or handlin, conerence creation and deletion( and stores this
inormation in the bac/-end database-
Ater a conerence is activated( it is hosted by a Focus instance( .hich mana,es conerence
state( user roles( and privile,esT enorces securityT and provides conerence state to participatin,
clients- !he %onerencin, &erver Factory provisions conerencin, servers Athat is( #%UsB as
reKuested by the Focus and mana,es their state durin, the duration o the conerence-
@ven thou,h each pool server in a consolidated topolo,y runs all o these components( many
operate in their o.n process space- Althou,h the Focus .ill al.ays be runnin, on the same
server as the %onerencin, &erver Factory that is mana,in, the conerencin, servers or the
meetin,( the %onerencin, Attendant( %onerence Announcement &ervice( and A+= %onerencin,
&erver can be runnin, on other Front @nd &ervers in the pool- !his architecture allo.s individual
server roles and uniied communications applications to be load-balanced independently o one
another- For e8ample( in a load balanced pool consistin, o ive servers( a dial-in caller comin,
into the system rom a #ediation &erver could be routed by the &1P Pro8y service on &erver1 to
the %onerencin, Attendant runnin, on &erver2( .hich then hands o the caller to the meetin,Ns
Focus runnin, on &erver4( .hich in turn connects the callerNs audio to an A+= %onerencin,
&erver runnin, on &erverC( .hich is bein, monitored and announced by a %onerence
Announcement &ervice runnin, on &erverF- 1n act( the %onerencin, Attendant &ervice that
ans.ers a dial-in attendee mi,ht be runnin, in a pool separate rom the one that hosts the
meetin,-
1 one o these services became unavailable( the load balancer .ould detect the ailure and
redirect ne. service reKuests to one o the other pool servers- 1 one o those servers ails or is
ta/en oline durin, a conerence already in pro,ress( Oice %ommunications &erver can detect
the ailure and re,enerate the terminated component Ain the case o the FocusB or assi,n the
conerence to another conerencin, server in the pool and reconnect participants-
!he sections that ollo. describe in more detail the role each application or server role plays in
supportin, 2ial-in %onerencin,-
Conferencin" ttendant
!he %ommunicator 200' "2 Attendant is an auto-attendant service Aa botB that authenticates and
Loins dial-in participants to audio conerences- %ommunicator 200' "2 Attendant supports 1C
dierent lan,ua,es- !he %onerencin, Attendant prompts the caller or %onerence 12s and
passcodes Ai callin, in as an anonymous participantB or e8tension number and P1) Ai Loinin, as a
@nterprise UserB( plays on-hold music .hen enterprise users have not yet Loined the meetin,(
reKuests authentication rom a ront-end service( and Loins authenticated callers to the Focus and
A+= %onerencin, &erver or the reKuested %onerence 12-
!he %onerencin, Attendant &ervice on each Front @nd &erver listens on !%P port F0'2 or
incomin, calls- !hese reKuests normally come rom a #ediation &erver and are pro8ied by the
81
#ediation &erverNs ne8t hop pool- 1 a load balancer is used( it listens on !%P port F0'2 as .ell
and redirects reKuests to a %onerencin, Attendant service runnin, on one o the pool servers-
!here are only a e. pool-level settin,s stored in the bac/-end &<* &erver database- !he Oice
%ommunications &erver administrative snap-in e8poses the settin,s or minimum P1) len,th(
retry loc/out count( and P1) a,in, policy settin,s throu,h the (STN Conferencin" tab in the
*ront $nd (ro!erties dialo, bo8 o the selected pool-
!hese settin,s can also be accessed throu,h the MS*TBSI((STNConferencin"Settin" 9#1
obLect( in addition to the (IN$'!iration( (IN7en"th( and (INRetries property values-
Note:
!he pool-level MS*TBSI((STNConferencin"Settin" 9#1 obLect also contains values
or Internal3R7 and $'ternal3R7 properties- !hese last t.o settin,s are let-over
artiacts o an earlier development build and can be disre,arded- !hey reer to a 9eb
component named Phone%onerencin, that .as used durin, development and did not
,et removed rom the inal release o Oice %ommunications &erver 200' "2 product-
!his component is visible rom the 1nternet 1normation &ervices A11&B #ana,er connected
to Front @nd servers( but it is superluous-
Conferencin" nnouncement Service
!he %onerence Announcement &ervice is another trusted bot that participates in all dial-in
enabled audio conerences- 1t monitors the conerence roster and plays entry and e8it tones to all
dial-in attendees .hen other dial-in attendees Loin or leave( and also tells attendees .hen their
microphone has been muted or unmuted in the lan,ua,e that they chose .hen they connected to
%ommunicator 200' "2 Attendant- )o coni,uration is reKuired or this service-
!he %onerence Announcement &ervice on each Front @nd &erver listens on !%P port F0'4 or
reKuests rom a Focus that is runnin, on one o the Front @nd &ervers in the pool- 1 a load
balancer is used( it also listens on !%P port F054 and redirects reKuests to the %onerencin,
Attendant service on one o the pool servers-
*ocus *actor#
!he Focus Factory is responsible or schedulin, meetin,s and .ritin, them to the bac/-end
database- 9hen a user creates a ne. meetin,( the meetin, client sends a &1P &@"=1%@
messa,e to a Focus Factory( .hich creates a ne. instance o the meetin, in the database and
returns inormation about the ne.ly created meetin, to the client-
!he Focus Factory unctionality has been enhanced in Oice %ommunications &erver 200' "2 to
support dial-in conerences- 9hen a client A.hich could be Oice %ommunicator( the
%onerencin, Add-in or Outloo/( or the *ive #eetin, clientB creates a scheduled or unscheduled
meetin,( i the meetin, creator reKuests and is permitted to include dial-in participants( the Front
@nd &erver communicates .ith a Focus Factory to ,enerate a dial-in %onerence 12-
%onerence 12s are short numeric conerence identiiers that are entered by dial-in attendees Aby
usin, the phone /eypadB to indicate the meetin, that they .ant to Loin- %onerence 12s consist o
a non-uniKue pool 12 concatenated .ith a uniKue portion ,enerated by the hostin, pool .hen the
meetin, is created- !he pool portion o the %onerence 12 routes the dial-in caller to the speciic
pool .here the meetin, is hosted-
82
Althou,h #eetin, 12s A15 to 42 character he8adecimal identiiers used in the %onerence U"1 to
uniKuely identiy meetin,sB( the short %onerence 12s o e8pired conerences can be reused and
are uniKue only .ithin the scope o a sin,le Oice %ommunications &erver or,aniHation- !he
mappin,s bet.een the %onerence 12s and #eetin, 12s are stored in the "!% database- Users
do not normally need to enter #eetin, 12s manually( but dial-in users manually enter %onerence
12s usin, their /eypads to tell the %onerencin, Attendant &ervice .hich meetin, they .ant to
Loin-
!he overall len,th o %onerence 12s not i8ed and .ill e8pand as needed to support the number
o pools in the or,aniHation and the number o une8pired meetin,s in the pool( and the pool
portion Athat is( the pool 12B .ill be at least t.o di,its- As a minimum security consideration to
minimiHe eortless ,uessin, o consecutive %onerence 12s( ater the complete conerence 12 is
,enerated( it is obuscated by Oice %ommunications &erver Athat is( the number the user sees
cannot be parsed into a pool portion and a meetin, portionB-
!he %onerence 12 is ,enerated at the home pool o the user .ho schedules it( and it desi,nates
the pool that .ill host the meetin,- Do.ever( since the conerence creatorNs pool al.ays hosts the
conerence( this means that conerence 12s must be released and reissued .henever a
conerenceNs creator has been moved to another pool- !his action is automatically ta/en by Oice
%ommunications &erver- Unli/e #eetin, 12s( %onerence 12s may be reused ater the conerence
mapped to has been deleted or moved-
!he Front @nd &erver passes the %onerence 12 bac/ to the conerence client( .here it is
conveyed to dial-in participants throu,h some other means( such as in an e-mail messa,e-
*ocus
An instance o the Focus or each active meetin, e8ists on one o the servers in the pool that is
hostin, the meetin,( and it maintains the conerence state and can be monitored by other
components- For e8ample( the %onerence Announcement &ervice monitors the Focus to
determine .hen users arrive or leave the meetin, and .hen users have been muted or unmuted-
!he Focus publishes the meetin, roster( .hich has been updated in Oice %ommunications
&erver 200' "2 to include dial-in callers- 1 the caller has an Active 2irectory 2omain &ervices
account and has provided his or her e8tension number and corporate P1)( he or she .ill be listed
in the roster lists o *ive #eetin, clients under the display name assi,ned to their user account-
Do.ever( i the caller has provided only the %onerence 12 Aand passcode i reKuiredB( he or she
.ill be listed in the roster by %aller 12 Ai the number is passed to the #ediation &erver by the
PEP or ,ate.ayB- 1 not( such callers .ill be listed as Unidentiied Participant 1( Unidentiied
Participant 2( and so orth-
From the roster list in the *ive #eetin, client( presenters can orcibly mute( unmute( and eLect
dial-in participants Lust as i they .ere *ive #eetin, client users-
Conferencin" Server *actor#
Althou,h the %onerencin, &erver Factory is essential to support dial-in conerencin, by
provisionin, the A+= %onerencin, &erver that is needed or the meetin,( it does not e8hibit any
special behavior .hen dial-in conerencin, attendees are involved-
83
udio84ideo Conferencin" Server
An A+= %onerencin, &erver acts as a relay hub or audio and video used by the meetin,s
assi,ned to it- 2ial-in callers appear to the A+= %onerencin, &erver as Lust another audio
endpoint- Ater a dial-in caller has been authenticated( the %onerencin, Attendant si,nals the A+=
%onerencin, &erver in the pool hostin, the meetin, to establish an audio le, .ith the #ediation
server handlin, the dial-in participant-
9hen a dial-in user is connected to the A+= %onerencin, &erver( it in turn invites a %onerence
Announcement &ervice in its pool to the meetin, Aunless one is already runnin,B( .hich in turn
Loins the Focus as a trusted participant- !he %onerence Announcement &ervice monitors the
Focus( and announces certain state chan,e events to all dial-in participants( such as .hen a
participant enters or leaves the meetin,( or to individual dial-in participants( such as .hen his or
her microphone has been muted-
Mediation Servers
1n order or the 2ial-in %onerencin, eature to service P&!) callers( the or,aniHation must have
either one or more #ediation &ervers connected to the P&!) usin, a #edia ?ate.ay connected
to the P&!) or to a PEP( or 2irect &1P 1nte,ration .ith a PEP or e8ternal &1P !run/in, service
provider- As .ith @nterprise =oice user 2irect 1n.ard 2ialin, A212B numbers and @8chan,e Auto
Attendant and &ubscriber Access numbers( calls rom the P&!) to the published dial-in access
numbers must also be routed to a #ediation &erver- 1nbound routin, normaliHes the called-party
number accordin, to the deault location proile rules on the #ediation &erver and routes calls to
the address o the ne8t-hop pool-
)o special #ediation &erver coni,uration is reKuired to support dial-in conerencin,( but the
normaliHation rules or the #ediation &erverNs deault location proile must normaliHe the dialed
number to a orm Atypically @-15CB matchin, the *ine U"1 o a %onerencin, Attendant contact
obLect-
"outin, o %onerencin, Attendant contact numbers to a #ediation &erver may also reKuire
additional routin, rules on the PEP and+or #edia ?ate.ay i the phone number patterns dier
rom those o @nterprise =oice users Aor i @nterprise =oice has not been deployedB-
9hen plannin, or dial-in conerencin,( /eep in mind that each dial-in user .ill consume a
channel on a trun/ connectin, the PEP and+or #edia ?ate.ay to the P&!)- For or,aniHations
.ho siHe their number o P&!) trun/s and #ediation servers to accommodate normal levels o
inbound and outbound call volumes( this means they may not be able to support lar,e numbers o
dial-in usersT ho.ever( or such meetin,s they could still use an audio conerencin, provider
AA%PB or the 9eb-hosted *ive #eetin, &ervice-
1n Oice %ommunications &erver 200' "2( it is not possible to lin/ an A%P conerencin, brid,e to
an Oice %ommunications &erver A+= %onerencin, &erver-
Communicator 2e0 ccess Server
As noted earlier( the 200' "2 release o %ommunicator 9eb Access serves a role in dial-in
conerencin, that is unrelated to its primary role o hostin, a bro.ser-based client or Oice
%ommunications &erver- Usin, the Internal3R7 and $'ternal3R7 attributes o the
MS*TBSI(Glo0alC2ServerConfi"Settin" obLect( .hich are provisioned to the client durin,
84
si,n-in( the Oice %ommunicator( Outloo/ %onerencin, Add-1n( and *ive #eetin, clients e8pose
lin/s to ne. %ommunicator 9eb Access 9eb pa,es that display dial-in access numbers or
various locations and lan,ua,es and that ,ive users an interace to reset their personal dial-in
conerence codes and P1) numbers-
Pi,,y-bac/in, this unctionality on %ommunicator 9eb Access spares Oice %ommunications
&erver customers rom dedicatin, a separate server to this role andWbecause the unction is
used very li,htlyWit does not si,niicantly de,rade overall %ommunicator 9eb Access
perormance- !his approach also ma/es it easier or or,aniHations to provide 1nternet-based
access to these 9eb pa,es( because most or,aniHations that deploy %ommunicator 9eb Access
also publish the service to the 1nternet-
!he 2ial-in %onerencin, &ettin,s 9eb site is accessed by appendin, 8dialin to the internal or
e8ternal %ommunicator 9eb Access U"*s- !he site consists o t.o separate pa,es:
(u0lish Dial/in Conference Num0ers- !he home pa,e o the 2ial-in %onerencin,
&ettin,s 9eb site- !his pa,e does not reKuire authentication and is read-only- 1t publishes the
%onerencin, Attendant access numbers or various lan,ua,es and re,ions( and the pa,e
itsel is available in 1C lan,ua,es- A&upport or non-@n,lish versions o the pa,e reKuires
installation o the %ommunicator 9eb Access #ultilan,ua,e Pac/-B
Chan"e !er/user dial/in settin"s- From the 2ial-in %onerencin, &ettin,s home pa,e( a
user can clic/ a si,n-in lin/ that brin,s up a site that enables him or her to reset dial-in
conerence P1) numbers and personal conerence 12s- !his pa,e is available in the same
lan,ua,es as the home pa,e-
%ommunicator 9eb Access does not store data locally- All dial-in conerencin, data is e8tracted
rom the pool that is assi,ned to the lo,,ed-on user( .hich retrieves data rom the poolNs
database and rom Active 2irectory 2omain &ervices AA2 2&B-
Note:
%ommunicator 9eb Access support or dial-in conerencin, is also unrelated to the ne.
P&!) dial-out eature( .hich allo.s %ommunicator 9eb Access users to participate in
voice calls by callin, them bac/ on a P&!) phone or PEP e8tension-
Client/-ased Dial/in Conferencin" Com!onents
!o create a dial-inIenabled meetin,( the user must be authoriHed and be usin, the 200' "2
release o the #icrosot %onerencin, Add-in or #icrosot Oice Outloo/( or the *ive #eetin,
client-
Conferencin" dd/in for Microsoft Office Outloo.
!he 200' "2 release o the %onerencin, Add-in or #icrosot Oice Outloo/ has some ne.
unctionality or schedulin, dial-in conerences-
Users can connect directly rom Outloo/ to the 2ial-1n %onerencin, &ettin,s 9eb pa,e
on the %ommunicator 9eb Access server-
#eetin, creators can enable dial-in conerencin, as an audio option-
85
9hen Outloo/ starts( the internal and e8ternal U"*s o the %ommunicator 9eb Access server
are provisioned to Outloo/ rom the pool by usin, the connection inormation that is coni,ured in
the *ive #eetin, client-
9hen the Outloo/ user selects 2ial-1n %onerencin, &ettin,s rom the %onerencin, menu(
Outloo/ irst tries to open the Idialin site on the e8ternal U"* o the %ommunicator 9eb Access
server- 1 this ails( then it retries on the internal U"*-
!o enable dial-in conerencin, or users( the meetin, creator must enable dial-in conerencin, or
the meetin, usin, the Conferencin" dd/in udio o!tions menu-
9hen an Outloo/ user clic/s Schedule a 7ive Meetin"( the client ma/es a &1P reKuest to the
userNs pool stipulatin, that it .ants to schedule a dial-in enabled meetin, and ,enerates a 42-
character he8adecimal #eetin, 12- !he pool chec/s that it has the capability to support a dial-in
meetin, and obtains rom the Focus Factory the dial-in numbers that are assi,ned to the userNs
pool( a %onerence 12( and sends it bac/ to the client- !he Add-in inserts this inormation into the
meetin, invitation-
1 the meetin, is set to allo. anonymous participants and i meetin, policy mandates use o
passcodes or i the meetin, creator chooses to use one( the client .ill also ,enerate a random
passcode and send it AencryptedB to the Focus Factory- !his passcode is also included in the
meetin, invitation-
1 the Outloo/ clic/s Schedules a Conference Call Ainstead o a *ive #eetin,B and the
invitationNs audio option is set to 3se m# assi"ned conference ID for each conference( the
same process occurs( e8cept that the conerence 12 and passcode Ai mandated by meetin,
policyB are the ones that .ere previously ,enerated by the 2ial-1n %onerencin, &ettin,s 9eb
site- !he result .ill be an audio-only meetin,( to .hich non-phone participants access usin,
Oice %ommunicator instead o *ive #eetin,- 1 the audio option is 3se a ne) conference ID for
each conference( the Focus Factory .ill assi,na ne. %onerence 12-
7ive Meetin" Client
!he #eet )o. eature o the *ive #eetin, 200' client enables users to create unscheduled
conerences that support dial-in users-
1 dial-in conerencin, is enabled( the Focus Factory assi,ns the meetin, a %onerence 12 and
the client ,enerates a random passcode Ai orced by meetin, policy or i the meetin, creator
chooses to use oneB- !his inormation( and the dial-in numbers( is displayed in the client .hen the
meetin, or,aniHer clic/s 4ie) Call/In Details on the Meetin" list or on the O!tions menu o the
4oice J 4ideo list- Do.ever( unli/e the %onerencin, Add-1n or Outloo/( the *ive #eetin, client
does not automatically distribute this inormation to participants- @ven i the meetin, or,aniHer
uses the -# $/mail menu option in the client Aunder the ttendees menu( under InviteB to create
an e-mail invitation( the or,aniHer must manually insert the meetin,Ns dial-in inormation into the
body o the messa,e-
Office Communicator
Althou,h Oice %ommunicator 200' "2 does not provide a means or users to create scheduled
meetin,s( it does enable users to create unscheduled audio+video meetin,s- Do.ever( Oice
86
%ommunicator does not contain provisions or invitin, dial-in attendees to these meetin,s- AOice
%ommunicator-based participants can use the clientNs dial-out eature to add phone users to
these meetin,s-B
)evertheless( Oice %ommunicator users can clic/ a menu option that lin/s them to the
%ommunicator 9eb Access server to vie. and modiy their dial-in conerencin, settin,s- Oice
%ommunicator obtains the internal and e8ternal %ommunicator 9eb Access U"*s usin, in-band
provisionin, upon si,n-in and uses these to open the 2ial-1n %onerencin, &ettin,s 9eb pa,e in
a separate bro.ser .indo.-
Call *lo)s
!here are t.o separate lo.s to dial-in conerencin,: creatin, a dial-in conerencin,Ienabled
meetin, and Loinin, the meetin, as a dial-in participant-
Meetin" Set/u!
Oice %ommunications &erver 200' "2 introduces a ne. %entraliHed %onerence %ontrol
Protocol A%4PB command: "etConferencin"Ca!a0ilities- !he client sends a &1P &@"=1%@
reKuest containin, a "etConferencin"Ca!a0ilities reKuest to the Focus Factory to discover
capabilities o the hostin, pool- !he Focus Factory returns inormation that the client uses to orm
ddConference and Modif#Conference reKuests- For dial-in conerencin, to be oered to the
person schedulin, the meetin,( the (stn/0rid"in" $na0led value must be set to True-
!he client .ill use this inormation .hen it issues subseKuent ddConference and
Modif#Conference &@"=1%@ reKuests-
To create an non#mous/llo)ed 7ive Meetin" )ith Dial/In Conferencin"
su!!ort
1- !he client Athat is( either the %onerencin, Add-1n or Outloo/ or scheduled meetin,s or
the *ive#eetin, client or unscheduled meetin,sB sends a &1P &@"=1%@ reKuest containin, a
GetConferencin"Ca!a0ilities reKuest that ,ets pro8ied to a Focus Factory ,lobally-routable
User A,ent U"1 A?"UUB in the pool .here the user is homed-
2- !he Focus Factory e8tracts meetin, capability inormation rom its database and returns
the inormation to the client- !his inormation includes all o the dial-in conerencin, dial-in
access numbers cate,oriHed by re,ion- !he userNs location proile re,ion determines the
access numbers or the conerence-
4- !he client sends a &1P &@"=1%@ reKuest containin, an ddConference reKuest to the
Focus Factory .ith an msci:!stn/access attribute ta,- 1 the userNs #eetin, Policy reKuires
that anonymous meetin,s have passcodes( the client ,enerates a passcode( encrypts it( and
sends it as part o the reKuest-
C- !he Focus Factory creates a meetin, instance in the pool database( assi,ns it a
%onerence 12( and then returns this inormation to the client- A &1P &@"=1%@
GetConference reKuest to the Focus Factory is reKuired to complete the meetin, creation
process-
87
F- 1 the meetin, is scheduled rom the %onerencin, Add-in or Outloo/( the user sends a
meetin, invitation that contains the dial-in inormation to the other attendees- 1 the meetin, is
created by usin, the Meet No) button in the *ive #eetin, client( the meetin, creator has to
copy the dial-in inormation and send it to other attendees by usin, an instant messa,e or an
e-mail messa,e-
!he ollo.in, i,ure sho.s the seKuence o data e8chan,es bet.een the components involved-
Connectin" to the Meetin"
Authenticated Oice %ommunicator and *ive #eetin, users Aincludin, ederated usersB .ho have
a computer .ith audio capability can connect to the conerence as they did in Oice
%ommunications &erver 200'-
Assumin, dial-in attendees call in rom the P&!) on an 1&2)-P"1 trun/ that is connected to the
hostin, or,aniHationNs PEP and a media ,ate.ay is employed in the solution( the call lo. or
Loinin, the meetin, is as ollo.s:
1- !he irst Oice %ommunicator or *ive #eetin,Ibased attendee Loins the meetin,( .hich
activates the meetin, and causes "!%&rv-e8e to instantiate a meetin, Focus on a Front @nd
&erver in the pool that is hostin, the meetin,- !he Focus( in turn( reKuests the %onerencin,
&erver Factory on that server to assi,n an A+= %onerencin, &erver to the meetin, Aand other
%onerencin, &erversB-
2- A dial-in attendee dials the conerence access number listed in his or her e-mail
invitation( and the P&!) routes the call to the or,aniHationNs PEP-
4- !he PEP uses the called-party number to route the call to the media ,ate.ay- !he media
,ate.ay then transorms the call rom 1&2)-P"1 to &1P+"!P and routes the call to an Oice
%ommunications &erver #ediation &erver- A!he media ,ate.ay may not be reKuired i the
or,aniHation has an 1P-PEP that can transorm the call rom 1&2)-P"1 to &1P+"!P and route
the call directly to the #ediation &erver-B
C- 1 the number passed to the #ediation &erver is not in @-15C ormat( the coni,ured ne8t-
hop Oice %ommunications &erver Front @nd Athat is( &1P pro8yB server perorms inbound
normaliHation by usin, the #ediation &erverNs deault location proile- 1t perorms a reverse
88
number loo/up a,ainst the user database on the normaliHed called number and inds a match
.ith the %onerencin, Attendant contact obLectNs msRTCSI( 7ine 3RI-
F- !he Front @nd &erver routes the call to the %onerencin, Attendant &ervice on the pool
bound to the %onerencin, Attendant %ontact obLect-
5- !he %onerencin, Attendant &ervice on that pool automatically ans.ers the call( and a
&ecure "eal-time !ransport Protocol A&"!PB media connection is established bet.een the
#ediation &erver and the %onerencin, Attendant &ervice-
'- !he %onerencin, Attendant &ervice prompts anonymous users or their conerence 12s
and passcodes Ai assi,nedB( or i the user is an enterprise user Athat is( has an identity in the
Active 2irectory 2omain &ervicesB the userNs e8tension number and P1)- !he ollo.in, lo.
chart illustrates the prompt seKuence that the %onerencin, Attendant service ollo.s- %allers
enter responses rom their phone /eypad-
89
G- !he %onerencin, Attendant &ervice passes the %onerence 12 bac/ to the Front @nd
&erver in a &1P &@"=1%@ reKuest- !he Front @nd &erver loo/s up the conerence 12 rom the
database and responds bac/ to the %onerencin, Attendant &ervice .ith the conerence U"1
o the Focus( the meetin, 12( and the or,aniHerNs &1P address-
9- !he %onerencin, Attendant reKuests and encryption /ey rom the Focus- 1 the caller is
an @nterprise User( the %onerencin, Attendant encrypts the callerNs internal phone e8tension
and P1) and sends it in a reKuest to the Front @nd &erver to validate the callerNs identity- 1
the caller is an anonymous user and a passcode is reKuired( the %onerencin, Attendant
sends the passcode AencryptedB to the Front @nd &erver or validation-
10- 1 an enterprise user has not yet entered the meetin, and the caller is Loinin, the meetin,
as an anonymous attendee( the %onerencin, Attendant &ervice plays its on-hold music to
the caller until an enterprise user Loins the conerence-
11- 9hen user authentication is complete( the %onerencin, Attendant adds the user to the
Focus A.hich adds the user in the meetin, rosters o on-line participantsB( and the Focus
adds the user to the A+= %onerencin, &erver- !he A+= %onerencin, &erver invites the
#ediation &erver and establishes an audio connection .ith it( and tells the #ediation &erver
to drop its connection .ith the %onerencin, Attendant-
12- 9hen the irst dial-in user Loins the meetin,( the A+= %onerencin, &erver invites a
%onerencin, Announcement &ervice in its pool and a media connection is established
bet.een it and the A+= %onerencin, &erver- A!his step is done only once or any particular
meetin,-B !he %onerencin, Announcement &ervice is trusted by the Focus and by the A+=
%onerencin, &erver( so additional authentication is not reKuired- !he %onerencin,
Announcement &erver Loins the Focus and listens or state chan,es- 1t plays an entry tone or
other dial-in participants to announce that a participant has Lust Loined or let the meetin,( and
it plays a spo/en announcement messa,e or each dial-in participant .hen that participantNs
line has been muted or unmuted-
!he ollo.in, dia,ram sho.s a simpliied call lo. on an anonymous user dialin, into a meetin,
that reKuires a passcode- 1n this e8ample( the %onerencin, Attendant is in the same pool as the
meetin, Focus-
90
1 the appropriate normaliHation and routin, rules are in place in Oice %ommunications &erver(
the PEP( and media ,ate.ay( then PEP phones can also be used to access dial-in conerences
in the same manner- Oice %ommunicator Phone @dition device users can also be used to dial
into meetin,s( and since they have already authenticated( they only need enter the %onerence
12 and they are never placed on hold-
91
Des.to! Sharin" Scenario
#icrosot Oice %ommunications &erver 200' "2 includes a ne. eature( des/top sharin,( .hich
allo.s others to vie. a userNs entire des/top remotely and( .ith the userNs permission( to ta/e
control o the userNs mouse and /eyboard- !he inclusion o this eature may seem puHHlin, to
those amiliar .ith the history o the product( because the on-premises *ive #eetin, eature
introduced in Oice %ommunications &erver 200' already includes this capability and much
more( and this unctionality remains available .ith Oice %ommunications &erver 200' "2-
!here are several reasons or addin, a ne. separate des/top sharin, eature:
#icrosot already has a very mature and eicient technolo,y in .hich it continues to
invest and develop( the "emote 2es/top Protocol A"2PB( already at the core o the "emote
Assistance( "emote 2es/top( and !erminal &ervices eatures o the #icrosot 9indo.s
operatin, system- Do.ever( the *ive #eetin, technolo,y used in Oice %ommunications
&erver uses a le,acy application sharin, protocol rather than "2P- 1n Oice %ommunications
&erver 200' "2( #icrosot has be,un a transition to.ard adoptin, "2P as the universal
protocol or application sharin, Ao .hich des/top sharin, is a subsetB or Oice
%ommunications &erver-
!o use the *ive #eetin, application sharin, eature( users had to install the ull *ive
#eetin, client- @ven thou,h it is available rom #icrosot as a ree do.nload( in many cases
Wparticularly or e8ternal participants .ho .ere not employees o the or,aniHationWinstallin,
this client by end users could be problematic and time consumin,( and .ithout prior amiliarity
it sometimes conused users- Furthermore( since the *ive #eetin, client ran only on
9indo.s( Apple #acintosh and *inu8 users .ere unable to participate in these meetin,s-
1 the *ive #eetin, session .as bet.een only t.o participants( application sharin, traic
.as still relayed by a 9eb %onerencin, &erver Aormerly /no.n as a multipoint control unit
or #%UB- Additionally( i both users .ere connectin, rom the 1nternet( each pac/et o des/top
sharin, data had to traverse the 9eb %onerencin, @d,e &erver t.ice- !his architecture
imposed unnecessary .or/loads on these servers .hen the vie.in,+sharin, traic need only
communicate directly bet.een the t.o endpoints-
Users oten .ant to add des/top sharin, to an e8istin, Oice %ommunicator-based voice
call or multiparty meetin,( but because the Share Information 3sin" 7ive Meetin" menu
option in Oice %ommunicator launched a ne. client( it oten created conusion as to .hich
o the t.o clients .as controllin, the audio+video-
!he approach ta/en in Oice %ommunications &erver 200' "2 .as to leave the on-premises
*ive #eetin, capability as it .as in the 200' release but to add a ne. entirely separate des/top
sharin, eature that ,ives users an easier and more eicient .ay to share their entire des/top
remotely .ith others- Oice %ommunications &erver 200' "2 also adds 9eb bro.serIbased
des/top sharin, support or users .ho do not have any Oice %ommunications &erver client(
even anonymous AunauthenticatedB users connectin, rom the 1nternet-
!his section o the Oice %ommunications &erver 200' "2 !echnical "eerence e8plores in detail
the architecture and protocol lo.s o the des/top sharin, eature- !he ollo.in, inormation can
be useul in troubleshootin, and correctin, problems:
92
Note:
2ocumentation or end users o des/top sharin, is available at
http:++,o-microsot-com+.lin/+0lin/id31CFG00- Ey deault( the Oice %ommunications
&erver 200' "2 documentation installer ile AU%2ocumentation-msiB installs this
document to the XPro,ramFilesXY#icrosot Oice %ommunications &erver 200'
"2Y2ocumentationY2ial-in %onerencin, older on the userNs computer-
In This Section
!his section includes the ollo.in, topics:
Oice %ommunications &erver 200' "2 2es/top &harin, Architecture
2es/top &harin, %all Flo.s
Office Communications Server 2007 R2 Des.to! Sharin"
rchitecture
!o support des/top sharin,( Oice %ommunications &erver 200' "2 introduces several ne. or
enhanced architectural components:
!!lication Sharin" Conferencin" Server- !he Application &harin, %onerencin,
&erver runs as a service on each Front @nd &erver in a consolidated ront-end topolo,y and
acts as a relay hub or des/top sharin, sessions involvin, more than t.o participants or
%ommunicator 9eb Access clients- Furthermore( the %onerencin, &erver Factory and Focus
have been enhanced to communicate .ith and mana,e the Application &harin, %onerencin,
&erver-
$nhanced Office Communicator client- Oice %ommunicator 200' "2 includes "2P
client and server support and adds user interace elements or launchin,( vie.in,( and ta/in,
control o des/top sharin, sessions-
$nhanced Communicator 2e0 ccess Server- 9ith %ommunicator 9eb Access A200'
"2 releaseB( anyone .ith a supported bro.ser can Loin a des/top sharin, session-
%ommunicator 9eb Access no. supports anonymous users( .hich allo.s them to send and
receive instant messa,es and vie. the meetin, roster in addition to vie.in, the shared
des/top-
dd/On for Communicator 2e0 ccess- )e. add-ons or the 1nternet @8plorer and
Fireo8 Aor 9indo.sB bro.sers ,ives users .ithout the des/top Oice %ommunicator client
the ability to share their des/top .ith others-
!hese components are discussed in detail in the sections that ollo.-
rchitectural Overvie)
!he ollo.in, i,ure sho.s ho. the components that support des/top sharin, communicate .ith
each other-
93
(rotocols 3sed -# Des.to! Sharin"
&imilar to ho. Oice %ommunications &erver handles audio and video( des/top sharin, uses &1P
or session control( but it uses a dierent protocol to carry the mediaWin this case( display data
and /eyboard and mouse inputs-
94
1TT(S8C<(
1n the same .ay as .ith other types o meetin,s( inter-server control communications bet.een
the Focus( the Application &harin, %onerencin, &erver( and the %onerencin, &erver Factory
occur over D!!P&+%4P over !%P Port CCC-
SI(8SD( and SI(8C<(
!he Oice %ommunicator client and the %ommunicator 9eb Access server use &2P and %4P
commands embedded in &1P messa,es in order to initiate and respond to des/top sharin,
reKuests- 1 the session is bet.een only t.o parties and both are usin, Oice %ommunicator( one
or more &1P pro8ies relay the control traic to the other client-
As .ith 1# or audio+video( i three or more participants are in the meetin,( it becomes a
conerence( and the Focus Factory ,enerates a Focus or the meetin, and assi,ns it a
conerence U"1- !he Focus is instantiated as a &1P User A,ent on one o the Front @nd &ervers
o the pool assi,ned to the person .ho initiated the meetin,-
9hen a user initiates a multiparty meetin, la,,ed or des/top sharin, or .hen a user in a
multiparty 1# session escalates it to include des/top sharin,( the Focus uses D!!P+%4P to
reKuest an Application &harin, %onerencin, &erver or the meetin, rom the %onerencin,
&erver Factory( ater .hich des/top sharin, sessions bet.een all participatin, clients and the
Application &harin, %onerencin, &erver can be established-
Note:
1 one or both o the participants in a t.o-party des/top sharin, session are usin,
%ommunicator 9eb Access as a client( the call is treated as a conerence and
incorporates a Focus and an Application &harin, %onerencin, &erver-
RD(
Ater the control inormation or the des/top sharin, session has been e8chan,ed and sharin,
has been initiated( the "emote 2es/top Protocol A"2PB carries the stream o bitmaps Aor JP@?
ima,es( in the case o %ommunicator 9eb Access communicatin, .ith the Application &harin,
%onerencin, &erverB rom the sharerNs des/top to the other meetin, participants- 1 another
participant ta/es control( "2P carries the controllerNs /eyboard and mouse inputs bac/ to the
sharerNs des/top-
SRT(8SRTC(
Eecause des/top sharin, .as desi,ned to support peer-to-peer sharin, .hen the session is
bet.een only t.o parties( it aces the same challen,es as audio+video media .ith net.or/
address translation A)A!B devices and communication bet.een endpoints on the internal net.or/
and others on the 1nternet- !o address this issue( #icrosot decided to use the same Oice
%ommunications &erver inrastructure to handle both audio+video data and des/top sharin, data-
!his inrastructure includes the 1nteractive %onnectivity @stablishment A1%@B support built into the
Oice %ommunicator clients and the Oice %ommunications &erver @d,e &erver( and the use o
&ecure "eal-time Protocol A&"!PB and &ecure "eal-time %ontrol Protocol A&"!%PB or carryin,
the data( .hich in the des/top sharin, case is "2P data instead o "!Audio or "!=ideo media-
95
@ncapsulatin, "2P in &"!P pac/ets means that des/top sharin, can reuse a ,reat deal o
e8istin, unctionality and security already implemented in Oice %ommunications &erver and
Oice %ommunicator to support audio and video( and it means that @d,e &ervers reKuire no
additional unctionality to support des/top sharin, .ith remote and ederated users-
Do.ever( "2P-over-&"!P diers rom "!Audio+"!=ideo-over-"!P in that the underlyin,
transport protocol or &"!P is al.ays !%P rather than the U2P normally used or audio and video
streams- !his choice also means that much o the pac/et overhead imposed by &"!P+&"!%P
provides little or no beneit to the "2P data that is carried over it- For e8ample( &"!P+&"!%P
provides seKuence numberin, and delivery monitorin,( .hich duplicates a process already
handled by the !%P transport( and "!P+"!%P time stampin, unction Ato allo. synchroniHation
and Litter calculationB is unnecessary because des/top sharin, can tolerate much more latency
and dropped pac/ets than voice+video and still remain intelli,ible-
Note:
1 the Securit# Settin"s under the (ool (ro!erties:Media menu or pools are set to Do
not su!!ort encr#!tion( both A+= and des/top sharin, data to and rom users and
%onerencin, &ervers in that pool .ill tunnel throu,h "!P+"!%P rather than
&"!P+&"!%P- Althou,h "!P+"!%P provides all the same unctions as &"!P+&"!%P
sans encryption( this means that des/top sharin, data carried over "!P+"!%P is no
lon,er inherently secure rom eavesdroppin,- @ven thou,h "2P oers native encryption
Aenabled by deault on 9indo.s server and client operatin, systemsB( "2P encryption is
turned o in Oice %ommunications &erver 200' "2 and Oice %ommunicator 200' "2
to eliminate the overhead o needless double-encryption-
1TT(S89: D1TM7
Eecause des/top sharin, is desi,ned to support bro.ser-based clients on a variety o operatin,
systems( %ommunicator 9eb Access renders des/top sharin, data into AJAP-based 2ynamic
D!#* so that it can be displayed on a variety o bro.sers and operatin, system platorms .ithout
reKuirin, special add-ins- Users can even send /eyboard and mouse movements bac/ to the
%ommunicator 9eb Access server over 2D!#*( thereby enablin, them to remotely control
sharerNs des/tops .ithout needin, an "2P client-
Do.ever( to share display data rom a bro.ser connected to %ommunicator 9eb Access( the
bro.ser must be runnin, a special add-on that provides the reKuired "2P-over-"!P and 1%@
support- At present this add-on is available only or 1nternet @8plorer and Fireo8 or 9indo.s-
Des.to! Sharin" Com!onents
!he ollo.in, section discusses the /ey components o 2es/top &harin, in more depth-
!!lication Sharin" Conferencin" Server
As .ith the other Oice %ommunications &erver %onerencin, &ervers Aor e8ample( 1#( 9eb
%onerencin,( A+=( and !elephony %onerencin,B( the Application &harin, %onerencin, &erver
AAsmcusvc-e8eB is a 9indo.s service that runs on each ront end server in a consolidated
topolo,y independently o the Front @nd &ervice A"!%&"=-@P@B that hosts the &1P Pro8y(
"e,istrar( Focus Factory( and Focus instances- 1n an @nterprise pool( the hard.are load balancer
96
distributes reKuests or an Application &harin, %onerencin, &erver( .hich listens on !%P port
F05F( amon, the pool servers-
An Application &harin, %onerencin, &erver is used only .hen the application sharin, session
contains three or more participants or .henever one o the participants is usin, %ommunicator
9eb Access-
An Application &harin, %onerencin, &erver communicates .ith clients( .hether Oice
%ommunicator or %ommunicator 9eb Access( usin, &1P+&2P and &1P+%4P or si,nalin, and
"2P-over-&"!P or the display and remote control data- !he &1P communications are secured
by #!*&( and they use the same &&* server certiicate that is assi,ned to the Front @nd &erver-
As .ith A+= traic( the "2P+&"!P traic does not use a certiicate and instead uses Advanced
@ncryption &tandard AA@&B and a shared /ey( .hich is ne,otiated and e8chan,ed securely over
the si,nalin, channel( to encrypt and decrypt the "2P traic that it transports-
!he Application &harin, %onerencin, &erver also communicates .ith the Focus and
%onerencin, &erver Factory over D!!P&+%4P usin, the same &&* certiicate that is assi,ned to
the other Oice %ommunications &erver services on the Front @nd &erver-
!he Application &harin, %onerencin, &erver retrieves its coni,uration data by usin, 9indo.s
#ana,ement 1nstrumentation A9#1B( but the only coni,urable settin,s or the service are the
listenin, port and 1P address( the ran,e o media ports that "!P+&"!P can use( the ma8imum
number o users across all meetin,s( the ma8imum number o meetin,s( and the ma8imum
meetin, siHe-
*ocus and Conferencin" Server *actor#
!he Oice %ommunications &erver 200' "2 Focus and %onerencin, &erver Factory have been
updated to be a.are o the Application &harin, %onerencin, &erver and to communicate .ith it
in the same manner as the other conerencin, servers( primarily over D!!P&+%4P-
Office Communicator
Oice %ommunicator 200' "2 has been e8tended to support des/top sharin, so that users can
participate in des/top sharin, sessions .ithout installin, the *ive #eetin, client or any special
plu,-ins( and i the user has been assi,ned a ,lobal meetin, policy that includes the $na0le
(ro"ram and Des.to! Sharin" option( there is nothin, more or the user or the administrator to
do-
Eecause Oice %ommunicator 200' "2 is an 1%@-enabled client( it can ind the most eicient .ay
to establish peer-to-peer des/top sharin, sessions .ith other Oice %ommunicator 200' "2
clients- !he ne. version o Oice %ommunicator also adds "2P support needed or des/top
sharin,- A!his "2P support is completely independent o the "2P support in 9indo.s-B
!he user interace or invo/in, and respondin, to des/top sharin, is described in the Oice
%ommunicator Delp and in the Oice %ommunicator 200' "2 !echnical "eerence-
Communicator 2e0 ccess
#icrosot has e8tensively enhanced the 200' "2 release o %ommunicator 9eb Access in order
to provide support or participants .ho do not have access to a computer .ith either the Oice
%ommunicator or *ive #eetin, client-
97
!he addition o dial-in and dial-out conerencin, allo.s users .ith access to a phone to
participate in the audio portion o Oice %ommunicator-based meetin,s( and ne. anonymous
si,n-in support in %ommunicator 9eb Access des/top sharin, allo.s even an anonymous user
.ith access to a bro.ser to participate in online meetin,s that involve des/top sharin, Ai
permitted by Oice %ommunications &erver ,lobal #eetin, policyB-
1n order to support #acintosh and *inu8 users( %ommunicator 9eb Access displays the sharerNs
des/top in the userNs bro.ser .indo. usin, AJAP 2ynamic D!#* A2D!#*B over D!!P&- !he
%ommunicator 9eb Access server ,ets the sharerNs "2P stream rom the Application &harin,
%onerencin, &erver( .hich /no.s it is communicatin, .ith a %ommunicator 9eb Access &erver
and converts the bitmaps normally used or Oice %ommunicator vie.in, into JP@? ormat
beore streamin, them to the %ommunicator 9eb Access server over "2P+&"!P Athere is only
one stream no matter ho. many users vie.in, the particular des/top sharin, session are
connected to that %ommunicator 9eb Access serverB- !he %ommunicator 9eb Access server
translates this stream into AJAP 2D!#* and sends it over D!!P& to each participatin, bro.ser(
thereby enablin, many non-9indo.s systems to display it properly- A!he JP@? conversion that
occurs on the Application &harin, %onerencin, &erver is the reason .hy t.o-party calls involvin,
a %ommunicator 9eb Access client do not route des/top vie.in, and control data directly to the
other client-B
1n addition to vie.in, shared des/tops( users connectin, rom any supported bro.ser can also
ta/e control o the sharerNs des/top Athat is( i permission has been ,ranted by the sharerB .ithout
reKuirin, any special bro.ser add-ins or controls-
1n order to vie. des/top sharin, sessions rom 1nternet @8plorer or Fireo8( the client computer
needs to resolve t.o 2)& %)A#@&( as,ECWAserverFQDNF and
do)nload,ECWAserverFQDNF- !his reKuirement e8ists because these bro.sers .ill open no
more than t.o connections per U"* Aor e8ample( https:++c.a-contoso-comBT ho.ever( or
optimum perormance( des/top vie.in, reKuires additional open connections- !he t.o %)A#@
records allo. the bro.sers to open our more connections-
1 %ommunicator 9eb Access is published to the 1nternet( the e8ternal 2)& must be able to
resolve these %)A#@ records to the 1P address o the reverse pro8y relayin, e8ternal traic to
the %ommunicator 9eb Access server- Furthermore( because the connections to the
%ommunicator 9eb Access server or its associated reverse pro8y are over D!!P&( the
certiicates on both servers must include the t.o %)A#@& in its &ubLect Alternate )ame A&A)B
ield-
!o allo. users .ithout Active 2irectory credentials to Loin the meetin,( %ommunicator 9eb
Access .as also enhanced in Oice %ommunications &erver 200' "2 to support anonymous
si,n-in upon receipt o a meetin, invitation( and these participants ,et the same access to the
roster( 1#( and des/top sharin, capabilities as do authenticated users- 1 the or,aniHation has
published %ommunicator 9eb Access to the 1nternet( then users .ith any o the supported 9eb
bro.sers can vie. des/top sharin, sessions over the 1nternet-
dd/On for Internet $'!lorer and *irefo' for 2indo)s
1 a meetin, participant .ho is usin, %ommunicator 9eb Access .ants to share his or her
des/top( he or she must be usin, 9indo.s PP &P2 or =ista and either 1nternet @8plorer 5 &P2(
98
1nternet @8plorer '( or Fireo8 4-0-8 .ith the %9APlu,in-e8e add-on installed on it- !his add-on
provides the reKuired support or 1%@( &"!P+&"!%P( and "2P-
1 the userNs computer does not already have this add-on( upon the userNs irst attempt to share
their des/top the bro.ser .ill prompt him or her to do.nload it rom the %ommunicator 9eb
Access server as sho.n in the ollo.in,:
!he user interace o the add-on setup pro,ram is available in 1F dierent lan,ua,es- Ey deault(
the bro.serNs current lan,ua,e settin, .ill determine the lan,ua,e that the user sees- Users do
not need to have administrative privile,es to install the add-in( but on =ista systems( the user
must have User Account %ontrol enabled-
Ater %9APlu,in-e8e is do.nloaded( it installs and re,isters a set o iles into the userNs 9indo.s
proile- %9APlu,in-e8e re,isters the !!Sharin"1ostClass and s4ersion6uer#Class ActiveP
controls in 1nternet @8plorer or the n!C)a!!Sh,dll plu,-in in Fireo8-
Note:
!he add-on is not supported on 5C-bit versions o 1nternet @8plorerT users o 5C-bit
9indo.s must launch the 42-bit version o 1nternet @8plorer in order to install and use the
add-in- !he add-on does not install on 9indo.s &erver 200G-
Follo.in, are the bro.ser mana,ement dialo, bo8es that indicate Ain hi,hli,htB successul
installation Athe one on the let is or 1nternet @8plorer and the ri,ht or Fireo8B-
99
!he add-in iles ,et installed into the userNs 9indo.s proile as sho.n in the ollo.in, Athe
installation older or 1nternet @8plorer is sho.n in the top screen shot and the Fireo8 install older
in the bottom screen shotB-

100
From Oice %ommunicator( i you have multiple monitors you can choose to share Lust one
monitor- Do.ever( .hen usin, the %ommunicator 9eb Access .ith the bro.ser add-in on a
computer .ith multiple monitors( you have to share your entire des/top across all monitors-
Des.to! Sharin" Call *lo)s
!he ollo.in, topics describe ho. the si,nalin, and media lo.s are established in several basic
des/top sharin, e8amples-
Creatin" a Des.to! Sharin" Conference
As noted earlier( a des/top sharin, session bet.een t.o Oice %ommunicator clients is a peer-
to-peer session rom the point o vie. o the "!P remote display and /eyboard+mouse dataT
ho.ever( &1P control data still is pro8ied by each userNs Front @nd &erver-
!he ollo.in, i,ure sho.s a call lo. bet.een t.o Oice %ommunicator clients- Eoth clients in
the e8ample are on the internal net.or/( and both belon, to the same Oice %ommunications
&erver pool- !he clients have already established an 1# session .ith each other( and then User1
clic/s the &hare 2es/top control-
!his action causes User1Ns Oice %ommunicator client to send a &1P 1)=1!@ messa,e containin,
the ollo.in, &ession 2escription Protocol A&2PB data( includin, a list o 1%@ candidates( to
User2Ns Oice %ommunicator client to indicate that User1 .ants to share his or her des/top .ith
User2:
101
;==
o=+ = = I7 I0' !(&.!%$.!==.&=
s=session
c=I7 I0' !(&.!%$.!==.&=
)=CT:((($=
t== =
m=applicationsharing '%*% TC0-RT0-<V0 !&"
a=ice+ufrag:Qe*C
a=ice+pCd:s=a%I(/eF%.CR;u%C,en(oS
a=candidate:1 1 TCP-PASS 2120613887 19216810020 18608 t!p host
a=candidate:1 2 TCP-PASS 212061337" 19216810020 18608 t!p host
a=candidate:2 1 TCP-ACT 2121006#91 19216810020 "636 t!p host
a=candidate:2 2 TCP-ACT 2121006078 19216810020 "636 t!p host
a=cryptoscae:! cient <ESPC4P!&$PN4<CPSN<!P$=
inine:"RIe-*'Rrn>:ACNVc3LSdm:A3"y;e1IIoV'F*pT&U*!T!:!
a=crypto:& <ESPC4P!&$PN4<CPSN<!P$=
inine:*t-f3Q#F81o*-F4ea!c&/71TfV/AS<4&?9-VSduT&U*!T!:!
a=setup:acti;e
a=connection:neC
a=rtcp:'%*%
a=mid:!
a=rtpmap:!&" /+data-(====
a=/+appications1aring+session+id:!
a=$-applicationsharing-role:sharer
a=$-applicationsharing-%edia-t!pe:rdp
1 User2 accepts the invite( his or her Oice %ommunicator client sends bac/ an OJ .ith a list o
1%@ candidates- Eoth clients evaluate the 1%@ candidate pairs- User1 then sends a ne. &1P
1)=1!@ messa,e containin, the .innin, 1P address or his or her computer( and User2 returns a
200 OJ messa,e .ith the .innin, 1P address or his or her computer- Ey usin, this inormation(
the t.o Oice %ommunicator clients establish an &"!P session over !%P bet.een the t.o
ne,otiated endpoints( and User1 sends an "2P stream that mirrors his or her des/top to User2
over the &"!P channel-
ddin" a 3ser to a Des.to! Sharin" Conference
%ontinuin, on .ith this same e8ample( User1 needs to add a third participant( User4( to the
e8istin, des/top sharin, meetin, .ith User2- A1n this e8ample( User4 is also in the same pool as
User1 and User2-B User1 clic/s the Invite button( clic/s Invite a Contact( and then clic/s 3ser<-
102
At this point( the meetin, must transition rom a peer-to-peer session to a multiparty conerence(
.ith 1# traic routed throu,h an 1# %onerencin, &erver and the des/top sharin, traic throu,h
an Application &harin, %onerencin, &erver-
!his transition starts .hen User1Ns client sends a &1P &@"=1%@ messa,e to its Front @nd service
speciyin, a ne. conerence 12 and a reKuest or a Focus and conerencin, servers or the
possible meetin, modalities A1#( 9eb conerencin,( A+= conerencin,( and application sharin,B-
!he Focus Factory provisions a meetin, Focus and .rites it to the bac/-end database- User1
then sends a &1P 1)=1!@ to the Focus- !he Front @nd &erver instantiates the Focus on one o the
Front @nd &ervers in its pool( .hich in turn communicates .ith an %onerencin, &erver Factory in
that pool to have speciic conerencin, servers assi,ned to it-
1n this e8ample( only the 1# %onerencin, &erver and the Application &harin, %onerencin,
&erver are reKuired- !he Focus communicates .ith both( adds a conerence to each( and then
re,isters a channel in each or User1-
#ean.hile( User1Ns client sends a &1P &UE&%"1E@ messa,e to the Focus( .hich returns the
details o the conerence- &ubseKuent &1P 1)FO messa,es sent to the Focus return additional
provisionin, data to User1Ns client-
At this point User1Ns client send a &1P 1)=1!@ messa,e to the 1# %onerencin, &erver( thereby
establishin, a session .ith it( and it also sends a &1P 1)=1!@ to the Application &harin,
%onerencin, &erver containin, an &2P messa,e .ith its 1%@ candidates- As described earlier
or the peer-to-peer session( User1Ns client and the Application &harin, %onerencin, &erver
evaluate the candidates( ater .hich User1Ns client sends a ne. &1P 1)=1!@ messa,e containin,
its .innin, candidate and the Application &harin, %onerencin, &erver then replies .ith its
.innin, candidate- !he &"!P session is then established over !%P bet.een the t.o ne,otiated
endpoints-
)e8t( User1Ns client sends a ne. &1P 1)=1!@ messa,e( .hich contains the U"1 o the meetin,
Focus( to User2Ns client- User 1Ns client also e8chan,es &1P E:@ messa,es .ith %lient2( causin,
it to drop the earlier !%P+&"!P+"2P session-
)o. User2Ns client sends a &1P 1)=1!@ to the Focus( obtains the conerence inormation( and
reKuests that the Focus add User2 to the 1# %onerencin, &erver and the Application &harin,
%onerencin, &erver- User2Ns client sends a &1P &UE&%"1E@ reKuest to the Focus and then
invites the 1# %onerencin, &erver and the Application &harin, %onerencin, &erver in the same
manner as User1Ns client-
1n the last sta,e o the process( User1Ns client sends a &1P 1)=1!@ messa,e( .hich contains the
U"1 o the meetin, Focus to User4Ns client( and then ends the session .ith a &1P E:@- User4Ns
client uses the obtained U"1 to send a &1P 1)=1!@ messa,e to the Focus and Loins the meetin,
and conerencin, servers in e8actly the same .ay as User2Ns client did-
As this point( all three users are connected to the Focus( the 1# %onerencin, &erver( and the
Application &harin, %onerencin, &erver- User1 is sharin, his or her des/top( .hich is sent over
the !%P+&"!P channel to the Application &harin, %onerencin, &erver( .here it is repeated bac/
to the clients o User2 and User4- !he Focus publishes the meetin, roster to the clients( .hich
no. sho.s User1 currently sharin, his or her des/top-
103
Note:
1n the ollo.in, dia,rams( the &1P A%Js and some other traic have been s/ipped or
readability-

104
Des.to! Sharin" Session Control
!he user .ho initiates des/top sharin, has ull control over his or her computer( and by deault
the other participants can only vie. the shared des/top or selected monitor- 1 the sharer .ants to
,ive another participant control( he or she can ,ive that individual control( .hile other participants
can only vie. the des/top- !he user .ho initiates sharin, can also choose to share control .ith
all participants( but there is no .ay to allo. a subset o participants to have controlT it is ,ranted
either to one participant at a time or to all participants-
1 the sharer clic/s Share Control )ith ll (artici!ants( it reKuires communication and
cooperation bet.een the participants( because any attendee can seiHe control at any time- !he
sharer( ho.ever( can rescind shared control at any time( .hich a,ain ,ives him or her sole control
o the des/top- !he ollo.in, lo. chart sho.s ho. control o sharin, .or/s-
105
Oice %ommunications &erver 200' "2 permits only one participantNs des/top to be shared at a
time- 1 another participant shares his or her des/top( the ori,inal sharerNs des/top session is
closed and replaced by a vie. o the ne. sharerNs des/top- !his is not somethin, the meetin,
leader can control- All meetin, participants .hose meetin, policy settin,s include $na0le
!ro"ram and des.to! sharin" can cause an e8istin, sharin, session to terminate and be
replaced .ith their o.n shared des/top or monitor-
106
Note:
%ommunicator 9eb Access users have a similar sharin, and remote control e8perience(
e8cept that users .ith multiple monitors cannot select a sin,le monitorT they can share
their entire des/top only- Also( the sharerNs assi,ned meetin, policy determines .hether
anonymous users can ta/e control o his or her des/top-
Communicator 2e0 ccess Scenario
%ommunicator 9eb Access A200' "2 releaseB is a bro.ser-based application that provides
access to the instant messa,in, A1#B( audio( and des/top sharin, capabilities o Oice
%ommunications &erver 200' "2- Usin, only an 1nternet connection and a 9eb bro.ser(
%ommunicator 9eb Access enables you to ta/e advanta,e o Oice %ommunications &erver
200' "2 eatures even .hen you are a.ay rom your personal computer- %ommunicator 9eb
Access is similar to Oice %ommunicator 200' "2( ma/in, it easy to s.itch bet.een the t.o
applications- Eoth applications provide you access to the same contact list and similar 1#( call
mana,ement( and des/top sharin, capabilities- Audio unctions in %ommunicator 9eb Access
A200' "2 releaseB enable you to place voice calls to both yoursel and a remote contact by usin,
the Oice %ommunications &erver 200' "2 to create an audio channel or conerencin,-
In This Section
!his section contains the ollo.in, topics:
Functionality Overvie.
%ommunicator 9eb Access %ore Architecture
%ommunicator 9eb Access Audio
Note:
%ommunicator 9eb Access A200' "2 releaseB includes des/top sharin,- %ommunicator
9eb Access users can share their main monitor .ith other %ommunicator 9eb Access
users or .ith Oice %ommunicator 200' "2 users- For details about des/top sharin,(
includin, the %ommunicator 9eb Access A200' "2 releaseB des/top sharin, scenario(
see 2es/top &harin, &cenario-
*unctionalit# Overvie)
%ommunicator 9eb Access A200' "2 releaseB improves communication or branch oice
employees( or business travelers and telecommuters .ho .or/ at 1nternet /ios/s( .hich
eectively reduces ,eo,raphic barriers that can hinder productivity- %ommunicator 9eb Access
provides instant messa,in, A1#B( presence( audio dial out( and des/top sharin, capability or
users .hen they are a.ay rom the oice- !he e8perience o usin, the bro.ser-based
%ommunicator 9eb Access is similar to usin, the des/top-based Oice %ommunicator 200' "2-
!he unctionality o the %ommunicator 9eb Access A200' "2 releaseB ocuses on presence
inormation( 1#( des/top sharin,( and dial-out e8perience to ensure usability across as many
platorms and bro.sers as possible- Users can still use tools such as corporate directory
inte,ration( support or distribution ,roups( and the ability to mana,e contact lists-
107
!he des/top sharin, capability ,ives users the ability to share their des/top on a 9indo.s-based
computer- Anyone .ho is a part o the des/top sharin, sessions can be ,iven access to vie. and
control the des/top( .hich means that the le8ibility to .or/ as a team is not hindered by distance-
"esiHin, and pannin, controls enable participants to vie. the conversation in comort and audio
dialo,ue can be added to the sharin, sessions- %ommunicator 9eb Access can also place the
call or the user-
!he %ommunicator 9eb Access servers are deployed .ithin the corporate net.or/ and orm part
o the Oice %ommunications &erver 200' "2 deployment- )o Active 2irectory schema
e8tensions are reKuired .hen you deploy %ommunicator 9eb Access-
In This Section
)e. %ommunicator 9eb Access Features
Oice %ommunicator and 9eb Access Feature %omparison
Ne) Communicator 2e0 ccess *eatures
%ommunicator 9eb Access A200' "2 releaseB and Oice %ommunicator 200' "2 provide the
ollo.in, ne. eatures:
Colla0orate )ith e'ternal or"ani;ations, %ommunicator 9eb Access A200' "2
releaseB provides customers and business partners outside o your or,aniHation the ability to
Loin conerencin, and collaboration sessions easily and ine8pensively- 1nvite anyone .ith a
9eb bro.ser to Loin a conversation that you are hostin,( share your des/top .ith a vendor to
discuss a proLect( or start a conerence call .ith a sta/eholder and route the call to your
mobile device-
Des.to! sharin", Users can see everythin, happenin, on someone elseNs computer(
and can even be ,iven the ri,ht to control that computer- People runnin, #icrosot 9indo.s
and a supported 9eb bro.ser can share their des/tops .ith others- Anyone runnin, a
supported 9eb bro.ser Aincludin, people usin, #acintosh or *inu8 computersB can vie. and
control a shared des/top-
Dial/out conference audio, :ou can add audio conerencin, Athat is( usin, standard
telephones( includin, cell phonesB to any e8istin, instant messa,in, A1#B or des/top sharin,
session- :ou supply the names o each person to ta/e part in the audio conerence( and
%ommunicator 9eb Access calls each person( and sets up and mana,es the conerence call-
Su!!ort for distri0ution "rou!s, Users can add distribution ,roups to their contact list
and e8chan,e instant messa,es .ith all Aor someB o the members o those ,roups-
Customi;e the lo"in screen and lin.s, :our 1! department has the ability to customiHe
lo,in screen and lin/s-
Su!!ort for 0ro)sers other than Internet $'!lorer, 9hile not strictly a ne. eature(
the list o alternate bro.sers is e8panded in %ommunicator 9eb Access A200' "2 releaseB-
!he ollo.in, table outlines the supported bro.sers-
108
Ta0le +, Su!!orted -ro)sers
O!eratin" s#stem -ro)ser
#icrosot 9indo.s 2000 .ith &ervice Pac/ C
A&PCB
1nternet @8plorer 5-0 .ith &P1
9indo.s PP .ith &P2 1nternet @8plorer 5-0 .ith &P2
1nternet @8plorer '-0
Fireo8 4-0-P
9indo.s =ista 1nternet @8plorer '-0
Fireo8 4-0-P
#acintosh O& 10-4-9 &aari 1-4-P
Fireo8 4-0-P
#acintosh O& 10-F-C &aari 1-4-P
Fireo8 4-0-P
"ed Dat *inu8 2-15 Fireo8 4-0-P
DP UP Fireo8 4-0-P
1E# A1P Fireo8 4-0-P
&un &olaris Fireo8 4-0-P
Office Communicator and 2e0 ccess *eature Com!arison
Oice %ommunicator 9eb Access A200' "2 releaseB and the Oice %ommunicator 200' "2
client have many o the same eatures- Do.ever( the eature set is not an e8act duplication- Ey
amiliariHin, yoursel .ith the dierences bet.een them( you can troubleshoot more eectively(
and provide better user support and trainin,-
*eature Com!arison
*eature Office Communicator 2007 R2 Communicator 2e0 ccess
%2007 R2 release&
"ich presence :es :es
%all or.ardin, :es :es
1nstant messa,in, :es :es
%lic/-to-call audio :es )o
109
*eature Office Communicator 2007 R2 Communicator 2e0 ccess
%2007 R2 release&
Audio conerencin, :es :es
Anonymous Loin :es :es
Attendant console support :es :es
Admin support :es )o
"esponse ,roup support :es )o
!eam %all :es :es
=ideo :es )o
*ive #eetin, :es )o
2istribution ,roups :es :es
@8tensible tabs :es :es
%ustom lo,on screen and
menus
)o :es
%ustom authentication )o :es
Uero do.nload )o :es
)on-9indo.s+across platorms no :es
%all delection :es :es
*ocation :es )o
%ustom states :es :es
Personal note :es :es
%ontact card :es :es
Public instant messa,in, A1#B
connectivity
:es :es
Federation :es :es
&u,,estive search :es )o
Outloo/ contact search :es )o
?lobal address list A?A*B
contact search
:es( usin, Address Eoo/
&erver
:es( usin, Active 2irectory
2es/top sharin, :es :es
110
Communicator 2e0 ccess Core rchitecture
%ommunicator 9eb Access A200' "2 releaseB is comprised o three main components: the Hero
do.nload bro.ser-based client( the application lo,ic layer( and the Uniied %ommunications
#ana,ed Application 1nterace AU%#AB layer- !he application lo,ic layer and the U%#A layer are
hosted on the %ommunicator 9eb Access A200' "2 releaseB server and orm a .eb site that is
hosted by 1nternet 1normation &erver A11&B 5-0 or '-0-
!he %ommunicator 9eb Access A200' "2 releaseB server is a middle tier bet.een the bro.ser
client and the Oice %ommunications &erver 200' "2 pool- !he %ommunicator 9eb Access
server does not provide any unctionality .ithout the pool- Users .ith accounts homed on an
Oice %ommunications &erver 200' pool are not supported- Do.ever( you can coni,ure the
%ommunicator 9eb Access A200' "2 releaseB server to redirect users .ho are homed on an
Oice %ommunications &erver 200' pool to a %ommunicator 9eb Access A200' releaseB server-
11& provides the authentication services or %ommunicator 9eb Access A200' "2 releaseB- 11&
provides this service either throu,h inte,rated authentication in the case o a domain-Loined
.or/station or throu,h orms-based authentication in the case o an e8ternal user( or &aari or
Fireo8 users- %ommunicator 9eb Access A200' "2 releaseB server does not provide
authentication services- Ater the authentication to/en is passed rom 11& to the %ommunicator
9eb Access A200' "2 releaseB server( the server does not attempt or perorm any urther
authentication-
9hen the client bro.ser contacts the %ommunicator 9eb Access A200' "2 releaseB 9eb site( a
compressed Java&cript client is do.nloaded rom the %ommunicator 9eb Access A200' "2
releaseB server Athat is( by usin, 11&B to the client bro.ser- 1n the case o a domain-Loined
.or/station that uses 1nternet @8plorer( inte,rated authentication occurs- 1n the case o a non-
domain Loined 9indo.s-based .or/station that uses 1nternet @8plorer( &aari( or Fireo8( the
client displays a orms-based authentication screen .here the user enters a valid &ession
1nitiation Protocol A&1PB address and pass.ord- !he client bro.ser must accept pop-up .indo.s
rom the %ommunicator 9eb Access A200' "2 releaseB server-
As can be seen in the ollo.in, i,ure( the %ommunicator 9eb Access A200' "2 releaseB server
is a virtual 9eb site that is hosted by an 11& server- !he bro.ser-based client communicates .ith
11& throu,h the D!!P& protocol- !he 11& passes the data pac/ets to the client communication
component .hich translates the incomin, P#* pac/et and sends the pac/et to the application
lo,ic layer- !he application lo,ic layer perorms actions based on the P#* header and( throu,h
the U%#A( passes those results to the Oice %ommunications &erver 200' "2 pool throu,h &1P-
!he path rom the pool server to the client is the reverse as ollo.s: pool to U%#A( U%#A to the
application lo,ic layer( application lo,ic layer to the client communication component( and inally
throu,h D!!P& to the bro.ser-based client-
111
*i"ure +, Communicator 2e0 ccess %2007 R2 release& server architecture
!he %ommunicator 9eb Access A200' "2 releaseB server components are nearly stateless- !he
application lo,ic layer maintains persistent states or the D!!P& to client lin/ and the Athat is(
throu,h the U%#AB re,istered user endpoints- !he client posts a ?et reKuest ater each receive
pac/et to establish the ability or the server to send more data .ithout a speciic client reKuest-
!he ?et reKuest is necessary so that the server can send the bro.ser client data( such as
conversation reKuests or contact list presence chan,es- !he open ?et reKuest cycle is controlled
by the %ommunicator 9eb Access A200' "2 releaseB server load control unction .hich can
reKuest that clients delay postin, the ne8t open ?et reKuest-
112
3CM 7a#er *unctions
!he U%#A layer o the %ommunicator 9eb Access A200' "2 releaseB server uses the U%#A
application pro,rammin, interace AAP1B to do the ollo.in,:
%reate and mana,e all o the communications bet.een the %ommunicator 9eb Access
A200' "2 releaseB server and the Oice %ommunications &erver 200' "2 pool-
%reate and mana,e a User@ndpoint( re,istered .ith the Oice %ommunications &erver
200' "2 pool( or each user o the %ommunicator 9eb Access A200' "2 releaseB server-
%reate and mana,e all sessions( such as 1# sessions( bet.een the users o the
%ommunicator 9eb Access A200' "2 releaseB server and the Oice %ommunications &erver
200' "2 pool-
&ubscribe to presence inormation about the user Athat is( sel inormationB and the userNs
contacts-
Publish presence inormation on behal o the users o the %ommunicator 9eb Access
A200' "2 releaseB server-
!!lication 7o"ic 7a#er *unctions
!he application lo,ic layer is a translator bet.een the pool and the Asynchronous Java&cript And
P#* AAJAPB and acilitates communication .ith the Java&cript client- !he application lo,ic layer
provides the ollo.in, basic unctions:
"e,isters user endpoint- *o,ically( the Oice %ommunications &erver 200' "2 pool sees
the application lo,ic layer user endpoint as the client( not the actual client on the bro.ser-
#ana,es pro8y client communications to and rom the pool- !he client bro.ser is never
in direct contact .ith the Oice %ommunications &erver 200' "2 pool-
#aintains the re,istered user endpoint or each user connected to %ommunicator 9eb
Access 200' "2-
!he User@ndpoint is the obLect that the %ommunicator 9eb Access A200' "2 releaseB server
uses to support all the operations bet.een the client runnin, in the userNs bro.ser and the Oice
%ommunications &erver 200' "2 pool- !he User@ndpoint is used to do the ollo.in,:
&ubscribe to the sel-presence inormation or the re,istered user( includin,:
*ist o contacts
Published phone numbers
%all handlin, settin,s Athat is( or.ardin,( simultaneous rin,( and so onB
Publish presence inormation or the user-
"e,ister or incomin, session reKuests rom the Oice %ommunications &erver 200' "2
server-
%reate out,oin, sessions reKuested by the client usin, their bro.ser-
!he %ommunicator 9eb Access A200' "2 releaseB server attempts to minimiHe the amount o
state that it maintains or each re,istered user- As reKuests and data are received by the
application layer rom the Oice %ommunications &erver 200' "2 pool( they are or.arded to the
113
userNs bro.ser session- As reKuests and data are received rom the userNs bro.ser session( they
are or.arded to the Oice %ommunications &erver 200' "2 pool-
Client *unctions
!he client unctionality or %ommunicator 9eb Access A200' "2 releaseB is implemented by a set
o Java&cript libraries that are do.nloaded to the bro.ser .hen the userNs session .ith the
%ommunicator 9eb Access A200' "2 releaseB server starts- !hese code libraries are sent rom
the %ommunicator 9eb Access A200' "2 releaseB server in a compressed orm to the bro.ser
and provide the communications unctions and lo,ic o the %ommunicator 9eb Access A200' "2
releaseB client- !he libraries also provide the user interace AU1B o the %ommunicator 9eb
Access A200' "2 releaseB client alon, .ith the 2D!#* in the 9eb pa,es-
!he ollo.in, i,ure sho.s the architecture o the bro.ser-based client- All communication .ith
the %ommunicator 9eb Access A200' "2 releaseB server is by D!!P&- !he data pac/ets are
P#*- !he overall layout has three layers: the pro8y layer( the data and lo,ic layer( and the U1
layer- !he U1 layer consists o the visual components that are presented to the user in the orm o
bro.ser .indo.s- !he sole e8ception to this paradi,m is the system alert .hich appears in the
orm o a small pane slidin, open rom the system tray-
114
*i"ure 2, Communicator 2e0 ccess %2007 R2 release& client architecture
!he pro8y *ayer is the only component o the client to communicate .ith the server- 1t is
responsible or sendin, D!!P reKuests and receivin, D!!P responses rom the server- !he data
and lo,ic layer is responsible or mana,in, data and lo,ic or the user endpoint- !he U1 layer
provides all user input and screen that the user sees-
!he client provides all user interace unctions- Ater the user lo,s on( the client perorms the
ollo.in, actions automatically .ith reKuirin, user input:
!he client uses the re,istered user endpoint to publish a set o endpoint capabilities .ith
the Oice %ommunications &erver 200' "2 pool-
!he client reKuests sel data rom the pool- &el data includes contacts( end points( client
coni,uration( and calendar data-
!he data and lo,ic layer consists o the user session( the presence mana,er( the contact list
mana,er( the options mana,er( the conversation mana,er( the system alert mana,er( the search
115
mana,er( and the component store- 1n the U1 layer( there is a one-to-one relationship bet.een
the U1 component and the mana,er in the data and lo,ic layer- For @8ample( the system alert
mana,er controls the U1 system alerts and included unctions( and the conversation mana,er
aects the U1 conversation .indo.-
A use case e8ample o an 1# conversation .ould use the server communicator Apro8y layerB( the
user session( the presence mana,er Athat is( to report to the pool that the user state has
chan,edB( and then the component store invo/es the conversation mana,er( .hich opens a
conversation .indo.- 2urin, the course o the conversation( i the user receives a data pac/et
that needs open a system alert to notiy the user o an audio call( the component store .ill invo/e
the system alert mana,er .hich then opens a system alert-
1n each case .here you use the component store to control the U1 e8perience( the headers in the
data pac/et contain inormation rom Oice %ommunications &erver 200' "2 that determine
.hich unction is bein, called( .hile the data and lo,ic layer determines ho. to respond to the
P#* pac/et header- !he previous conversation e8ample is duplicated or each component
mana,er- !he P#* pac/et is received( the P#* header indicates the actionAsB to be ta/en( and
the component store either tri,,ers a ne. conversation instance or adds components to the
e8istin, conversation .indo.s-
Communicator 2e0 ccess udio
!here are t.o basic audio scenarios or %ommunicator 9eb Access A200' "2 releaseB- Eoth o
the ollo.in, scenarios enable %ommunicator 9eb Access A200' "2 releaseB to control audio
calls( althou,h %ommunicator 9eb Access A200' "2 releaseB clients do not have audio
capability:
Scenario +: $nter!rise 4oice/ena0led Communicator 2e0 ccess %2007 R2 release&
user has an incomin" voice call,Oice %ommunications &erver 200' "2 or/s the call to all
re,istered endpoints- !he %ommunicator 9eb Access A200' "2 releaseB endpoint that is
maintained in the %ommunicator 9eb Access A200' "2 releaseB data lo,ic layer is a valid
re,istered endpoint( but the %ommunicator 9eb Access A200' "2 releaseB client cannot
perorm audio unction- !hereore( .hen the data lo,ic layer in %ommunicator 9eb Access
A200' "2 releaseB receives the call notiication( the data lo,ic layer sho.s the user a system
alert .ith call delection options that are obtained rom sel-data and the data lo,ic layer
enables the user to input a custom number- !he path throu,h the client is pro8y layer( user
session( component store( system alert mana,er( and inally the system alert- !he data lo,ic
layer receives the response rom the client and passes this data bac/ to Oice
%ommunications &erver 200' "2( .hich ta/es the action dictated by the user- !he callin,
party is placed on hold or the amount o time that it ta/es to respond to the system alert-
Ater the data pac/et rom the client is returned to the data lo,ic layer( the data lo,ic layer
passes the data bac/ to the Oice %ommunications &erver 200' "2 pool or action-
Scenario 2: Communicator 2e0 ccess %2007 R2 release& user )ith an o!en
instant messa"in" %IM& conference )ants to add audio,From an e8istin, 1# conerence(
the %ommunicator 9eb Access A200' "2 releaseB user adds audio- !he user selects a
number rom the displayed sel-data or the user enters a custom number- !he client sends
this inormation alon, .ith the reKuest to add audio to the %ommunicator 9eb Access A200'
116
"2 releaseB data lo,ic layer- !he data lo,ic layer si,nals to the other conerence users that
audio is bein, added and it ta/es one o the ollo.in, actions:
1 the called party is @nterprise =oice( the connection is made to a valid re,istered
endpoint or to an Oice %ommunicator instance-
1 the called party is a %ommunicator 9eb Access A200' "2 releaseB user( the
%ommunicator 9eb Access A200' "2 releaseB server invo/es the call delection
scenario-
Oice %ommunications &erver 200' "2 can call any ,lobal or local number that is allo.ed by the
%ommunicator 9eb Access A200' "2 releaseB userNs location proile- For e8ample( i the
%ommunicator 9eb Access A200' "2 releaseB user inputs a telephone number that is not
reachable by Oice %ommunications &erver 200' "2 because o routin, restrictions or phone
usa,es( the call ails-
In This Section
!his section contains the ollo.in, topics:
%ommunicator 9eb Access Audio &cenarios
%all 2election &ession 1nitiation Protocol A&1PB !racin,
Add Audio &ession 1nitiation Protocol A&1PB !racin,
Communicator 2e0 ccess udio Scenarios
%ommunicator 9eb Access A200' "2 releaseB does not support the initiation o a direct audio call
rom the contact list or any direct audio device- %ommunicator 9eb Access A200' "2 releaseB
supports the ollo.in, t.o-party and multiparty audio scenarios- @ach scenario is accomplished
.ith either call delection or addin, audio to an e8istin, conversation- &everal scenarios are
outlined to sho. that %ommunicator 9eb Access A200' "2 releaseB participates in the scenarios
even thou,h there is no action ta/en by the %ommunicator 9eb Access A200' "2 releaseB user-
%ommunicator 9eb Access A200' "2 releaseB can also add instant messa,in, A1#B or des/top
sharin, to e8istin, audio- Do.ever( this action results in t.o completely dierent sessions: one or
the ori,inal audio and one or the ne. 1# or des/top sharin, session- @ach scenario is illustrated
as a conversation bet.een an Oice %ommunicator 200' "2 client Aor clientsB and a
%ommunicator 9eb Access A200' "2 releaseB session-
T)o/(art# udio Scenario
Receive ne) t)o/!art# audio onl# call %call deflection&: 1 Oice %ommunicator 200' "2 calls
a %ommunicator 9eb Access A200' "2 releaseB user( the %ommunicator 9eb Access A200' "2
releaseB user sees the audio system alert and can select to redirect the call to a phone device-
!he redirected call is sent to the phone device and has no association .ith %ommunicator 9eb
Access A200' "2 releaseB ater the redirection- !he redirection selection list comes rom the
Oice %ommunications &erver 200' "2 user sel-inormation data- !he user may also enter a
custom number- 1n either case( Oice %ommunications &erver 200' "2 must be able to place
calls to the redirection number- 1 the user enters a phone number that is not allo.ed due to
location proile( phone usa,es( or route settin,s( the call ails-
117
Receive reHuest to add audio conversation to an e'istin" IM/onl# conversation %call
deflection&: %ommunicator 9eb Access A200' "2 releaseB is in an e8istin, 1# conversation .ith
Oice %ommunicator 200' "2- Oice %ommunicator 200' "2 adds audio- %ommunicator 9eb
Access A200' "2 releaseB receives an audio system alert- %ommunicator 9eb Access A200' "2
releaseB user can choose to redirect the audio call to a phone device- !he redirected call is not
associated .ith %ommunicator 9eb Access 200' "2 ater delection- !he %ommunicator 9eb
Access A200' "2 releaseB presence does not chan,e to In a Call-
In e'istin" t)o/!art# audio conversation and the other user adds IM: %ommunicator 9eb
Access A200' "2 releaseB is in an e8istin, audio conversation .here the %ommunicator 9eb
Access A200' "2 releaseB user is on cell phone Athat is( .ith no associated conversation .indo.B
.ith an Oice %ommunicator 200' "2 user- !he Oice %ommunicator 200' "2 user sees the
%ommunicator 9eb Access A200' "2 releaseB user in his roster and chooses to add 1#-
%ommunicator 9eb Access A200' "2 releaseB user sees a system alert and a conversation
.indo. opens .ith the instant messa,e- !he audio conversation .indo. and the %ommunicator
9eb Access A200' "2 releaseB 1# conversation are not associated- !here is no connection in
%ommunicator 9eb Access bet.een the ori,inal audio conversation and the ne. 1# .indo.-
Communicator 2e0 ccess %2007 R2 release& user is in an e'istin" t)o/!art# audio
conversation and sends IM to the other user: A %ommunicator 9eb Access A200' "2
releaseB user is in an e8istin, t.o-party audio conversation .ith Oice %ommunicator 200' "2-
!he %ommunicator 9eb Access A200' "2 releaseB user no. .ants to communicate .ith the
same Oice %ommunicator 200' "2 user by usin, 1#- !he %ommunicator 9eb Access A200'
"2 releaseB inds the Oice %ommunicator 200' "2 user in the contact list and clic/s to start 1#-
!he Oice %ommunicator 200' "2 user sees a ne. .indo. open or the ne. 1# invitation- !he
Oice %ommunicator 200' "2 user has t.o .indo.s open .ith the %ommunicator 9eb Access
A200' "2 releaseB user- !here is no connection in %ommunicator 9eb Access bet.een the
ori,inal audio conversation and the ne. 1# .indo.-
Conference %Multi!art#& udio Scenario
Initiate three or more !art# audio/onl# conference from the contact list %add audio&: A
%ommunicator 9eb Access A200' "2 releaseB user can initiate an audio conerence rom the
contact list by multi-selectin, t.o or more contacts in the contact list- Ater choosin, the
conerence members( the %ommunicator 9eb Access A200' "2 releaseB user can select the
phone icon( and direct Oice %ommunications &erver 200' "2 to call the selected phone number
to initiate the audio portion o the conerence- Ater the audio call is placed to the %ommunicator
9eb Access A200' "2 releaseB user( the other participants are invited to Loin the audio
conerence-
dd audio to e'istin" IM/onl# conference %add audio&: A %ommunicator 9eb Access A200'
"2 releaseB user is in a conerence .ith other users .here 1# is the only modality- !he
%ommunicator 9eb Access A200' "2 releaseB user .ants to add audio to the conerence- !he
%ommunicator 9eb Access A200' "2 releaseB user clic/s the phone icon to add audio- An audio
setup pane appears .here the %ommunicator 9eb Access A200' "2 releaseB user selects the
sel-inormation phone number he .ants to use- !he Oice %ommunicator &erver 200' "2 A+=
conerencin, server initiates the audio call to the %ommunicator 9eb Access user and sends
audio invitations to the other participants-
118
Receive ne) audio/onl# conference invitation %call deflection&: %ommunicator 9eb Access
A200' "2 releaseB user can receive and Loin an audio-only conerence- !he %ommunicator 9eb
Access A200' "2 releaseB user can select .hich phone number she .ants to use or the
conerence by selectin, the number rom the conerence system alert- A conversation .indo.
appears .ith all o the conerence participants in the roster- !he %ommunicator 9eb Access
A200' "2 releaseB userNs phone rin,s and the user can communicate by usin, audio .ith all o
the conerence participants-
Receive reHuest to add audio to e'istin" IM/onl# conference %call deflection&: A
%ommunicator 9eb Access A200' "2 releaseB user is in an e8istin, 1#-only conerence and a
participant in the conerence adds audio- !he %ommunicator 9eb Access A200' "2 releaseB
user receives an audio system alert- !he %ommunicator 9eb Access A200' "2 releaseB user
accepts the call by speciyin, a sel-inormation phone number to receive the call- !here is no
connection bet.een the ori,inal 1# conversation and the ne. audio call-
Receive ne) audio and IM conference invitation %call deflection&: !he %ommunicator 9eb
Access A200' "2 releaseB user receives an invitation to Loin a conerence .ith 1# and audio- !he
system alert is a conerence system alert that enables the %ommunicator 9eb Access A200' "2
releaseB user to Loin the conerence- 1n the conerence .indo.( under =oin audio conference(
the %ommunicator 9eb Access A200' "2 releaseB user selects one o the sel-inormation phone
numbers rom .hich he .ants to redirect the audio call- 1# is also enabled-
Receive ne) audio5 IM5 and a!!lication sharin" conference invitation %call deflection&:
Other than the addition o the des/top sharin, eature( this scenario is identical in unction to the
previous scenario-
$scalation
In an e'istin" t)o/!art# audio conversation and the Office Communicator 2007 R2 user
adds another !artici!ant: A %ommunicator 9eb Access A200' "2 releaseB user is in an
e8istin, t.o-party audio conversation .ith an Oice %ommunicator 200' "2 user- !he Oice
%ommunicator 200' "2 user is usin, the rich client =oice over 1nternet Protocol A=o1PB unctions
and the %ommunicator 9eb Access A200' "2 releaseB user is on a phone device Athat is( there is
no %ommunicator 9eb Access A200' "2 releaseB U1 associated .ith the callB- !he Oice
%ommunicator 200' "2 user sees the %ommunicator 9eb Access A200' "2 releaseB user in her
roster as Loined to the audio conversation- !he Oice %ommunicator 200' "2 user chooses to
add another participant to the audio conversation- !he other participant is successully added
and Loined to the audio conversation- All three participants appear in the Oice %ommunicator
200' "2 userNs roster and they can all hear each other- 1n this scenario( the %ommunicator 9eb
Access A200' "2 releaseB user ta/es no action and the Oice %ommunications &erver 200' "2
A+= conerencin, server is controllin, the audio brid,e that allo.s the audio conerence to reach
all participants-
In e'istin" t)o/!art# audio conversation and Office Communicator 2007 R2 user adds
des.to! sharin": !he %ommunicator 9eb Access A200' "2 releaseB user is in e8istin, t.o-
party audio conversation .ith an Oice %ommunicator 200' "2 user- !he %ommunicator 9eb
Access A200' "2 releaseB user is on a phone device and the Oice %ommunicator 200' "2 user
is terminatin, audio throu,h Oice %ommunicator 200' "2- !he Oice %ommunicator 200' "2
user sees the %ommunicator 9eb Access A200' "2 releaseB user in the roster- !he Oice
119
%ommunicator 200' "2 user chooses to add des/top sharin, to the conversation- !he
%ommunicator 9eb Access A200' "2 releaseB user sees a system alert or des/top sharin, and
clic/s the system alert to accept the invitation- !he %ommunicator 9eb Access A200' "2
releaseB user sees a bro.ser open .ith the Oice %ommunicator 200' "2 user and himsel listed
in the roster- !he audio call is still active and there is no connection bet.een the audio call and
the des/top sharin, session-
The Office Communicator 2007 R2 user no) adds another !artici!ant: !he %ommunicator
9eb Access A200' "2 releaseB user is usin, a phone device or an audio conversation .ith the
Oice %ommunicator 200' "2 user and has a bro.ser .indo. open or des/top sharin, .ith the
same Oice %ommunicator 200' "2 user- )o. a third person is invited to the application sharin,
session- !he third person is Loined to the audio conversation and des/top sharin, session- All
three users can spea/ .ith each other- As noted previously( the %ommunicator 9eb Access
A200' "2 releaseB user ta/es no action and the audio conversation and the des/top sharin,
session have no connection-
The Communicator 2e0 ccess %2007 R2 release& user adds another !artici!ant: !he
%ommunicator 9eb Access A200' "2 releaseB user adds another participant to the audio
conversation and des/top sharin, session- !he Focus Factory /no.s that audio and des/top
sharin, are enabled( so the Focus Factory sends the appropriate invitations to the ne.
participant- !he ne. participant is Loined to the audio conversation and des/top sharin, session-
%ommunicator 9eb Access A200' "2 releaseB still does not connect the audio conversation and
the des/top sharin, session-
Call Deflection Session Initiation (rotocol %SI(& Tracin"
!he ollo.in, &ession 1nitiation Protocol A&1PB pac/ets illustrate the pertinent data bet.een an
Oice %ommunications &erver 200' "2 pool Front @nd &erver and a %ommunicator 9eb Access
A200' "2 releaseB server or the call delection scenario- !he %ommunicator 9eb Access A200'
"2 releaseB user delects the incomin, call to voice mail-
All incomin, calls to %ommunicator 9eb Access A200' "2 releaseB sessions meet this scenario-
An audio call is or/ed to all valid endpoints- "e,ardless o the source o the call( i the incomin,
call is directed at the %ommunicator 9eb Access A200' "2 releaseB session( the delection
scenario is valid-
Call Deflection SI( Tracin" Scenario
1n this scenario( a %ommunicator 9eb Access A200' "2 releaseB session e8ists- User1 is on
%ommunicator 9eb Access A200' "2 releaseB and User2 is on Oice %ommunicator 200' "2-
User2 on Oice %ommunicator 200' "2 initiates an audio call to a phone number- An invitation
rom Oice %ommunicator 200' "2 is sent to the pool Front @nd &erver-
T5PI7F>WTFP0R>T>ffice Communicator &==" R& >5X
J!K=<&C.=<(C::=%-&&-&==(+!":#$:'$.(&&.===((*#d
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$<&F(
120
,irection: incoming
0eer: !(&.=.&.!'*:!**!
4essage+Type: request
Start+5ine: I7VITE sip:.!&=%###=!=!@itCareinc.com;user=p1one SI0-&.=
From: 2sip:9ser&@itCareinc.com6;tag=ea!)*ca)%);epid=&!*)e=ea'a
To: 2sip:.!&=%###=!=!@itCareinc.com;user=p1one6
CSeq: ! I7VITE
Ca+I,: a(c&e)%!a*"(''("(e%)a(=ad)f$%(ce
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!
4a/+ForCards: "=
Contact: 2sip:9ser&@itCareinc.com;opaque=user:epid:9)*!d8tFySN#+
i8iRS<g<<;gruu6
9ser+<gent: 9CC<0I-*.#.%(=".( >ffice Communicator &==" R& -*.#.%(=".*'
W4icrosoft >ffice Communicator &==" R&X
4s+Con;ersation+I,: <cnIA/Lc;y19-nIFRR?=(Es!*1t#ug==
Supported: timer
Supported: 1istinfo
Supported: ms+safe+transfer
Supported: ms+sender
Supported: ms+eary+media
Supported: Repaces
Supported: !==re
ms+Feep+ai;e: 9<C;1op+1op=yes
<oC: I7VITEE :AEE <C?E C<7CE5E I7F>E 90,<TEE REfront end RE 7>TIFAE
:E7>TIFAE >0TI>7S
0+0referred+Identity: 2sip:9ser&@itCareinc.com6E 2te:.!'&####=!(=6
Supported: ms+conf+in;ite
0ro/y+<ut1oriIation: ?er)eros qop=@aut1@E ream=@SI0 Communications
Ser;ice@E opaque=@&'C$'!"(@E targetname=@sip-ocs.itCareinc.com@E
crand=@&!*"c!d(@E cnum=@"*@E
response=@%=&*=%=(&a$%'$$%f"!&=!=&=&=!=!!!==ffffffff!e!*&d=f%('dca!=%&"
#(f!)a&)&#*$c@
Content+Type: mutipart-aternati;e;)oundary=@++++
=P7e/t0artP===P=<'!P=!C(F*&$.%(%<$%==@
Content+5engt1: '"$%
4essage+:ody: ++++++=P7e/t0artP===P=<'!P=!C(F*&$.%(%<$%==
121
Content+Type: appication-sdp
YYendPrecord
!he pool server determines that the phone number is a contact( and that the only re,istered
endpoint is %ommunicator 9eb Access A200' "2 releaseB- !he pool Front @nd &erver sends the
invitation to %ommunicator 9eb Access A200' "2 releaseB- 1n a situation .here there is more
than one re,istered endpoint( the Front @nd &erver or/s the call to all valid endpoints- 1n this
case( %ommunicator 9eb Access A200' "2 releaseB is the only endpoint-
T5PI7F>WTFP0R>T>ffice Communicator &==" R& >5X
J!K=<&C.=<(C::=%-&&-&==(+!":#$:'$.(#*.===((*(f
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$<*=&
,irection: outgoing
0eer: c&alit&areincco%:#061
4essage+Type: request
Start+5ine: '()'T* sip:c&alit&areincco%:#061;transport=Ts;ms+
opaque=*=*a''%)f&(%e#e& SI0-&.=
From: @9ser&@2sip:9ser&@itCareinc.com6;tag=ea!)*ca)%);epid=&!*)e=ea'a
To: 2sip:.!&=%###=!=!@itCareinc.com;user=p1one6;epid='#':F"","$
CSeq: ! I7VITE
Ca+I,: a(c&e)%!a*"(''("(e%)a(=ad)f$%(ce
ms+user+data: ms+pu)iccoud=true;ms+federation=true
Record+Route:
2sip:ocs.itCareinc.com:#=%!;transport=ts;opaque=state:T:F;r6;tag=='E
*&C%*::%:"CF!'$(!<,*'&*F%&(<=
Via: SI0-&.=-T5S
!(&.!%$.#.&$:&#=";)ranc1=I(1S')?'!"$=,!*.%,!:#*:,=!,#F,C$;)ranc1ed=TR9E
4a/+ForCards: %(
ms+appication+;ia: )acFendPtoFen;ms+ser;er=ocs.itCareinc.com;ms+
poo=ocs.itCareinc.com;ms+appication=<:="&FF=+C(!$+'&'c+<C!&+
"C!==E(!front end *E
Content+5engt1: '"$%
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!;ms+recei;ed+port=!**!;ms+recei;ed+
cid=#$&==
0+<sserted+Identity: @9ser&@2sip:9ser&@itCareinc.com6E2te:
.!'&####=!(=6
122
Contact: 2sip:9ser&@itCareinc.com;opaque=user:epid:9)*!d8tFySN#+
i8iRS<g<<;gruu6
9ser+<gent: 9CC<0I-*.#.%(=".( >ffice Communicator &==" R& -*.#.%(=".*'
W4icrosoft >ffice Communicator &==" R&X
4s+Con;ersation+I,: <cnIA/Lc;y19-nIFRR?=(Es!*1t#ug==
Supported: timer
Supported: 1istinfo
Supported: ms+safe+transfer
Supported: ms+sender
Supported: ms+eary+media
Supported: Repaces
Supported: !==re
ms+Feep+ai;e: 9<C;1op+1op=yes
<oC: I7VITEE :AEE <C?E C<7CE5E I7F>E 90,<TEE REfront end RE 7>TIFAE
:E7>TIFAE >0TI>7S
Supported: ms+conf+in;ite
Content+Type: mutipart-aternati;e;)oundary=@++++
=P7e/t0artP===P=<'!P=!C(F*&$.%(%<$%==@
Nistory+Info: 2sip:9ser!@itCareinc.com6;inde/=!
4essage+:ody: ++++++=P7e/t0artP===P=<'!P=!C(F*&$.%(%<$%==
Content+Type: appication-sdp
YYendPrecord
!he Front @nd &erver sends 101 Pro,ress "eport to the caller Athat is( on Oice %ommunicator
200' "2B-
T5PI7F>WTFP0R>T>ffice Communicator &==" R& >5X
J=K=<&C.=E"C::=%-&&-&==(+!":#$:'$.(#*.===((*f)
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$<*=%
,irection: outgoing;source=@oca@
0eer: !(&.=.&.!'*:!**!
4essage+Type: response
Start+5ine: SI0-&.= !=! 0rogress Report
From: @9ser&@2sip:9ser&@itCareinc.com6;tag=ea!)*ca)%);epid=&!*)e=ea'a
To: 2sip:.!&=%###=!=!@itCareinc.com;user=p1one6
CSeq: ! I7VITE
123
Ca+I,: a(c&e)%!a*"(''("(e%)a(=ad)f$%(ce
0ro/y+<ut1entication+Info: ?er)eros
rspaut1=@%=&*=%=(&<$%'$$%F"!&=!=&=&=!=!!!==FFFFFFFF*#%::=,(,",F"<!'F:#F
#:=*:('#C%$$@E srand=@E,$,$&*"@E snum=@!!$@E opaque=@&'C$'!"(@E
qop=@aut1@E targetname=@sip-ocs.itCareinc.com@E ream=@SI0
Communications Ser;ice@
Content+5engt1: =
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!;ms+recei;ed+port=!**!;ms+recei;ed+
cid=#$&==
ms+diagnostics: !*==';reason=@Request Cas pro/ied to one or more
registered
endpoints@;source=@ocs.itCareinc.com@;app7ame=@In)oundRouting@
Ser;er: In)oundRouting-*.#.=.=
4essage+:ody: Z
YYendPrecord
!he Front @nd &erver receives 404 Pro8y &hould "edirect messa,e rom the %ommunicator 9eb
Access A200' "2 releaseB server- !his is the result o the %ommunicator 9eb Access A200' "2
releaseB user selectin, the redirect to voice mail option in the system alert-
T5PI7F>WTFP0R>T>ffice Communicator &==" R& >5X
J!K=<&C.=#(C::=%-&&-&==(+!":#(:=!."%%.===(a**%
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$<'$#
,irection: incoming
0eer: cCa.itCareinc.com:#=%!
4essage+Type: response
Start+5ine: SI0-&.= *=* 0ro/y S1oud Redirect
From: @9ser&@2sip:9ser&@itCareinc.com6;tag=ea!)*ca)%);epid=&!*)e=ea'a
To: @9ser!@2sip:
.!&=%###=!=!@itCareinc.com;user=p1one6;tag=)a#!c)%d%$;epid='#':F"","$
CSeq: ! I7VITE
Ca+I,: a(c&e)%!a*"(''("(e%)a(=ad)f$%(ce
VI<: SI0-&.=-T5S
!(&.!%$.#.&$:&#=";)ranc1=I(1S')?'!"$=,!*.%,!:#*:,=!,#F,C$;)ranc1ed=TR9E
ESI0-&.=-T5S !(&.=.&.!'*:!**!;ms+recei;ed+port=!**!;ms+recei;ed+
cid=#$&==
C>7T<CT: 2sip:+ser1,lit&areincco%-opa./e=app:0oice%ail6
124
C>7TE7T+5E7STN: =
SERVER: RTCC-*.#.=.= CL<-*.#.=.=
4essage+:ody: Z
YYendPrecord
!he Front @nd &erver sends A%J or the 404 messa,e to %ommunicator 9eb Access A200' "2
releaseB to notiy the %ommunicator 9eb Access A200' "2 releaseB user that the call .as
actually redirected to voice mail by the Front @nd &erver-
T5PI7F>WTFP0R>T>ffice Communicator &==" R& >5X
J!K=<&C.=#(C::=%-&&-&==(+!":#(:=!."%%.===(a*'d
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$<'$%
,irection: outgoing;source=@oca@
0eer: cCa.itCareinc.com:#=%!
4essage+Type: request
Start+5ine: <C? sip:cCa.itCareinc.com:#=%!;transport=Ts;ms+
opaque=*=*a''%)f&(%e#e& SI0-&.=
From: @9ser&@2sip:9ser&@itCareinc.com6;tag=ea!)*ca)%);epid=&!*)e=ea'a
To: @+ser112sip:
31206###0101,lit&areincco%-/ser=phone6;tag=)a#!c)%d%$;epid='#':F"","$
CSeq: ! <C?
Ca+I,: a(c&e)%!a*"(''("(e%)a(=ad)f$%(ce
Via: SI0-&.=-T5S
!(&.!%$.#.&$:&#=";)ranc1=I(1S')?'!"$=,!*.%,!:#*:,=!,#F,C$;)ranc1ed=F<5SE
4a/+ForCards: "=
Content+5engt1: =
4essage+:ody: Z
YYendPrecord
dd udio Session Initiation (rotocol %SI(& Tracin"
!he ollo.in, &ession 1nitiation Protocol A&1PB trace pac/ets illustrate the call lo.s to accomplish
the %ommunicator 9eb Access A200' "2 releaseB Add Audio scenario-
!he initial state is that User1 and User2 are in an instant messa,in, A1#B session and User1 as/s
to add audio to the session- User1 is usin, %ommunicator 9eb Access A200' "2 releaseB and
User2 is usin, Oice %ommunicator 200' "2-
Note:
@8ample pac/ets have been redacted to increase clarity-
125
%ommunicator 9eb Access A200' "2 releaseB User1 sends a &@"=1%@ pac/et to as/ or the
conerencin, capabilities o the Oice %ommunications &erver 200' "2-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'&.%(#.===(ef!d
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord 0eer: cCa.itCareinc.com:**$=
Instance+Id: ==!$CF!!
,irection: incoming
4essage+Type: request
Start+5ine: SERVICE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory SI0-&.=
From: 2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag="fc"'f$&#&
To: 2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6
CSeq: !#== SERVICE
Ca+I,: #e%#&d=$e=da'*&")$"*"("f!e!#a)"d
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?d$)*)(*f
C>7TE7T+5E7STN: *(#
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
C>7TE7T+TA0E: appication-cccp./m
4essage+:ody: 2M/m ;ersion=@!.=@ encoding=@utf+$@M62request
requestId=@!@ from=@sip:9ser!@itCareinc.com@
to=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory@
C*0Version=@!@
/mns:msci=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions
@ /mns:mscp=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-cccpe/tensions@
/mns=@urn:ietf:params:/m:ns:cccp@62getConferencingCapa)iities
-62-request6
YYendPrecord
!he pool server responds .ith the capability set-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=F"$::=%-&&-&==(+!$:!$:'&.%(#.===(ef&c
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF!&
,irection: outgoing;source=@oca@
126
0eer: cCa.itCareinc.com:**$=
4essage+Type: response
Start+5ine: SI0-&.= &== >?
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag="fc"'f$&#&
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6;tag=='E*&C
%*::%:"CF!'$(!<,*'&*F%&(<=
CSeq: !#== SERVICE
Ca+I,: #e%#&d=$e=da'*&")$"*"("f!e!#a)"d
Content+5engt1: &=$(
Via: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?d$)*)(*f;ms+recei;ed+
port=**$=;ms+recei;ed+cid=!*%F==
Content+Type: appication-cccp./m
YYendPrecord
%ommunicator 9eb Access A200' "2 releaseB sends a &@"=1%@ reKuest to ,et the conerence
/ey-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'*.**#.===(f=&$
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF%:
,irection: incoming
0eer: cCa.itCareinc.com:**$=
4essage+Type: request
Start+5ine: SERVICE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory SI0-&.=
From: 2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=''f("=&%"e
To: 2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6
CSeq: !#=! SERVICE
Ca+I,: a''fe*!"=*($'''"$)*$"(e&dfe)%%f&
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?#f)"f!=
C>7TE7T+5E7STN: *$'
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
127
C>7TE7T+TA0E: appication-cccp./m
4essage+:ody: 2M/m ;ersion=@!.=@ encoding=@utf+$@M62request
requestId=@&@ from=@sip:9ser!@itCareinc.com@
to=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory@
C*0Version=@!@
/mns:msci=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions
@ /mns:mscp=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-cccpe/tensions@
/mns=@urn:ietf:params:/m:ns:cccp@62get*ncr!ption4e! -62-request6
YYendPrecord
!he pool server Athat is( the con:ocusactoryB responds .ith the /ey-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'*.**#.===(f=*"
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF%C
,irection: outgoing;source=@oca@
0eer: cCa.itCareinc.com:**$=
4essage+Type: response
Start+5ine: SI0-&.= &== >?
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=''f("=&%"e
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6;tag=='E*&C
%*::%:"CF!'$(!<,*'&*F%&(<=
CSeq: !#=! SERVICE
Ca+I,: a''fe*!"=*($'''"$)*$"(e&dfe)%%f&
Content+5engt1: !$(*
Via: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?#f)"f!=;ms+recei;ed+
port=**$=;ms+recei;ed+cid=!*%F==
Content+Type: appication-cccp./m
YYendPrecord
%ommunicator 9eb Access A200' "2 releaseB reKuests that a conerence be created-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'*.%%*.===(f=")
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF$"
128
,irection: incoming
0eer: cCa.itCareinc.com:**$=
4essage+Type: request
Start+5ine: SERVICE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory SI0-&.=
From: 2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag='*#df=%)'*
To: 2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6
CSeq: !#=& SERVICE
Ca+I,: =c"c'e!(ed%#'a*($'*%&&a&%*(#cdc&
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?a("&&#"#
C>7TE7T+5E7STN: !"=$
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
C>7TE7T+TA0E: appication-cccp./m
YYendPrecord
!he server Athat is( the con:ocusactoryB responds .ith the conerence Uniorm "esource
1dentiier AU"1B-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=F"$::=%-&&-&==(+!$:!$:'*.%%*.===(f=$a
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF$$
,irection: outgoing;source=@oca@
0eer: cCa.itCareinc.com:**$=
4essage+Type: response
Start+5ine: SI0-&.= &== >?
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag='*#df=%)'*
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6;tag=='E*&C
%*::%:"CF!'$(!<,*'&*F%&(<=
CSeq: !#=& SERVICE
Ca+I,: =c"c'e!(ed%#'a*($'*%&&a&%*(#cdc&
Content+5engt1: !&%&
Via: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?a("&&#"#;ms+recei;ed+
port=**$=;ms+recei;ed+cid=!*%F==
Content+Type: appication-cccp./m
4essage+:ody: 2response /mns=@urn:ietf:params:/m:ns:cccp@
129
2addConference6
2conference+info /mns=@urn:ietf:params:/m:ns:conference+info@
entity=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR
33SNE9Q&4=?VNA!C==%F=T#,@ state=@partia@ ;ersion=@!@-6
2-addConference6
2-response6
YYendPrecord
%ommunicator 9eb Access A200' "2 releaseB sends a &@"=1%@ to reKuest inormation or
conerences that are o.ned by User1 A.ith /eyB-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'*.("%.===(f=()
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF(!
,irection: incoming
0eer: cCa.itCareinc.com:**$=
4essage+Type: request
Start+5ine: SERVICE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory SI0-&.=
From: 2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=*)($"!!((e
To: 2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6
CSeq: !#=* SERVICE
Ca+I,: a&'d%&(e=%d&'$'&a(!f)af)"#&fc$c%
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?(ac"efa!
C>7TE7T+5E7STN: !*&(
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
C>7TE7T+TA0E: appication-cccp./m
YYendPrecord
!he pool server Athat is( the con:ocusactoryB responds .ith encrypted inormation-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=F"$::=%-&&-&==(+!$:!$:'*.("%.===(f=aa
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF(&
,irection: outgoing;source=@oca@
0eer: cCa.itCareinc.com:**$=
4essage+Type: response
130
Start+5ine: SI0-&.= &== >?
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=*)($"!!((e
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory6;tag=='E*&C
%*::%:"CF!'$(!<,*'&*F%&(<=
CSeq: !#=* SERVICE
Ca+I,: a&'d%&(e=%d&'$'&a(!f)af)"#&fc$c%
Content+5engt1: '(!%
Via: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?(ac"efa!;ms+recei;ed+
port=**$=;ms+recei;ed+cid=!*%F==
Content+Type: appication-cccp./m
4essage+:ody: 2response /mns=@urn:ietf:params:/m:ns:cccp@
from=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focusfactory@
to=@sip:9ser!@itCareinc.com@ code=@success@6
2getConference6
2conference+info /mns=@urn:ietf:params:/m:ns:conference+info@
entity=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR
33SNE9Q&4=?VNA!C==%F=T#,@ state=@fu@ ;ersion=@!@6
2conference+description6
2conf+uris6
2entry6
2uri61ttp:--sc1emas.microsoft.com-&==$-=#-conf/menc[content2-uri6
2purpose6Ce)+interna2-purpose6
2-encrypted+uri6
2-entry6
2-conf+uris6
2conference+id
/mns=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions@6L#&
R*?CR33SNE9Q&4=?VNA!C==%F=T#,2-conference+id6
YYendPrecord
%ommunicator 9eb Access A200' "2 releaseB sends an 1)=1!@ to cause the Focus Factory to
Loin User1 to the conerence by callin, her-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:''.'!*.===(f=d=
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$CF<%
,irection: incoming
131
0eer: cCa.itCareinc.com:**$=
4essage+Type: request
Start+5ine: I7VITE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q&
4=?VNA!C==%F=T#, SI0-&.=
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=''aeda'dc
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6
CSeq: !#=' I7VITE
Ca+I,: %d="$""!+$)ad+'!e(+a=$#+&&*&*$'$d=c"
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?#cace$f#
C>7T<CT: 2sip:9ser!@itCareinc.com;opaque=user:epid:#C(s<;igE!?;pTRT+
qTSSg<<;gruu6;te/t;audio;;ideo;appications1aring
C>7TE7T+5E7STN: ('"
S900>RTE,: ms+diaog+route+set+update
S900>RTE,: gruu+!=
S900>RTE,: timer
S900>RTE,: !==re
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
C>7TE7T+TA0E: appication-cccp./m
<55>L: 90,<TE
Session+E/pires: !$==
4in+SE: (=
<55>L: <cFE CanceE :yeEIn;iteE4essageEInfoESer;iceE>ptionsE:e7otify
4essage+:ody: 2request
requestId=@#@
from=@sip:9ser!@itCareinc.com@

to=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SN
E9Q&4=?VNA!C==%F=T#,@
C*0Version=@!@
/mns:msci=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions
@ /mns=@urn:ietf:params:/m:ns:cccp@6
2add9ser6
132
2conference?eys

confEntity=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R
*?CR33SNE9Q&4=?VNA!C==%F=T#,@ -6
2user
entity=@sip:9ser!@itCareinc.com@
/mns=@urn:ietf:params:/m:ns:conference+info@6
2dispay+te/t69ser!X2-dispay+te/t6
2roes6
2entry6attendee2-entry6
2-roes6
2endpoint
entity=@G=ef"%)a!+"$(=+'')*+aeaa+*a&%e*e=e&(eH@
msci:endpoint+
uri=@sip:9ser!@itCareinc.com;opaque=user:epid:#C(s<;igE!?;pTRT+
qTSSg<<;gruu@6
28oining+met1od6diaed+in2-8oining+met1od6
2-endpoint6
2-user6
2-add9ser6
2-request6
YYendPrecord
Ater User1 is in the conerence( %ommunicator 9eb Access A200' "2 releaseB invites User2 to
the conerence-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=#(C::=%-&&-&==(+!$:!$:'%.'!'.===(f$'&
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,=*$
,irection: incoming
0eer: cCa.itCareinc.com:**$=
4essage+Type: request
Start+5ine: I7VITE
sip:9ser&@itCareinc.com;opaque=user:epid:9)*!d8tFySN#+i8iRS<g<<;gruu
SI0-&.=
From: @9ser!2sip:9ser!@itCareinc.com6;epid=:(=($=<!$:;tag=&(ff%%d=&!
133
To: 2sip:9ser&@itCareinc.com;opaque=user:epid:9)*!d8tFySN#+
i8iRS<g<<;gruu6
CSeq: !#!* I7VITE
Ca+I,: "$'(&$e"+a)!*+'$#*+a=f=+)a!cf(*!(&)*
4<3+F>RL<R,S: "=
VI<: SI0-&.=-T5S !(&.=.&.!":**$=;)ranc1=I(1S')?")fea)df
C>7T<CT: 2sip:9ser!@itCareinc.com;opaque=user:epid:#C(s<;igE!?;pTRT+
qTSSg<<;gruu6;te/t;audio;;ideo;appications1aring
C>7TE7T+5E7STN: &'"
S900>RTE,: ms+diaog+route+set+update
S900>RTE,: gruu+!=
S900>RTE,: !==re
9SER+<SE7T: RTCC-*.#.=.= CL<-*.#.=.=
C>7TE7T+TA0E: appication-ms+conf+in;ite./m
<55>L: 90,<TE
4s+Con;ersation+I,: )'#%*!df%'ae'=)$$=!$*='*ca'&'cef
<55>L: <cFE CanceE :yeEIn;ite
4essage+:ody: 2Conferencing ;ersion=@&.=@6
2focus+
uri6sip:+ser1,lit&areincco%-gr//-opa./e=app:con5:5oc/s:id:6#2734C788S9
*+:2;04)9<1C006=0T#>2-focus+uri6
2su)8ect -6
2im a;aia)e=@true@ additiona=@fase@6
2first+im -6
2-im6
2-Conferencing6
YYendPrecord
User2 sends the 1)=1!@ to the Focus reKuestin, to Loin the conerence-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=<(C::=%-&&-&==(+!$:!$:'%.'&(.===(f$d!
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,='$
,irection: incoming
0eer: !(&.=.&.!'*:!**!
4essage+Type: request
134
Start+5ine: I7VITE
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q&
4=?VNA!C==%F=T#, SI0-&.=
From: 2sip:9ser&@itCareinc.com6;tag=(dde=&*('(;epid=&!*)e=ea'a
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6
CSeq: ! I7VITE
Ca+I,: )'a*fe#a#!c$'d$e(%=$"'d)c$$d*a%$
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!
4a/+ForCards: "=
Contact: 2sip:9ser&@itCareinc.com;opaque=user:epid:9)*!d8tFySN#+
i8iRS<g<<;gruu6
9ser+<gent: 9CC<0I-*.#.%(=".( >C-*.#.%(=".*' W4icrosoft >ffice
Communicator &==" R&X
Supported: timer
Supported: 1istinfo
Supported: ms+safe+transfer
Supported: ms+sender
Supported: ms+eary+media
ms+Feep+ai;e: 9<C;1op+1op=yes
<oC: I7VITEE :AEE <C?E C<7CE5E I7F>E 90,<TEE REFERE 7>TIFAE :E7>TIFAE
>0TI>7S
0ro/y+<ut1oriIation: ?er)eros qop=@aut1@E ream=@SI0 Communications
Ser;ice@E opaque=@&'C$'!"(@E targetname=@sip-u&r&ocs.itCareinc.com@E
crand=@&=d$c!a%@E cnum=@&!=@E
response=@%=&*=%=(&a$%'$$%f"!&=!=&=&=!=!!!==ffffffffe#ad'$)"(ad$d#%&fa$
%#%e'd"e&*dd*@
Content+Type: appication-cccp./m
Content+5engt1: "*%
4essage+:ody: 2M/m ;ersion=@!.=@M6
2request /mns=@urn:ietf:params:/m:ns:cccp@
/mns:mscp=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-cccpe/tensions@
C*0Version=@!@
to=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SN
E9Q&4=?VNA!C==%F=T#,@ from=@sip:9ser&@itCareinc.com@
requestId=@=@62add9ser62conference?eys
135
confEntity=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R
*?CR33SNE9Q&4=?VNA!C==%F=T#,@-62ci:user
/mns:ci=@urn:ietf:params:/m:ns:conference+info@
entity=@sip:9ser&@itCareinc.com@62ci:roes62ci:entry6attendee2-ci:entr
y62-ci:roes62ci:endpoint entity=@G<:&<<E('+#(<(+'('C+(#*"+
('$C!!$&F#(#H@
/mns:msci=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions
@-62-ci:user62-add9ser62-request6
YYendPrecord
&ession pro,ress 200 OJ and an invitation dialo, bo8 is created-
T5PI7F>WTFP0R>T>C>5X J=K=<&C.=#(C::=%-&&-&==(+!$:!$:'%.'&(.===(f(%d
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,=#&
,irection: outgoing;source=@oca@
0eer: !(&.=.&.!'*:!**!
4essage+Type: response
Start+5ine: SI0-&.= &== In;ite diaog created
From: @9ser&@2sip:9ser&@itCareinc.com6;tag=(dde=&*('(;epid=&!*)e=ea'a
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6;tag='C=E==$=
CSeq: ! I7VITE
Ca+I,: )'a*fe#a#!c$'d$e(%=$"'d)c$$d*a%$
ms+Feep+ai;e: 9<S; tcp=no; 1op+1op=yes; end+end=no; timeout=*==
Record+Route:
2sip:u&r&ocs.itCareinc.com:#=%!;transport=ts;opaque=state:F:T:Ci.R#$&
==;r;ms+route+sig=1e&AN!LS8ER)%+QiS/ISV"'o09+d5!u?>AS0pC<<6
0ro/y+<ut1entication+Info: ?er)eros
rspaut1=@%=&*=%=(&<$%'$$%F"!&=!=&=&=!=!!!==FFFFFFFFE%E=%C'($#=!&%*!%=#&
"#E(<!:$&:=:@E srand=@"!F((=%F@E snum=@&$#@E opaque=@&'C$'!"(@E
qop=@aut1@E targetname=@sip-u&r&ocs.itCareinc.com@E ream=@SI0
Communications Ser;ice@
Content+5engt1: !*&&
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!;ms+recei;ed+port=!**!;ms+recei;ed+
cid=#$&==
<oC: I7VITEE :AEE <C?E C<7CE5E I7F>E 90,<TE
136
Contact:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6;isfocus
Content+Type: appication-cccp./m
Session+E/pires: "&==;refres1er=uac
Require: timer
Supported: timer
4essage+:ody: 2response /mns=@urn:ietf:params:/m:ns:cccp@
/mns:msacp=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-acpconfinfoe/tens
ions@
/mns:msas=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-asconfinfoe/tensio
ns@
/mns:tns=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-a;confinfoe/tension
s@ /mns:mscp=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-cccpe/tensions@
/mns:msci=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-confinfoe/tensions
@
/mns:msdata=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-dataconfinfoe/te
nsions@
/mns:msim=@1ttp:--sc1emas.microsoft.com-rtc-&==#-=$-imconfinfoe/tensio
ns@
/mns:msci&=@1ttp:--sc1emas.microsoft.com-rtc-&==$-!&-confinfoe/tension
s@
/mns:msendpt=@1ttp:--sc1emas.microsoft.com-rtc-&==$-!&-endpointinfoe/t
ensions@ /mns:ci=@urn:ietf:params:/m:ns:conference+info@
/mns:cis=@urn:ietf:params:/m:ns:conference+info+separator@
/mns:mss=@urn:ietf:params:/m:ns:mss@ requestId=@=@ C*0Version=@!@
from=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33
SNE9Q&4=?VNA!C==%F=T#,@ to=@sip:+ser2,lit&areincco%1 code=1s/ccess@6
2add9ser6
2conference?eys
confEntity=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R
*?CR33SNE9Q&4=?VNA!C==%F=T#,@-6
2ci:user entity=@sip:9ser&@itCareinc.com@6
2ci:roes6
2ci:entry6attendee2-ci:entry6
2-ci:roes6
2-ci:user6
2-add9ser6
137
2-response6
YYendPrecord
1)FO rom User2 to the Focus .ith /ey-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=<(C::=%-&&-&==(+!$:!$:'%.'%=.===(f(a*
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,=#:
,irection: incoming
0eer: !(&.=.&.!'*:!**!
4essage+Type: request
Start+5ine: I7F>
sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q&
4=?VNA!C==%F=T#, SI0-&.=
From: 2sip:9ser&@itCareinc.com6;tag=(dde=&*('(;epid=&!*)e=ea'a
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6;tag='C=E==$=
CSeq: & I7F>
Ca+I,: )'a*fe#a#!c$'d$e(%=$"'d)c$$d*a%$
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!
4a/+ForCards: "=
Route:
2sip:u&r&ocs.itCareinc.com:#=%!;transport=ts;opaque=state:F:T:Ci.R#$&
==;r;ms+route+sig=1e&AN!LS8ER)%+QiS/ISV"'o09+d5!u?>AS0pC<<6
9ser+<gent: 9CC<0I-*.#.%(=".( >C-*.#.%(=".*' W4icrosoft >ffice
Communicator &==" R&X
Supported: ms+diaog+route+set+update
Supported: timer
0ro/y+<ut1oriIation: ?er)eros qop=@aut1@E ream=@SI0 Communications
Ser;ice@E opaque=@&'C$'!"(@E targetname=@sip-u&r&ocs.itCareinc.com@E
crand=@ad(e"d$)@E cnum=@&!#@E
response=@%=&*=%=(&a$%'$$%f"!&=!=&=&=!=!!!==ffffffff($!e="e#ea=f!*=)a#"
cc&ed(&da#$)&@
Content+Type: appication-cccp./m
Content+5engt1: !&$#
4essage+:ody: 2M/m ;ersion=@!.=@M6
YYendPrecord
138
202 accepted rom User2 to con:ocus-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=F$=::=%-&&-&==(+!$:!$:'%.'%=.===(f()!
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,=#C
,irection: outgoing;source=@oca@
0eer: !(&.=.&.!'*:!**!
4essage+Type: response
Start+5ine: SI0-&.= &=& <ccepted
From: 2sip:9ser&@itCareinc.com6;tag=(dde=&*('(;epid=&!*)e=ea'a
To:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6;tag='C=E==$=
CSeq: & I7F>
Ca+I,: )'a*fe#a#!c$'d$e(%=$"'d)c$$d*a%$
0ro/y+<ut1entication+Info: ?er)eros
rspaut1=@%=&*=%=(&<$%'$$%F"!&=!=&=&=!=!!!==FFFFFFFFE=E(F&%(C"$*FF$<EC:%
:F%"=&$,,C=F@E srand=@$(,$<=*F@E snum=@&$"@E opaque=@&'C$'!"(@E
qop=@aut1@E targetname=@sip-u&r&ocs.itCareinc.com@E ream=@SI0
Communications Ser;ice@
Via: SI0-&.=-T5S !(&.=.&.!'*:!**!;ms+recei;ed+port=!**!;ms+recei;ed+
cid=#$&==
Content+5engt1: =
4essage+:ody: Z
YYendPrecord
!he pool server Athat is( con:ocusB sends out 1)FO .ith details o the conerence and the
participants-
T5PI7F>WTFP0R>T>C>5X J!K=<&C.=F$=::=%-&&-&==(+!$:!$:'%.'%=.===(f(f#
WSI0StacFESI0<dmin5og::Trace0rotocoRecord:SI0<dmin5og.cppW!&&XXY
Y)eginPrecord
Instance+Id: ==!$,=%#
,irection: outgoing;source=@oca@
0eer: !(&.=.&.!'*:!**!
4essage+Type: request
Start+5ine: I7F> sip:!(&.=.&.!'*:!**!;transport=ts;ms+
opaque=%fe&ccfaed;ms+recei;ed+cid=#$&==;grid SI0-&.=
139
From:
2sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33SNE9Q
&4=?VNA!C==%F=T#,6;tag='C=E==$=
To: 2sip:9ser&@itCareinc.com6;tag=(dde=&*('(;epid=&!*)e=ea'a
CSeq: $ I7F>
Ca+I,: )'a*fe#a#!c$'d$e(%=$"'d)c$$d*a%$
Via: SI0-&.=-T5S
!(&.!%$.#.&$:#=%!;)ranc1=I(1S')?&C:E#!*C.E'!$,""<&%*=C'%%;)ranc1ed=F<5SE
0ro/y+<ut1entication+Info: ?er)eros
rspaut1=@%=&*=%=(&<$%'$$%F"!&=!=&=&=!=!!!==FFFFFFFF=!:*&%<$#C:=*E:"&%"=
&":*:CF(#F'F@E srand=@:FC(*$"F@E snum=@&$(@E opaque=@&'C$'!"(@E
qop=@aut1@E targetname=@sip-u&r&ocs.itCareinc.com@E ream=@SI0
Communications Ser;ice@
4a/+ForCards: "=
Content+5engt1: "$(*
Supported: ms+diaog+route+set+update
Content+Type: appication-cccp./m
4essage+:ody: 2response /mns=@urn:ietf:params:/m:ns:cccp@
from=@sip:9ser!@itCareinc.com;gruu;opaque=app:conf:focus:id:L#&R*?CR33
SNE9Q&4=?VNA!C==%F=T#,@ to=@sip:9ser&@itCareinc.com@ code=@success@6
2getConference6
2ci:con5erence-in5o
entit!=1sip:+ser1,lit&areincco%-gr//-opa./e=app:con5:5oc/s:id:6#2734C7
88S9*+:2;04)9<1C006=0T#>@
2-msci:cms+data6
2-msci:conference+Fey6
2msci:admission+poicy6anonymous2-msci:admission+poicy6
2msci:notification+data-6
2-ci:conference+description6
2ci:users state=@fu@6
2ci:/ser entit!=1sip:+ser1,lit&areincco%1 state=15/ll@6
2ci:dispay+te/t69ser!2-ci:dispay+te/t6
2ci:roes6
2ci:entry6presenter2-ci:entry6
2-ci:roes6
140
2ci:endpoint entity=@G=ef"%)a!+"$(=+'')*+aeaa+*a&%e*e=e&(eH@
msci:session+type=@focus@
2-ci:endpoint6
2-ci:user6
2ci:/ser entit!=1sip:+ser2,lit&areincco%1 state=15/ll@6
2ci:dispay+te/t69ser&2-ci:dispay+te/t6
2ci:roes6
2ci:entry6attendee2-ci:entry6
2-ci:roes6
YYendPrecord
Outside 4oice Control Scenario
#obile phones are a /ey acet o inormation .or/er communications- Accordin,ly( incorporatin,
mobility into a uniied communications plan is essential or true uniication o communications-
Althou,h the e-mail( instant messa,in, A1#B( and ederated telephony .orlds are already
becomin, uniied by havin, a sin,le &ession 1nitiation Protocol A&1PB address A.hich is typically
the e-mail addressB be the sin,le point o contact or a person( this uniication has not yet
e8tended to the mobile phone space- 1normation .or/ers still end up e8chan,in, mobile phone
numbers in addition to their .or/ phone numbers as part o their contact inormation- !his has led
to a suboptimal user e8perience- For e8ample( a caller rom the public s.itched telephone
net.or/ AP&!)B tries to reach a certain user by dialin, the userNs oice phone number- 1 she
cannot reach the user at his oice phone( she bypasses the corporate voice mail system by
disconnectin, the ori,inal call and dialin, the userNs mobile phone number- 1 the caller cannot
reach the user on his mobile phone( the caller leaves a messa,e on the userNs voice mail bo8 in
the mobile phone net.or/- As a result( the recipient ends up chec/in, his Outloo/ inbo8 or e-
mails( corporate voice mail system or some voice mails( and his mobile phone providerNs voice
mailbo8 or other voice mails-
A uniied communications solution needs to provide means or the user to control any
communication stream in a uniied ashion at all times- Ey ,ivin, out a mobile phone number( a
secondary access channel to the user has been opened that currently bypasses the userNs uniied
communications solution in the company- 9ith Oice %ommunications &erver 200' "2 a ne.
eature has been introduced( called Outside =oice %ontrol( that enables users to hide their mobile
phone number or inbound and outbound calls- !his eature is sometimes reerred to as outside
voice-
!o use this eature( a user needs to install Oice %ommunicator #obile A200' "2 releaseB on a
9indo.s #obile phone( and a data service such as ?eneral Pac/et "adio &ervice A?P"&B to
provide 1P data communication bet.een the mobile phone and the 1nternet- !his net.or/ carries
&1P messa,es Athat is( but not audio mediaB bet.een the Oice %ommunications &erver 200' "2
system Athat is( by usin, the or,aniHationNs @d,e &erverB and the %ommunicator #obile client-
!he user also needs to be enabled or @nterprise =oice-
141
1 the user receives an incomin, call on his &1P Uniorm "esource 1dentiier AU"1B( either rom the
P&!) or rom other Oice %ommunications &erver 200' "2 users or rom a ederated contact(
Oice %ommunications &erver 200' "2 sends a &1P 1)=1!@ to all o the userNs re,istered &1P
endpoints Aor e8ample( Oice %ommunicator 200' "2( Oice %ommunicator Phone @ditionB as
.ell as to the userNs %ommunicator #obile client runnin, on the 9indo.s #obile device- Ater
this &1P 1)=1!@ messa,e reaches the %ommunicator #obile client usin, the data channel o the
mobile phone( %ommunicator #obile automatically accepts the incomin, call and chan,es the
userNs presence to In a Call- )e8t( Oice %ommunications &erver 200' "2 initiates an outbound
call to userNs mobile phone number by usin, an Oice %ommunications &erver 200' "2
#ediation &erver and P&!) access point Athat is( by usin, a ,ate.ay( PEP( or &1P !run/ service
providerB- !he user receives a second incomin, call throu,h the mobile phone providerNs cellular
net.or/ and is able to accept the call- )ote that the actual mobile phone call is not a =oice over
1P A=o1PB call .here audio has been transmitted by usin, the mobile phone providerNs data pac/et
net.or/ to %ommunicator #obile- 1nstead( it is a normal mobile phone call that uses the mobile
phone providerNs cellular net.or/-
For an outbound call rom her mobile phone( the user has the option to enter the phone number
to be dialed in %ommunicator #obile or to initiate a call to a &1P contact usin, %ommunicator
#obile- 1 the user chooses the Call menu option in %ommunicator #obile( the call is placed by
the mobile phone by usin, the mobile phone net.or/- Do.ever( i the user chooses the Call via
)or. option in %ommunicator #obile( the phone irst sends a &1P 1)=1!@ to Oice
%ommunications &erver 200' "2- Oice %ommunications &erver 200' "2 establishes a call to
the userNs mobile phone number over the P&!)- !he user receives an incomin, mobile phone
call rom his company by usin, the mobile phone providerNs cellular net.or/- Finally( ater the
user accepts the call rom his company( Oice %ommunications &erver 200' "2 sets up a second
call le, to the desi,nated called party and Loins the t.o connections- A)ote that i the Called
(art# is on the P&!)( the t.o call le,s can be over separate #ediation &ervers that have
completely dierent P&!) brea/-out locations-B !he called party receives a call rom the userNs
company by usin, the userNs oice phone number as the Callin" (art# number despite the act
that the user is actually on her mobile phone-
Follo.in, are some o the beneits or the company and the user associated .ith this scenario:
!he userNs oice phone number can become the only phone number that is published on
business cards and other business materials- !he mobile phone number can be shared .ith
selected people-
Activities on the userNs mobile phone Aor e8ample( .hen participatin, in a mobile phone
callB can be a,,re,ated to the userNs overall presence state-
1 the user is enabled or @nterprise =oice and @8chan,e 200' &P1 Uniied #essa,in,(
the user can disable his mobile phone voice mail bo8 and use @8chan,e 200' &P1 Uniied
#essa,in, as his only voice mail repository- !his has all the advanta,es o usin, an Outloo/
1nbo8 or all communications Aor e8ample( e-mail( missed call notiications( voice mail( team
call pic/-up notiications( and so onB-
Ey settin, up an outbound mobile phone call throu,h Oice %ommunications &erver
200' "2 by usin, the Outside =oice %ontrol unctionality( call char,e reductions may occur-
For e8ample( i the user .ants to call an international phone number rom his mobile phone
142
or a lon,er conerence call( call char,es can be lo.ered si,niicantly by placin, the call rom
the company to the international number throu,h the P&!)( bypassin, the mobile phone
net.or/ Adespite another call le, bein, established rom the company to the userNs mobile
phone numberB- Oice %ommunications &erver 200' "2 *east-%ost "outin, unctionality
helps save additional costs in these situations- @ven more obvious are the savin,s .hat
occur .hen the user calls a ederated contact .ho has a phone number based in another
country- 1nstead o callin, the international number directly rom the userNs mobile phone(
Oice %ommunications &erver 200' "2 can use an Oice %ommunications &erver @d,e
&erver to connect this ederated call le, .ith the call le, to the userNs mobile phone-
All calls initiated throu,h Oice %ommunications &erver 200' "2 are captured or %all
2etail "ecordin, A%2"B and <uality-o-@8perience A<o@B as part o the Oice
%ommunications &erver 200' "2 #onitorin, &erver- Do.ever( the <o@ data is only on the
=o1P le,s o the call and does not relect the Kuality o the P&!) or mobile provider net.or/-
Outside 4oice Control rchitecture
!o enable the Outside =oice %ontrol scenario( the ollo.in, prereKuisites are reKuired:
As part o the Oice %ommunications &erver 200' "2 installation( all applications are
installed by deault- 2urin, the deployment( the Outside =oice %ontrol application needs to be
activated as part o the Oice %ommunications &erver 200' "2 installation-
!he uniied communications Application &erver needs to run on every Oice
%ommunications &erver 200' "2 &tandard @dition server or @nterprise pool Front @nd
&erver- :ou need to start the Outside =oice %ontrol application by usin, the Oice
%ommunications &erver 200' "2 snap-in-
One or more Oice %ommunications &erver 200' "2 #ediation &ervers .ith connected
P&!) ?ate.ays( 1P PEPs( or &1P %arrier trun/s need to be deployed or P&!) access-
Users .ho .ant to beneit rom this scenario need to be enabled or @nterprise =oice- !o
beneit rom the sin,le voice mail bo8 unctionality( .hich can only be provided by @8chan,e
200' Uniied #essa,in,( users need to be enabled or @8chan,e 200' Uniied #essa,in,-
Users need to have a %ommunicator #obile A200' "2 releaseB client installed on their
9indo.s #obile 5 or 9indo.s #obile 5-1 smartphone or Poc/et P% phone device-
Additionally( it is hi,hly recommended that you have an unlimited data usa,e plan .ith the
mobile phone provider-
!he userNs mobile phone needs to be enabled or data pac/et communication throu,h
?P"&( @2?@( %2#A( or other 4? connection( and a screen resolution o 2C0 8 420 pi8els is
reKuired-
An Oice %ommunications &erver 200' "2 Access @d,e server needs to be deployed to
allo. %ommunicator #obile to e8chan,e &1P messa,es .ith the corporate Oice
%ommunications &erver 200' "2 pool-
:ou need to coni,ure a location proile or each pool or user .here Outside =oice
%ontrol is installed-
!o enable this scenario( you need to open the ollo.in, ports:
143
Ta0le +, ReHuired and O!tional (orts
!!lication (ort Num0er (rotocol (lace to o!en
!orts
3sa"e
%ommunicator
#obile A200' "2
releaseB
F050 &1P !ransmission
%ontrol Protocol
A!%PB
*oad balancer
in ront o
home server
AoptionalB
Port ran,e used by
%ommunicator
#obile or &1P
communications
internally
%ommunicator
#obile A200' "2
releaseB
F051 &1P !*& 1nternal
ire.all and
load balancer
in ront o
home server
AreKuiredB
Port ran,e used by
%ommunicator
#obile or &1P over
!ransport *ayer
&ecurity A!*&B
communications
internally
%ommunicator
#obile A200' "2
releaseB
CC4 !*&+D!!P& @8ternal
ire.all and
load balancer
in ront o
e8ternal ed,e
o Access
@d,e &erver
Used by
%ommunicator
#obile or
connectin, rom
outside the intranet
or &1P
communications
Outside =oice
%ontrol
F0'C !%P *oad balancer
in ront o
home server
.here Outside
=oice %ontrol
is installed
Used by Outside
=oice %ontrol or
internal
communications
rchitectural Overvie)
!he ollo.in, i,ure sho.s the architecture reKuired or the Outside =oice %ontrol scenario-
144
*i"ure +, Outside 4oice Control architecture
(rotocols 3sed -# Outside 4oice Control
Outside =oice %ontrol uses the ollo.in, protocols:
Session Initiation (rotocol %SI(&, %ommunicator #obile e8chan,es &1P messa,es
throu,h the Oice %ommunications &erver 200' "2( Access @d,e &erver .ith the Oice
%ommunications &erver 200' "2 pool-
Third (art# Control (rotocol %T(C(&, !his protocol is transported by &1P messa,es
bet.een the %ommunicator #obile client and the Oice %ommunications &erver 200' "2
&tandard @dition server or @nterprise pool and is used to send call commands bet.een the
phone and the userNs Front @nd &erver-
Call *lo)s
!he ollo.in, sections contain sample call lo.s or an outbound call and an inbound call Arom
the perspective o the 9indo.s #obile phone userB by usin, the @nterprise %ellular =oice
scenario .ith a %ommunicator #obile A200' "2 releaseB client-
Out0ound Call
!he ollo.in, steps occur .hen User A( .ho is runnin, %ommunicator #obile( establishes an
outbound call to User E( .ho is usin, Oice %ommunicator( rom a mobile telephone by usin,
%ommunicator #obile in conLunction .ith the Outside =oice %ontrol application- User E has
multiple endpoints: Oice %ommunicator 200' "2 and %ommunicator #obile A200' "2 releaseB-
1- On his %ommunicator #obile client( User A selects a contact rom his contact list( and
then selects Call via 2or. rom the callin, options-
2- %ommunicator #obile uses a data channel to inorm Outside =oice %ontrol o the
outbound call- !his inormation is transmitted to Outside =oice %ontrol by usin, &1P+!P%P-
145
!he messa,e is passed thou,h the mobile providerNs data pac/et net.or/ throu,h the
1nternet to their or,aniHationNs Oice %ommunications &erver 200' "2 Access @d,e server(
and rom there to their assi,ned &tandard @dition server or @nterprise pool-
4- Outside =oice %ontrol establishes a call to User ANs mobile phone by initiatin, a reKuest
throu,h a #ediation &erver to the mobile phone providerNs cellular voice net.or/-
C- User A receives an incomin, call on her mobile phone-
F- User A ans.ers the call and the irst call le, bet.een the Oice %ommunications &erver
200' "2 environment and User ANs mobile phone has been established- #edia is inactive-
5- Outside =oice %ontrol no. establishes a second call le, .ith the home pool o User E(
.here Oice %ommunicator 200' or %ommunicator 200' "2 has been re,istered( by sendin,
a &1P 1)=1!@ messa,e-
'- A Front @nd &erver in User ENs home pool loo/s up the User ENs re,istered endpoints and
then or/s the &1P 1)=1!@ messa,e to all o them-
G- User E ,ets an incomin, call notiication-
9- As soon as User E ans.ers the call on one o her re,istered devices( the second call le,
has been established-
10- Outside =oice %ontrol provides call mana,ement to brid,e the t.o call le,s bet.een the
mobile client Athat is( User AB and the enterprise Oice %ommunicator user Athat is( User EB-
#edia lo.s bet.een User ANs mobile phone throu,h the mobile phone providerNs cellular
net.or/( to the P&!)( then throu,h the #ediation &erver Athat .as selected by Outbound
"outin,B to Oice %ommunicator 200' or %ommunicator 200' "2 client-
146
*i"ure 2, Out0ound call flo)
1 call or.ardin, on the mobile telephone has been enabled( outbound calls on %ommunicator
#obile are not supported-
For the normaliHation o telephone numbers dialed by %ommunicator #obile( the userNs user-
speciic location proile is applied on non "F%4955 compliant called party numbers-
147
In0ound Call
!o continue .ith the e8ample above but in the opposite direction( User E Athat is( the Oice
%ommunicator 200' or %ommunicator 200' "2 userB in the enterprise calls User A- User A has
%ommunicator #obile installed on her mobile device- 1n this section( the call lo. o this scenario
is outlined belo.-
1- User E initiates a call to User A by clic/in, on a contact in Oice %ommunicator 200' or
Oice %ommunicator 200' "2-
2- User ANs Front @nd &erver in the recipientNs home pool loo/s up User ANs re,istered
endpoints( and then or/s the call to all re,istered endpoints( includin, User ANs
%ommunicator #obile client-
4- 9hen the reKuest to establish a si,nalin, channel reaches %ommunicator #obile(
%ommunicator #obile determines that the incomin, session is an audio call-
)ote: %ommunicator #obile intercepts the incomin, voice call only i the %allin, Party
number o the voice call matches the %allin, Party number that is communicated throu,h the
data channel that ,ets established beore the voice call- Other.ise( the incomin, voice call is
treated as a re,ular mobile telephone call and %ommunicator #obile does not respond-
C- %ommunicator #obile automatically accepts the call by usin, a data si,nalin, channel in
the data pac/et net.or/ o the mobile phone provider to pass this messa,e to Outside =oice
%ontrol throu,h the 1nternet and Oice %ommunications &erver 200' "2-
F- Outside =oice %ontrol initiates a call to User ANs mobile phone number- Outbound "outin,
selects a #ediation &erver+,ate.ay to send the call to the P&!)( .hich ultimately routes to
the mobile phone providerNs cellular net.or/-
5- 9hen the user ans.ers the incomin, mobile phone call on his mobile phone( Outside
=oice %ontrol and Oice %ommunications &erver 200' "2 connect the Oice
%ommunications &erver 200' "2 #ediation &erver call le, .ith the ori,inatin, call le,- #edia
lo.s directly bet.een Oice %ommunications &erver 200' "2( #ediation &erver and the
caller-
'- Outside =oice %ontrol remains in the si,nalin, path to provide call mana,ement until the
call is terminated-
148
*i"ure <, In0ound call flo)
!o redirect the incomin, 1)=1!@( %ommunicator #obile redirects the 1)=1!@ .ith a 404 &1P
response and introduces a ne. header called %ancelFor/in,- !his header can have t.o possible
values: :es or )o- !he absence o the header( .hich is consistent .ith %ommunicator #obile
A200' releaseB( means that or/s .ill be cancelled- !hereore( the absence o the header is eKual
to %ancelFor/in,::es-
149
Grou! Chat *eature Scenario
!he Oice %ommunications &erver 200' "2 ?roup %hat &erver is built on top o the Oice
%ommunications &erver inrastructure- !his inrastructure handles user authentication( presence(
security( and routin,- Any supported Oice %ommunications &erver topolo,y also supports ?roup
%hat unctionality( even i users are connectin, rom the 1nternet or belon, to ederated
or,aniHations- Ater you have deployed the ?roup %hat clients and ?roup %hat &ervers( only the
?roup %hat &ervers reKuire additional coni,uration beore the ?roup %hat eature is ully
operational-
:ou can deploy a ?roup %hat &erver on a sin,le computer or on an array o servers to provide
,reater scalability and availability- :ou can also deploy ?roup %hat &ervers at multiple locations i
you have a multi-pool Oice %ommunications &erver topolo,y-
!he ?roup %hat client inte,rates .ith the Oice %ommunicator 200' "2 client and is another
&ession 1nitiation Protocol A&1PB endpoint that re,isters .ith a &tandard @dition server or a Front
@nd &erver o an @nterprise pool- !he ?roup %hat &erver uses the Uniied %ommunications
#ana,ed AP1 AU%#AB 2-0 to communicate .ith the pool that you select .hen you install the
?roup %hat &erver-
!his section o the Oice %ommunication &erver 200' "2 !echnical "eerence is intended to help
Uniied %ommunications administrators and specialists ,ain a deeper understandin, o the ?roup
%hat architecture( protocols( and communication lo.s( .hich can be valuable or system desi,n
and troubleshootin,-
In This Section
!his section contains the ollo.in, topics:
?roup %hat &ervices
Jey Protocols and 9indo.s &ervices Used by ?roup %hat
?roup %hat %all Flo.s
Grou! Chat Services
?roup %hat &erver consists o the ollo.in,: the %hannel service( the *oo/up service( the 9eb
service( and a dedicated bac/-end database( .hich must reside on a separate computer- 1 you
choose to use %ompliance service( .hich is optional( you must install it on a separate computer-
!he %ompliance service reKuires its o.n bac/-end &<* &erver database( .hich can reside on
the same computer as the %ompliance service or on a separate computer- 1 it is on a separate
computer rom the %ompliance service( the bac/-end database can be collocated .ith the main
?roup %hat &<* &erver database or be placed on a separate database server-
!he bac/-end database stores coni,uration data or the ?roup %hat &ervers and stores the chat
messa,e history or each chat room-
Channel Service
#ost o the .or/load o a ?roup %hat &erver is perormed by the %hannel service- !he %hannel
service accepts incomin, messa,es( re,isters and lists the online participants .ithin a channel
150
A/no.n as a %hat "oom in the user interaceB( and retransmits messa,es to the other channel
subscribers- !he %hannel service also implements lo,ic or channel mana,ement( chat room
invitations( search( and ne. content notiications-
9hen the ?roup %hat eature is provided by an array o ?roup %hat &ervers Loined to the same
pool( each %hannel service communicates .ith the others to relay ne. messa,es to the clients
connected to each member o the array( and each ascertains the operational health o the other
?roup %hat &ervers- Eecause each %hannel service ,ets its coni,uration inormation rom a
common bac/-end database( all are coni,ured identically-
!he %hannel service re,isters as a trusted service in the Active 2irectory 2omain &ervices
AA2 2&B .hen the ?roup %hat &erver is activated- 9hen a deployment includes multiple ?roup
%hat &ervers( each instance o the %hannel service is assi,ned a uniKue &ession 1nitiation
Protocol A&1PB Uniorm "esource 1dentiier AU"1B( .hich is the ?lobally "outable User A,ent U"1
A?"UUB settin, o the correspondin, trusted service- !hese ?"UUs allo. the *oo/up service to
assi,n users to speciic %hannel service servers-
7oo.u! Service
!he *oo/up service connects clients to a %hannel service- 1 there is more than one ?roup %hat
&erver in the deployment( the *oo/up service also unctions as a load balancer-
!he *oo/up service is represented by a U"1 that is provisioned to the ?roup %hat clients beore
their users si,n in- !his U"1 can be the deault value AOCSChatGRuserNs &1P domainSB( it can be
supplied to the ?roup %hat clients by ?roup Policy( or it can be coni,ured manually- Ater a user
o a ?roup %hat client successully si,ns in to a Front @nd &erver( the Front @nd &erver uses this
U"1 to initiate a session .ith a *oo/up service on behal o the client-
9hen a deployment includes multiple ?roup %hat &ervers( the serversN *oo/up services can
share the same &1P U"1- 9hen a ?roup %hat client initiates a connection( the *oo/up services
act as multiple points o presence A#POPB or that &1P address( and the last *oo/up service to
connect .ith the client is the one that assi,ns a %hannel service to the client- 1 a *oo/up service
instance ails( the Front @nd &erver automatically routes subseKuent connection reKuests to
another *oo/up service- @ven i one server is slo.er than the others and it is consistently the last
one to respond Aand thereby ,ets all o the *oo/up service reKuestsB( it is o little concern rom a
scalability standpoint because the process o assi,nin, %hannel service U"1s to clients is airly
li,ht.ei,ht-
!he *oo/up service assi,ns %hannel service instances so that the .or/load amon, all instances
is balanced- @very 10 seconds( each %hannel service instance communicates its current user
load to all *oo/up service instances- !he *oo/up services route ne. sessions to the least loaded
%hannel service at the time-
1 a %hannel service ails( e8istin, sessions are cancelled( and the clients contact the *oo/up
service to receive the U"1 o a ne. %hannel service- Ater they reconnect( the ne. %hannel
service automatically pushes any missed messa,es to the clients-
9hen a %hannel service resumes operation( the *oo/up services do not redistribute e8istin,
?roup %hat sessions( but the resumed %hannel service instance reports itsel as available and
151
.ill ,et all subseKuent ne. client connections until its .or/load is balanced .ith those o the
other %hannel service instances-
2e0 Service
Eecause iles attached to chat messa,es must be available to multiple users .ithin a channel and
rom the chat history( peer-to-peer AP2PB ile transer is not suicient- !he 9eb service provides a
mechanism or ile e8chan,e .ithin the conte8t o channels-
?roup %hat clients must provide speciic to/ens to upload or do.nload iles- !hese to/ens are
provided in-band by the %hannel service to authoriHed subscribers-
9hen a deployment includes multiple ?roup %hat &ervers( all servers use a Universal )amin,
%onvention AU)%B path that points to a common 9indo.s share .here the actual iles reside-
@nd users are not permitted direct access to this share- !hey must ,o throu,h the 9eb service-
Althou,h ?roup %hat clients never communicate directly .ith a *oo/up service or %hannel
service Athat is( they are al.ays pro8ied throu,h one or more Front @nd &erversB( clients connect
directly to a 9eb service instance .hen they upload and do.nload iles to and rom a chat room-
For the ile transer unction to be available to remote users .ithout usin, a virtual private net.or/
A=P)B or to ederated users( the 9eb service U"1s must be resolvable and routable rom the
1nternet-
Com!liance Service
!he %ompliance service uses #icrosot #essa,e <ueuin, Aalso /no.n as #&#<B to collect
?roup %hat messa,es and events rom %hannel service instances and uploaded iles rom 9eb
service instances- !he %ompliance service archives these messa,es as iles ormatted accordin,
to the type o %ompliance adapter you selected durin, installation- !he %ompliance service
comes .ith a customiHable P&*! transorm that ,enerates P#* iles or pic/up and urther
analysis by a custom pro,ram- %ompliance adapters are also available rom A/oni8( Assentor(
and Facetime that enable the %ompliance service to ,enerate output ile ormats compatible .ith
archivin, solutions rom those vendors-
Eeore archival( messa,es are sta,ed in a &<* &erver database separate rom the one used by
the ?roup %hat &erver- !he t.o databases can coe8ist on the same computer( but i the
.or/loads are hi,h enou,h to de,rade perormance they should be located on separate &<*
&erver instances-
Unli/e the bac/-end database or the Oice %ommunications &erver 200' "2 Archivin, &erver(
this database stores the messa,es or the duration o the archive retention period( the bac/-end
database or the %ompliance service stores records only temporarily- !he data is e8tracted
accordin, to the %ompliance serverNs Conversation interval in minutes settin,( is .ritten to a
ile( and then placed in a shared directory( .here it can be pic/ed up by the third-party or custom
compliance system- Ater the compliance system has pic/ed up the data( the P#* output iles and
uploaded iles can be deleted to prevent loss o available dis/ space-
:ou can also use the %ompliance service to archive uploaded iles-
152
!he %ompliance &erver does not archive instant messa,es( even i the instant messa,in, A1#B
session .as launched rom the ?roup %hat client- 1 your or,aniHation .ants to archive 1#
sessions( you must deploy the Archivin, &erver role on a separate server-
Ke# (rotocols and 2indo)s Services 3sed 0# Grou! Chat
!he ?roup %hat eature relies on several protocols: &ession 1nitiation Protocol A&1PB+!ransport
*ayer &ecurity A!*&B( 9indo.s %ommunication Foundation A9%FB( D!!P&( and #essa,e
<ueuin, Aalso /no.n as #&#<B-
Session Initiation (rotocol %SI(&
Ey usin, &1P over !*& as its /ey client-server communications protocol( the ?roup %hat eature
harnesses the core real-time communications A"!%B capabilities o Oice %ommunication &erver
200' "2( includin, the client-side and server side application pro,rammin, interaces AAP1sB(
authentication( encryption( re,istration( presence( and routin,-
Furthermore( because &1P is a ,eneral-purpose si,nalin, protocol that can transport payloads
that contain other protocols Aor e8ample( &ession 2escription Protocol A&2PB or %entraliHed
%onerencin, %ontrol Protocol A%4PBB( most o the ?roup %hat client-server traic consists o &1P
1)FO messa,es containin, an P#*-based protocol( P%%O&- P%%O& is a proprietary ormat or
transmittin, data bet.een Front @nd &ervers and ?roup %hat clients- 1n addition to transportin,
the chat messa,es( it provides support or ederated ?roup %hat( channel invitations( activity
notiications( and postin, o iles-
!he ?roup %hat *oo/up and %hannel services re,ister as &1P endpoints .ith an Oice
%ommunications &erver Front @nd pool- %lients communicate .ith them by usin, &1P 1)FO
messa,es that contain P%%O& commands and responses-
2indo)s Communication *oundation %2C*&
9hen a deployment includes multiple ?roup %hat &ervers( the *oo/up service uses 9%F over
!*& on each ?roup %hat &erver to monitor the load on each server and determine .hich
%hannel service instances should receive ne. client connections-
!he %hannel services also use 9%F to relay messa,es .ith each other- %lients are balanced
across the available %hannel service instance- As a result( .hen a ne. messa,e comes in to a
%hat "oom AchannelB on one %hannel service instance( in addition to rebroadcastin, the
messa,e to the other active participants subscribed to that %hat "oom over &1P( the %hannel
service or.ards the messa,e over 9%F to the other %hannel service instances in the array(
.hich in turn or.ards the messa,es to the %hat "oom subscribers actively connected to those
other instances-
1TT(S
Uploadin, and do.nloadin, iles to and rom ?roup %hat clients and the 9eb service occurs over
D!!P&-
!his traic is the only ?roup %hat client-server communication that does not occur over &1P-
153
Messa"e 6ueuin"
For deployments that include the optional %ompliance service( each %hannel service uses
#essa,e <ueuin, to publish the ollo.in, events to the %ompliance service:
)e. chat messa,es
A user enterin, or e8itin, a chat room
File uploads and do.nloads
<ueries and searches a,ainst the chat history
!he %ompliance service temporarily stores the events and chat messa,es in its bac/-end
database- 1n addition to e8tractin, the events and chat messa,es rom the database and .ritin,
them to iles in a shared directory( the %ompliance service also obtains copies o all uploaded
iles and .rites them to an Attachment subdirectory in the shared directory or pic/up or pic/up
by your archivin, solution-
Grou! Chat Call *lo)s
!his topic describes the call lo.s o a user si,nin, in rom a ?roup %hat client( subscribin, to a
chat room( and then postin, a messa,e to it- 1n these e8amples( the architecture consists o a
sin,le consolidated ?roup %hat &erver that is in the same pool as the user-
Grou! Chat Client Si"n In
Eeore users can participate in a ,roup chat( they must si,n in .ith the ?roup %hat client to a
Front @nd &erver( be authenticated by the server( and then connect to the %hat "ooms to .hich
they have subscribed- 1n this e8ample( the *oo/up service and the %hannel service are already
runnin, and re,istered .ith the Front @nd &erver-
!he seKuence o steps is as ollo.s:
1- !he ?roup %hat client uses the same techniKues as the Oice %ommunicator 200' "2
client to locate its pool server Athat is( 2omain )ame &ystem A2)&B &"= records in most
cases and a 2irector reerral( i usedB- !he client uses either the userNs 9indo.s lo,on
credentials or manually-entered alternate credentials( and then sends a set o &1P
"@?1&!@" messa,es to a Front @nd &erver- 1 the userNs credentials are valid and the user
is authoriHed to use ?roup %hat( he or she is authenticated-
2- !he ?roup %hat client sends one or more &1P &UE&%"1E@ messa,es to the Front @nd
&erver and then retrieves the userNs contact list-
4- !he ?roup %hat client sends a &1P &@"=1%@ messa,e to the Front @nd &erver to
provide inormation about its endpoint capabilities- From this point on.ard Athat is( in the
conte8t o ?roup %hatB( the only unction o the Front @nd &erver is to pro8y messa,es
bet.een the ?roup %hat client and one or more ?roup %hat &ervers-
C- !he ?roup %hat client sends a &1P 1)=1!@ messa,e to the Uniorm "esource 1dentiier
AU"1B o the *oo/up service- 1 the client is set to use automatic coni,uration( this U"1
deaults to the name OCSChatG<users !"# domain>- 1 the or,aniHation has implemented
?roup Policy ObLect A?POB-based coni,uration o the ?roup %hat client( it .ill use the U"1
that is provided by the S!ecif# loo.u! server 3RI ?PO policy settin,- AUsers can also
154
manually supply the U"1 o the *oo/up service-B !he Front @nd &erver loo/s in its re,istration
database and pro8ies the 1)=1!@ messa,e to all *oo/up service instances that are re,istered
.ith it- 1n this e8ample( there is only one- !he 1)=1!@ seKuence is ollo.ed up by the 200 OJ
and A%J( and the ?roup %hat client has no. opened a &1P session .ith a *oo/up service
endpoint-
F- !he ?roup %hat client sends a &1P 1)FO messa,e containin, the P%%O& reHuri Athat is(
reKuest U"1B command to the *oo/up service( .hich Kueries the bac/-end database and
returns the U"1 o the %hannel service .ith the lo.est current .or/load- 9hen the client
receives the U"1( it sends a &1P E:@ messa,e and closes the session .ith the *oo/up
service-
5- !he ?roup %hat client sends a &1P 1)=1!@ messa,e to the U"1 o the %hannel service
that it obtained in the previous step- !he 1)=1!@ seKuence is ollo.ed by 200 OJ and A%J(
and the ?roup %hat client has no. opened a &1P session .ith a %hannel service endpoint-
From this point or.ard( the client communicates .ith the %hannel service by sendin, &1P
1)FO messa,es that contain either chat messa,es or commands reKuestin, the server to
ta/e an action- All o these messa,es are ac/no.led,ed .ith either 200 OJ or F04 &ervice
Unavailable Athat is( in the event o heavy server loadB- 1 the client receives a F04 response(
it .ill retry the messa,e- A!his e8ample does not include a F04 response-B 1 the server
accepts the messa,e or command and sends 200 OJ( it .ill provide a response to the client
in the orm o a separate &1P 1)FO messa,e- !his response includes a reerence to the
ori,inatin, command-
'- !he ?roup %hat client sends a &1P 1)FO messa,e containin, the P%%O& "etserverinfo
command- !he %hannel service replies .ith a ne. &1P 1)FO messa,e containin, inormation
about the %hannel service coni,uration-
G- !he ?roup %hat client sends a &1P 1)FO messa,e containin, a set o P%%O& "et!ref
Athat is( ,et preerencesB commands- !he client stores its state on the server in a set o
compressed P#* documents called preerences- !he "et!ref command is a reKuest rom the
client to the server or the latest copy o that data- 1 the client has a local copy o the
preerences( it sends the version 12 o the local copy in the command- !he server responds
to this command in a separate &1P 1)FO messa,e .ith the reKuested data-
9- !he ?roup %hat client sends a &1P 1)FO messa,e containin, a P%%O& 0=oin Athat is(
batch LoinB command that contains a list o chat rooms that the user has previously Loined-
!his list is obtained rom the preerences document- !he %hannel service Kueries the bac/-
end database( and then returns a separate &1P 1)FO messa,e containin, the userNs channel
provisionin, data and the conte8tual messa,e history or those chat rooms-
10- !he ?roup %hat client sends a &1P 1)FO messa,e containin, a P%%O& "etinv Athat is(
,et invitationB command to reKuest any open channel invitations- 1n a separate &1P 1)FO
messa,e( the %hannel service returns a list o those channels-
!he ollo.in, ladder dia,ram sho.s this call lo.-
155
*i"ure +, Grou! Chat client si"n in call flo)
156
Note:
#essa,es rom the ?roup %hat &erver to the client are oten batched- A sin,le &1P 1)FO
messa,e can contain one or more messa,es- For e8ample( in the case o a batch Loin
Athat is( 0=oinB command( the server sends 0=oin replies and conte8tual messa,e history
or each chat room that is bein, Loined- Eut these messa,es may be delivered to the
client as a sin,le &1P 1)FO messa,e or as multiple &1P 1)FO messa,es-
Ater the user o a ?roup %hat client is si,ned in and connected to a %hannel service( his or her
client lists the messa,e history o all currently subscribed chat rooms-
1 the userNs Oice %ommunications &erver account .as homed in pool dierent rom that o the
?roup %hat &erver pool( a Front @nd &erver in the userNs home pool .ould pro8y the messa,es
to and rom a Front @nd &erver in the pool .ith .hich the %hannel service is homed-
Su0scri0in" to a Chat Room and (ostin" a Messa"e
1n this e8ample( t.o users( User1 and User2( are si,ned in to a %hannel service- User1 .ants to
subscribe to a ne. %hat "oom( to .hich User2 is already connected( and then participates by
postin, a messa,e .ith a ile attachment-
!he seKuence o steps is as ollo.s:
1- From the ?roup %hat client( User1 clic/s 9oin a Chat Room( clic/s Search( and then
enters some search criteria- !he client sends the %hannel service a &1P 1)FO messa,e
containin, the P%%O& chansrch Athat is( channel searchB command( alon, .ith the search
criteria- !he %hannel service Kueries the bac/-end database and replies in a ne. &1P 1)FO
messa,e that contains a list o available channels Achat roomsB that meet the search criteria-
2- User1 selects the chat room he or she .ishes to Loin and then clic/s 9oin- !he client
sends the %hannel service a &1P 1)FO messa,e containin, the P%%O& =oin command and
the channel 12 o the chat room the user selected- !he %hannel service replies .ith a &1P
1)FO messa,e that contains the provisionin, data-
4- !he ?roup %hat client sends the %hannel service a &1P 1)FO messa,e that contains the
P%%O& 0cconte't Athat is( bac/chat conte8tB command- !he %hannel service retrieves the
chat history and returns it to the client in a separate &1P 1)FO messa,e- At this point( the
user enters the chat room and is ready to participate-
C- User1 enters a ne. messa,e containin, a ile attachment reerence and then clic/s
Send- !he ?roup %hat client sends the %hannel service a &1P 1)FO messa,e containin, the
P%%O& "etfuto. Athat is( ,et ile upload to/enB command- !he %hannel service inserts a
to/en into the bac/-end database and issues the to/en .ith the U"1 o the 9eb service
instance to the client in a ne. &1P 1)FO messa,e- !his to/en is then used by the ?roup %hat
client to upload the ile to the U"1 o the 9eb service instance( .hich validates the to/en
a,ainst the bac/-end database beore allo.in, the upload to proceed- User1Ns client
simultaneously posts the messa,e .ith the ile attachment lin/ to the chat room in a &1P
1)FO P%%O& "r!chat command- !he %hannel service stores a copy o this ne. messa,e in
the &<* &erver database-
F- !he %hannel service sends a separate copy o the &1P 1)FO P%%O& "r!chat messa,e
to User2( .ho has already entered the chat room-
157
!he ollo.in, ladder dia,ram belo. sho.s the call lo.-
*i"ure 2, Grou! Chat su0scri!tion and messa"e !ostin" call flo)
158
Technical Drilldo)ns
!his section provides deeper drilldo.ns into speciic technical aspects o #icrosot Oice
%ommunications &erver 200' "2-
In This Section
&1P Processin, 2rilldo.n
User "eplicator 2rilldo.n
Archivin, and #onitorin, 2rilldo.n
@d,e &ervers 2rilldo.n
"esponse ?roup %lient 9eb &ervice 2rilldo.n
%lient 2)& <ueries 2rilldo.n
Application &erver 2rilldo.n
&1P !run/in, 2rilldo.n
Address Eoo/ &erver 2rilldo.n
SI( (rocessin" Drilldo)n
1n versions o Oice %ommunications &erver prior to Oice %ommunications &erver 200'( the
server used a proprietary e8tension called @nd-point 1dentiier A@P12B to address a speciic User
A,ent- &tartin, .ith Oice %ommunications &erver 200'( ?lobally "outable User A,ent U"1
A?"UUB replaces @P12 .here possible- Oice %ommunications &erver 200' "2 supports
bac/.ards compatibility .ith @P12( but to the de,ree possible( all ne. applications and clients
use ?"UU instead-
SI( (rocessin" and GR33
?"UU is an e8tension o &ession 1nitiation Protocol A&1PB that is currently deined in an 1nternet
drat at http:++,o-microsot-com+.lin/+0*in/1d31CCC1G- ?"UU is speciically desi,ned to
implement reliable routin, to a speciic device or an end user- 9hile a plain &1P U"1 Aor
e8ample( LanedoeMcontoso-comB( is a U"1 that reers to a user( ?"UU is an U"1 that reers to a
speciic device-
?"UU can be used .ithin multiple separate &1P dialo,s to reach the same device- !his .or/s not
Lust or client applications but also server applications Aor e8ample( the #ediation &erverB- !he
Oice %ommunicator client runnin, on each computer has its o.n ?"UU that allo.s other
applications to route messa,es speciically to that device-
?"UU is .idely applied across the server to solve a variety o problems( includin,( but not limited
to( @nterprise =oice call transer or conerence escalation scenarios( .hich reKuire the ability to
establish a ne. dialo, .ith a speciic endpoint in an e8istin, dialo,- ?"UU is also used to
address scenarios .here one endpoint in a dialo, is server based and( thereore( the !o+From
header in the dialo, cannot be resolved to a speciic endpoint- 1n the ori,inal &1P standard( it .as
not possible to construct an U"1 .hich could be routed to rom any.here Aincludin, the 1nternetB
and reach a speciic device or User A,ent-
159
?"UU is a &1P U"1 that ,enerally ollo.s the orm:
sip:2user6@2domain or FR,76;opaque=2pri;ate6;grid=2optiona cooFie6;gruu
For e8ample:
sip:8anedoe@contoso.com;opaque=user:epid:qIILS&8#<Ve,PN/nRd/mC<<;gruu
!he opaque parameter( in combination .ith the address o record AAO"B( ma/es this U"1 uniKue
even thou,h the prei8 o the U"1 is still the standard user address- !he gruu parameter speciies
that this U"1 has all the properties o a ?"UU and can be used .ithin multiple separate &1P
dialo,s to reach the same user a,ent AdeviceB- !he grid parameter is optional and is inserted by a
user a,ent instance .hen the user a,ent uses the ?"UU to route to itsel- 1 the ,rid is included
in a reKuest( it helps the user a,ent instance determine the conte8t o the reKuest-
GR33 Creation
!he server is responsible or creatin, a ?"UU and returnin, it to the client throu,h the &1P
re,istration mechanism( i the client reKuests one at re,istration time- !he ?"UU returned to the
client durin, the re,istration process is not mana,ed or e8posed to the administrator in any .ay-
!his process is handled entirely by the User &ervices module and can be inspected only by
e8aminin, the re,istration database itsel- !he ?"UU can be used any.here you .ould typically
use a U"1-
1o) GR33 Is 3sed 0# Office Communications Server
?"UU is used by Oice %ommunications &erver in the ollo.in, .ays:
Oice %ommunicator 200' "2 clients reKuest and receive a ?"UU at re,istration time(
.hich they .ill use in their %ontact header or all subseKuent &1P dialo,s( such as @nterprise
=oice calls( conerencin,( and so on-
!he #icrosot Oice *ive #eetin, client uses one aspect o ?"UU /no.n as the
Qsip-instanceQ to create a uniKue identiier or each meetin, client in a conerence- !his is
necessary since the meetin, client does not actually re,ister .ith the server and thereore
cannot obtain a ,enuine ?"UU rom the server or use in its &1P %ontact header-
!he client uses the ?"UU o the #edia "elay Authentication &erver A#"A&B application
Acollocated .ith the A+= %onerencin, &erverB to send reKuests to the #"A& server( .ithout
necessarily havin, to /no. the F<2) o the server or be able to directly connect to the
#"A& server- !he client learns the #"A& applications ?"UU throu,h in-band provisionin,-
A!he A+= %onerencin, &erver .ill use the #"A& application ?"UU that is coni,ured in
9#1-B
@nterprise =oice endpoints send their <uality o &ervice A<o&B metric reports to a ?"UU(
.hich identiies the metrics collection point- A!he #ediation &erver and A+= %onerencin,
&erver .ill use the collection point ?"UU coni,ured in 9#1-B
!he voicemail server A,enerally @8chan,e Uniied #essa,in,B or a ,iven user .ill be
identiied by a ?"UU- !he client .ill learn this ?"UU throu,h in-band provisionin, Aor itselB
and throu,h presence Aor someone elseB- An application runnin, on the server( @8U#
"outin,( resolves the ?"UU to a speciic @8chan,e Uniied #essa,in, server that handles
160
user voice mailbo8es- An application can be .ritten that .ill resolve the ?"UU or non-
@8chan,e voice mail systems-
Pools use ?"UU to address other pools or batched subscriptions-
!he #ediation &erver uses ?"UU to identiy dierent outbound ,ate.ays that are
connected to the #ediation &erver- !his allo.s Oice %ommunications &erver to send
messa,es to a sin,le F<2)+port on the #ediation &erver and have the messa,es routed
correctly to the proper outbound 1P-P&!) ,ate.ay- A!his ?"UU is not e8posed in any .ay to
the clientT it is used only or server-to-server communications-B
2urin, conerence creation( the client addresses the Focus Factory by usin, a ?"UU that is
composed in part by the meetin, or,aniHers &1P U"1- !his Focus Factory ?"UU is sent to the
client throu,h in-band provisionin,-
3ser Re!licator Drilldo)n
User "eplicator uses the *i,ht.ei,ht 2irectory Access Protocol A*2APB application pro,rammin,
interace AAP1B to ,et inormation rom Active 2irectory- User "eplicator perorms searches or
user data in Active 2irectory by usin, Active 2irectory directory synchroniHation A2ir&yncB control(
an *2AP server e8tension that enables User "eplicator to trac/ chan,es to user( contact( and
,roup obLects in Active 2irectory as the chan,es are made- User "eplicator is a read-only
component- 1t does not .rite data to Active 2irectory-
!here can only be one instance o User "eplicator runnin, in an @nterprise pool at any ,iven
time- Any errors that User "eplicator encounters are lo,,ed as events on the Front @nd &erver
that is runnin, User "eplicator at the time the error occurs- 1n the event that the Front @nd &erver
on .hich User "eplicator is runnin, becomes unavailable( &<* &erver dynamically assi,ns the
tas/ o runnin, User "eplicator to the ne8t available Front @nd &erver-
!o /eep the presence store synchroniHed .ith user( contact( and ,roup obLects in Active
2irectory( User "eplicator ,ives Active 2irectory a list o attributes about .hich it .ants to be
notiied- !he irst time that User "eplicator reKuests attribute chan,es rom Active 2irectory( User
"eplicator perorms an Qinitial cycleQ durin, .hich time it synchroniHes all user( contact( and ,roup
obLects- &ubseKuently( ater the initial cycle is complete( User "eplicator reKuests only ne.
chan,es rom Active 2irectory every one minute- Ater User "eplicator obtains attribute values
that have chan,ed rom Active 2irectory( it sends those values to the &<* database or stora,e-
!he 2ir&ync AP1 ,ives User "eplicator a coo/ie .hich identiies a point in Active 2irectoryOs
chan,e list- 9hen User "eplicator ,ives a coo/ie to 2ir&ync( it ,ets every chan,e ater the point
identiied by the coo/ie- !hereore( the only state that User "eplicator stores across
synchroniHation is the coo/ie-
!he ollo.in, lists include attributes that User "eplicator monitors or chan,e in Active 2irectory-
AUser "eplicator also monitors all Address Eoo/ &erver attributes in Active 2irectory-B 9hen there
is a chan,e in the attribute( User "eplicator acts accordin,ly- &ome o the attribute values are
copied rom Active 2irectory to the &<* store .ithout modiication- Other attribute values are
processed by User "eplicator and then copied to the &<* store-
Oice %ommunications &erver speciic attributes that User "eplicator monitors include the
ollo.in,:
161
msRTCSI(/(rimar#3serddress
msRTCSI(/(rimar#1omeServer
msRTCSI(/3ser$na0led
msRTCSI(/Ori"inatorSid
msRTCSI(/*ederation$na0led
msRTCSI(/Internetccess$na0led
msRTCSI(/rchivin"$na0led
msRTCSI(/O!tion*la"s
msRTCSI(/7ine
msRTCSI(/7ineServer
msRTCSI(/3ser7ocation(rofile
msRTCSI(/3ser(olic#
msRTCSI(/!!licationDestination
msRTCSI(/SourceO0=ectT#!e
msDS/SourceO0=ectDN
Attributes that are not speciic to Oice %ommunications &erver that User "eplicator monitors
include the ollo.in,:
o0=ectClass
o0=ectSid
isDeleted
dis!la#Name
mail
tele!honeNum0er
!ro'#ddresses
otherI!(hone
facsimileTele!honeNum0er
streetddress
l
st
c
!ostalCode
)221ome(a"e
rchivin" and Monitorin" Drilldo)n
!his section ,ives a detailed description o archivin, and monitorin, in Oice %ommunications
&erver 200' "2-
In This Section
162
Archivin, and #onitorin, &ervers
Archivin, 2atabase &chema
%2" 2atabase &chema
<o@ 2atabase &chema
#essa,e <ueuin, Architecture and %oni,uration or Archivin,
#essa,e &tampin,
%reatin, a !hird-Party <o@ &olution
rchivin" and Monitorin" Servers
Oice %ommunications &erver 200' "2 separates the Archivin, and #onitorin, roles-
rchivin" Server
!he Archivin, &erver can archive all instant messa,in, A1#B conversations or all users or or
individual users that you speciy-
#essa,es rom each Oice %ommunications &erver coni,ured or archivin, are sent over the
9indo.s &erver #essa,e <ueuin, Aalso /no.n as #&#<B service to the Archivin, &erver( .hich
uses a #icrosot &<* &erver database to store archived inormation-
Althou,h the archivin, and call detail recordin, A%2"B a,ent is automatically installed on Front
@nd &ervers as part o the core Oice %ommunications &erver process( to archive 1# traic and
call data you must coni,ure the archivin, and %2" a,ent and install the Archivin, &erver( to
.hich the archivin, and %2" a,ent connects- !he Archivin, &erver consists o the ollo.in, three
components:
2estination Kueue( .hich is mana,ed by #essa,e <ueuin,-
Archivin, &ervice component-
Archivin, bac/-end database-
!he Archivin, &ervice component can reside on the same computer as the archivin, database or
it can connect to a database on a dierent computer-
Monitorin" Server
!he #onitorin, &erver consists o the ollo.in, three components:
2estination Kueue( .hich is mana,ed by #essa,e <ueuin,-
%2" and <uality o @8perience A<o@B service components-
!he bac/-end databases( .hich consist o separate %2" and <o@ databases that run in
the same &<* &erver instance-
Additionally( you can install &<* &erver "eportin, &ervices and the #onitorin, &erver "eport
Pac/ to vie. the reports that are included .ith #onitorin, &erver- And i you use &ystem %enter
Operations #ana,er( you can coni,ure alerts based on #onitorin, &erver data( to employ near
real-time monitorin, o media Kuality health state or net.or/ locations( #ediation &ervers( and
conerencin, servers-
163
rchivin" Data0ase Schema
!his section describes the Archivin, &erver database schema or Oice %ommunications &erver
200' "2- !he schema is subLect to chan,e in uture releases-
7ist of Ta0les
!he database schema consists o the ollo.in, tables-
Su!!ortin" Ta0les
Ta0le Descri!tion
%lient=ersions &tores the clients Aboth client type and version
numberB o each client involved in a call .ith
inormation captured in this database-
%omputers &tores the name o each computer that hosts a
Front @nd &erver-
%ontent!ypes &tores the 1# content types used in sessions
captured in this database-
2ialo,s &tores inormation about the 2ialo,12 or each
peer-to-peer session in the database-
Pools &tores the names o pool on .hich 1#
messa,es are captured-
Users &tores the user U"1s o users .ho have
participated in sessions recorded or archived in
this database-
Ta0les for Messa"es in IM Conferences
Ta0le Descri!tion
%onerences &tores inormation about all conerences that
.ere archived or .hose details .ere recorded(
includin, %onerenceU"1( and start and end
time-
%onerence#essa,e"ecipient*ist For each messa,e sent in a conerence( stores
a list o recipients-
%onerence#essa,es Archives the content o all the messa,es sent in
a conerence-
164
Ta0les for (eer/to/(eer IM rchivin"
Ta0le Descri!tion
&ession2etails &tores inormation about every peer-to-peer
session( includin, start and end time( user 12(
response code( and messa,e count or each
user-
#essa,es Archives the content o all the messa,es sent in
one-on-one 1# sessions-
!he tables in the ollo.in, list are used internally by Oice %ommunications &erver Atheir details
are not described in this documentB-
Ta0les for Internal 3se 0# Office Communications Server
Ta0le Descri!tion
D0Confi"DateTime For internal use only-
D0Confi"Int For internal use only-
D0$rrorMessa"e For internal use only-
Ta0le Details
!his section details the columns in each o the Archivin, database schema tables-
Client4ersions Ta0le
!he %lient=ersions table is a supportin, table that stores a list o the various client types and
versions that have participated in sessions recorded in the database- @ach record in the table
represents one client version-
Column Data T#!e Ke#8Inde' Details
4ersionId int Primary UniKue number
identiyin, this client
type and version-
4ersion nvarcharA2F5B =ersion name-
165
Com!uters Ta0le
!he %omputers table is a supportin, table that stores inormation about the various Front @nd
&ervers- @ach record in the table represents one Front @nd &erver
Column Data T#!e Ke#8Inde' Details
Com!uterId int Primary UniKue number
identiyin, this Front
@nd &erver-
Com!uter nvarcharA15B Front @nd &erver host
name-
ContentT#!es Ta0le
!he %ontent!ypes table is a supportin, table that stores inormation about the various types o 1#
content-
Column Data T#!e Ke#8Inde' Details
ContentT#!eId int Primary UniKue number identiyin,
this 1# content type-
ContentT#!e nvarcharA2F5B %ontent type name Aor
e8ample(
te't8!lain5 te't8rtfB or a
#1#@ type-
Dialo"s Ta0le
!he 2ialo,s table is a supportin, table that stores the inormation about 2ialo,1ds or peer-to-
peer sessions-
Column Data T#!e Ke#8Inde' Details
Dialo"Id int Primary UniKue number identiyin, this
&1P dialo, instance-
$'ternalChec.sum 1nt %hec/sum o the @8ternal1d-
!his ield is used to increase
the speed o database
searches-
$'ternalId varbinaryA''FB &1P dialo, 1d( stored as a
binary- !he ormat o the
binary is:
166
Column Data T#!e Ke#8Inde' Details
dialo,Trom-ta,Tto-ta,
!his data can be converted to
te8t ormat by usin,:
castWcastWE/ternaId
as ;ar)inaryWma/XX as
;arc1arWma/XX
(ools Ta0le
!he Pools table is a supportin, table that stores inormation about the various Pools- @ach record
in the table represents one Pool-
Column Data T#!e Ke#8Inde' Details
(oolId int Primary UniKue number
identiyin, this Pool-
(ool*6DN nvarcharA2F5B Pool F<2)
3sers Ta0le
!he Users table is a supportin, tableT each record in the table stores inormation about one user
involved in calls or sessions that have records in the database-
Column Data T#!e Ke#8Inde' Details
3serId int Primary UniKue number
identiyin, this user-
3ser3ri nvarcharACF0B
Conferences Ta0le
@ach record in this table contains call details about one conerence-
Column Data T#!e Ke#8Inde' Details
Conference3ri nvarcharACF0B
Chec.sum 1nt %hec/sum o
Conference3riT used
to increases the speed
o database searches-
167
Column Data T#!e Ke#8Inde' Details
ConfInstance 1nt Useul or recurrin,
conerencesT each
instance o a recurrin,
conerence has the
same Conference3ri(
but .ill have a dierent
ConfInstance-
SessionIdTime datetime Primary !ime that the
conerence reKuest
.as captured by the
Archivin, a,ent- Used
only as a primary /ey
to uniKuely identiy a
session-
SessionIdSeH int Primary 12 number to identiy
the session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- V
ConferenceStartTime datetime
Conference$ndTime datetime
(oolId int Forei,n UniKue number
indentiyin, the pool on
.hich the messa,e is
captured( reerence to
Pools table
V For most sessions( &ession1d&eK .ill have the value o 1- 1 t.o sessions start at e8actly the
same time( the &ession1d&eK or one .ill be 1( and or the other .ill be 2( and so on-
ConferenceMessa"eReci!ient7ist Ta0le
@ach record in this table represents one combination o 1# conerence messa,e and recipient- A
messa,e that is sent to multiple recipients ,enerates one record or each recipient-
Column Data T#!e Ke#8Inde' Details
Messa"eId int Primary UniKue number
identiyin, this messa,e
168
Column Data T#!e Ke#8Inde' Details
in an 1# conerence-
SessionIdTime datetime Primary( Forei,n !ime that the conerence
reKuest .as captured by
the Archivin, a,ent-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
3serId 1nt Primary( Forei,n UniKue number
identiyin, this user(
reerenced rom the
Users table-
Date datetime #essa,e captured time-
ConferenceMessa"es Ta0le
!his table archives all messa,es sent in 1# %onerences- @ach record represents one messa,e-
Column Data T#!e Ke#8Inde' Details
Messa"eId uniKueidentiier Primary ?U12 identiyin, this
messa,e-
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
169
Column Data T#!e Ke#8Inde' Details
Date datetime
*romId int Forei,n User1d o the messa,e
sender( reerenced rom
the Users table-
ContentT#!eId 1nt Forei,n 1# content type o this
messa,e- "eerenced
rom the %ontent!ypes
table-
Com!uterId int Forei,n 1d o the Front @nd
&erver used or this
messa,e- "eerenced
rom the %omputers
table-
-od# nte8t %ontent o the messa,e
body-
Reserved+ tinyint "eserved or #icrosot
use-
Reserved2 tinyint "eserved or #icrosot
use-
SessionDetails Ta0le
@ach record represents one peer-to-peer session( .hich could be a =o1P-=o1P phone call( 2-party
1# session( or other type o session- !o ind the modalities used durin, a session( you must do a
table Loin .ith the #edia table- &ession type is not stored in the &ession2etails table-
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
170
Column Data T#!e Ke#8Inde' Details
Dialo"Id 1nt Forei,n &1P dialo, 12(
reerenced rom the
2ialo,s table-
3ser+Id 1nt Forei,n 1d o one user in the
session( reerenced rom
the Users table-
3ser2Id int Forei,n 1d o the other user in
the session( reerenced
rom the Users table-
SessionStarted-#Id int Forei,n 1d o the user .ho
started the session(
reerenced rom the
Users table-
Com!uterId 1nt Forei,n 1d o the Front @nd
&erver used or this
session-
(oolId 1nt Forei,n 1d o the Pool in .hich
the session .as
captured-
3ser+Client4erId 1nt Forei,n %lient version used by
User1( reerenced rom
the %lient=ersions table-
3ser2Client4erId int Forei,n %lient version used by
User2( reerenced rom
the %lient=ersions table-
InviteTime datetime
Res!onseTime datetime
Res!onseCode 1nt &1P response code to
the session invitation-
Session$ndTime datetime
V For most sessions( &ession1d&eK .ill have the value o 1- 1 multiple sessions start at e8actly
the same time( the &ession1d&eK or one .ill be 1( or another .ill be 2( and so on-
171
Messa"es Ta0le
!his table archives all messa,es sent durin, one-to-one 1# sessions- @ach record represents
one messa,e-
Column Data T#!e Ke#8Inde' Details
Messa"eIdTime datetime Primary !ime the messa,e .as
sent-
Messa"eIdSeH int Primary 12 number to identiy the
messa,e- Used in
conLunction .ith
Messa"eIdTime to
uniKuely identiy a
messa,e- V
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
*romId int Forei,n User1d o the user
sendin, the messa,e(
reerenced rom the
Users table-
Told int Forei,n User1d o the user
receivin, the messa,e(
reerenced rom the
Users table-
ContentT#!eId int Forei,n UniKue number
identiyin, this 1# content
type( reerenced rom the
%ontent!ypes table-
Com!uterId int Forei,n 1d o the Front @nd &erver
used or this messa,e(
reerenced rom the
%omputers table-
172
Column Data T#!e Ke#8Inde' Details
-od# nte8t %ontent o the messa,e
body-
Toast bit !"U@ is this messa,e
.as a toast messa,e-
Conte'tNote Eit !"U@ is this messa,e
.as a conte8t note-
Reserved+ tinyint "eserved or #icrosot
use-
Reserved2 tinyint "eserved or #icrosot
use-
V For most sessions( #essa,e1d&eK .ill have the value o 1- 1 multiple messa,es are sent at
e8actly the same time( the #essa,e1d&eK or one .ill be 1( or another .ill be 2( and so on-
CDR Data0ase Schema
!his section outlines the schema or the %2" database-
7ist of Ta0les
!he database schema consists o the ollo.in, tables-
Static Ta0les
Ta0le Descri!tion
#edia*ist &tores the list o media types that can ,enerate
entries in the database Aor e8ample( 1#( audio(
video( and ile transerB-
"oles &tores the list o possible conerence roles Aor
e8ample( attendee and presenterB-
UserAuth!ypes &tores the list o possible user authentication
type Aor e8ample( enterprise( ederated( P1%
and anonymousB-
Su!!ortin" Ta0les
173
Ta0le Descri!tion
%lient=ersions &tores the clients Aboth client type and version
numberB o each client involved in a call .ith
inormation captured in this database-
%omputers &tores the name o each computer that hosts a
Front @nd &erver-
2ialo,s &tores inormation about the 2ialo,12 or each
peer-to-peer session in the database-
?ate.ays &tores a list o #ediation &ervers that are used
or =o1P calls-
Pools &tores the names o pool on .hich 1#
messa,es are captured-
Phones &tores all the phone numbers used in =o1P calls
that .ere archived or .hose call details .ere
recorded-
#cus &tores inormation about the various
conerencin, servers and their U"1s-
Users &tores the user U"1s o users .ho have
participated in sessions recorded or archived in
this database-
Ta0les S!ecific to Conference CDR Records
Ta0le Descri!tion
%onerences &tores inormation about all conerences that
.ere archived or .hose details .ere recorded(
includin, %onerenceU"1( and start and end
time-
FocusJoinsAnd*eaves &tores inormation about conerence Loins and
leaves( includin, usersN role and client version-
#cuJoinsAnd*eaves &tores inormation about conerencin, servers
that are involved in a conerence( and the user
Loin and leave times-
Ta0les for Messa"es in IM Conferences
174
Ta0le Descri!tion
%onerence#essa,e%ount For each 1# conerence( stores the number o
messa,es that .ere sent by each user-
Ta0les for (eer/to/(eer Sessions
Ta0le Descri!tion
&ession2etails &tores inormation about every peer-to-peer
session( includin, start and end time( user 12(
response code( and messa,e count or each
user-
File!ransers &tores inormation about ile transer sessions(
includin, ile name and result Aaccepted(
reLected( or cancelledB-
#edia &tores inormation about the dierent media
types involved in peer-to-peer sessions-
Ta0le for 4oI( Call Details
Ta0le Descri!tion
=o1P2etails For each t.o-party =o1P+P&!) call( stores
inormation about the call Aor e8ample( the
phone 12 o =o1P phone( ,ate.ay used( and
.hich party disconnectedB- "eers to the
&ession2etails table or call start+end times and
response code-
Note:
1 one party on a call is a =o1P user or i
a #ediation &erver .as involved in the
call( a record .ill be created in this
table- 1normation about =o1P+=o1P calls
not involvin, a P&!) phone is captured
in the &ession2etails table-
Ta0les for Trou0leshootin"
175
Ta0le Descri!tion
Application &tores inormation about various processes
.ithin Oice %ommunications &erver that are
involved in routin, and connections-
@rror2e &tores inormation about types o errors and
their deinitions-
@rror"eport &tores inormation about errors that have
occurred-
Pro,ress"eport &tores inormation about the pro,ress reports o
various steps involved in Oice
%ommunications &erver processes-
!he tables in the ollo.in, list are used internally by Oice %ommunications &erverT their details
are not described in this document-
Ta0les for Internal 3se 0# Office Communications Server
Ta0le Descri!tion
D0Confi"DateTime For internal use only-
D0Confi"Int For internal use only-
D0$rrorMessa"e For internal use only-
Ta0le Details
!his section details the columns in each o the %2" database schema tables-
Media7ist Ta0le
!he #edia*ist table is a static table that stores the list o various media types-
Column MediaId Media
Data T#!e tin#int nvarcharA2F5B
Ke#8Inde' (rimar#
Static 4alues + 1#
2 File !ranser
< "emote Assistance
> Application &harin,
176
Column MediaId Media
? Audio
@ =ideo
7 App 1nvite
A #eetin,
L Phone
Roles Ta0le
!he "oles table is a static table that stores the list o possible conerence roles( such as attendee
and presenter-
Column RoleId Role
Data T#!e tin#int nvarcharA2F5B
Ke#8Inde' (rimar#
Static 4alues 0 Un/no.n
+ Presenter
2 Attendee
3seruthT#!es Ta0le
!he UserAuth!ypes table is a static table that stores the list o possible user authentication types(
such as enterprise( ederated( Public 1# %onnectivity AP1%B( and anonymous-
Column uthT#!eId uthT#!e
Data T#!e int nvarcharA2F5B
Ke#8Inde' (rimar#
Static 4alues 0 Un/no.n
+ @nterprise
2 Federated
< Anonymous
> Public 1# %onnectivity
177
Client4ersions Ta0le
!he %lient=ersions table is a supportin, table that stores a list o the various client types and
versions that have participated in sessions recorded in the database- @ach record in the table
represents one client version-
Column Data T#!e Ke#8Inde' Details
4ersionId int Primary UniKue number
identiyin, this client
type and version-
4ersion nvarcharA2F5B =ersion name-
Com!uters Ta0le
!he %omputers table is a supportin, table that stores inormation about the various Front @nd
&ervers- @ach record in the table represents one Front @nd &erver-
Column Data T#!e Ke#8Inde' Details
Com!uterId int Primary UniKue number
identiyin, this Front
@nd &erver-
Com!uter nvarcharA15B Front @nd &erver host
name-
(ools Ta0le
!he Pools table is a supportin, table that stores inormation about the various Pools- @ach record
in the table represents one Pool
Column Data T#!e Ke#8Inde' Details
(oolId int Primary UniKue number
identiyin, this Pool-
(ool*6DN nvarcharA2F5B Pool F<2)-
Dialo"s Ta0le
!he 2ialo,s table is a supportin, table that stores the inormation about 2ialo,1ds or peer-to-
peer sessions-
178
Column Data T#!e Ke#8Inde' Details
Dialo"Id int Primary UniKue number identiyin, this
&1P dialo, instance-
$'ternalChec.sum 1nt %hec/sum o the @8ternal1d-
!his ield is used to increase
the speed o database
searches-
$'ternalId varbinaryA''FB &1P dialo, 1d( stored as a
binary- !he ormat o the
binary is:
dialo,Trom-ta,Tto-ta,
!his data can be converted to
te8t ormat by usin,:
castWcastWE/ternaId
as ;ar)inaryWma/XX as
;arc1arWma/XX
Gate)a#s Ta0le
!he ?ate.ays table is a supportin, table- @ach record stores inormation about one #ediation
&erver that is involved in calls that have records in the database-
Column Data T#!e Ke#8Inde' Details
Gate)a#Id int Primary UniKue number
identiyin, this
#ediation &erver-
Gate)a# nvarcharA2F5B #ediation &erver
name-
Mcus Ta0le
!he #cus table is a supportin, tableT each record stores the inormation about one conerencin,
server- !hese can include the 1# %onerencin, &erver and the !elephony %onerencin, &erver
A.hich run as processes on Front @nd &erversB( and the 9eb %onerencin, &erver and A+=
%onerencin, &erver-
Column Data T#!e Ke#8Inde' Details
McuId int Primary UniKue number
identiyin, this #%U
179
Column Data T#!e Ke#8Inde' Details
server-
Mcu3ri nvarcharACF0B
McuT#!e nvarcharA2F5B #%U type Aor
e8ample( chat Aor
1#sB or audio/videoB-
3sers Ta0le
!he Users table is a supportin, tableT each record in the table stores inormation about one user
involved in calls or sessions that have records in the database-
Column Data T#!e Ke#8Inde' Details
3serId int Primary UniKue number
identiyin, this user-
3ser3ri nvarcharACF0B
uthT#!eId 1nt Forei,n UniKue number
identiyin, this userNs
authentication type-
"eerence to
UserAuth!ypes table-
(hones Ta0le
!he Phones table is a supportin, tableT each record in the table stores inormation about one
phone number involved in =o1P calls that have records in the database-
Column Data T#!e Ke#8Inde' Details
(honeId int Primary UniKue number
identiyin, this phone-
(hone3ri nvarcharACF0B
Conferences Ta0le
@ach record in this table contains call details about one conerence-
Column Data T#!e Ke#8Inde' Details
Conference3ri nvarcharACF0B
180
Column Data T#!e Ke#8Inde' Details
Chec.sum 1nt %hec/sum o
Conference3RiT used
to increases the speed
o database searches-
ConfInstance 1nt Useul or recurrin,
conerencesT each
instance o a recurrin,
conerence has the
same Conference3ri(
but .ill have a dierent
ConfInstance-
SessionIdTime datetime Primary !ime that the
conerence reKuest .as
captured by the %2"
a,ent- Used only as a
primary /ey to uniKuely
identiy a session-
SessionIdSeH int Primary 12 number to identiy
the session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- V
ConferenceStartTime datetime
Conference$ndTime datetime
(oolId 1nt Forei,n 12 number to identiy
the pool in .hich the
conerence .as
captured- "eerence to
Pools table-
Or"ani;erId 1nt Forei,n 12 number to identiy
the or,aniHer U"1 o
this conerence-
"eerence to Users
table-
181
V For most sessions( &ession1d&eK .ill have the value o 1- 1 t.o sessions start at e8actly the
same time( the &ession1d&eK or one .ill be 1( and or the other .ill be 2( and so on-
*ocus9oinsnd7eaves Ta0le
@ach record in this table contains the %2" inormation about one userNs Loin and leave
inormation or one conerence- @ach conerence is represented in this table by one record or
each time a user Loins and leaves the conerence-
Column Data T#!e Ke#8Inde' Details
3serId int Primary( Forei,n UniKue number
identiyin, this user(
reerenced rom the
Users table-
3serInstance 1nt Primary 1 a user is lo,,ed on at
multiple computers or
devices at once(
User1nstance is used to
uniKuely identiy the
user+device combination-
Is3serInternal Eit 9hether the user lo,,ed
on rom internal or not-
3serRole 1nt !his userNs role in the
conerence-
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
3ser9oinTime datetime
3ser7eaveTime datetime
182
Column Data T#!e Ke#8Inde' Details
Client4erId int Forei,n =ersion o the userNs
client sot.are(
reerenced rom the
%lient=ersions table-
Mcu9oinsnd7eaves Ta0le
@ach record in this table contains call details about one combination o a user Loin or leave and
#%U device- For e8ample( i a user Loins a conerence that includes 9eb conerencin, and
audio+video elements( one record .ould be created or that userNs 9eb conerencin, Loin( and
another record .ould be created or the userNs audio+video Loin-
Column Data T#!e Ke#8Inde' Details
3serId int Primary( Forei,n UniKue number
identiyin, this user(
reerenced rom the
Users table-
3serInstance 1nt Primary 1 a user is lo,,ed on at
multiple computers or
devices at once(
User1nstance uniKuely
identiies the user+device
combination-
Is*rom(stn Eit 9hether the user is
Loinin, rom P&!) or not-
McuId 1nt Primary( Forei,n UniKue number
identiyin, this #%U
device( reerenced rom
the #cus table-
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
183
Column Data T#!e Ke#8Inde' Details
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- "eerenced
rom the %onerences
table-
3ser9oinTime datetime
3ser7eaveTime datetime
ConferenceMessa"eCount Ta0le
@ach record in this table represents one user in one 1# conerence and includes the number o
messa,es sent by that user- @ach conerence is represented by multiple records in this tableT one
record or each user-
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session- "eerenced rom
the %onerences table-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- "eerenced rom
the %onerences table-
3serId int Primary( Forei,n UniKue number
identiyin, this user(
reerenced rom the
Users table-
Messa"eCount smallint !he number o messa,es
sent by this user durin,
this conerence-
184
SessionDetails Ta0le
@ach record represents one peer-to-peer session( .hich could be a =o1P-=o1P phone call( 2-party
1# session( or other type o session- !o ind the modalities used durin, a session( you must do a
table Loin .ith the #edia table- &ession type is not stored in the &ession2etails table-
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary !ime o session
reKuestT used in
conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary 12 number to identiy
the session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session- V
Dialo"Id 1nt Forei,n &1P dialo, 12(
reerenced rom the
2ialo,s table-
CorrelationId uniKueidentiier A ?U12 to correlate
multiple sessions-
Re!laceDialo"Id 1nt Forei,n 12 number to identiy
the dialo, .hich .as
replaced by current
session- "eerence to
2ialo,s table
3ser+Id 1nt Forei,n 1d o one user in the
session( reerenced
rom the Users table-
3ser2Id int Forei,n 1d o the other user in
the session( reerenced
rom the Users table-
Tar"et3serId 1nt !he ori,inal !o user
U"1 in &1P reKuest-
"eerence to Users
table-
SessionStarted-#Id int Forei,n 1d o the user .ho
185
Column Data T#!e Ke#8Inde' Details
started the session(
reerenced rom the
Users table-
On-ehalfOfId 1nt 1ndicate the 1d o the
user o .ho the caller
is on behal- "eerence
Users table-
Referred-#Id 1nt Forei,n 1d o the user by .ho
the call is reerred-
Com!uterId 1nt Forei,n 1d o the Front @nd
&erver used or this
session-
(oolId Forei,n 1d o the Pool in .hich
the session .as
captured-
3ser+Client4erId 1nt Forei,n %lient version used by
User1( reerenced rom
the %lient=ersions
table-
3ser2Client4erId int Forei,n %lient version used by
User2( reerenced rom
the %lient=ersions
table-
Is3ser+Internal Eit 9hether user1 is
lo,,ed on rom internal
or not-
Is3ser2Internal Eit 9hether user2 is
lo,,ed on rom internal
or not-
InviteTime datetime
Res!onseTime datetime
Res!onseCode 1nt &1P response code to
the session invitation-
DianosticId 1nt 2ia,nostic 1d captured
rom &1P header-
3ser+Messa"eCount 1nt )umber o messa,es
186
Column Data T#!e Ke#8Inde' Details
sent by User1 durin,
the session-
3ser2Messa"eCount 1nt )umber o messa,es
sent by User2 durin,
the session-
Session$ndTime datetime
V For most sessions( &ession1d&eK .ill have the value o 1- 1 multiple sessions start at e8actly
the same time( the &ession1d&eK or one .ill be 1( or another .ill be 2( and so on-
*ileTransfers Ta0le
@ach record represents one ile transer session-
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
*ileName nvarcharA2F5B
Coo.ie int Primary "andom number
bet.een 1 and
C(29C(95'(29F A2Z42 -
1BB- Used to identiy
every ollo.-up
messa,e as bein,
associated .ith this one-
cce!t bit %an be !"U@ or )U**-
1 !"U@( then "eLect
and %ancel .ill be
)U**-
Re=ect bit %an be !"U@ or )U**-
187
Column Data T#!e Ke#8Inde' Details
1 !"U@( then Accept
and %ancel .ill be
)U**-
Cancel bit %an be !"U@ or )U**-
1 !"U@( then Accept
and "eLect .ill be )U**-
bit
Media Ta0le
@ach record represents one media type used in a peer-to-peer session- One session .ould be
represented by multiple records in the table( i more than one media type is used-
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary( Forei,n !ime o session reKuestT
used in conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary( Forei,n 12 number to identiy the
session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
MediaId tinyint Primary( Forei,n UniKue number
identiyin, this media
type( reerenced rom the
#edia*ist table-
StartTime datetime Primary
$ndTime datetime
4oi!Details Ta0le
@ach record represents one t.o-party call in .hich at least one user is a =o1P user-
188
Column Data T#!e Ke#8Inde' Details
SessionIdTime datetime Primary( Forei,n !ime o session
reKuestT used in
conLunction .ith
SessionIDSeH to
uniKuely identiy a
session-
SessionIdSeH int Primary( Forei,n 12 number to identiy
the session- Used in
conLunction .ith
SessionIDTime to
uniKuely identiy a
session-
*romNum0erId int Forei,n (honeId o the caller(
reerenced rom the
Phones table- 1 )U**(
the caller .as a P&!)
user-
ConnectedNum0erId int Forei,n (honeId o the call
receiver( reerenced
rom the Phones table-
1 )U**( the receiver
.as a P&!) user-
*romGate)a#Id int Forei,n #ediation &erver the
call is comin, rom(
reerenced rom the
?ate.ays table-
ToGate)a#Id 1nt Forei,n #ediation &erver called
is ,oin, to( reerence to
?ate.ays table-
Disconnected0#3RIId int Forei,n U"1 o the user .ho
disconnected the call( i
the user has a U"1-
"eerenced rom the
Users table-
Disconnected0#(honeId int Forei,n 12 o the phone that
disconnected the call i
the call .as
disconnected rom a
phone- "eerenced
189
Column Data T#!e Ke#8Inde' Details
rom the Phones table-
!!lication Ta0le
!his table stores inormation about the various processes .ithin Oice %ommunications &erver
involved in routin, and connections-
Column Data T#!e Ke#8Inde' Details
!!licationId int Primary UniKue number
identiyin, this
application-
Name nvarcharA2F'B
$rrorDef Ta0le
!his table stores inormation about each type o error that may occur- @ach record is one type o
error-
@rror2e !able
Column Data T#!e Ke#8Inde' Details
$rrorId int Primary UniKue 12 number identiyin,
this type o error-
Res!onseCode int &tandard &1P response code
associated .ith this error-
MsDia"Id int #icrosot 2ia,nostic 12-
ReHuestT#!e varbinaryA44B !ype o reKuest that ailed-
!his data can be converted to
te8t ormat by usin,:
castWcastWRequestType
as ;ar)inaryWma/XX as
;arc1arWma/XX
ContentT#!e varbinaryA2F'B %ontent type o the reKuest that
ailed-
!his data can be converted to
te8t ormat usin,:
castWcastWContentType
as ;ar)inaryWma/XX as
190
Column Data T#!e Ke#8Inde' Details
;arc1arWma/XX
$rrorRe!ort Ta0le
!his table stores inormation about errors that have occurred- @ach record is one error
occurrence-
Column Data T#!e Ke#8Inde' Details
$rrorTime datetime Primary 2ate and time the error
occurred-
$rrorId int Primary( Forei,n UniKue 12 o the error type(
reerenced rom the @rror2e
table-
*rom3serId int Forei,n User .ho ori,inated the
reKuest that caused the
error- "eerenced rom the
Users table-
To3serId int Forei,n 2estination user or the
reKuest that caused the
error- "eerenced rom the
Users table-
Dialo"Id int Forei,n "eerenced rom the 2ialo,s
table-
MsDia"1eader ima,e #ore inormation about the
error-
!his data can be converted
to te8t ormat usin,:
castWcastW,etai as
;ar)inaryWma/XX as
;arc1arWma/XX
(ro"ressRe!ort Ta0le
Pro,ress reports are based on data uploaded by the client to the database ater a call or session
is completed- Pro,ress reports .ill be .ritten only or calls and sessions that Oice
%ommunications &erver determines mi,ht be useul or dia,nostic purposes-
!he @rror!ime and @rror1d ields do not necessarily reer to errors but to messa,es that indicate
the status o calls or messa,es-
191
Column Data T#!e Ke#8Inde' Details
$rrorTime datetime Primary( Forei,n 2ate and time o the
pro,ress report-
$rrorId int Primary( Forei,n UniKue 12 o the error type(
reerenced rom the
@rror2e table-
(ro"ressRe!ortSeH int Primary 12 number to identiy the
pro,ress report- Used in
conLunction .ith @rror!ime
to uniKuely identiy a
session-
!!licationId int Forei,n !he Oice %ommunications
&erver process that the
report is about- "eerenced
rom the Application table-
Detail ima,e Pro,ress report details(
stored in binary ormat to
save space-
!his data can be converted
to te8t ormat usin,:
castWcastW,etai as
;ar)inaryWma/XX as
;arc1arWma/XX
bit
Sam!le Data0ase 6ueries
!his section contains sample Kueries or the %2" database- !he %2" "eporter tool in the Oice
%ommunications &erver 200' "esource Jit has more-
!o ind the total number o P&!) to U% %alls:
Seect CountW\X as O7um)er >f 0ST7 to 9C CasO From Voip,etais as
;oipd Voin Session,etais as sd on W;oipd.SessionIdTime =
sd.SessionIdTime and ;oipd.SessionIdSeq = sd.SessionIdSeq and
sd.9ser!Id is nuX and From7um)erId in WSE5ECT 01oneId from 01onesX
and SateCayId is not nu
!o ind the total numbers o conerences that used #eetin, %onsole:
SE5ECT countWdistinctWc.Conference9riXX as ,ata4C9 Conferences from as
m8 inner 8oin as m on Wm.4cuId = m8.4cuIdX inner 8oin as c on
192
Wc.SessionIdTime = m8.SessionIdTime and c.SessionIdSeq =
m8.SessionIdSeqX C1ere m.4cuType=meeting
RequestType = 0?CS!=
!o ind the total number o redirected calls:
SE5ECT countW\X as 7um)er of Redirected Cas from Voip,etais C1ere
Referred:yId is not nu
6o$ Data0ase Schema
!his documents the schema o the <o@ database in Oice %ommunications &erver 200' "2-
In This Section
*ist o !ables
!able 2etails
&ample 2atabase <ueries
7ist of Ta0les
!he database schema consists o the ollo.in, tables-
Su!!ortin" Ta0les
!able 2escription
UserA,ent !able &tores &1P User A,ent AUAB strin,s and UA
types used in audio and video sessions-
User !able &tores user( conerence( and phone U"1s used
in audio and video sessions-
@ndpoint !able &tores F<2) computer names o endpoints
participatin, in audio and video sessions-
Pool !able &tores the names o pools to .hich metrics data
belon,s-
2evice !able &tores capture devices and render devices
.hich are used in an audio+video calls-
%onerence !able &tores %onerence U"1s or conerence
scenarios( or 2ialo,12 or other scenarios-
&ession%orrelation !able &tores %orrelation12 or P&!) calls-
Ta0les for metrics data
193
!able 2escription
&ession !able &tores overall inormation about an audio or
audio+video session- A session is deined as an
audio or video &1P dialo, bet.een t.o
endpoints-
#edia*ine !able &tores inormation about each media line in a
session- A media line is a collection o one or
more audio and video streams- !ypically( a
sin,le media line .ill have t.o streams( either
audio or video-
Audio&tream !able &tores audio media Kuality metrics or each
audio stream in the media line-
=ideo&tream !able &tores video media Kuality metrics or each
audio stream in the media line-
Ta0les for Internal 3se 0# Monitorin" Server
!able 2escription
D0Confi"DateTime For internal use only-
D0Confi"Int For internal use only-
D0$rrorMessa"e For internal use only-
MS*TBSI(6MSD-Confi"Settin" For internal use only-
MS*TBSI(6MSD#namicSu0net For internal use only-
MS*TBSI(6MSMonitored4MC3 For internal use only-
MS*TBSI(6MSMonitoredMediationServer For internal use only-
MS*TBSI(6MSSin"leMas.Su0net For internal use only-
MS*TBSI(6MSStatic7ocation For internal use only-
MS*TBSI(6MSStaticSu0net For internal use only-
Ta0le Details
!hese sections detail the columns in each o the <o@ database schema tables-
UserA,ent !able
User !able
@ndpoint !able
194
Pool !able
2evice !able
%onerence !able
&ession%orrelation !able
&ession !able
#edia*ine !able
Audio&tream !able
=ideo&tream !able
3ser"ent Ta0le
!he UserA,ent table is a supportin, table that stores a list o the various User A,ents that have
participated in sessions recorded in the database- @ach record in the table represents one User
A,ent
%olumn 2ata !ype Jey+1nde8 2etails
3ser"entKe# int Primary UniKue number
identiyin, this user
a,ent-
3ser"ent nvarcharA2F5B UniKue User A,ent strin,-
3T#!e smallint 1 is #ediation &erver-
2 is A+= %onerencin,
&erver-
C is Oice
%ommunicator-
G is 1P Phone-
15 is *ive #eetin,
%onsole-
42 is 2eployment
=alidation !ool A2=!B-
5C is Oice
%ommunicator on
#acintosh computers-
12G is Oice
%ommunications &erver
"2 Attendant-
2F5 is %onerencin,
Announcement &ervice-
F12 is %onerencin, Auto
Attendant-
195
%olumn 2ata !ype Jey+1nde8 2etails
102C is "esponse ?roup
&ervice-
20CG is Outside =oice
%ontrol-
Ne't3!dateTS 2atetime For internal use only-
3ser Ta0le
!he User table is a supportin, table that stores a list o the various users .ho have participated in
sessions recorded in the database- @ach record in the table represents one user-
%olumn 2ata !ype Jey+1nde8 2etails
3serKe# int Primary UniKue number
identiyin, this user-
3RI nvarcharACF0B UniKue U"1 strin,
3RIT#!e int 1 is un/no.n U"1
type( 2 is user U"1( C
is conerence U"1(
and G is phone U"1-
Ne't3!dateTS 2atetime For internal use only-
$nd!oint Ta0le
!he @ndpoint table is a supportin, table that stores inormation about the endpoints that have
participated in sessions recorded in the database- @ach record in the table represents one
endpoint
%olumn 2ata !ype Jey+1nde8 2etails
$nd!ointKe# int Primary UniKue number
identiyin, this
endpoint-
Name nvarcharA2F5B UniKue @ndpoint name-
Ne't3!dateTS 2atetime For internal use only-
(ool Ta0le
!he Pool table is a supportin, table that stores inormation about the various @nterprise pools-
@ach record in the table represents one pool
196
%olumn 2ata !ype Jey+1nde8 2etails
(oolKe# int Primary UniKue number
identiyin, this pool-
(oolName nvarcharA2F5B Pool F<2)
Ne't3!dateTS datetime For internal use only-
Device Ta0le
!he 2evice table is a supportin, table that stores inormation about the various capture or render
devices- @ach record in the table represents one device-
%olumn 2ata !ype Jey+1nde8 2etails
DeviceKe# 1nt Primary UniKue number
identiyin, this device
DeviceName nvarcharA2F5B 2evice)ame >
2evice!ype is uniKue
2evice name-
DeviceT#!e Eit 2evice)ame >
2evice!ype is uniKue
2evice!ype( 1 is a
capture device( 0 is a
render device-
Ne't3!dateTS 2atetime For internal use only-
Conference Ta0le
!he %onerence table is a supportin, table- @ach record represents one conerence or peer-to-
peer session-
%olumn 2ata !ype Jey+1nde8 2etails
ConferenceKe# 1nt Primary UniKue number
identiyin, this
%onerence record-
Conf3RI nvarcharACF0B uniKue %onerence U"1 is
this is a conerence(
or 2ialo,12 i this is a
peer-to-peer session-
Ne't3!dateTS 2atetime For internal use only-
197
SessionCorrelation Ta0le
!he &ession%orrelation table is a supportin, tableT each record represents one %orrelation12
.hich is used to correlate multiple sessions-
%olumn 2ata !ype Jey+1nde8 2etails
CorrelationKe# int Primary UniKue number
identiyin, this
conerencin, server-
CorrelationID nvarcharA2F5B uniKue &essions that are
correlated .ill have the
same %orrelation12-
Ne't3!dateTS 2atetime For internal use only-
Session Ta0le
@ach record represents one session .hich involves audio or audio+videoT it contains overall
inormation about the session- A session is deined as an audio or video &1P dialo, bet.een t.o
endpoints-
%olumn 2ata !ype Jey+1nde8 2etails
ConferenceDateTime 2atetime Primary !ime .hen the <o@ a,ent
receives the irst report rom
either caller or calleeT used
in conLunction .ith
SessionSeH to uniKuely
identiy a session-
SessionSeH 1nt Primary &eKuence number to
dierentiate sessions .hen
they have the same
ConferenceDateTime-
SessionID varcharA2F5B 2ialo,12 .hich is ,lobally
uniKue-
Chec.sum 1nt 1nde8 %hec/sum o &ession12( or
internal use only-
ConferenceKe# 1nt Forei,n %onerence /ey( reerenced
rom the %onerence !able-
CorrelationKe# 1nt Forei,n %orrelation /ey( reerenced
rom the &ession%orrelation
!able-
198
%olumn 2ata !ype Jey+1nde8 2etails
Dialo"Cate"or# bit 2ialo, cate,oryT 0 is O%&
to #ediation &erver *e,( 1
is #ediation &erver to
P&!) ,ate.ay le,-
StartTime 2atetime %all start time-
$ndTime datetime %all end time-
Caller(ool 1nt Forei,n !he pool o the caller(
reerenced rom the Pool
!able-
Callee(ool 1nt Forei,n !he pool o the call receiver(
reerenced rom the Pool
!able-
Caller(I 1nt Forei,n &1P U"1 in the &1P p-
asserted identity APA1B rom
the callin, endpoint(
reerenced rom the User
!able-
Callee(I int Forei,n &1P U"1 in the &1P p-
asserted identity APA1B o the
receivin, endpoint(
reerenced rom the User
!able-
Caller3RI 1nt Forei,n %allerNs U"1( reerenced
rom the User !able-
Callee3RI int Forei,n %all receiverNs U"1(
reerenced rom the User
!able-
Caller$nd!oint 1nt Forei,n %allerNs endpoint(
reerenced rom the
@ndpoint !able-
Callee$nd!oint int Forei,n %all receiverNs endpoint(
reerenced rom the
@ndpoint !able-
Caller3ser"ent Eit Forei,n %allerNs user a,ent(
reerenced rom the
UserA,ent !able-
Callee3ser"ent Eit Forei,n %all receiverNs user a,ent(
199
%olumn 2ata !ype Jey+1nde8 2etails
reerenced rom the
UserA,ent !able-
Media7ine Ta0le
@ach record represents one media line- AOne audio session usually contains one audio media
line- One audio+video session usually contains one audio media line and one video media line(
althou,h the session mi,ht contains t.o video media lines i the #icrosot "ound!able
conerencin, device is usedB
%olumn 2ata !ype Jey+1nde8 2etails
ConferenceDateTime 2atetime Primary "eerenced rom &ession
!able-
SessionSeH 1nt Primary "eerenced rom &ession
!able-
Media7ine7a0el tinyint Primary 0 is main audio( 1 is main
video( and 2 is panoramic
video- !his label must be
uniKue .ithin a sin,le
session-
Connectivit#Ice tinyint 1normation about media
path( such as direct or
relayed-
1 is 21"@%!
2 is "@*A:
C is D!!P
G is FA1*@2
CallerIce2arnin"*la"s 1nt 1normation about 1%@
process described in bits
la,s- For more details(
reer to the Qualit$ of
%&perience 'onitoring
!erver #rotocol
!pecification( available or
do.nload-
CalleeIce2arnin"*la"s int &ame as
%aller1ce9arnin,Fla,s(
but on %allee side- For
more details( reer to the
200
%olumn 2ata !ype Jey+1nde8 2etails
Qualit$ of %&perience
'onitoring !erver
#rotocol !pecification(
available or do.nload-
Offerer bit )ot used-
ns)erer bit )ot used-
Securit# !inyint !he security proile in use-
0 os )O)@( 1 is &"!P( 2
is =1-
Trans!ort !inyint 0 is U2P( 1 is !%P-
CallerI(ddr 1nt 1P Address o the caller-
Caller(ort 1nt Port used by the caller-
CallerSu0netMas. int !he subnet mas/ o the
caller-
CallerInside bit 1 means caller is inside
the enterprise net.or/( 0
means the caller is
outside the net.or/-
CallerRela#I(ddr int 1P Address o the A+=
@d,e service used by the
caller-
CallerRela#(ort 1nt Port used on the A+=
@d,e service by the caller-
CallerRela#Su0netMas. 1nt &ubnet #as/ o the A+=
@d,e service used by the
caller-
CallerRela#Inside bit )ot used-
CallerCa!tureDev int orei,n %apture device used by
the caller( reerenced rom
the 2evice !able
CallerRenderDev 1nt orei,n "ender device used by
caller( reerenced rom
2evice table-
CallerCa!tureDevDriver varcharA2F5B 2river or the callerNs
capture device-
201
%olumn 2ata !ype Jey+1nde8 2etails
CallerRenderDevDriver varcharA2F5B 2river or the callerNs
render device -
CallerNet)or.ConnectionT#!e tinyint !he callerOs net.or/
connection typeT 0 is
9ired( 1 is .ireless-
Caller4(N bit !he %allerOs lin/T 1 is
virtual private net.or/
A=P)B( 0 is non-=P)-
Caller7in.S!eed decimalA1G(0B !he net.or/ lin/ speed in
bps or the callerOs
endpoint-
CalleeI(ddr bit 1P Address o the call
receiver-
Callee(ort Eit Port used by the call
receiver-
CalleeSu0netMas. bit &ubnet #as/ o the A+=
@d,e service used by the
call receiver-
CalleeInside Eit 1 means call receiver is
inside the enterprise
net.or/( 0 means the call
receiver is outside the
net.or/-
CalleeRela#I(ddr 1nt 1P Address o the A+=
@d,e service used by the
call receiver-
CalleeRela#(ort 1nt Port used on the A+=
@d,e &ervice by the call
receiver-
CalleeRela#Su0netMas. 1nt &ubnet mas/ o the A+=
@d,e service used by the
call receiver-
CalleeRela#Inside Eit )ot used(
CalleeCa!tureDev 1nt orei,n %apture device used by
the call receiver(
reerenced rom the
2evice !able-
202
%olumn 2ata !ype Jey+1nde8 2etails
CalleeRenderDev 1nt orei,n "ender device used by
the call receiver(
reerenced rom the
2evice !able-
CalleeCa!tureDevDriver varcharA2F5B 2river or the the call
receiverNs capture device-
CalleeRenderDevDriver varcharA2F5B 2river or the the call
receiverNs render device-
CalleeNet)or.ConnectionT#!e tinyint !he call receiverOs
net.or/ connection typeT
0 is 9ired( 1 is .ireless-
Callee4(N bit !he call receiverNs lin/T 1
is virtual private net.or/
A=P)B( 0 is non-=P)-
Callee7in.S!eed decimalA1G(0B !he net.or/ lin/ speed in
bps or the call receiverNs
endpoint-
ConversationalMOS decimalA4(2B )arro.band
%onversational #O& o
the audio sessions Abased
on both audio streamsB-
ConversationalMOSl" varcharA2F5B )ot used-
Caller Eit 1ndicate .hether metrics
rom the caller .ere
receivedT 1 is yes( 0 is no-
Callee bit 1ndicate .hether metrics
rom the call receiver .ere
receivedT 1 is yes( 0 is no-
udioStream Ta0le
@ach record represents one audio stream- One audio media line usually contains t.o audio
streams-
%olumn 2ata !ype Jey+1nde8 2etails
ConferenceDateTime 2atetime primary "eerenced rom the
#edia*ine !able-
203
%olumn 2ata !ype Jey+1nde8 2etails
SessionSeH 1nt primary "eerenced rom the
#edia*ine !able-
Media7ine7a0el tinyint primary "eerenced rom the
#edia*ine !able-
StreamID int primary UniKue 12 .ithin a
media line-
9itterInterrrival 1nt Avera,e )et.or/ Litter
rom "eal !ime %ontrol
Protocol A"!%PB
statistics-
9itterInterrrivalMa' 1nt #a8imum )et.or/
Jitter durin, the call-
(ac.et7ossRate decimalAF(CB Avera,e pac/et loss
rate durin, the call-
(ac.et7ossRateMa' decimalAF(CB #a8imum pac/et loss
observed durin, the
call-
-urstDensit# decimalA9(CB Avera,e density o
pac/et *oss durin,
bursts o losses durin,
the call-
-urstDuration 1nt Avera,e duration o
pac/et loss durin,
bursts o losses durin,
the call-
-urstGa!Densit# decimalA9(CB Avera,e density o
pac/et loss durin, ,aps
bet.een bursts o
pac/et loss-
-urstGa!Duration 1nt Avera,e duration o
,aps bet.een bursts o
pac/et loss-
(ac.et3tili;ation 1nt Pac/et count or the
audio stream-
-and)idth$st 1nt Eand.idth estimates
or the audio stream-
204
%olumn 2ata !ype Jey+1nde8 2etails
De"radationv" decimalA4(2B )et.or/ #O&
2e,radation or the
.hole call- "an,e is 0-0
to F-0- !his metric
sho.s the amount the
)et.or/ #O& .as
reduced because o
Litter and pac/et loss-
For acceptable Kuality it
should less than 0-F-
De"radationMa' decimalA4(2B #a8imum )et.or/
#O& de,radation
durin, the call-
De"radation9itterv" decimalA4(2B )et.or/ #O&
de,radation caused by
Jitter-
De"radation(ac.et7ossv" decimalA4(2B )et.or/ #O&
de,radation caused by
pac/et loss-
udio(a#loadDescri!tion varcharA2F5B !he audio codec used
or the call-
udio(a#loadT#!e int )ot used-
udioSam!leRate int &amplin, rate or the
audio stream-
In0oundudioSi"nal7evel M int "epresents the Post-
Analo, ?ain %ontrol
audio si,nal level- !he
unit or this metric is
dEmo- For acceptable
Kuality it should be at
least 40 dEmo- !his
metric is not reported
by the A+=
%onerencin, &erver or
1P phones- !his is
reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
205
%olumn 2ata !ype Jey+1nde8 2etails
#ediation &erver to
,ate.ay le,-
In0oundudioNoise7evel M int "epresents the Post-
Analo, ?ain %ontrol
audio noise level- !he
unit or this metric is
dEmo- For acceptable
Kuality it should be less
than 4F dEmo- !his
metric is not reported
by the A+=
%onerencin, &erver or
1P phones- !his is
reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
#ediation &erver to
,ate.ay le,-
In0oundudioSi"nal$choReturnM int @cho "eturn *oss
@nhancement metric-
!he unit or this metric
is dE- *o.er values
represent less echo-
!his metric is not
reported by the A+=
%onerencin, &erver or
1P phones- !his is
reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
#ediation &erver to
,ate.ay le,-
Out0oundudioSi"nal7evelM int "epresents the Post
Analo, ?ain %ontrol
audio &i,nal level- !he
unit or this metric is
dEmo- For acceptable
Kuality it should be at
least dEmo- !his metric
206
%olumn 2ata !ype Jey+1nde8 2etails
is not reported by the
A+= %onerencin,
&erver or 1P phones-
!his is reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
#ediation &erver to
,ate.ay le,-
Out0oundudioNoise7evelM int "epresent the Post
Analo, ?ain control
audio noise level- !he
unit or this metric is
dEmo- For acceptable
Kuality it should be less
than 4F dEmo- !his
metric is not reported
by the A+=
%onerencin, &erver or
1P phones- !his is
reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
#ediation &erver to
,ate.ay le,-
Out0oundudioSi"nal$choReturnM int @cho "eturn *oss
@nhancement metric-
!he unit or this metric
is dE- *o.er values
represent less echo-
!his metric is not
reported by the A+=
%onerencin, &erver or
1P phones- !his is
reported by the
#ediation &erver on
appro8imately 2X o
the calls on the
#ediation &erver to
,ate.ay le,-
207
%olumn 2ata !ype Jey+1nde8 2etails
udioS!ea.er*eed0ac.MicInM int !his is the microphone
input level rom the
loudspea/er si,nal
.hich comes rom the
ar end- !he unit is
dEo=- For acceptable
Kuality this value
should be less than 20
dEo=- 1 this number is
too hi,h( it means that
the near end
microphone is ,ettin,
too much eedbac/
rom the near end
loudspea/er- )ot
reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udioS!eech7evelMicInM int !his is the speech level
into the microphone at
the near end- !he unit
is dEo=- For acceptable
Kuality it should be
bet.een -1G dEo= and
-4F dEo=( i ,reater
than -1G dEo=( then
si,nal clippin, or echo
is occurrin, .hen both
parties tal/- 1 it is less
than -4F dEo=( then
speech mi,ht be
distorted- )ot reported
by A+= %onerencin,
&ervers( #ediation
&ervers( or 1P phones-
udioS!eech7evel(ost(rocessM int Overall avera,e speech
level sent to the ar end
Aater si,nal
processin,B rom the
near end- !he unit or
208
%olumn 2ata !ype Jey+1nde8 2etails
this metric is dEo=- For
acceptable Kuality it
should be .ithin [-40 to
-1G\ dEo=- )ot reported
by A+= %onerencin,
&ervers( #ediation
&ervers( or 1P phones-
udioSi"nal7evel7oudS!ea.erM int &pea/er+Deadphone
input level Aat the near
endB- !he unit or this
metric is dEo=- For
acceptable Kuality it
should ran,e bet.een
[-4F to -1F\ dEo=- 1 too
hi,h there may be
clippin,- 1 too lo. then
there mi,ht be lo.
volume issues- )ot
reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udio-ac.GroundNoiseMicInM int Eac/,round )oise
1nput to the microphone
at the near end- !he
unit or this metric is
dEo=- For acceptable
Kuality the ran,e
should be less than -4F
dEo=- 1 noise is too
hi,h( this indicates a
bad device or bad
device setup .hich is
de,radin, audio Kuality-
)ot reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udio-ac.GroundNoiseSentM int Eac/,round noise let
over ater noise
suppression- !his is the
209
%olumn 2ata !ype Jey+1nde8 2etails
noise sent to the ar
end- !he unit or this is
dEo=- For acceptable
call Kuality this should
be less than -CF dEo=-
)ot reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udio7ocalS!eechTo$choM int !his the ratio o speech
to echo- !he unit or
this is dE- For
acceptable Kuality it
should be ,reater than
10 dE- 1 less than
10dE then speech level
is too lo. compared to
echo level( and
distorted speech mi,ht
occur- )ot reported by
A+= %onerencin,
&ervers( #ediation
&ervers( or 1P phones-
udioS!ea.erGlitchRate int Avera,e ,litches per F
minutes or the
loudspea/er renderin,-
For ,ood Kuality( this
should be less than 1
per F minutes- )ot
reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udioMicGlitchRate int Avera,e ,litches per F
minutes or the
microphone capture-
For ,ood Kuality this
should be less than 1
per F minutes- )ot
reported by A+=
%onerencin, &ervers(
210
%olumn 2ata !ype Jey+1nde8 2etails
#ediation &ervers( or
1P phones-
udioS!ea.erCli!Rate int %lippin, occurrences
per F minutes or
loudspea/er renderin,-
For ,ood Kuality( this
should be less than 1
per F minutes- )ot
reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udioMicCli!Rate int %lippin, per F minutes
or microphone capture-
For ,ood Kuality this
should be less than 1
per F minutes- )ot
reported by A+=
%onerencin, &ervers(
#ediation &ervers( or
1P phones-
udioR'GCSi"nal7evelM int "eceived si,nal level
on the #ediation
&erver rom the
,ate.ayT this applies
only to the #ediation
&erver- !he unit o this
metric is dEo=- For
,ood Kuality( the
acceptable ran,e
should be [-40 to -1G\
dEo=-
udioR'GCNoise7evelM int "eceived "eceived
si,nal level on the
#ediation &erver rom
the ,ate.ayT this
applies only to the
#ediation &erver- !he
unit o this metric is
dEo=- For ,ood Kuality(
211
%olumn 2ata !ype Jey+1nde8 2etails
the acceptable ran,e
should be less than -F0
dEo=-
RoundTri! int "ound trip time rom
"!%P statistics- For
acceptable Kuality this
should be less than
100ms-
RoundTri!Ma' int #a8imum round trip
time or the audio
stream-
Overallv"Net)or.MOS decimalA4(2B Avera,e .ideband
)et.or/ #O& or the
call- !his metric
depends on the pac/et
loss( Litter and codec
used- "an,e is [1-0 to
F-0\
OverallMinNet)or.MOS decimalA4(2B !he minimum
.ideband )et.or/
#O& or the call-
Send7istenMOS decimalA4(2B !he avera,e predicted
.ideband *istenin,
#O& score or audio
sent( includin, speech
level( noise level and
capture device
characteristics-
Send7istenMOSMin decimalA4(2B !he minimum
&end*isten#O& or the
call-
Recv7istenMOS decimalA4(2B !he avera,e predicted
.ideband *istenin,
#O& score or audio
received rom the
net.or/ includin,
speech level( noise
level( codec( net.or/
conditions and capture
212
%olumn 2ata !ype Jey+1nde8 2etails
device characteristics-
Recv7istenMOSMin decimalA4(2B !he minimum
"ecv*isten#O& or the
call-
In0ound bit &tream data on
receiver side is
received-
Out0ound bit &tream data on sender
side is received-
SenderIsCaller(I bit 1 means the stream
direction is rom %aller
to %allee-
0 means the stream
direction is rom %allee
to %aller-
Note: M means5 the metric is scaled 0# M/+00 )hen stored in 6o$ D-, Dividin" the num0er
0# /+00 )ill "ive the ran"es listed in this ta0le,
4ideoStream Ta0le
@ach record represents one video stream- One video media line usually contains t.o video
streams-
%olumn 2ata !ype Jey+1nde8 2etails
ConferenceDateTime 2atetime primary "eerenced rom
the #edia*ine
!able-
SessionSeH 1nt primary " "eerenced rom
the #edia*ine
!able-
Media7ine7a0el tinyint primary "eerenced rom
the #edia*ine
!able-
StreamID int primary UniKue 12 .ithin a
media line-
9itterInterrrival 1nt Avera,e net.or/
Litter rom "eal
213
%olumn 2ata !ype Jey+1nde8 2etails
!ime %ontrol
Protocol A"!%PB
statistics-
9itterInterrrivalMa' 1nt #a8imum net.or/
Litter durin, the
video session-
RoundTri! int "ound trip time
rom "!%P
statistics-
RoundTri!Ma' int #a8imum round trip
time or the video
stream-
(ac.et7ossRate decimalAF(CB Avera,e pac/et
loss rate durin, the
call-
(ac.et7ossRateMa' decimalAF(CB #a8imum pac/et
loss observed
durin, the call-
-urstDensit# decimalA9(CB )ot available-
-urstDuration 1nt )ot available-
-urstGa!Densit# decimalA9(CB )ot available-
-urstGa!Duration 1nt )ot available-
(ac.et3tili;ation 1nt Pac/et count or the
video stream A"eal
!ime !ransport
Protocol( "!PB-
-and)idth$st 1nt Eand.idth
estimates or the
video stream-
4ideo(a#loadDescri!tion varcharA2F5B =ideo codec used-
4ideo(a#loadT#!e int )ot used-
4ideoResolution charA9B "esolution o the
video in pi8els .idth
multiplied by pi8els
hei,ht- "eported as
214
%olumn 2ata !ype Jey+1nde8 2etails
a strin,-
4ideo-itRatev" int Avera,e bit rate o
the video stream-
In0ound4ideo*rameRatev" decimalA9(CB !he video rame
rate received-
Out0ound4ideo*rameRatev" decimalA9(CB !he video rame
rate sent-
4ideo-itRateMa' int !he ma8imum
video bit rate durin,
the video session-
4ideo(ac.et7ossRate decimalAF(CB !he avera,e
raction o video
pac/ets lost as
speciied in "F%
4FF0( computed
over the duration o
the session-
4ideo*rame7ossRate decimalA9(CB !he percenta,e o
total video rames
that are lost-
4ideo*rame$ncodin"Time decimalA9(2B Avera,e encodin,
time or video
rames durin, the
video session-
4ideo*rameDecodin"Time decimalA9(2B Avera,e decodin,
time or video
rames durin, the
video session-
4ideo*$C bit )ot available-
*ro;en4ideo*reH decimalA9(CB FreKuency o roHen
video occurrin,
Aoccurrences per
secondB-
*ro;en(eriod(ercentv" decimalA'( CB A measure o the
percenta,e o the
duration o the
video call in .hich
215
%olumn 2ata !ype Jey+1nde8 2etails
roHen video .as
e8perienced- For
,ood Kuality( this
should be less than
10X-
Consecutive(ac.et7ossv" decimalA20(2B Avera,e number o
consecutive video
pac/ets lost durin,
the call- For ,ood
Kuality this should
be less than 4-0 or
a video call-
RateMatch7evel decimalAC(2B "epresents the
avera,e level o
rate matchin,
applied by the
Audio+=ideo
%onerencin,
&erver on the send
channel- 0 is no
rame removal( 1 is
E rame removal( 2
is E and P rame
removal( and 4 is
E(P(&P removal-
For acceptable
temporal video
Kuality( this should
be 1 or less- An
avera,e rate
matchin, level o 1
represents about
'-F ps or %1F
siHed video and
12-F ps or
=?A+D2 video-
In0ound bit &tream data on
receiver side is
received-
Out0ound bit &tream data on
216
%olumn 2ata !ype Jey+1nde8 2etails
sender side is
received-
SenderIsCaller(I bit 1 means the stream
direction is rom
%aller to %allee-
0 means the stream
direction is rom
%allee to %aller-
Sam!le Data0ase 6ueries
!his section contains sample Kueries or the <o@ database-
!o ,et Litter and pac/et loss avera,e or all audio stream
seect a;gWcastWVitterInter<rri;a as )igintXX as Vitter<;gE
a;gW0acFet5ossRateX as 0acFet5ossRate<;g from <udioStream
!o ind the total numbers o conerences that used #eetin, %onsole
seect a;gWCon;ersationa4>SX
from Session s
inner 8oin 4edia5ine m
on s.Conference,ateTime = m.Conference,ateTime
and s.SessionSeq = m.SessionSeq
and m.4edia5ine5a)e = = ++ audio media ine
inner 8oin 9ser<gent uaCaer
on s.Caer9ser<gent = uaCaer.9ser<gent?ey
and uaCaer.9<Type = ' Z communicator
inner 8oin 9ser<gent uaCaee
on s.Caee9ser<gent = uaCaee.9ser<gent?ey
and uaCaee.9<Type = ' ++ communicator
!o ,et %onversstional#O&( &endin,#O& and *istendin,#O& per capture device
seect t.,e;ice7ame as ,e;iceE countW\X as Sampe7umE
a;gWCon;ersationa4>SX as Con;ersationa4>SE a;gWSend5isten4>SX
Sending4>SE a;gWRec;5isten4>SX as 5istending4>S
from
W
seect d.,e;ice7ameE m.Conference,ateTimeE m.SessionSeqE a.StreamI,E
m.Con;ersationa4>SEa.Send5isten4>SE a.Rec;5isten4>S
217
from 4edia5ine m
inner 8oin <udioStream a
on m.Conference,ateTime = a.Conference,ateTime
and m.SessionSeq = a.SessionSeq
and m.4edia5ine5a)e = =
inner 8oin ,e;ice d
on m.CaerCapture,e; = d.,e;ice?ey
and d.,e;iceType = !
union
seect d.,e;ice7ameE m.Conference,ateTimeE m.SessionSeqE a.StreamI,E
m.Con;ersationa4>SEa.Send5isten4>SE a.Rec;5isten4>S
from 4edia5ine m
inner 8oin <udioStream a
on m.Conference,ateTime = a.Conference,ateTime
and m.SessionSeq = a.SessionSeq
and m.4edia5ine5a)e = =
inner 8oin ,e;ice d
on m.CaeeCapture,e; = d.,e;ice?ey
and d.,e;iceType = !
Xas t
group )y t.,e;ice7ame
order )y Sampe7um desc
Messa"e 6ueuin" rchitecture and Confi"uration for rchivin"
!he archivin, and %2" a,ent uses #essa,e <ueuin, to receive notiications rom the Archivin,
and %2" &erver destination Kueue- A#essa,e <ueuin, also serves as a local temporary
transmission Kueue i the Archivin, &erver is unavailable-B #essa,e <ueuin, must be installed on
all computers that participate in archivin,( such as the ollo.in,:
An Oice %ommunications &erver .ith an archivin, and %2" a,ent that connects to the
Archivin, &erver-
!he Oice %ommunications &erver that is runnin, the Archivin, &erver-
:ou must install #essa,e <ueuin, on each server that you .ant to associate .ith the
Archivin, &erver- 1 you .ant to archive an @nterprise pool( you must install #essa,e
<ueuin, on each server in the pool-
Eecause #essa,e <ueuin, relies on the Active 2irectory 2omain &ervices or encryption
to the destination Kueue( #essa,e <ueuin, must be installed .ith the Active 2irectory
218
inte,ration component( .hich is the deault coni,uration durin, #essa,e <ueuin,
installation-
Note:
1n a t.o-tier topolo,y .here the Archivin, service component and the messa,e Kueue
are on a separate computer rom the archivin, database( automatic setup o encryption is
not supported or the messa,es that are sent by the Archivin, service component to the
archivin, database- 1nstead( encryption o the lin/ bet.een the Archivin, service
component and the archivin, database must be coni,ured manually by usin, &<*
&erver &&* encryption- For details about coni,urin, &<* &erver &&* encryption( see the
#icrosot Jno.led,e Ease article 2'5FF4( Do. to enable &&* encryption or &<* &erver
2000 i you have a valid %ertiicate &erver( at http:++,o-microsot-com+.lin/+0
*in/1d31CCC21- For inormation about coni,urin, the re,istry to establish and help
enorce &<* encryption( see the #icrosot Jno.led,e Ease article GC159F( Do. to
establish and enorce encrypted multiprotocol connections in &<* &erver 2000( at
http:++,o-microsot-com+.lin/+0*in/1d31CCC22-
2o not set the destination Kueue Athat is( the private KueueB privacy level to )one on the server
that is runnin, the Archivin, &erver- !he privacy level must be set to either Eody or Optional- !he
deault settin, is Optional-
2o not set the privacy level to Eody .hen the Archivin, &erver and the Front @nd &erver are
installed on the same computer- 9hen the Archivin, &erver and the Front @nd &erver are
installed on the same computer and the privacy level on the destination Kueue is set to Eody(
messa,es are not archived and the server stops runnin, i archivin, is runnin, as a critical
service-
!he @nterprise pool( &tandard @dition server or the Pro8y &erver( i coni,ured or archivin,(
activates the archivin, a,ent- !he archivin, a,ent then chec/s all out,oin, &1P messa,es on the
Oice %ommunications &erver to determine .hether it should be archived and in .hat orm- !his
reKuires the archivin, a,ent to loo/ up the archivin, settin,s or the sender and receiver o the
messa,e Aset per userB- Eased on these archivin, settin,s( the archivin, a,ent ta/es one o the
ollo.in, actions:
2o not archive-
&end messa,e or archivin,-
9hen messa,es are sent or archivin,( the archivin, a,ent Kueues the messa,e to the
coni,ured #&#<- !he Archivin, service is listenin, to the destination messa,e o the #&#<
and on receivin, this messa,e( it .rites it to the desi,nated &<* &erver-
)ote that in Oice %ommunications &erver 200' "2( the Archivin, and %2" a,ent .ill not
archive a messa,e i it does not receive a &1P response rom another client- For e8ample( i client
1 sends a messa,e to client 2( and i the &1P response rom client 2 ails to reach client 1 due to a
net.or/ ,litch or a machine shut do.n( that messa,e .ill not be archived-
219
Messa"e Stam!in"
!he Archivin, and %2" a,ent contains messa,e-stampin, capabilities to provide administrators
control over .hether messa,es are archived multiple times i they pass throu,h multiple pools or
Front @nd servers in their path- 1n such a situation( administrators can eectively control the
number o times a messa,e is archived-
!o enable this control( the Archivin, and %2" a,ent stamps every messa,e that it archives-
!he value o the stamp is speciied in the ollo.in, 9#1 property:
9#1 %lass: #&F!&1P*o,options
9#1 Property: Archivin,E@!o/en
=alue: bac/end]to/en
1n an e8ample .here t.o archivin, a,ents are involved( the irst archivin, a,ent stamps the
messa,e .ith the value as (ac)end_to)en and archives it- &ubseKuently( the second archivin,
a,ent loo/s at the stamp and compares it to the value o the 9#1 property Archivin,E@!o/en-
1 the administrator intends to have the second archivin, a,ent archive the messa,e( the
administrator needs to chan,e the value o the 9#1 property to a value distinct rom
(ac)end_to)en Athe value o that property or the irst archivin, a,entB- 1 the value is identical or
the second archivin, a,ent( it .ill not archive that messa,e-
Creatin" a Third/(art# 6o$ Solution
:ou can use the data that #onitorin, &erver collects to build your o.n custom solution( such as
custom reports( inte,ratin, .ith other monitorin, and mana,ement systems( or troubleshootin,
and dia,nostic tools-
!he topics in this section present the inormation you .ill need to collect and process the audio
and video metrics or your custom solution-
For inormation on the <o@ 2atabase &chema( see <o@ 2atabase &chema-
In This Section
1nrastructure "eKuirements and PrereKuisites o #onitorin, &erver
2eployin, a %ustom <o@ &olution
9#1 "eerence or <o@ &olutions
@nablin, or 2isablin, an D!!P Pro8y or <o@ &olutions
Infrastructure ReHuirements and (rereHuisites of Monitorin" Server
1n Oice %ommunications &erver 200' "2( <o@ components reside in t.o primary areas( the
<o@ A,ent and the <o@ service and database- !he <o@ A,ent is automatically installed on Front
@nd &ervers and &tandard @dition servers- !he <o@ service and database are part o #onitorin,
&erver( .hich must be installed separately-
Eeore you be,in developin, your custom solution( ensure that you have deployed a #onitorin,
&erver and that it is operational- For deployment details( see the 2eployin, #onitorin, &erver
documentation-
220
At the end o each call( the uniied communications AU%B endpoints send an A+= Aaudio+videoB
metric report to the <o@ A,ent- 1 <o@ is enabled on the pool and the <o@ A,ent is properly
coni,ured( it .ill( in turn( transmit the report to your custom solution Ametric report consumerB by
usin, D!!P PO&!- For each <o@ A,ent in your or,aniHation( you can coni,ure only one metric
report consumer- :ou need to do this <o@ A,ent coni,uration .or/ on each Front @nd &erver-
For more details about reKuirements( see these sections:
%ertiicate "eKuirements or :our <o@ &olution
Protocol %onsiderations or :our <o@ &olution
Certificate ReHuirements for Nour 6o$ Solution
9hen you deploy your custom solution( .e recommend that the D!!P& protocol be used in order
to improve the security o your data and privacy o your users- Ey deault( D!!P& .ill allo. only
the client to authenticate the serverT ho.ever( mutual certiicate authentication .ill allo. both the
client to authenticate the server and the server to authenticate the client- 1 D!!P& is used( you
.ill need to ta/e the ollo.in, certiicate considerations into account:
!he Front @nd &erver or &tandard @dition server runnin, the <o@ A,ent must trust the
root %A that issued the certiicate that is used by the 9eb server-
!he subLect name o the server certiicate must match the F<2) o the report
consumer U"* that is coni,ured in the Consumer3R7 property in 9#1- For details( see
9#1 "eerence or <o@ &olutions-
1 you .ant to use mutual certiicate authentication( a client certiicate must be coni,ured
on the Front @nd &erver or &tandard @dition server runnin, the <o@ A,ent- For the client
certiicate( you must ensure the ollo.in,:
!he certiicate is stored in the local computer store so that the <o@ #onitorin, &erver
can locate the certiicate-
!he certiicate has the enhanced /ey usa,e A@JUB e8tension or client authentication-
!he metric report consumer server is coni,ured to trust the root certiication authority
A%AB that issued the client certiicate- !he root %A needs to be stored in the Q!rusted "oot
%ertiication AuthoriHationQ older under the local computer store-
Appropriate permissions are ,ranted to the "!%%omponentUniversal&ervices
domain ,roup or the certiicate to be read-
!he certiicate is coni,ured in #icrosot 9indo.s$ #ana,ement 1nstrumentation
A9#1B on the Front @nd &erver or &tandard @dition server runnin, the <o@ A,ent- For
details( see 9#1 "eerence or <o@ &olutions-
Note:
On a hetero,eneous 9indo.s environment that uses 9indo.s %ertiicate
&ervices( trust is usually implicit( but it may reKuire some e8tra coni,uration i a
non-9indo.s 9eb server is used or the metric report consumer-
For details about %ertiicate &ervices( see Q%ertiicate &ervicesQ at the #icrosot 9eb site:
http:++,o-microsot-com+.lin/+0*in/1d31F045'- For details about pro,rammin, .ith %ertiicate
221
&ervices( see QPro,rammin, %ertiicate &ervicesQ at http:++,o-microsot-com+.lin/+0
*in/1d31F045G-
(rotocol Considerations for Nour 6o$ Solution
!here are a e. protocol considerations that you should be a.are o beore you develop your
custom solution- 1n order to support persistent connections( the metric report consumer must be a
server that is compliant .ith D!!P 1-1-
Note:
!o improve the security o your data and the privacy o your users( .e recommend that
D!!P& .ith mutual certiicate authoriHation be coni,ured-
!his sample call lo. illustrates ho. the metric report consumer accepts an A+= metric report or a
sin,le session- :ou .ill be responsible or the protocol implementation bet.een the #onitorin,
A,ent and the metrics report consumer-
*i"ure +, Metric Re!ort Consumer cce!tance of an 84 Metric Re!ort
(rotocol ReHuirements
!he ollo.in, protocol reKuirements should be ta/en into consideration .hen you develop your
custom solution:
!he metric report consumer must be able to handle multiple incomin, D!!P connections
and to simultaneously process reKuests that come in on these dierent connections- !his .ill
enable a sin,le metric report consumer to communicate .ith multiple #onitorin, A,ents-
#ultiple A+= metrics reports may e8ist in a sin,le PO&! body( up to the ma8imum
coni,ured value or the 9#1 settin, Ma'(ost-atchSi;e-
!he A+= metrics reports .ill be sent in P#*( U!F-G encoded-
!he P#* payload .ill have a root element o 46Re!ort$vent7ist- !he ID attribute o
46Re!ort$vent7ist .ill be set to a uniKue value or the set o A+= metrics reports that it
222
contains- 1 a transient net.or/ error or server error occurs or i the #onitorin, A,ent does not
receive an D!!P response rom your application( then the a,ent .ill repost the entire
46Re!ort$vent7ist document .ith the ori,inal ID- :ou can disable repostin, .hen a
transient net.or/ error or server error occurs by settin, $rrorRetr#$na0led to false in 9#1-
!he <o@ A,ent perorms only a basic level o validation a,ainst the A+= metrics report
beore it posts the report to the metric report consumer- )one o the <o@ #onitorin, &erver
report a,,re,ation lo,ic is applied to the reports prior to the post-
!he <o@ A,ent .ill not throttle reKuestsT the metric report consumer is e8pected to /eep
up .ith the normal volume o A+= metric reports-
1n order to handle A+= metric report bursts( such as mi,ht occur at the end o a lar,e
conerence( the <o@ #onitorin, &erver buers A+= metrics reports( as needed( on behal o
the consumer- !he buer siHe itsel is a coni,urable number o /ilobytes- Ater the report
bursts e8ceed the buer siHe( the <o@ #onitorin, &erver .ill drop the oldest reports- 1 the
<o@ #onitorin, &erver service or the computer is restarted( the contents o the buer .ill not
be retained-
Upon receivin, metrics reports( the report consumer should return the D!!P response
immediately- Perormin, any additional synchronous processin, on the reports beore
returnin, .ill cause a drop in the report throu,hput rate to the report consumer-
1TT( Status Codes
!able 1 deines the status codes that are used in the D!!P protocol bet.een the <o@ #onitorin,
&erver and the metric report consumer-
Note:
Only D!!P 288 and C00 status codes are e8pected rom the metric report consumer- All
other status codes .ill be treated as a transient net.or/ error or server error and .ill
cause the <o@ #onitorin, &erver to retry the PO&! reKuest-
Ta0le +, Su!!orted 1TT( status codes
1TT( Status Code Metric Consumer 3sa"e 6o$ Monitorin" Server ction
288 #etric consumer is e8pected to
promptly return 202 Accepted
to valid metric %2" post
reKuests-
!he post transaction .ill be
mar/ed as complete-
C00 Ead "eKuest #etric consumer should return
C00 Ead "eKuest .henever
basic validation o the A+=
metric report post reKuest ails-
!he post transaction .ill be
abandoned and not retried-
All other status codes )o other status codes are
e8pected rom the metric
consumer-
!he <o@ #onitorin, &erver .ill
treat all other status codes as
transient errors and .ill retry
the post reKuest-
223
De!lo#in" a Custom 6o$ Solution
2eployin, your custom solution reKuires only a e. steps-
To de!lo# #our solution
1- 1nstall an D!!P 1-1 compliant 9eb server( such as 1nternet 1normation &ervices-
2- 1nstall your application-
4- 1 D!!P& .ill be used ArecommendedB( install the appropriate certiicate on the
consumer and( as needed( on the Front @nd &ervers that run the <o@ A,ent-
C- %oni,ure e8ternal consumer settin,s on the <o@ #onitorin, &erver by usin, 9#1-
For details about 9#1 settin,s( see 9#1 "eerence or <o@ &olutions-
F- Ey deault( the <o@ #onitorin, &erver .ill not use any D!!P pro8y- For details about
coni,urin, the <o@ #onitorin, &erver to use the coni,ured D!!P pro8y( see @nablin,
or 2isablin, an D!!P Pro8y or <o@ &olutions-
2MI Reference for 6o$ Solutions
!he ollo.in, table lists the various coni,uration settin,s that can be set throu,h 9#1 or the
YYcimv2Y#&F!]&1P<#&@8ternal%onsumer sin,leton class- !his class already e8ists( so you .ill
not need to create it-
Ta0le 2, 2MI Settin"s for Class MS*TB SI(6MS$'ternalConsumer
(ro!ert# Name Descri!tion T#!e Default Ran"e ccess
T#!e
1nstance12 %lass identiier ?U12 F409C41'-
CCFF-CCed-
EG2F-
A'159'2E44C
C
Up to
102C
character
s
"ead Only
%onsumerU"* !he U"* that A+= #etric
"eports .ill be posted too-
Note:
!he host name in
the U"* must be
identical to
&ubLect ield o the
server certiicate-
For instance( i the
server certiicate
&trin, )U** =alid
D!!P&
or D!!P
U"*
"ead+9rit
e
224
(ro!ert# Name Descri!tion T#!e Default Ran"e ccess
T#!e
is coni,ured as
contoso-voip-
client1-com( the
consumer U"*
must be
https:++contoso-voi
p-client1-com-
%onsumer)ame A display name or the
consumer-
&trin, )U** Up to 2F5
character
s
"ead+9rit
e
%lient%ert1ssuer A binary array in ra. data
ormat that represents the
certiication authority that
issued the certiicate- !his
data is in A&)-1 byte array
ormat-
!his settin, is used only i
%onsumerU"* is an
D!!P& U"*- !his settin,
should be )U** i the
client .ill not use a
certiicate-
uintG )U** )+A "ead+9rit
e
%lient%ert&) A binary array in ra. data
ormat that represents the
serial number o the client
certiicate-
!his settin, is used only i
%onsumerU"* is an
D!!P& U"*- !his settin,
should be )U** i the
client .ill not use a
certiicate-
uintG )U** )+A "ead+9rit
e
@nabled 1 !rue( the <o@
#onitorin, &erver .ill
send A+= #etric "eports
to the coni,ured
consumer-
Eoolea
n
False )+A "ead+9rit
e
@rror"etry@nable
d
1 !rue( the <o@
#onitorin, &erver .ill retry
Eoolea !rue )+A "ead+9rit
225
(ro!ert# Name Descri!tion T#!e Default Ran"e ccess
T#!e
.hen transient errors
occur-
n e
#a8PostEatch&iH
e
#a8imum number o
reports to send in one
transaction-
uint42 F0 F-100 "ead+9rit
e
#a8<ueue&iHe !he ma8imum amount o
memory Ain JEB that is
used to cache metric
reports on behal o the
consumer- 1 the Kueue
limit is e8ceeded( the <o@
#onitorin, &erver .ill
discard the oldest reports
irst- 1 #a8<ueue&iHe is
set to 0( the buer siHe
has no upper limit-
Eecause individual reports
may ran,e rom 2 JE to G
JE( .e recommend
a,ainst settin,
#a8<ueue&iHe to less
than 10-
uint42 F0(000 0-
#AP]1)!
"ead+9rit
e
$na0lin" or Disa0lin" an 1TT( (ro'# for 6o$ Solutions
Eoth the #onitorin, &erver and the metric report consumer server .ill usually be located .ithin
your or,aniHationNs internal net.or/( so you .ill not need an D!!P pro8y- Ey deault( #onitorin,
&erver .ill not use any D!!P pro8y( and it .ill send the reports directly to the F<2) o the metric
report consumer- :ou can( ho.ever( coni,ure #onitorin, &erver to use the e8istin, pro8y
settin,s that are coni,ured or the #onitorin, &erver by either local machine or ?roup Policy
settin,s-
To ena0le or disa0le an 1TT( !ro'#
1- *o, on to the #onitorin, &erver as a member o the dministrators ,roup-
2- &tart the "e,istry @ditor: %lic/ Start( and then clic/ Run- 1n the O!en bo8( type
re"edit( and then clic/ OK-
4- 1n the console tree( ri,ht-clic/
1K$NB7OC7BMC1IN$ISO*T2R$IMicrosoftIReal/Time CommunicationsI
O-L?@*C*/77*2/>$C/<$$/*A@>-A20LC0DP- %reate this re,istry /ey it is doesnNt
226
e8ist-
C- Point to Ne)( and then clic/ D2ORD 4alue-
F- 1n the details pane( in the Name column( type $na0le(ro'#*orMetricsConsumer
or the ne. value( and then press @)!@"-
5- 1n the details pane( ri,ht-clic/ $na0le(ro'#*orMetricsConsumer( and then clic/
Modif#-
'- 1n the $dit D2ORD 4alue dialo, bo8( in the 4alue data bo8( do one o the ollo.in,:
!o use the 1nternet @8plorer D!!P pro8y settin,s( type +( and then clic/ OK-
!o no lon,er use the 1nternet @8plorer D!!P pro8y settin,s( type 0( and then clic/
OK-
G- "estart the <o@ #onitorin, service or the chan,es to ta/e eect-
$d"e Servers Drilldo)n
For details about @d,e &ervers( see the #icrosot Oice %ommunications &erver 200' "2 the
@d,e &erver 2eployment ?uidelines in the Plannin, and Architecture documentation-
Res!onse Grou! Client 2e0 Service Drilldo)n
!he "esponse ?roup &ervice has a %lient 9eb &ervice( .hich can be used by 4rd party
applications to retrieve inormation about the A,ents( their A,ent ?roup memberships( and si,n-in
status-
!he ollo.in, operations are supported throu,h the client .eb service:
?etA,ent
?et?roups
1sA,ent
&i,n1n
&i,n1n#ultiple
&i,nOut
&i,nOut#ultiple
Service Descri!tions
!he ollo.in, list the service descriptions o the operations .ithin the %lient 9eb &ervice
Get"ent: "eturns inormation about the currently authenticated a,ent-
GetGrou!s: "eturns inormation about the ,roups the currently authenticated a,ent is a
member o- For each ,roup( the ollo.in, inormation is available:
Is"ent: "eturns true i the currently authenticated user is an a,ent-
227
Si"nIn: &i,ns the current a,ent into the ,iven ,roup and returns true .hen the operation
has successully completed-
Si"nInMulti!le: &i,ns the current a,ent in to the ,iven ,roups and returns true .hen the
operation has successully completed-
Si"nOut: &i,ns the current a,ent out o the ,iven ,roup and returns true .hen the
operation has successully completed-
Si"nOutMulti!le: &i,ns the current a,ent out o the ,iven ,roups and returns true .hen
the operation has successully completed-
Client DNS 6ueries Drilldo)n
!his topic ,ives a brie description o ho. 2)& Kueries .or/ in Oice %ommunications &erver
200' "2-
2urin, 2)& loo/up( &"= records are Kueried in parallel and returned in the ollo.in, order to the
client:
1- ]sipinternaltls-]tcp-<domain>W or internal !*& connections-
2- ]sipinternal-]tcp-<domain>W or internal !%P connections Aperormed only i !%P is
allo.edB-
4- ]sip-]tls-<domain>W or e8ternal !*& connections-
9here <domain> is the &1P domain used by your internal clients-
!he last Kuery is useul .hen clients are connectin, rom outside your internal net.or/- For
details about remote user access( see Plannin, or @8ternal User Access in the Plannin, and
Architecture documentation-
!he client uses the &"= record that is returned and is successul- !he client does not try any
other &"= records-
Ater the &"= record is returned( a Kuery is perormed or the 2)& A record or the host name
that is returned by the &"= record- 1 no records are ound durin, the 2)& &"= Kuery( the client
perorms an e8plicit loo/up o sipinternal-<domain>- 1 the loo/up does not produce results( the
client perorms a loo/up or sip-<domain>- 1 the client does not ind sip-<domain>( it perorms a
loo/up or sipe8ternal-<domain>-
1 your 2)& inrastructure prohibits coni,uration o these 2)& records( you can manually edit the
client re,istry to point to the appropriate home server- For details about editin, the client re,istry
and coni,urin, policy settin,s or the client( see 2eployin, %ommunicator in the %lient Plannin,
and 2eployment documentation-
!!lication Server Drilldo)n
Application &erver is a platorm introduced in Oice %ommunications &erver 200' "2 that ma/es
it easier to build server-side applications that run on &tandard @dition servers or @nterprise
@dition pool servers- Applications developed usin, the Uniied %ommunication #ana,ed AP1s
AU%#AB 2-0 can use the Application &erver platorm as a common rame.or/ that levera,es
228
Oice %ommunications &erver capabilities such as deployment( trust( administration( load
balancin, and routin,( and monitorin,-
9ithout Application &erver( each application developer .ould have to create his o.n deployment(
administration and inte,ration story( leadin, to repeated eort( more time to mar/et( and
inconsistent behavior- Prolieration o these dierent solutions .ould also lead to comple8ity in
deployin, and maintainin, the Oice %ommunications &erver deployment-
Application &erver is desi,ned to host server applications that act as &1P endpoints- 1t is not
intended to host 9eb applications and does not inte,rate .ith 1nternet 1normation &ervices A11&B(
althou,h applications runnin, on it can e8pose 9indo.s %ommunication Foundation A9%FB 9eb
service endpoints-
*i/e the Oice %ommunications &erver %onerencin, &ervers( Application &erver is another
server role( and .hen deployed on an @nterprise @dition consolidated pool topolo,y each
Application &erver application runs on all servers in the pool and to,ether they share the overall
.or/load o the application-
!he Application &erver implementation in Oice %ommunications &erver 200' "2 is the irst
sta,e in the evolution o the platorm( and in this release it hosts our ne. applications that come
.ith Oice %ommunications &erver 200' "2: "esponse ?roup &ervice( Outside =oice %ontrol
Aalso /no.n as %all %ontrol &erviceB( %onerencin, Attendant( and the %onerencin,
Announcement &ervice- Do.ever( in this release( Application &erver is not supported as a
platorm or third-party applications-
!he topics in this section is intended to help Oice %ommunications &erver administrators and
product specialists have a deeper understandin, o the Application &erver architecture and
applications and prepare them to troubleshoot any issues encountered involvin, the our
Application &erver applications included .ith this release o the product-
In This Section
%haracteristics o the Oice %ommunications &erver 200' "2 Application &erver
Application &erver %oni,uration
Application &erver Application %oni,uration
Characteristics of the Office Communications Server 2007 R2
!!lication Server

rchitecture
Application &erver consists o a sin,le 9indo.s serviceWApplication Dost
AO%&App&erver#aster-e8eBWand one or more instances o another 9indo.s serviceW
O%&App&erverDost-e8e- @ach instance o O%&App&erverDost-e8e on a server hosts an
Application &erver application uniKue to that server- !here .ill never be multiple instances o any
particular Application &erver application on a server-
229
1n the @nterprise @dition consolidated pool topolo,y( all Front @nd &ervers run identical instances
o each Application &erver application selected at the time o Oice %ommunications &erver
installation-
!he Application &erver applications themselves are .ritten as -)@! Frame.or/ 4-F mana,ed
assemblies- All O%&App&erverDost-e8e process instances and the O%&App&erver#aster-e8e
process run under the "!%%omponent&ervice account security conte8t-
@ach Application &erver application levera,es the ollo.in, Oice %ommunications &erver 200'
"2 components:
9#1 I @ach application uses the lc.mi 9#1 provider to store+retrieve ,lobal and pool
settin,s- For each Application &erver application( all instances in a pool use a common set o
settin,s stored in the bac/end "!%%oni, database- ?lobal settin,s are stored in Active
2irectory 2omain &ervices-
Uniied %ommunications #ana,ed AP1s AU%#AB 2-0 IApplication &erver applications
interace these AP1s to access the &1P and media stac/ on each ront end server-
%ommunications bet.een the Application &erver applications and other &1P endpoints all
route throu,h a &1P Pro8y in the same pool as the application Abut not necessarily on the
same physical serverB-
%ontact ObLects+!rusted &ervices I Application &erver applications are &1P Application
@ndpoints and as such reKuire a &1P Address o "ecord AAO"B in the orm o a &1P U"1 or !el
U"1- !his is accomplished by assi,nin, an Active 2irectory 2omain &ervices %ontact obLect
to each application and settin, the application as a !rusted &ervice- !hese assi,nments
enable the application to act as a &1P User A,ent .ithout havin, to authenticate or re,ister(
and enables them to subscribe to the presence o re,istered users and publish presence on
behal o re,istered users-
#ana,ement I !he Oice %ommunications &erver 200' "2 #ana,ement %onsole
e8poses service start-up and shut-do.n control o the Application &erver services on a per-
server basis in the same .ay it provides control o the other Oice %ommunications &erver
200' "2 services( such as the Front @nd services or %onerencin, &ervers- 1 an Application
&erver application reKuires pool-level coni,uration( the #ana,ement %onsole can list the
application under the ne. !!lications option under the poolNs (ro!erties menu in Oice
%ommunications &erver 200' "2- !his .ill launch a ne. snap-in or mana,in, that
applicationNs pool level settin,s- A1n "2( only the "esponse ?roup eature reKuires pool-level
coni,uration-B !he #ana,ement %onsole also can e8pose property sheets on the Forest
container as needed to coni,ure ,lobal properties associated .ith the Application &erver
application- 1n Oice %ommunications &erver 200' "2( %ommunicator 200' "2 Attendant is
the only Application &erver application that reKuires coni,uration at this level- Eecause all
Application &erver application instances in a pool are identical( coni,uration o Application
&erver applications on a per-server basis is unnecessary-
1nstallation+Activation I the Application &erver environment and each Application &erver
application are pac/a,ed as 9indo.s installer A-#&1B iles called rom the main Oice
%ommunications &erver installation pro,ram Ai one or more Application &erver applications
.ere selected or installationB- Ater you install it( they are activated or deactivated in A2 2&
usin, lcscmd-e8e +server:RappserverS +action:Activate^2eactivate +"ole:App&erver-
230
*o,,in, IApplication &erver applications can e8pose ne. components to the Oice
%ommunications &erver 200' "2 *o,,in, !ool AO%&*o,,er-e8eB or tracin, communications
.ith the application-
Other Ke# !!lication Server Characteristics
Distri0uted 2or.load
!he Oice %ommunications &erver Application Dost process does not listen on the net.or/ at all(
but li/e the Oice %ommunications &erver %onerencin, &ervers( each Application &erver
application has a !%P port assi,ned to it- All servers in the pool listen on those assi,ned ports or
each the speciic Application &erver application they host( and the hard.are load balancer also
listens on those ports and distributes inbound traic to Application &erver application instances on
a server in the pool- All &1P communications .ith an Application &erver application occurs over
!*& bet.een a &1P Pro8y in its pool usin, the poolNs &&* certiicate( even i the Application
&erver application instance happens to be on the same physical server as the &1P Pro8y- As .ith
other U% endpoints( media communications are direct bet.een the client and the Application
&erver application instance that too/ the call- For e8ample( once a call has been routed to a
%onerencin, Attendant instance( the audio media lo.s directly bet.een it and the #ediation
&erver that handled the call-
Stateless
Application &erver applications are stateless in that they do not persist data bet.een sessions(
and each instance operates autonomously o the other instances o that application in the pool or
across pools-
All Application &erver instances o a particular application are eKuivalent across servers in pool
and do not communicate .ith each other or another server process Aunli/e the %onerencin,
&ervers( .hich communicate state inormation to the %onerencin, &erver FactoryB- Furthermore(
Application &erver applications do not re,ister .ith the &1P "e,istrar and thereby do not support
multiple points-o-presence- A call to an Application &erver application is routed to only one
Application &erver instance and the other instance remain una.are o that call-
!he Oice %ommunications &erver Application Dost service AO%&App&erver#aster-e8eB also
does not monitor the state o the Application &erver applications on its server( other than
monitorin, .hether the instances are runnin, and i it detects an unhandled e8ception in the
application( it .ill restart it automatically-
!!lication Server Confi"uration
1n Oice %ommunications &erver 200' "2( the Application &erver inrastructure has no
coni,urable post-installation settin,s Adurin, installation( the "!%%omponent&ervice service
account is assi,ned and the service is set or automatic start .ith a dependency on 9indo.s
#ana,ement 1nstrumentation [9#1\B- A 9#1 %lass e8ists in the *%9#1 provider or Application
&erver settin,sW #&F!]&1PApplication&erver&ettin,Wbut currently there is no data store or this
class-
231
Eecause Application &erver is a separate Oice %ommunications &erver 200' "2 role( at the
time o activation an ms"!%&1P-Application&erver &ervice %onnection Point A&%PB or each
Application &erver-role server is published in Active 2irectory 2omain &ervices separate rom
&%Ps o the other roles( such as the Front-@nd services and the %onerencin, &ervers-
!!lication Server !!lication Confi"uration
1n the Oice %ommunications &erver 200' "2 implementation( the Application &erver
applications retrieve settin,s inormation via 9#1- ?lobal settin,s are stored in A2( .hile pool
level application settin,s are stored in the "!%%oni, database- As mentioned earlier( some o
these settin,s are established at time o activation( .hile others are coni,urable rom the Oice
%ommunications &erver 200' "2 #ana,ement %onsole- All are vie.able and coni,urable usin,
the 9E@#!@&! utility and the ,lobal settin,s can also be accessed usin, A2&1@21!-#&%-
Glo0al Settin"s
#&F!]&1PPool&ettin, I each pool is represented by an instance o this class- One i its
propertiesWApplications PropertyW is a multi-valued array containin, the names o the
Application &erver applications installed in the pool-
#&F!]&1PApplication%ontact&ettin, I this class contains instances or each %ontact
obLect reKuired by the Application &erver applications- 1 all our "2 Application &erver
applications have been installed( activated( and coni,ured( there .ill be instances or each
poolNs "esponse ?roup Presence 9atcher A"?&Presence9atcherB( %onerencin,
Announcement &ervice( %onerencin, Attendant A%AAPrivate%ontactObLectB( plus one or
each 2ial-1n %onerencin, access number coni,ured or the or,aniHation-
#&F!]&1P!rusted&ervice&ettin, I this class .ill contain one instance or each
Application &erver application or each pool( .hich stores the 2istin,uished )ame A2)B(
?"UU address( and port number or the Application &erver application instances in that pool-
(ool Settin"s
#&F!]&1PApplication%oni,&ettin, I @ach poolNs "!%%oni, database contains one
instance o this class or each Application &erver application installed in the pool( and each
instance tells the Front @nd &erver the name( labels( and location o the applicationNs
assembly ile-
Other Pool-level Application settin,s I An Application &erver application can also e8tend
the Oice %ommunications &erver 200' schema to add classes speciic to itsel- 1n Oice
%ommunications &erver 200' "2( the "esponse ?roup service added 11 ne. classes Aand
correspondin, tables in the "!%%oni, databaseB or storin, settin,s- &ee "esponse ?roup
%lient 9eb &ervice 2rilldo.n or details about these settin,s-
SI( Trun.in" Drilldo)n
Oice %ommunications &erver 200' "2 enables basic call ori,ination and termination usin, a
&ession 1nitiation Protocol A&1PB trun/ to a service provider-
232
In This Section
!his section contains the ollo.in, topics:
&1P !run/in, 2rilldo.n: &upported &cenarios
&1P !run/in, 2rilldo.n: &upported !opolo,ies
&1P !run/in, 2rilldo.n: &ecurity %onsiderations
&1P !run/in, 2rilldo.n: Eand.idth %onsiderations
&1P !run/in, 2rilldo.n: Protocol Flo. and 2etails
&1P !run/in, 2rilldo.n: Di,h Availability
SI( Trun.in" Drilldo)n: Su!!orted Scenarios
&upported scenarios include the ollo.in,:
An enterprise Oice %ommunications &erver user is able to place a local or lon, distance
outbound call to the public s.itched telephone net.or/ AP&!)B by usin, a service provider
&ession 1nitiation Protocol A&1PB trun/-
An enterprise Oice %ommunications &erver user is able to receive an inbound P&!)
call to his+her 2irect 1n.ard 2ialin, A212B number by usin, a service provider &1P trun/- 1 the
service provider supports number portability( you can /eep your pre-e8istin, 212-
!he %allin, Party )umber Athat is( used to sho. caller 12B is supplied Ai allo.edB or
inbound and outbound calls-
An active call can be placed on hold and o hold-
Any other scenario is outside the scope or the Oice %ommunications &erver 200' "2 release-
&ome e8amples include the ollo.in,:
@-911 support or outbound calls-
1nvo/in, any service provider call conerencin, unctionality over the &1P trun/- A!his is
separate rom the conerencin, unctionality provided by Oice %ommunications &erver-B
1nvo/in, any service provider call or.ardin,+redirect unctionality over the &1P trun/-
A!his is separate rom the call or.ardin,+redirect unctionality provided by Oice
%ommunications &erver-B
SI( Trun.in" Drilldo)n: Su!!orted To!olo"ies
!he interace or connectin, Oice %ommunications &erver environment to the &ession 1nitiation
Protocol A&1PB trun/ o the service provider is made on the e8ternal side o a #ediation &erver-
!he ollo.in, list contains the supported topolo,ies that you can use to enable this connection to
your service providerNs &1P trun/:
(rivate connection, 1n this coni,uration( the mediation server connects to the &1P trun/
usin, a private net.or/ connection to the service provider- For instance( this could be a
dedicated #P*& !1 connection installed or the purpose o &1P trun/in,-
233
4(N connection, 1n this coni,uration( the mediation server connects to the &1P trun/
usin, a virtual private net.or/ A=P)B connection to the service provider- !his could run over a
,eneral 1nternet connection or an e8istin, #P*& .ide area net.or/ A9A)B connection-
Unli/e the private connection option( these multi-purpose connections are usually shared and
used or multiple scenarios- !he purpose or the =P) connection is to create an isolated(
secure channel on .hich the &1P trun/ed calls are carried-
(u0lic Connection, 1n this coni,uration( the #ediation &erver connects to the &1P trun/
by usin, a direct 1nternet connection- Unli/e the private and =P) options( this topolo,y does
not levera,e an isolated lin/ to the &1P trun/-
234
SI( Trun.in" Drilldo)n: Securit# Considerations
Oice %ommunications &erver employs !ransport *ayer &ecurity A!*&B to secure server+server
and client+server &1P si,nalin, and secure real-time protocol A&"!PB to secure media lo.- !he
#ediation &erver role has al.ays supported !*& and &"!P on the Oice %ommunications
&erver acin, non-,ate.ay side- 9ith the release o Oice %ommunicator &erver 200' "2( the
#ediation &erver role no. supports !*& and &"!P on the ,ate.ay side- Do.ever( !*&+&"!P is
not supported by all service providers nor is it reKuired in all &1P trun/ topolo,ies- !his section
describes .hen it is necessary to enable !*& and &"!P on the ,ate.ay side o the #ediation
&erver to ensure a secure deployment-
!here is only one /ey condition that reKuires !*& and &"!P to be enabled- )amely( there is
some point in the net.or/ path bet.een the #ediation &erver and the service provider &1P trun/
that is accessible to more than a limited set o non-1! personnel-
(rivate Connection, !he connection to the service provider is dedicated and only used
to carry &1P trun/ pac/ets- Eecause only authoriHed 1! en,ineers at the company and the
service provider are able to observe this traic( !*&+&"!P is not reKuired- Do.ever( i the
service provider supports it( you may still implement !*&+&"!P or an added layer o
protection- Ee sure that the subnet lin/in, the #ediation &erver to the private connection is
also private-
4(N Connection, Althou,h the net.or/ bet.een the #ediation &erver and the service
provider is li/ely shared by a number o applications( the virtual private net.or/ A=P)B
connection eectively creates a dedicated pipe used only to carry &1P trun/ pac/ets- !he /ey
dierence rom the physical connection topolo,y is that net.or/ isolation is bein, provided by
the encryption capabilities o the =P) rather than physical separation- At minimum( the =P)
should encrypt all traic at a level comparable or better than 12G-bit Advanced @ncryption
&tandard AA@&B- Assumin, this is the case( the only people .ho could observe this &1P
trun/in, traic .ould be authoriHed 1! en,ineers o the company and the service provider( so
235
!*&+&"!P is not reKuired- Do.ever( i the service provider supports it( you may still
implement !*&+&"!P or an added layer o protection- 1 you use a =P) appliance( ensure
that the subnet lin/in, the #ediation &erver to the =P) appliance is also private- )ote that i
the tunnelin, mechanism carries User 2ata,ram Protocol AU2PB pac/ets over a !%P
transport( this may impact the latency characteristics o the call( ,iven that !%P is a reliable
transport .hile U2P is not-
(u0lic Connection, 9ith a public connection( clearly no dedicated connection e8ists-
<uite the contrary( it should be assumed that a lar,e number o people .ill be able to inspect
all &1P trun/-related pac/ets- @nablin, !*& and &"!P is stron,ly advised to ensure a secure
deployment-
SI( Trun.in" Drilldo)n: -and)idth Considerations
&1P trun/in, services are typically priced accordin, to the ma8imum number o simultaneous
calls- Eand.idth availability needs to be ta/en into account so that you can ta/e ull advanta,e o
the pea/ capacity that you have paid or- !he band.idth needs are determined as ollo.s:
&1P !run/ Pea/ Eand.idth 3 #a8 &imultaneous %alls 8 G0/bps
!he G0/bps value relects 5C/bps or the ?'11 codec plus 15/bps o pac/et overhead- 1n reality(
the band.idth .ill be some.hat lo.er due to silence suppression- !hat means the #ediation
&erver and the service provider stops sendin, real-time transport protocol A"!PB media pac/ets
.hen the respective participant is not tal/in,- For audio sent by the #ediation &erver( silence
suppression .ill reduce the band.idth by rou,hly 4FX- !he challen,e is that band.idth plannin,
is usually symmetric( and each service provider implements dierent de,rees o silence
suppression Aor perhaps no silence suppression at allB- !hereore( it is best to plan or the ull
G0/bps band.idth unless you have urther inormation re,ardin, the silence suppression
characteristics o your particular service provider-
1n the private connection topolo,y( it is easy to plan your band.idth because it is a dedicated lin/-
&imply compute your &1P trun/ pea/ band.idth( and then obtain at least that much band.idth in
your dedicated connection-
1n the virtual private net.or/ A=P)B connection topolo,y( ho. you plan your band.idth depends
on the net.or/ that the =P) is runnin, over- 1 the =P) is runnin, over a controlled lin/ bet.een
your company and the service provider Aor e8ample( a corporate #P*& lin/B( compute your &1P
trun/ pea/ band.idth and set aside that much band.idth on the lin/ or the =P) connection- 1
the =P) is runnin, over an uncontrolled lin/ Aor e8ample( a public internet connectionB( compute
your &1P trun/ pea/ band.idth and reserve that much band.idth on your lin/ or the =P)
connection- !his prevents a saturated lin/ rom causin, band.idth issues or your &1P trun/-
Do.ever( this does not ,uarantee that your &1P trun/ traic .ill not be aected by con,estion on
the 1nternet- !hereore( runnin, a =P) over an 1nternet connection is not recommended or
deployments that reKuire a hi,h service level a,reement A&*AB-
From a band.idth standpoint( the public connection topolo,y is handled similarly to runnin, a
=P) connection over an 1nternet connection- %ompute your &1P trun/ pea/ band.idth and
reserve that much band.idth on your public connection lin/- !his prevents a saturated lin/ rom
causin, band.idth issues or your &1P trun/- Do.ever( this does not ,uarantee that your &1P
236
trun/ traic .ill not be aected by con,estion on the 1nternet- A,ain( runnin, a =P) over an
1nternet connection is not recommended or deployments reKuirin, a hi,h &*A-
SI( Trun.in" Drilldo)n: (rotocol *lo) and Details
!his topic describes the various &ession 1nitiation Protocol A&1PB trun/in, protocol lo.s-
SI( Call *lo) and State Machine
!he implementation o &1P trun/in, in Oice %ommunications &erver 200' "2 supports a
constrained set o call scenarios- !he dia,ram belo. relects a hi,h-level state machine or a call
le, bet.een the #ediation &erver and the &1P trun/- From the 1dle state( either the service
provider or the #ediation &erver could send a SI( Invite( .hich indicates that a call is bein,
oered- &everal provisional responses may be sent( such as +A0 Rin"in" indications- Do.ever(
a inal response .ill ultimately be sent( such as a >A0 Tem!oraril# 3navaila0le or a 200 OK- 1n
the ormer case( the &1P dialo, ails to be established and the call state reverts to 1dle- 1n the
latter case( the &1P dialo, succeeds and the call state ,oes to the Active state- 2urin, the Active
state( the only supported call mediation command is to place the call on and o Dold- !his may
be done by either endpoint o the &1P dialo, by sendin, another SI( Invite that contains the
appropriate &2P command to indicate the call is active or on hold- From either the Active or On
Dold states( the call may be terminated by either endpoint by sendin, a -#e-
Call 1old
!he #ediation &erver only supports one method or placin, a call on and o hold- !o place a call
on hold( an additional &1P 1nvite .ill be sent on an active callNs &1P dialo,- !he &ession
2escription Protocol A&2PB body o this dialo, contains a ull &2P body containin, the line aQ
237
inactive- !o place a call o hold( an additional &1P 1nvite is sent on a held callNs &1P dialo,- !he
&2P body o this dialo, contains a ull &2P body containin, the line aQsendrecv-
Dual/tone multifreHuenc# %DTM*&
!he #ediation &erver supports sendin, and receivin, 2!#F accordin, to "F% C'44- @ectively(
this passes a 2!#F tone by sendin, a stream o real-time transport protocol A"!PB pac/ets on
the media channel usin, a payload type speciic to 2!#F- !his is the same mechanism used in
the rest o the Oice %ommunications &erver system to pass 2!#F di,its-
$arl# Media
)e. in Oice %ommunications &erver 200' "2( the #ediation &erver no. supports the
ne,otiation o @arly #edia on the #ediation &erver per "F% 4950- !his enables the ne,otiation
and establishment o a media channel prior to the inal 200 OJ response- !his .ould enable a
service provider to send carrier speciic in-band rin, tones and ensure that no audio is lost .hen
a user ans.ers the phone- 1t is optional .hether the service provider implements it-
3niform Resource Identifier %3RI& *ormattin"
All U"1 ormattin, is perormed accordin, to "F% 4955( .here an @-15C number is preceded by a
R- !he &1P U"1 must have a trailin, userQ!hone parameter- For an e8ample( see the ollo.in,:
I7VITE sip:.!'&####=!=!@s!.ms.com;user=p1one
From: 2sip:.!'&####=!=!@g!.contoso.com;user=p1one6
To: sip:.!'&#"###=!##@s!.ms.com;user=p1one
!his coordinates nicely .ith the Oice %ommunications &erver desi,n o passin, numbers in
@-15C ormat- 1ncomin, calls are already in the correct ormat and can be handled by Oice
%ommunications &erver inbound routin,- Out,oin, calls( once normaliHed( can be passed directly
to the &1P trun/ as an @-15C number .ithout havin, to perorm any number translation-
Codec Su!!ort
!he #ediation &erver only supports ?-'11a and ?-'11u at a 20ms pac/et interval- !his .ould be
sho.n in the &2P as ollo.s:
a=rtpmap:= 0C49-$===
a=rtpmap:$ 0C49-$===
a=ptime:&=
Per "F% 219G( you may have support or sendin, redundant media pac/et Aalso called or.ard
error correctionB- 1 it is supported( it is sho.n in the &2P list as ollo.s:
a=rtpmap:(" RE,-$===
Finally( you may see a inal codec or 2!#F as ollo.s:
a=rtpmap:!=! teep1one+e;ent-$===
238
SI( Trun.in" Drilldo)n: 1i"h vaila0ilit#
=arious de,rees o hi,h availability can be achieved .ith &ession 1nitiation Protocol A&1PB
trun/in,- As .ith any ailover solution( a hi,her the level o resiliency .ill come at an increased
cost- Follo.in, are some dierent scenarios alon, .ith their correspondin, hi,h availability
miti,ation:
Mediation Server failure, !o protect a,ainst a #ediation &erver ailure( irst install a
second #ediation &erver alon,side the e8istin, #ediation &erver- )e8t( add this #ediation
&erver to any voice routes containin, the e8istin, #ediation &erver- For outbound calls(
Oice %ommunications &erver automatically load balances bet.een the t.o #ediation
&ervers and route calls ailover to Lust one o the #ediation &ervers in case the other server
,oes do.n- !hereore( the service provider must be coni,ured to accept &1P trun/ calls
ori,inatin, rom t.o source 1nternet Protocol A1PB addresses-
Dandlin, ailover or incomin, calls is done in an analo,ous ashion- !he service provider
should be coni,ured .ith both ,ate.ay 1nternet Protocol A1PB addresses correspondin, to the
t.o #ediation &ervers- !he service provider should load balance bet.een these servers by
sendin, some calls to one server and some to the other- #ore importantly( i one server is no
lon,er respondin,( the service provider must ta/e that #ediation &erver out o the pool and
only send incomin, calls to the active #ediation &ervers-
Connection failure, !o protect a,ainst a connection ailure( use a second connection or
the redundant #ediation &erver instance- !his second connection ensures that i one o the
connections ,oes do.n( only one #ediation &erver .ill be aected- !he service provider
must be able to detect this connection ailure or incomin, calls and send calls to the other
connection-
ddress -oo. Server Drilldo)n
!he primary unction o the Address Eoo/ &erver and related services is to provide ,lobal
address list A?A*B inormation that is retrieved rom Active 2irectory 2omain &ervices AA2 2&B
and ma/e it available to clients throu,h one o the ollo.in, services:
ddress -oo. *ile Do)nload Service, 9here clients such as Oice %ommunicator and
devices such as Oice %ommunicator Phone @dition do.nload address boo/ iles( enablin,
clients to perorm local address boo/ Kueries-
ddress -oo. 2e0 6uer# Service, 9here clients such as Oice %ommunicator #obile
send address boo/ Kueries by usin, D!!P& to a 9eb service runnin, on the 9eb
%omponents &erver-
1 individual clients accessed A2 2& directly( it could impact Active 2irectory and net.or/
perormance due to e8cessive *i,ht.ei,ht 2irectory Access Protocol A*2APB Kueries- !o ma/e
address boo/ updates aster and more eicient( the Address Eoo/ &erver ,enerates daily
address boo/ ile and address boo/ database updates that are levera,ed by the Address Eoo/
File 2o.nload &ervice and Address Eoo/ 9eb <uery &ervice respectively-
!he secondary and optional unction o the Address Eoo/ &erver is to convert the ormat o phone
numbers that may in a local ormat Aor e8ample( FFF-0101B into the "F% 4955+1!U @-15C
239
standardiHed ormat Aor e8ample( >1-C2F-FFF-0101B- !his conversion is reerred to as phone
number normaliHation- Phone numbers stored in Oice %ommunications &erver user and contact
obLects can be normaliHed by Address Eoo/ &erver so they can be easily used by the Oice
%ommunications &erver clients- Althou,h it is preerable or normaliHed phone numbers to be
entered into Active 2irectory( Active 2irectory does not perorm any phone number normaliHation
itsel- !he phone number normaliHation occurs .hen the Address Eoo/ &erver reads the phone
numbers rom the "!% database( normaliHes them i necessary( and then .rites them into
address boo/ iles and address boo/ database A"!%AbB-
Amon, its daily tas/s( the Address Eoo/ &erver ,enerates a set o compressed ull iles and delta
iles or use by the Address Eoo/ File 2o.nload &ervice- !hese iles are stored in a standard
)!F& older- !he advanta,e o the ull ile and delta ile ,eneration is that it minimiHes the impact
o the client do.nload- 9hen an Oice %ommunicator 200' "2 or Oice %ommunicator Phone
@dition A200' "2 releaseB client lo,s on to its @nterprise pool or &tandard @dition server( it uses
one o t.o coni,ured U"*s Athat is( one or internal access and the other or e8ternal accessB to
access the ile rom the )!F& older by usin, D!!P&( D!!P( or by the ile U"*- 9hen the client
do.nloads the address boo/ ile or the irst time( the ull address boo/ ile is do.nloaded- On
subseKuent days in most situations( a delta ile containin, the chan,es since the last update is
do.nloaded-
"elative to Oice %ommunications &erver 200'( a /ey architectural improvement or Address
Eoo/ services in Oice %ommunications &erver 200' "2 is the addition o an Address Eoo/ 9eb
<uery &ervice or mobile clients such as %ommunicator #obile A200' "2 releaseB- "ather than
do.nload potentially lar,e address boo/ iles( %ommunicator #obile A200' "2 releaseB clients
ma/e on-demand address boo/ Kueries to the Address Eoo/ 9eb <uery &ervice-
Note:
!he Address Eoo/ lo,ic described in the ollo.in, sections apply to all Oice
%ommunications &erver deployments e8cept a e. special environments .ith either a
very lar,e number o users or a relatively volatile directory- For these types o
environments( Oice %ommunications &erver Address Eoo/ lo,ic behaves dierently in a
small number o aspects( resultin, in sli,ht improvements in %PU and net.or/ eiciency-
@8ceptions or special environments are called out separately in the sections belo.-
In This Section
Address Eoo/ &erver 1ntroduction
Address Eoo/ &erver: File and 2atabase ?eneration
Address Eoo/ &erver: Address Eoo/ File 2o.nload &ervice
Address Eoo/ &erver: Address Eoo/ 9eb <uery &ervice
Address Eoo/ &erver: Advanced Address Eoo/ Features
240
ddress -oo. Server Introduction
Introduction
!he primary unction o the Address Eoo/ &erver and related services is to provide ,lobal
address list inormation that is retrieved rom Active 2irectory 2omain &ervices and ma/e it
available to clients throu,h one o the ollo.in, services:
Address Eoo/ File 2o.nload &ervice( .here clients such as Oice %ommunicator and
devices such as Oice %ommunicator Phone @dition do.nload address boo/ iles( .hich
enable the clients to perorm local address boo/ Kueries( and
Address Eoo/ 9eb <uery &ervice( .here clients such as Oice %ommunicator #obile
send address boo/ Kueries via D!!P& to a .eb service runnin, on the 9eb %omponents
&erver-
1 individual clients accessed the Active 2irectory 2omain &ervices directly( it could impact Active
2irectory AA2B and net.or/ perormance due to e8cessive *2AP Kueries- !o ma/e address boo/
updates aster and more eicient( the Address Eoo/ &erver ,enerates daily address boo/ ile and
address boo/ database updates that are levera,ed by the Address Eoo/ File 2o.nload &ervice
and Address Eoo/ 9eb <uery &ervice respectively-
!he secondary and optional unction o the Address Eoo/ &erver is to convert the ormat o phone
numbers that may in a local ormat Ae-,- FFF-0101B into the "F% 4955+1!U @-15C standardiHed
ormat Ae-,- >1-C2F-FFF-0101B- !his conversion is reerred to as phone number normaliHation-
Phone numbers stored in Oice %ommunications &erver AO%&B user and contact obLects can be
normaliHed by Address Eoo/ &erver so they can be easily used by the O%& clients- Althou,h it is
preerable or normaliHed phone numbers to be entered into Active 2irectory( A2 does not
perorm any phone number normaliHation itsel- !he Address Eoo/ &erver normaliHes phone
numbers or numbers read rom the O%&N "tc database and then .rites the normaliHed numbers
into the address boo/ iles and address boo/ database-
Amon, its daily tas/s( the Address Eoo/ &erver ,enerates a set o compressed ull iles and delta
iles or use by the Address Eoo/ File 2o.nload &ervice- !hese iles are stored in a standard
)!F& older- !he advanta,e o the ull ile and delta ile ,eneration is that it minimiHes the impact
o the client do.nload- 9hen an Oice %ommunicator 200' "2 or Oice %ommunicator Phone
@dition 200' "2 client lo,s on to its @nterprise pool or &tandard @dition &erver( it uses a
coni,ured U"* to the 9eb %omponents &erver Address Eoo/ location- 11& A9eb %omponents
&erverB then retrieves the AE ile via the virtual directory pointin, to the )!F& older- Ey usin, this
U"*( the client retrieves a ull ile the irst day it connects to the server and( under most
conditions( delta iles on subseKuent days-
"elative to O%& 200'( a /ey architectural improvement or Address Eoo/ services in O%& 200'
"2 is the addition o an Address Eoo/ 9eb <uery &ervice or mobile clients such as
%ommunicator #obile 200' "2- "ather than do.nload potentially lar,e address boo/ iles(
%ommunicator #obile "2 clients ma/e on-demand address boo/ Kueries to the Address Eoo/
9eb <uery &ervice-
)O!@: !he Address Eoo/ lo,ic described in the ollo.in, sections applies to all O%&
deployments e8cept a e. special environments .ith either a very lar,e number o users or a
241
relatively volatile 2irectory- For such environments( O%& Address Eoo/ lo,ic behaves
dierently in a small number o aspects( resultin, in sli,ht improvements in %PU and+or net.or/
eiciency- @8ceptions or special environments are called out separately in the sections belo.-
ddress -oo. Server: *ile and Data0ase Generation
!his section covers the address boo/ process and the unctions o the AE&erver-e8e process-
ddress -oo. Server Data *lo)
!he address boo/ data is retrieved rom Active 2irectory( stored in the "!% database( e8tracted
rom the "!% database( and then placed in iles and the "!%Ab database or use by various
clients-
!he ollo.in, steps are perormed:
User "eplicator AU"B reads the ne. or modiied Athat is( added( deleted( chan,edB user
and contact obLect inormation rom Active 2irectory and .rites it into the "!% database- !his
process runs every 50 seconds-
AE&erver-e8e reads the address boo/ inormation rom the "!% database and ,enerates
t.o sets o ull and delta Athat is( contains only the chan,esB address boo/ iles or use by
Oice %ommunicator Athat is( .ith the ile e8tension V-lsabsB and Oice %ommunicator Phone
@dition Athat is( .ith the ile e8tension V-dabsB- !hese iles are placed in a )!F& directory-
AE&erver-e8e also creates a ull database Athat is( "!%AbB that is used by the Address Eoo/
9eb <uery &ervice- Ey deault( AE&erver runs on a daily basis at 01:40- Also all phone
numbers that cannot be normaliHed are placed into a -t8t ile in the same )!F& older-
Oice %ommunicator( Oice %ommunicator Phone @dition( and other related clients
do.nload either the ull or delta ile on a daily basis- !hey are access either throu,h a ile
U"* Aalso called a U)% pathB to the )!F& older or throu,h a D!!P& U"* Aor D!!P i
coni,uredB- !he address boo/ entries are then stored locally in the ?al%ontacts-db and
potentially in ?al%ontacts2elta-db-
Oice %ommunicator #obile clients levera,e the Address Eoo/ 9eb <uery &ervice(
.hich levera,es the latest daily updates in the "!%Ab database-
ddress -oo. Server (rocess
!he Address Eoo/ &erver process A%:YPro,ram FilesY#icrosot Oice %ommunications &erver
200' "2Y&erverY%oreYAE&erver-e8eB is responsible or ,eneratin, the address boo/ iles Athat is(
V-lsabs and V-dabsB( address boo/ database Athat is( "!%AbB( and normaliHin, phone numbers
AoptionalB- !his process is automatically run daily on one o the Oice %ommunications &erver
Front @nd &ervers- Ey deault( the irst server added to the Oice %ommunications &erver pool is
,iven this role- !he ollo.in, table lists the various command-line options-
242
Ta0le +, -Server,e'e Command/7ine O!tions
Command line o!tions Command line o!tion
ar"uments
Descri!tion
-0 )one 2isplays all command s.itches
or AE&erver-e8e-
-sync)o. )one #anually synchroniHes the
Address Eoo/ &erver by
pausin, the service to perorm
synchroniHation( and then
restartin, the service- 1 you are
in a ailover scenario and ailin,
over rom one server to another
and sync)o. does not .or/(
chec/ the load-balancer
settin,s- !he health monitor or
incomin, port 14F should point
to F050 Aor F051B on the
servers- Ey deault( it .ill point
to 14F on the servers and since
14F is al.ays up .hen the
computer is runnin, the server
remains mar/ed as bein, up
even thou,h Oice
%ommunications &erver Front
@nd service is do.n-
-re,enU" )one Forces user replication
re,eneration-
-dumpFile input-ile [output-ile\ 1nput-ile [output-ile\ 2umps the input ile ,iven as the
irst ar,ument( ormatted as te8t(
to the output ile ,iven as the
second ar,ument- 1 the second
ar,ument is not ,iven( the
output ile name deaults to the
same path and ile name as the
input ile .ith a -t8t e8tension
appended-
-testPhone)orm Phone-number *oads the normaliHation rules
te8t ile and attempts to
normaliHe the phone number
ar,uments- !he results are
displayed in the command-line
243
Command line o!tions Command line o!tion
ar"uments
Descri!tion
.indo.- 1 the phone number
ar,ument contains spaces( the
phone number must be
enclosed in Kuotation mar/s
Athat is( 6 6B-
-validate2E )one =alidates the schema and user
data in the database-
-dump"ules )one 2isplays all rules currently in
eect( includin, ,eneric and
custom rules-
AE&erver-e8e also ma/es use o the ollo.in, MS*TBSI(ddress-oo.Settin" 9#1 properties
that control its behavior-
Ta0le 2, -Server,e'e 2MI (ro!erties
(ro!ert# name T#!e Default value Descri!tion
#a82eltaFile&iHePer centa,e 1nte,er 12F0 2elta ile is not created
i percent chan,e is
,reater than this
number- A12F0
1)=A*12 U&@ OF
&:#EO*& 12-FXB
Output*ocation &trin, )one File location( a valid
older-
"un!ime 1nte,erA0 to
24F9B
140 &ervice start time
based on local time-
A140 1)=A*12 U&@ OF
&:#EO*& O1:40 or
1:40amB
&ynchroniHedPollin,1nterval&ecs 1nte,er 400 )umber o seconds
bet.een chec/s or
synchroniHation-
Use)ormaliHation"ules Eoolean !rue Fla, to perorm
normaliHation or not-
PartitionOutputEyOU Eoolean False Fla, to partition data
by or,aniHational unit
AOUB-
244
(ro!ert# name T#!e Default value Descri!tion
1,nore?eneric"ules Eoolean False Fla, that determines
.hether or not to use
the built-in ,eneric
rules-
Additionally( there are static Address Eoo/ &erver settin,s that are compile-time constants in the
code as ollo.s:
Output ile e8tension 3 -lsabs
)umberO2ays!oJeep 3 40
Ey deault( the &<* maintenance interval is set or 02:00 local time each day- 1 the Address Eoo/
&erver runs durin, this time( its perormance is li/ely to de,rade- For this reason( the Address
Eoo/ &erver runs by deault at 01:40 local time each day .hich ,ives it 40 minutes to complete
beore it overlaps .ith the &<* maintenance interval- !he service can be coni,ured to run and
,enerate the iles in the Address Eoo/ &erver ile store at another time by coni,urin, the
MS*TBSI(ddress-oo.Settin"::RunTime 9#1 settin,- :ou can also orce the Address Eoo/
&erver to do a synchroniHation pass immediately by usin, the command -Server /s#ncNo)-
!his command is useul in case the address boo/ iles are accidentally deleted- :ou can also use
it or testin, purposes-
AE&erver-e8e ,enerates various iles or use by the Address Eoo/ File 2o.nload service and a
database or use by the Address Eoo/ 9eb <uery service-
For detailed inormation about the AE&erver-e8e process and the 9#1 attributes( see
Administerin, Address Eoo/ &erver in the Administerin, Oice %ommunications &erver 200' "2
documentation-
ddress -oo. Server: ddress -oo. *ile Do)nload Service
!his topic describes ho. the address boo/ ile do.nload service .or/s-
*ile Generation
AE&erver-e8e ,enerates t.o sets o iles or use by 2 ,roups o clients- For clients that typically
have suicient local stora,e space( AE&erver-e8e ,enerates a ile containin, the ull address
boo/ that contains a lar,e set o user and contact obLect attributes- !o optimiHe do.nload
eiciency( it also ,enerates up to 29 delta iles that contain incremental updates containin, the
last one day( t.o days and up to 29 days .orth o chan,es- !hese iles have the V-lsabs ile
e8tension-
For clients that have limited local stora,e such as #icrosot %ommunicator Phone @8perience(
AE&erver-e8e ,enerates a ull address boo/ ile and up to 29 delta iles that contain a restricted
set o user and contact obLect attributes- !hese iles have the V-dabs ile e8tension Athat is( device
Address Eoo/ &erverB-
1n Oice %ommunications &erver &tandard @dition( the Address Eoo/ iles are stored by deault
in <drive>:YXPro,ramFilesXYOice %ommunications &erver 200' "2Y9eb %omponentsYAddress
245
Eoo/ FilesYFiles- 1n @nterprise @dition( the Address Eoo/ ile store is a shared )!F& older that
the administrator manually creates durin, setup- !he data ,athered by the Address Eoo/ &erver
is stored in a binary ormat in compressed iles to minimiHe stora,e reKuirements- !he number o
days that the delta iles are /ept is set at the static value o 40 days( and this number cannot be
chan,ed- Ater F9 days Athe irst 29 days ater a resh start .ill contain e.er delta ilesB( the
Address Eoo/ &erver reaches a steady state .here a set o up to 1G00 iles( .hich contain up to
900 V-lsabs and 900V -dabs iles( each o .hich includes 40 ull iles and up to G'0 Athat is( 40
days V 29 iles+dayB delta iles-
@ach time the Address Eoo/ &erver starts( it determines .hether there are data iles in the output
directory- 1 no data iles are ound( it .ill ,enerate one ull ile- A delta ile is not ,enerated i there
are no initial ull iles rom previous days to compare a,ainst- !he output iles are .ritten to the
Address Eoo/ ile store( a older that can be assi,ned an access control list AA%*B by usin, the
standard )!F& share permissions-
!he ollo.in, table sho.s ho. the ull iles and delta iles are ,enerated or both V-lsabs and
V-dabs iles-
Ta0le +, *ile Generation
Da# Generated and deleted M,lsa0s
files
Generated and deleted M,da0s
files
2ay 1 Full AF1B Full AF1B
2ay 2 Full AF2B
2elta o F2 - F1
Full AF2B
2elta o F2 - F1
2ay 4 Full AF4B
2elta o F4 IF2
2elta o F4 IF1
Full AF4B
2elta o F4 IF2
2elta o F4 IF1
2ay C Full AFCB
2elta o FC - F4
2elta o FC - F2
2elta o FC - F1
Full AFCB
2elta o FC - F4
2elta o FC - F2
2elta o FC - F1
2ay F-29 _ _
2ay 40
Areaches a steady stateB
Full AF40B
2elta o F40-F29
2elta o F40-F2G
_
2elta o F40-F1
Full AF40B
2elta o F40-F29
2elta o F40-F2G
_
2elta o F40-F1
2ay 41
Ano. needs to start deletin,
iles older than 40 daysB
Full AF41B
2elta o F41-F40
Full AF41B
2elta o F41-F40
246
Da# Generated and deleted M,lsa0s
files
Generated and deleted M,da0s
files
2elta o F41-F29
_
2elta o F41-F2
All iles rom 21 are deleted-
2elta o F41-F29
_
2elta o F41-F2
All iles rom 21 are deleted-
2ay 42 Full AF42B
2elta o F42-F41
2elta o F42-F40
_
2elta o F42-F4
All iles rom 22 are deleted-
Full AF42B
2elta o F42-F41
2elta o F42-F40
_
2elta o F42-F4
All iles rom 22 are deleted-
#a8imum !otal Files
A&teady &tateB
1G00 iles
40 Full iles > 40 days o up to
29 delta iles+day 3 900 iles
40 Full iles > 40 days o up to
29 delta iles+day 3 900 iles
Ey deault Athat is( .ithout or,aniHational unit AOUB partitionin,B( all data iles are stored in one
directory- File names or ull iles are o the orm F-8888( .here 8888 is the ile creation date
e8pressed as the he8adecimal 0-based number o days since January 1( 2001- 2elta ile names
are o the orm 2-8888-yyyy-lsabs( .here 8888 is the ull ile creation date( and yyyy is the delta
ile creation date- Files are also assi,ned the appropriate V-lsabs or V-dabs ile e8tension- Files
are created in memory and are .ritten usin, a ile handle that is created .ith no sharin, allo.ed
so that client applications cannot access a ile beore it has been completely .ritten-
Note:
$'ce!tion: 1 a delta ile siHe ,ets to beyond a certain percenta,e o the Full ile siHe( a
ne. Full ile is ,enerated instead o the incremental delta ile- !his percenta,e is
speciied by the server variable #a82eltaFile&iHePercenta,e- !he deault value or this
is 12F0( or 12-FX-
1 this percenta,e is surpassed on the siHe o the server-side delta ile( the server produces a ull
ile instead o a delta ile- 1n this case( the server ,enerates e.er than 40 days o delta ile
inormation( .hich is an e8ception to its normal lo,ic- 1 this number is set to a hi,her value( the
chances o orcin, a ull do.nload decreases- Do.ever( there is more client-side processin,
reKuired to update its local database-
Additionally( any chan,e to any attribute o an address boo/ entry causes the entire record to be
updated- For e8ample( i the #obile phone number chan,es( the entire user address boo/ entry is
updated-
247
Or"ani;ational 3nit and ddress -oo. *ile Generation
1t is possible to create dierent sets o address boo/ iles based on the Or,aniHational Unit AOUB
property in Active 2irectory- For e8ample( Active 2irectory could levera,e OUs to partition the
Active 2irectory into t.o or more lo,ical ,roups based on business unit Aor e8ample(
Automotive( #arineB or business unction Aor e8ample( &ales( @n,ineerin,( #anuacturin,B- Ey
settin, the MS*TBSI(ddress-oo.Settin":(artitionOut!ut-#O3 9#1 property to !rue(
AE&erver-e8e creates a number o sets o address boo/ iles in a tree o older names that map to
the OU- !his settin, is passed to clients( .hich in turn access the address iles under the
appropriate subdirectory as indicated by the user or contact obLectNs OU path settin,-
PartitionOutputEyOU can be levera,ed in cases in lar,e or,aniHations .here it is desirable to
restrict the number o contacts or the siHe o the address boo/ iles that are accessed by ,roups
o clients- 1t is also levera,ed in Oice %ommunications &erver hostin, environments .here you
need to partition users based on the company-
Client and ddress -oo. Server Communication
!he Address Eoo/ U"*s Athat is( one internal and one e8ternalB are the paths that clients use to
access the data iles in the Address Eoo/ &erver ile store- !hese U"*s are coni,ured under the
ddress -oo. tab in the 2e0 Com!onents (ro!erties or the ,iven &tandard @dition server or
@nterprise pool( and are retrieved throu,h in-band provisionin, Aabs1nternal&erverUrl and
abs@8ternal&erverUrlB by the client .hen it lo,s on to its &tandard @dition server or @nterprise
pool- !he clients can also have these U"*s coni,ured throu,h ?roup Policy ObLects-
Oice %ommunicator needs to be coni,ured to access the Address Eoo/ ile store by usin, an
U"* deined in one o the ollo.in, ormats:
1TT(S *ormat, A secure D!!P AD!!P&B U"* is the recommended methodolo,y or
accessin, address boo/ iles- D!!P can also be used but is not secure- !his method uses
the 1nternet 1normation &ervices A11&B D!!P serverAsB .hich is the core component o the
9eb %omponents &erver- 1 you reKuire the ile store to be accessible by remote users .ho
are connectin, outside the intranet Aoutside the ire.allB( the 11& server is reKuired and you
must coni,ure D!!P& on your virtual server-
*ile 3R7 *ormat, !he ile U"* Aalso called an U)% pathB is the other method or
accessin, address boo/ iles- !his approach is not recommended because you cannot use it
or remote access- !he ile U"* is a standard ile U"* in the ormat YYserverYshare- &tandard
share and )!F& permissions are applicable to this U"*- !he clients connect to the ile store
throu,h the &erver #essa,e Eloc/ A&#EB protocol- !here are t.o cases .hen a File U"*
cannot be used: .hen remote access is reKuired and i the Oice %ommunications &erver
pool is set to reKuire encryption- 1n both o these cases( a D!!P& U"* is reKuired-
Note:
1 your clients use an D!!P& U"* to access the Address Eoo/ &erver ile store( veriy
that the client certiicate is already trusted by 1nternet @8plorer prior to an attempt by
clients to access the Address Eoo/ U"*- 1 the client certiicate is not trusted( the
do.nload ails- !he user is not prompted to chec/ the certiicate and to coni,ure it as
trusted- %onsider usin, a certiicate that is trusted by deault on your client-
248
!he type o authentication reKuired or an Address Eoo/ U"* varies dependin, on .hether the
U"* is used or internal or e8ternal clients- !he ollo.in, table sho.s the supported
authentication or each type o U"*-
Ta0le 2, Su!!orted uthentication for ddress -oo. 3R7s
ddress -oo. 3R7 T#!e uthentication
1nternal 1nte,rated 9indo.s Authentication A)!*# or
JerberosB
@8ternal )!*# or D!!P& Abasic over &ecure &oc/ets
*ayer A&&*BB
ddress -oo. and Office Communicator
!he Address Eoo/ %lient Provider is a module .ithin Oice %ommunicator that is responsible or
synchroniHin, ,lobal address list A?A*B contacts .ith the Oice %ommunicator contact database-
&ince all ?A* contacts are read-only( this synchroniHation is a one-.ay process as ollo.s:
1- Oice %ommunicator lo,s on to the @nterprise pool or &tandard @dition server usin, its
lo,on lo,ic-
2- Oice %ommunicator accesses the internal and e8ternal address boo/ shares by usin,
the U"*s provided either by the ?roup Policy ObLect A?POB AE&1nsideU"* and
AE&OutsideU"* policy settin,s( or by retrievin, them rom the server durin, the lo,on
process- !hese U"*s are in either D!!P&( D!!P( or File U"* ormat- !he ?PO settin,s ta/e
precedence over the settin,s retrieved rom the server- 1 these ?POs are not set and
dependin, on the settin, o the AbsUseFallbac/ ?roup Policy settin,( the U"*s are retrieved
rom either the @nterprise pool o the &tandard @dition server- For details about these ?POs(
see 2eployin, %ommunicator in the %lient Plannin, and 2eployment documentation and the
#icrosot Oice %ommunications &erver 200' "2 ?roup Policy &ettin,s documentation at
http:++,o-microsot-com+.lin/+0*in/1231C0C9C-
4- Oice %ommunicator determines .hether it is connectin, rom inside the intranet or
connectin, rom outside throu,h an Access @d,e &erver and then selects the appropriate
U"* or the connection-
!he lo,on credentials o the Oice %ommunicator client are used to connect to the selected
Address Eoo/ &erver U"*- Oice %ommunicator uses the standard 1nternet @8plorer
application pro,rammin, interace AAP1B to perorm the U"* authoriHation- 1 access is
denied( one o the ollo.in, occurs:
1 the user is inside the intranet( the client displays an icon indicatin, an Address
Eoo/ do.nload ailure- !he user is not as/ed or credentials a,ain-
1 the user is outside the intranet( the user is prompted to enter proper U"*
credentials-
249
Note:
Oice %ommunicator supports the use o a allbac/ U"* or hi,h availability- For details
about coni,urin, additional U"* entries( see Usin, 9#1 to %oni,ure Address Eoo/
&erver &ettin,s in the Administerin, Oice %ommunications &erver 200' "2
documentation-
Client Do)nload (rocess
1 a client is accessin, the U"* or the irst time and successully connects( the client attempts to
do.nload the current ull data ile- On subseKuent days( the client attempts to do.nload a delta
ile based on the last ull synchroniHation date- 2urin, daily client usa,e( this delta ile is based on
the previous dayNs chan,es- 1 the client is oline or a day or more( it determines .hich delta ile it
must do.nload to ,et up to date- For e8ample( i the client is oline rom Friday aternoon to
#onday mornin,( it .ill attempt to do.nload a delta ile containin, 4 days o chan,es- 1 the client
is oline or more than 40 days( it is orced to attempt to do.nload the ull data ile-
!he client stores this inormation in the local ?al%ontacts-db database- &torin, this inormation in
a local database reduces the time ta/en to synchroniHe inormation on the client computer .ith
the latest inormation stored in Active 2irectory( thereby si,niicantly improvin, the ?A* search
process- !he client .ill also create an inde8 to the database .hich is stored in the ile
?al%ontacts-db-id8-
1n the event o a do.nload ailure because o net.or/ connectivity or other issues( the client
retries in time intervals that doubles on each previous ailure Athat is( 1 minute( 2 minutes( C
minutes( and so on( up to a ma8imum o 5C minutes( and then retries every 5C minutesB- Any data
that .as do.nloaded beore the ailure is discarded( and the retry be,ins a,ain at the be,innin,-
1 the ailure persists or more than 2C hours( a .arnin, is displayed( and an application event is
added to the @vent *o,-
9hen the client lo,s on( it determines i it has been more than 2C hours since the last do.nload-
1 so( then the current do.nload occurs immediately- Other.ise( do.nload is scheduled at 00:00
U!% AUniversal %oordinated !ime( also /no.n as ?#!B-
!he ollo.in, e8ceptions apply:
1 the address boo/ contains over F0J entries( the client maintains a separate delta
database ?al%ontacts2elta-db and inde8 ?al%ontacts2elta-db-id8 or ?A* contacts( and
periodically mer,es updates into its main database ?al%ontacts-db- !his helps reduce the
processin, reKuired on a daily basis on the client machine in very lar,e environments-
!here are conditions .hen the server .ill not ,enerate some o all o the delta iles on
the server- !his happens .hen the #a82eltaFile&iHePercenta,e is e8ceeded- 1n this case the
client .ill be orced to do.nload the ull address boo/ ile- !his eectively causes the
?al%aontacts-db to be completely replaced- 9henever a ull do.nload occurs in the case
.here there are over F0J entries( the ?al%ontacts2elta-db database .ill be emptied Aas
there are no deltasB-
An additional client-side case is .hen the client cannot access the relevant delta ile Athat
is( possibly loc/ed( access denied( or not created due to time Hones and ile do.nload timeB-
1n this case the client attempts to access relevant older delta iles Athat is( up to 2 additional
250
days bac/B- For e8ample( ater lo,,in, on at 09:00( the client cannot access a delta ile
containin, C days o chan,es on 9ednesday Aater the iles have been ,enerated at 01:40B-
!he client tries to access the delta ile ,enerated on !uesday containin, 4 days o chan,es(
and i that cannot be accessed( it tries to access the delta ile ,enerated on #onday .ith 2
days o chan,es- Ater successully accessin, one o these older delta iles( the client does
not try to access additional iles until the ne8t day- Althou,h the client does not obtain the
latest chan,es( it .ill li/ely ,et some previous chan,es( .hich in turn minimiHes the amount
o deltas it needs to process the ollo.in, day-
Internet $'!lorer De!endencies
Eecause Oice %ommunicator uses the standard 1nternet @8plorer AP1 to perorm the U"*
authoriHation( it depends on the ollo.in, 1nternet @8plorer settin,s:
Securit# Settin"s5 includin" the intranet 3R7 settin"s, For e8ample( i you are usin,
an 1nternet Athat is( e8ternalB type o U"*( such as http:++server-com+share( or intranet Athat is(
internalB users instead o an intranet U"*( such as http:++server+share( unless this U"* is
coni,ured e8plicitly as an intranet U"* in 1nternet @8plorer( Oice %ommunicator i,nores this
entry- 9e recommend that you use an intranet U"* or internal users- 1 you have a speciic
need to use an 1nternet U"*( you must manually coni,ure this U"* as an intranet U"* in
1nternet @8plorer( or you must use an Active 2irectory ,roup policy to coni,ure the U"*-
(ro'# Settin"s, 1 you use an D!!P pro8y to mana,e your 9eb traic and the Address
Eoo/ data lo.s throu,h this pro8y( the client cannot access these U"*s i the pro8y
becomes unavailable or i authoriHation problems occur .ith the pro8y-
*ile Store Recommendations and *ile Si;e Guidelines
As a best practice( store Address Eoo/ data iles on separate stora,e- !he stora,e can be any o
the many types( or e8ample a direct access stora,e device A2A&2B or a stora,e area net.or/
A&A)B- !he stora,e needs speciic to the Address Eoo/ &erver are very minimal and are
e8pected to be in the ran,e o 20 #E to F ?E( dependin, on the number o users in the orest-
!he siHe o the ull data iles depends on the number o users and contacts stored in your Active
2irectory- !he siHe o the delta iles increases .ith the number o daily chan,es that occur to
users and contacts in Active 2irectory- A lar,e number o chan,es increases the delta ile siHe
and the time it ta/es to ,enerate the delta iles-
On avera,e the V-dabs iles are about 2FX o the siHe o the V-lsabs iles- !his depends on the
number o ields that are typically populated-
Office Communicator 7ocal ddress -oo. Data0ase *iles
Oice %ommunicator 200' "2 stores the local address boo/ database and in the directory:
<drive>:YX*O%A*APP2A!AXY#icrosotY%ommunicatorY<user>Y
!he ollo.in, table sho.s sample address boo/ iles or an or,aniHation .ith appro8imately
2F0(000 address boo/ entries Athat is( users( contact obLectsB- !he ile siHes vary dependin, on
various actors such as the number o address boo/ ields that are populated-
251
Ta0le <, Sam!le ddress -oo. *iles
Name Date modified T#!e Si;e
?al%ontacts 5+F+2009 9:42 A# 2ata Ease File 99(1F5 JE
?al%ontacts-db-id8 5+F+2009 9:42 A# 12P File F2(49C JE
?al%ontacts2elta 5+12+2009 G:40 A# 2ata Ease File 4(595 JE
?al%ontacts2elta-db-id8 5+12+2009 G:40 A# 12P File 2(122 JE
ddress -oo. and Office Communicator (hone $dition
!he ile do.nload process on the Oice %ommunicator Phone @dition A1P PhonesB and related
devices is similar to on the process or Oice %ommunicator( .ith the main dierence bein, that it
do.nloads the smaller V-dabs iles- !hese iles contain a limited set o attributes( speciically
display)ame( ms"!%&1P]PrimaryUserAddress( telephone)umber Athat is( oiceB( and mobile
Athat is( telephone numberB- Althou,h this search e8perience is not as robust as that o Oice
%ommunicator( it is airly eective- Additionally many users do not use the te8t search capability
on 1P Phones because it is not as easy to use as usin, a /eyboard .ith Oice %ommunicator-
Additionally predictive te8t searches may seem to return une8pected results( match phone
numbers and names( and have a limited screen or sho.in, result sets-
!he 1P Phones locally implement a method o doin, predictive search( enablin, a user to Kuery
address boo/ te8t names by usin, dial pad di,its- For e8ample( the di,it 2 could map to an 6A7(
6E7 or 6%7 and 5 could map to 6#7( 6)7 or 6O7- !hus( the di,it seKuence 62257 .ould match
address boo/ entries .ith the name 6%am7( 6Eam7( 6%an7( and so on-
ddress -oo. 2e0 6uer# Service
1n enterprise environments( Address Eoo/ iles can ,et too lar,e to be reasonably do.nloadable
by mobile clients( such as %ommunicator #obile A200' "2 releaseB- !o better tar,et the needs
o mobile clients( Oice %ommunications &erver 200' "2 introduces a parallel path or #obile
Address Eoo/ data: !he Address Eoo/ 9eb <uery &ervice( .hich levera,es the "!%Ab
database to provide on-demand address boo/ Kueries or mobile clients-
ddress -oo. Server: ddress -oo. 2e0 6uer# Service
!he Address Eoo/ 9eb <uery &erver Kueries are passed by the client to the Address Eoo/ 9eb
<uery server by D!!Ps Aor D!!P i coni,uredB- !he internal and e8ternal U"*s are coni,ured
on the server under .hich are levera,ed or both Address Eoo/ 9eb <uery &erver and
2istribution *ist @8pansion- !hese U"*s are then passed to the clients throu,h the dl81nternalUrl
and dl8@8ternalUrl in-band provisionin, settin,s-
<ueries are sent to the Address Eoo/ 9eb <uery &erver by usin, D!!P& Aor D!!P i coni,ured
throu,h the U"*B- !he A&P-net irst pre-processes the Kuery and orms an &<* Kuery( .hich is
e8ecuted by the &<* &erver Aor &<* &erver @8press or &@B usin, the "!%Ab database- )e8t(
252
post-processin, o the results occurs Athat is( constructin, the inormation to be sent to the clientB-
!he Kuery results are then returned to the client-
Follo.in, are sample U"*s or internal and e8ternal Address Eoo/ 9eb &erver Kueries- !he
speciic search attributes are not included-
!he ollo.in, table lists the "!%Ab database ields that are e8tracted rom the "!% database by
AE&erver-e8e-
Ta0le +, RTC0 Data0ase *ields
Name ctive Director# name ttri0ute ID $'am!le
2isplay
)ame
display)ame C 6&ara 2avis7( 62an ?
Fennell7
Oice
)umber
telephone)umber 10 1-C2F-FFF-0101
#obile
)umber
#obile 14 1-C2F-FFF-019G
&1P Address ms"!%&1P]PrimaryUserAddress 9 saradMcontoso-com
Primary
email
address
pro8yAddress 1G saradMcontoso-com (
sara-davisMcontoso-com
!he "!%Ab database is desi,ned so that additional search ields can be easily added to the
database Aaddin, additional ields is currently not supportedB- !he e8ample in the ollo.in, table
sho.s sample data in the AbAttribute=alue table( .hich is the primary table in the "!%Ab
database that is used or Kueries- !he 3serID column maps to an address boo/ entry Aor
e8ample( a user or contact obLectB- !he ttrID column identiies the attribute Asee the previous
tableB( the 4alue column is the alpha-numeric value o the attribute Aor e8ample( 6Eill #alone7B(
and the DTM* column encodes the strin, value in a numeric ormat or predictive te8t dial pad-
Ta0le 2, Sam!le 0ttri0ute4alue Ta0le
(trn 3serId ttrId 4alue DTM* %dial !ad inde'&
1 45F5C9 10 >1 AC2FB FFF019G PF019G 1VC2FVFFF019GVF019G
1 45F5C9 10 1C2FFFF019G 1C2FFFF019G
1 45F5C9 10 C2FFFF019G C2FFFF019G
1 45F5C9 10 FFF019G FFF019G
1 45F5C9 10 019G 019G
253
(trn 3serId ttrId 4alue DTM* %dial !ad inde'&
1 45F5C9 C Eill #alone 2CFFVC2G4'
1 45F5C9 9 Eillm 2CFF5
1 45F5C9 9 billmMcontoso-com 2CFF51255G5'51255
1 45F5C9 1' billmMcontoso-com 2CFF51255G5'51255
1 45F5C9 1G billmMcontoso-com 2CFF51255G5'51255
1 45F5C9 1G billmMms,-%ontoso-com 2CFF515'C1255G5'51255
1 45F5C9 1G billmMtitanium-contoso-com 2CFF51GCG25CG51255G5'51255
1 45F5C9 1G billmcontoso-com 2CFF5255G5'51255
1 45F5C9 1G 2CFF5255G5'51255 2CFF55'C1255G5'51255
1 45F5C9 1G billmtitanium-contoso-com 2CFF5GCG25CG51255G5'51255
Note:
!he di,it 1 in the dual-tone multireKuency A2!#FB interace is used or various
characters Aor e8ample( `( M( -( -B and the di,its 0 and 1- !he symbol V is used to
represent a space or other separators-
Office Communicator ddress -oo. 6ueries
%urrently( Oice %ommunicator is the only client that levera,es the Address Eoo/ 9eb <uery
&ervice- !he Address Eoo/ 9eb <uery &ervice supports a .ide set o Kuery options-
!he ollo.in, table contains the parameters and deault values that can be processed by the
Address Eoo/ 9eb <uery &ervice- Althou,h it is not possible or users or administrators to
modiy this Kuery( this table helps demonstrate ho. Address Eoo/ <uery .or/s and ho. Kueries
may dier or uture clients that may levera,e this service-
Ta0le <, (arameters and Default 4alues
(arameter T#!e Default Notes
<uery&trin, &trin, @8pression or the
Kuery
2ial Eoolean !rue 2etermines
.hether a
predictive search
Kuery is
perormed Aor
e8ample( dial pad
254
(arameter T#!e Default Notes
Kueries that
levera,e the
2!#F inde8B
Prei8<ueryAttributes &trin, display)ame( ms"!%&1P-
PrimaryUserAddress(
pro8yAddress(
telephone)umber( mobile
Attributes .here a
&<* *1J@
comparison
operator is used
Aor e8ample(
6%am7 matches
6%ameronB
@8act<ueryAttributes &trin, display)ame( ms"!%&1P-
PrimaryUserAddress(
pro8yAddress(
telephone)umber( mobile
Attributes .here a
&<* 3
comparison
operator is used
Aor e8ample(
6%am7 does )O!
match 6%ameron7B
"eKuest!imeout <uery timeout
#a8"esult 1nt F0 #a8imum results
to return
"eturnAttributes &trin, ,iven)ame( sn( display)ame(
mail)ic/)ame(
physical2eliveryOice)ame(
ms"!%&1P-
PrimaryUserAddress(
pro8yAddress(
telephone)umber( homePhone(
otherDomePhone( mobile(
other#obile( other!elephone(
ipPhone( mail( mana,er
2eault set o
attributes to be
returned to the
user- #any o
these attributes
cannot be used in
the Kuery strin,
e8pression
!he ollo.in, table lists parameters that %ommunicator #obile uses- !hese are hard.ired into
%ommunicator #obile and cannot be chan,ed-
Ta0le >, Communicator Mo0ile (arameters
(arameter T#!e Default Notes
<uery&trin, &trin, @8pression or
the Kuery
2ial Eoolean False 2oes not support
255
(arameter T#!e Default Notes
dial pad Kueries
Prei8<ueryAttributes &trin, display)ame( ms"!%&1P-
PrimaryUserAddress(
pro8yAddress(
telephone)umber( mobile
Uses prei8 match
A&<* *1J@B
@8act<ueryAttributes &trin,
"eKuest!imeout <uery timeout
#a8"esult 1nt 20 &aves net.or/
band.idth
"eturnAttributes &trin, ,iven)ame( sn( display)ame(
mail)ic/)ame(
physical2eliveryOice)ame(
ms"!%&1P-
PrimaryUserAddress(
pro8yAddress(
telephone)umber( homePhone(
otherDomePhone( mobile(
other#obile( other!elephone(
ipPhone( mail( mana,er
2eault set o
attributes to be
returned to the
user- #any o
these attributes
cannot be used in
the Kuery strin,
e8pression
6ueries on Dis!la# Name
%urrently the Address Eoo/ &erver only supports name-based Kueries based on display name- 1t
does not support Kueries based on the Active 2irectory entries or last name Athat is( &)B( irst
name Athat is( ,iven)ameB( and so on- 1t may also match the user part o the &ession 1nitiation
Protocol A&1PB Uniorm "esource 1dentiier AU"1B or e-mail address- !o support names typed in
dierent orders Aor e8ample( 6&ara 2avis7( 62avis( &ara7( and 62avis &ara7B and users .ith
multiple irst or last names Aor e8ample( 6Pablo "ovira 2ieH7B( multiple entries are placed into the
AbAttribute=alue table or the display name- For e8ample( the ollo.in, entries are placed in the
table or Pablo "ovira 2ieH:
Pablo "ovira 2ieH
2ieH Pablo "ovira
2ieH( Pablo "ovira
"ovira 2ieH Pablo
"ovira 2ieH( Pablo
&ince the Address Eoo/ 9eb <uery &ervice levera,es the &<* *1J@ strin, matchin, e8pression(
all o the ollo.in, strin,s .ill match at least one o the table entries( and .ill return 62ieH Pablo
"ovira7 as a match Ain addition to other possible matchesB-
256
Pa
Pablo
Pablo "ovira
2ieH Pablo
2ieH( P
"ovira
"ovira 2ieH P
"ovira 2ieH( P
Do.ever the ollo.in, strin,s .ill not create a match:
"ovira Pablo
Pablo 2ieH
!he ,eneral case or display name inde8 ,eneration is as ollo.s:
&imple %ase
2isplay)ame 3 QA EQ .ill support
A E
E a A1nversedB
E(A A1nversed .ith %ommaB
?enerates 4 indices
%omple8 %ase
2isplay )ame 3 6A E % 2 @7 .ill support
A E % 2 @
2 @ A E % A*ast 2 .ordsB
2(@ A E % A*ast 2 .ords .ith %ommaB
@ A E % 2 A*ast .ordB
@( A E % 2 A*ast .ord .ith %ommaB
?enerates F indices Ano more( no lessB
1n the case .here there are more than t.o .ords in the last name( the inde8 based on the display
name .ill most li/ely need to be levera,ed to obtain the desired match-
6ueries on (hone Num0ers
!o support practical Kueries based on phone numbers( a number o indices are created- Ey
levera,in, the &<* *1J@ e8pression Athat is( partial matchB( you can use a number o useul
options or searchin, phone numbers-
!he "F% 4955+@-15C phone number 6>1-C2F-FFF-01017 .ill ,et entries .ith the ollo.in, inde8es:
>1-C2F-FFF-0101
C2FFFF0101
FFF0101
0101
257
1C2FFFF0101
!el:>1C2FFFF0101
1C2FFFF0101
!he "F% 4955+@-15C phone number 6>01 A24B CF5'G9 8017 .ill ,et entries .ith the ollo.in,
inde8es:
>01-24-CF5'G9-01
0124CF5'G901
24CF5'G901
CF5'G901
01
0124CF5'G9
!el:>0124CF5'G9Te8t301
Address Eoo/ 9eb <uery also pre-processes Kueries to remove any e8traneous symbols- For
e8ample( the strin, >1AC2FB FFF-0101 .ould be translated to 1C2FFFF0101 beore runnin, the
Kuery-
Sortin" 6uer# Results
%urrently( %ommunicator #obile only retrieves or the irst 20 matches or a ,iven Kuery- !he
Address Eoo/ <uery &erver searches or the irst 100 matches or any Kuery( o .hich only the
irst 20 entries in the result set are passed bac/ to the client Athat is( based on the actual Kuery
sent by the clientB- For perormance reasons the Address Eoo/ <uery &erver does not attempt to
process more than 100 matches- For e8ample( i a user tries to Kuery 6Eo7( only the irst 100
matches that &<* &erver inds are returned- 1n cases .here there are more than 100 potential
matches( the Kuery does not etch every attribute that be,ins .ith a 6Eo7 Aor e8ample( every
user .ith a irst name or last name that be,ins .ith a 6Eo7( a &1P U"1 that be,ins .ith a 6Eo7( and
so onB and sort them( as this .ould ta/e up si,niicant database cycles- Althou,h this is not
optimal( it achieves a decent tradeo bet.een unctionality and perormance- 1n ,eneral( most
users reine their Kuery and re-submit it rather than scrollin, throu,h pa,es o Kuery results-
!here are a e. issues .hen a user attempts to search or a common name- For e8ample( i a
user searched or 62aniel7 and there .ere more than 100 62aniels7 in the address boo/( 100
random matches .ould be returned and subseKuently sorted- !he user may see 62aniel Par/7
and 62aniel !aylor7 seKuentially and assume that 62aniel "oman7 Athat is( alphabetically bet.een
Par/ and !aylorB is not in the address boo/- Do.ever( this is not necessarily the case because
62aniel "oman7 may not have been in the set o 100 entries returned and .ould not be presented
in the list- 1n this case the user .ould be e8pected to enter a more reined Kuery-
(redictive Te't 6ueries
!he AbAttribute=alue database table also has a column or 2!#F Kueries- !his is a special inde8
created to support predictive te8t Kueries .here telephone dial pads are used to enter Kueries-
For e8ample( the di,it 2 could represent an 6A7( 6E7 or 6%7- !hus i a user /eyed in 62257( it .ould
match any e8istin, entries that start .ith 62257 in the 2!#F column Aor e8ample( 6%am7(
258
6%ameron7( 6%andice7( 6Eam7( etc-B- Althou,h this Kuery is supported by the Address Eoo/ 9eb
<uery &erver( there are no clients that currently levera,e this interace-
Note:
%ommunicator #obile perorms numeric matches on oice and mobile phone numbers
and any &1P or e-mail address that levera,es di,its- Do.ever these Kueries do not
levera,e the predictive te8t Kuery al,orithms-
ddress -oo. 2e0 6uer# Data0ase
!he Address Eoo/ 9eb <uery "!%Ab database is collocated as a separate &<* &erver instance
on the same &<* &erver as the "!% database or the ,iven pool- !he database levera,es the
same hi,h availability eatures as the "!% database- !he database should also be included in
any bac/up plan( althou,h historical copies are not relevant and the database can be
re,enerated by usin, the -Server Cs#ncno) command-
!he database is implemented by usin, t.o database partitions( .here each partition contains a
complete copy o the address boo/- At any ,iven point in time( one partition is active( .hich
means it is bein, used by Address Eoo/ 9eb <uery &erver or handlin, Kueries rom clients- !he
other partition is then available to the AE&erver-e8e process or the ne8t ni,htly update- Ater the
update process is inished Athat is( committed to the databaseB( this ne. partition becomes active-
!his techniKue helps enable optimal perormance as there are no loc/in, contention issues in the
database Athat is( all Kueries are read-onlyB-
!he siHe o the "!%Ab is modest and is dependent on the number o contacts in the address
boo/ and the number o ields populated- &<* &erver also reserves si,niicant space or the
creation and maintenance o the database and various indices-
ddress -oo. 2e0 6uer# Data0ase 7an"ua"e Su!!ort
!he Address Eoo/ 9eb <uery "!%Ab database currently uses the *atin1]?eneral]%1]A1 Athat
is( %ase 1nsensitive( Accent 1nsensitiveB database collation- 1n &<* &erver( collations control
various lan,ua,e-speciic rules or ho. comparisons Athat is( &<* 3 and *1J@B and sorts Athat is(
&<* O"2@" E:B behave- !he *atin1]?eneral collation supports various *atin-based lan,ua,es
that have the same superset o order and sortin, rules( includin, 2utch( @n,lish( ?erman( 1talian(
and Portu,uese+ EraHilian-
!here are lan,ua,es .here the ,eneral rules o *atin lar,ely apply to Aor e8ample( #odern
&panish and FrenchB but may have some subtle issues around comparison and sortin, Aor
e8ample( certain li,atures may not be correctly sortedB- For other lan,ua,es( such as Japanese
and &impliied %hinese( .here the rules o *atin have no inluence( sortin, and comparison are
dictated by the underlyin, characteristics o Unicode- 1n lan,ua,es .ith a lar,e number o
characters( users oten rely on e8act match and not necessarily matches based on a partial letter
match- )ot havin, correct alphabetical orderin, may not be as much o an issue as it is .ith
lan,ua,es li/e @n,lish-
259
ddress -oo. 2e0 6uer# Server (erformance
!he Address Eoo/ 9eb <uery &erver and "!%Ab database ,enerally only have a minimal
impact on perormance the 9eb %omponents &erver Atypically runnin, on the Front-@nd serversB
and the bac/-end server- %urrently( only the %ommunicator #obile clients use Address Eoo/
9eb <uery &erver and Kueries on this device are e8plicitly controlled by the user .hen they use
the &earch unction( as opposed to bein, perormed automatically as a user types in a name or
phone number-
!he Address Eoo/ 9eb <uery A&P-net process is relatively li,ht.ei,ht and the bac/-end
database processin, is all read-only Kueries on a database that is updated once per day- !he
Address Eoo/ <uery service does not pose any si,niicant perormance bottlenec/( and .hatever
impact it has can be resolved by ,eneral perormance tunin, on the ront-end and bac/-end
servers-
ddress -oo. Server: dvanced ddress -oo. *eatures
!his topic discusses advanced Address Eoo/ &erver eatures( li/e phone number normaliHation(
User "eplicator( and ilterin,-
ddress -oo. Server (hone Num0er Normali;ation
Oice %ommunicator reKuires standardiHed "F% 4955+@-15C phone numbers- !o use phone
numbers that are unstructured or inconsistently ormatted( Oice %ommunications &erver relies
on the Address Eoo/ &erver to perorm phone number translation in conLunction .ith mappin,
rules- 1 the 3seNormali;ationRules 9#1 property is set to !"U@( AE&erver-e8e reads the
phone numbers rom the "!% database( normaliHes them Ai necessaryB( and then .rites the
normaliHed values into the address boo/ Athat is( do.nloadB iles and the Address Eoo/ 9eb
<uery database "!%Ab- %lients( such as Oice %ommunicator and %ommunicator #obile( can
use these normaliHed numbers-
:ou can apply t.o types o rules to phone numbers- One type is the set o ,eneric rules that are
automatically perormed by the server- !he other type is a set o sample company rules that can
be edited and is included in the installation older alon,side AE&erver-e8e- !he sample company
rules include a comment at the start o the ile inormin, the administrator that i they .ant speciic
rules or their company( they should copy the sample ile to the output location or the pool and
chan,e the name to %ompany]Phone])umber])ormaliHation]"ules-t8t( so that it .ill be used
or uture synchroniHation passes-
1 the 3seNormali;ationRules 9#1 la, is set to !"U@( the rules are applied to those Active
2irectory attributes .ith 082000 bit set in the *la"s column value- 1 the 081000 bit is set in the
*la"s column value( the associated Active 2irectory attribute value is al.ays normaliHed-
&ample]%ompany]Phone])umber])ormaliHation]"ules-t8t is the sample ile in .hich you
coni,ure rules speciic to your company reKuirements- !o use this ile( copy it to
%ompany]Phone])umber])ormaliHation]"ules-t8t- Other.ise( Address Eoo/ &erver .ill use
only the ,eneric rules coni,ured by deault on the server-
260
Note:
9hen you remove the Address Eoo/ &erver(
%ompany]Phone])umber])ormaliHation]"ules-t8t is not deleted- 1 you .ant to remove
this ile( you must delete it manually-
3ser Re!licator and ddress -oo. Server
!he Address Eoo/ &erver uses data provided by User "eplicator to update the inormation that it
initially obtains rom the ,lobal address list A?A*B- User "eplicator .rites the Active 2irectory
attributes or each user( contact( and ,roup into the AbUser@ntry table in the database and the
Address Eoo/ &erver syncs the user data rom the database into iles in the Address Eoo/ &erver
ile store and into the Address Eoo/ 9eb <uery database "!%ab- !he schema or the
AbUser@ntry table uses t.o columns( 3serGuid and 3serData- 3serGuid is the inde8 column
and contains the 15-byte ?U12 o the Active 2irectory obLect- 3serData is an ima,e column
.hich contains all o the previously mentioned Active 2irectory attributes or that contact-
User "eplicator determines .hich Active 2irectory attributes to .rite by readin, a coni,uration
table located in the same &<* instance as the AbUser@ntry table- !he AbAttribute table contains
three columns( ID( Name and *la"s- !he table is created durin, database setup- 1 the
AbAttribute table is empty( User "eplicator s/ips its AbUser@ntry table processin, lo,ic- Address
Eoo/ &erver attributes are dynamic and are retrieved rom the AbAttribute table( .hich is initially
.ritten by the Address Eoo/ &erver .hen the Address Eoo/ &erver is activated-
Address Eoo/ &erver activation populates the AbAttribute table .ith the values needed to support
Oice %ommunicator 200' "2- !he ollo.in, table sho.s those current values-
Ta0le +, 0ttri0ute Ta0le 4alues
ID Name *la"s
1 ms@8chDideFromAddress*ists 08FF000004
2 ,iven)ame 0801000000
4 &n 0802000000
C display)ame 0804020000
F !itle 080C000000
5 mail)ic/name 080F000C00
' %ompany 0805000000
G physical2eliveryOice)ame 080'000000
9 ms"!%&1P-PrimaryUserAddress 080G020G00
10 telephone)umber 0809022G00
11 home)umber 080A002G00
12 otherDome)umber 080A002000
261
ID Name *la"s
14 #obile 080E022G00
1C other#obile 080E002000
1F other!elephone 080%002000
15 ipPhone 0802002000
1' #ail 080@000000
1G pro8yAddresses 080000010F
19 ,roup!ype 080F010G00
20 #ana,erouPath1d 0810000000
21 0811000G00
!he numbers in the ID column must be uniKue and should never be reused- Also( /eepin, the 12
values belo. 2F5 saves space in the output iles .ritten by the Address Eoo/ &erver- Do.ever(
the ma8imum 12 value is 5FF4F- !he Name column corresponds to the Active 2irectory attribute
name that User "eplicator should put in the AbUser@ntry table or each contact- !he value in the
*la"s column is used to deine the type o attribute- !he ollo.in, types o Address Eoo/ &erver
attributes are reco,niHed by User "eplicator( indicated by the lo. byte o the value in the *la"s
column-
Ta0le 2, ddress -oo. Server ttri0utes Reco"ni;ed 0# 3ser Re!licator
ttri0ute Descri!tion
080 A strin, attribute- User "eplicator converts this
type to U!F-G beore storin, it in the
AbUser@ntry table-
081 A binary attribute- User "eplicator stores this in
the blob .ithout any conversion-
082 A strin, attribute( but is included only i the
attribute value be,ins .ith Qtel:Q- !his is primarily
or multi-valued strin, attributes( speciically
!ro'#ddresses- 1n this case( Address Eoo/
&erver is interested only in !ro'#ddresses
entries that be,in .ith Qtel:Q- !hereore( in the
interest o savin, space( User "eplicator stores
only the entries that be,in .ith Qtel:Q-
262
ttri0ute Descri!tion
084 A Eoolean strin, attribute( .hich i !"U@
causes User "eplicator to not include this
contact in the AbUser@ntry table- 1 FA*&@( it
causes User "eplicator to include the attributes
or this contact in the AbUser@ntry table( but not
the particular attribute .ith this la,- !his is
another special case type that is primarily or
the ms$'ch1ide*romddress7ists attribute-
08C A strin, attribute( but is included only i the
attribute value be,ins .ith Qsmtp:Q and includes
the QMQ symbol-
08F A strin, attribute( but is included only i the
attribute value be,ins .ith either Qtel:Q or Qsmtp:Q
and includes the QMQ symbol-
08100 1 set( this is a multi-valued attribute that can
appear more than once or each contact-
08C00 1 set( this identiies the e-mail alias attribute or
a contact- Address Eoo/ &erver uses this la, to
identiy .hich attribute value to sho. in the
phone normaliHation event lo, entry-
08G00 1 set( this identiies a reKuired attribute or a
contact- Address Eoo/ &erver includes a user in
the AbUser@ntry table only i there is a value or
this attribute in Active 2irectory- 1 there is more
than one reKuired attribute( only one o them is
reKuired to have a value to include the user in
the AbUser@ntry table-
081000 1 set( Address Eoo/ &erver al.ays normaliHes
the value o this attribute-
082000 1 set( Address Eoo/ &erver uses the normaliHed
number rom !ro'#ddresses( i the
3seNormali;ationRules 9#1 settin, is
FA*&@T other.ise it behaves the same as .hen
the la, bit is 081000-
08C000 1 set( Address Eoo/ &erver does not include
obLects in the AbUser@ntry table that have this
value or the speciied attribute- For e8ample( i
the msRTCSI(/(rimar#3serddress attribute
has this la, bit set( then contacts that have this
263
ttri0ute Descri!tion
attribute are not .ritten to the database-
08G000 1 set( Address Eoo/ &erver does not include
obLects in the AbUser@ntry table that do not
have this value or the speciied attribute- 1 both
the 08C000 and 08G000 la, bits are set on an
obLect( the attribute .ith the la, bit value set to
08C000 ta/es precedence( and the obLect is
e8cluded rom the AbUser@ntry table-
0810000 1 set( this represents a ,roup obLect- User
"eplicator uses this la, bit to include contacts
.ith the "rou!T#!e attribute .hose presence
indicates a ,roup Aor e8ample( a distribution list
or security ,roupB-
0820000 1 set( User "eplicator uses this la, bit to
include this attribute in device-speciic Address
Eoo/ &erver iles Athat is( iles .ith a -dabs
e8tensionB-
*ilterin" the ddress -oo.
!he users populated in the Address Eoo/ &erver iles can be controlled based on certain Active
2irectory Attributes listed in the AbAttribute table- One such attribute used or ilterin, is the
ms$'chan"e1ide*romddress-oo. attribute- !his is a user attribute added by the @8chan,e
schema- 1 the value o this attribute is !"U@( @8chan,e &erver uses this attribute to hide the
contact rom the Outloo/ ?A*- &imilarly( i the value o this attribute is !"U@( User "eplicator
does not include that user in the AbUser@ntry table and this user .ill not be in the Address Eoo/
&erver iles-
:ou can use some la, bits to deine a ilter to use on Address Eoo/ &erver attributes- For
e8ample( the presence o certain la, bits can identiy an attribute as an include attribute or an
e8clude attribute- User "eplicator ilters out contacts that contain an e8clude attribute and ilters
out contains that do not contain an include attribute-
%urrently( there are three dierent ilters- !he ollo.in, table lists these ilers-
Ta0le <, *ilters
ttri0ute Descri!tion
08G00 1 set( this identiies a reKuired attribute or a
contact- User "eplicator uses this la, bit to
ilter out contacts that do not contain at least
one reKuired attribute- !he OuPath1d is a
reKuired attribute( .hich is al.ays set- &o at
264
ttri0ute Descri!tion
least one o other reKuired attributes should be
set- Other.ise( contact Athat is( .ith value o
reKuired attribute OuPath1dB .ill still not be
.ritten to database- For e8ample( i
tele!honeNum0er and home(hone are
deined as reKuired attributes( only the contacts
that have at least one o these attributes are
.ritten to the database-
08C000 1 set( this identiies an e8clude attribute- User
"eplicator uses this la, bit to ilter out contacts
that contain this attribute- For e8ample( i
msRTCSI(/(rimar#3serddress is deined as
an e8clude attribute( contacts that have this
attribute are not .ritten to the database-
08G000 1 set( this identiies an include attribute- User
"eplicator uses this la, bit to ilter out contacts
that do not contain this attribute- For e8ample( i
msRTCSI(/(rimar#3serddress is deined as
an include attribute( only the contacts that have
this attribute are .ritten to the database-
Note:
1 both the 08C000 Ae8clude attributeB and 08G000 Ainclude attributeB la, bits are set( the
08C000 bit overrides the 08G000 bit and the contact is e8cluded-
Althou,h you can ilter the Address Eoo/ to include only certain users( limitin, entries does not
limit other usersO ability to contact the iltered users or to see their presence status- Users can
al.ays ind( manually send instant messa,es( or manually initiate calls to users not in the
Address Eoo/ by enterin, a userOs complete si,n-in name- Also( Oice %ommunicator 200' "2
can use contact inormation or a user in Outloo/ or the 9indo.s Address Eoo/-
9hile havin, ull contact records in the Address Eoo/ iles enables you to use Oice
%ommunicator 200' "2 to initiate e-mail( telephone( or @nterprise =oice calls Athat is( i
@nterprise =oice is enabled on the serverB .ith users that are not coni,ured or &ession 1nitiation
Protocol A&1PB( some or,aniHations preer to include only &1P-enabled users in their Address
Eoo/ &erver entries- :ou can ilter the Address Eoo/ to include only &1P-enabled users by
clearin, the 08G00 bit in the *la"s column o the ollo.in, reKuired attributes: mailNic.name(
tele!honeNum0er( home(hone( and mo0ile- :ou can also ilter the Address Eoo/ to include
only &1P-enabled users by settin, the 08G000 Ainclude attributeB in the *la"s column o the
msRTCSI(/(rimar#3serddress attribute- !his also helps to e8clude service accounts rom the
Address Eoo/ iles-
265
Ater you modiy the AbAttribute table( you can reresh the data in the AbUser@ntry table by
runnin, the a0server,e'e Cre"en3R command- Ater U" replication completes( you can update
the ile in the Address Eoo/ &erver ile store by manually runnin, the a0server,e'e Cs#ncNo)
command-
Mana"ement of Office Communications
Server 2007 R2
Oice %ommunications &erver 200' "2 provides several administrative tools to acilitate the
mana,ement o servers and users in an Oice %ommunications &erver 200' "2 deployment-
!his section provides a description o the tools and inormation about /ey mana,ement and
operations tas/s or Oice %ommunications &erver 200' "2-
In This Section
Administrative !ools Overvie.
1nstallation and Use o Administrative !ools
!roubleshootin, or Oice %ommunications &erver 200' "2
*oad Ealancers or Oice %ommunications &erver 200' "2
#edia Ports
=oice <uality o &ervice A<o&B
9#1 &ettin,s or Oice %ommunications &erver 200' "2
%lient "e,istry Jeys+?PO or Oice %ommunications &erver 200' "2
1n-Eand Provisionin, over &1P
dministrative Tools Overvie)
Oice %ommunications &erver 200' "2 provides dedicated administrative tools-
!o mana,e Oice %ommunications &erver 200' "2( you can do either o the ollo.in,:
1nstall the administrative tools on any server on .hich Oice %ommunications
&erver 200' "2 and its components are installed-
1nstall the administrative tools on a separate computer( such as a centraliHed
administration console on .hich Oice %ommunications &erver 200' "2 is not installed-
Note:
!he Oice %ommunications &erver administrative tools are no lon,er installed
automatically on servers runnin, Oice %ommunications &erver( but you can install the
tools by usin, the same 2eployment 9iHard that you use to install Oice
%ommunications &erver 200' "2- !he e8ception is the Oice %ommunications
&erver 200' "2 ?roup %hat &erver %oni,uration !ool( .hich is installed by deault on
each computer runnin, ?roup %hat &erver or the ?roup %hat %ompliance service-
266
dministrative Tools
!he ollo.in, table describes the tools available or administerin, Oice %ommunications
&erver 200' "2 and its components-
Ta0le +, dministrative Tools
Tool Descri!tion vaila0ilit# and use
Oice %ommunications
&erver 200' "2 snap-in
A #icrosot #ana,ement
%onsole A##%B snap-in that is
the primary administrative tool
or Oice %ommunications
&erver 200' "2 servers in an
Active 2irectory domain-
Available on any other
computer in the domain on
.hich the Oice
%ommunications
&erver 200' "2 administrative
tools are installed- 1t cannot be
used to mana,e @d,e &ervers(
Pro8y &ervers( or other
computers not in the domain-
Use it to vie. and coni,ure
Oice %ommunications
&erver 200' "2 pools( servers(
and users( includin, the
settin,s or the servers and
users on &tandard @dition
servers and in @nterprise pools
that are in the Active 2irectory
orest-
Oice %ommunications
&erver 200' "2 mana,ement
components or Active
2irectory Users and
%omputers
Additional unctionality or
mana,ement o Oice
%ommunications &erver 200'
"2 servers in Active 2irectory
2omain &ervices AA2 2&B- 1t is
reKuired or initially enablin,
each user or Oice
%ommunications &erver- :ou
can also use it or mana,in,
user settin,s or Oice
%ommunications
&erver 200' "2 users in the
domain( based on the
or,aniHational unit AOUB or
older in .hich they reside( by
usin, the Active 2irectory
Users and %omputers snap-in-
Available in Active 2irectory
Users and %omputers on
computers on .hich the Oice
%ommunications &erver 200'
"2 administrative tools are
installed( but can be used only
i the server is in a domain-
Oice %ommunications &erver An ##% snap-in that is the Available on any computer on
267
Tool Descri!tion vaila0ilit# and use
200' "2 snap-in e8tension or
the %omputer #ana,ement
console
primary tool or mana,ement
o Oice %ommunications
&erver 200' "2 servers that
are not in an Active 2irectory
domain( such as @d,e &ervers
in the perimeter net.or/( as
.ell as Pro8y &ervers-
.hich the Oice
%ommunications
&erver 200' "2 administrative
tools are installed- On the local
computer( only server-level
settin,s can be mana,ed .ith
this snap-in e8tension- 1 the
local computer is not runnin,
Oice %ommunications
&erver 200' "2( you can use
%omputer #ana,ement to
connect to an Oice
%ommunications
&erver 200' "2 server and
then use the Oice
%ommunications
&erver 200' "2 snap-in
e8tension to mana,e the
server-level settin,s o that
computer-
!he 200' "2 version o
%ommunicator 9eb Access
snap-in
An ##% snap-in that is the
primary administrative tool or
%ommunicator 9eb Access-
Available on any server in the
domain on .hich the Oice
%ommunications
&erver 200' "2 administrative
tools are installed-
"esponse ?roup &ervice
snap-in
An ##% snap-in that is the
primary administrative tool or
Oice %ommunications
&erver 200' "2 servers-
Available in the Oice
%ommunications &erver 200'
"2 snap-in-
"esponse ?roup %oni,uration
!ool
A 9eb-based tool that is used
to create and mana,e
"esponse ?roups-
1nstalled .ith the 9eb
%omponents &erver or
&tandard @dition server- Any
computer that is in the same
orest as the server that is
runnin, the "esponse ?roup
&ervice can use the 1nternet
@8plorer 1nternet bro.ser to
access the "esponse ?roup
%oni,uration !ool-
Oice %ommunications A ?roup %hat tool to create %an be installed on any
268
Tool Descri!tion vaila0ilit# and use
&erver 200' "2 ?roup %hat
Administration !ool
cate,ories and chat rooms(
deine their scope and
membership( create ederated
users and ,roups( mana,e
ho. users can use the chat
rooms( and speciy .hich
users are administrators and
mana,ers-
computer in the domain
available or installation o the
?roup %hat Administration
!ool-
?roup %hat &erver
%oni,uration !ool
A ?roup %hat tool to start(
stop( and coni,ure ?roup
%hat &ervers( coni,ure the
?roup %hat database( mana,e
compliance( and set lo,,in,
levels-
Available on any server
runnin, ?roup %hat &erver or
the %ompliance service-
*%&%md-e8e A command-line tool used to
prepare Active 2irectory
2omain &ervices( create
@nterprise pools( perorm
P#*-based lo,,in,( mana,e
permissions( and install(
activate( chec/ the status o( or
deactivate servers( as .ell as
to perorm bac/up and
restoration operations or
Oice %ommunications
&erver 200' "2 servers and
@nterprise pools-
Available on any computer in
the domain on .hich the Oice
%ommunications
&erver 200' "2 administrative
tools are installed-
!his tool is used initially or
Active 2irectory preparation(
and then or on,oin, bac/up
and restoration operations( so
it is not covered in this
documentation- For details
about ho. to use this tool or
Active 2irectory preparation
and other command-line
mana,ement tas/s( see
Preparin, Active 2irectory
2omain &ervices or Oice
%ommunications &erver 200'
"2 in the 2eployment
documentation and the
%ommand *ine "eerence in
the "eerence documentation-
"?&%O!-e8e A command-line tool used to
create and mana,e "esponse
?roup &ervice %ontact
obLects-
Available on any server in the
domain on .hich the Oice
%ommunications
&erver 200' "2 administrative
269
Tool Descri!tion vaila0ilit# and use
tools are installed-
1n addition to the administrative tools described in the table( you can use 9indo.s #ana,ement
1nstrumentation !ester A9E@#!estB( .hich ships .ith the 9indo.s &erver 200G and 9indo.s
&erver 2004 operatin, systems( to modiy 9indo.s #ana,ement 1nstrumentation A9#1B settin,s-
"un the 9E@#!est tool on any computer on .hich Oice %ommunications &erver 200' "2 is
installed- !his ,uide includes speciic procedures or usin, 9E@#!est to chan,e 9#1 settin,s-
For details about 9E@#!est( see QUsin, 9E@#!est user interaceQ at
http:++,o-microsot-com+.lin/+0*in/1d3149'9'-
Note:
!he ?roup %hat and %ommunicator 9eb Access tools listed in the table are described in
separate administration documentation- For details about administerin, ?roup %hat and
%ommunicator 9eb Access( see the Administerin, ?roup %hat documentation and the
%ommunicator 9eb Access A200' "2 "eleaseB Administration ?uide documentation-
(ermissions
1nstallation o Oice %ommunications &erver 200' "2 administrative tools on a computer that is
not runnin, Oice %ommunications &erver 200' "2 reKuires usin, an account that is a member
o the Administrators ,roup Aor an account .ith eKuivalent privile,esB-
Usin, administrative tools reKuires the ollo.in,:
!o administer user account settin,s( an account that is a member o the
"!%UniversalUserAdmins ,roup( or an account .ith eKuivalent privile,es-
For all other Oice %ommunications &erver 200' "2 administration tas/s( an account
that is a member o the "!%Universal&erverAdmins ,roup( or an account .ith eKuivalent
privile,es-
Installation and 3se of dministrative Tools
:ou can install and use the Oice %ommunications &erver 200' "2 administrative tools on any
computer in the domain that meets the administrative tools prereKuisites( such as on a computer
that you use as a central administrative console- For details about installation prereKuisites( see
1nternal Oice %ommunications &erver %omponent "eKuirements in the &upported !opolo,ies
and 1nrastructure "eKuirements documentation-
Note:
1nstallation and use o Oice %ommunications &erver reKuires that users be members o
speciic ,roups- For details about providin, appropriate permissions and dele,ation( see
Accounts and Permissions "eKuirements in the Plannin, and Architecture
documentation-
270
!his section covers primarily the use o the Oice %ommunications &erver 200' "2
administrative tools to mana,e Oice %ommunications &erver- For details about installin, and
usin, the administrative tools( includin, the Oice %ommunications &erver user mana,ement
unctionality in Active 2irectory Users and %omputers( see the Administerin, Oice
%ommunications &erver 200' "2 documentation- For details about usin, the *%&%md-e8e
command-line tool to mana,e Oice %ommunications &erver( see the Oice %ommunications
&erver 200' "2 %ommand *ine "eerence ?uide in the "eerence documentation- For details
about other tools or administerin, other Oice %ommunications &erver 200' "2 components(
see the Administerin, %ommunicator 9eb Access documentation and the Administerin, ?roup
%hat documentation-
In This Section
!his section includes the ollo.in, topics:
=ersion "estrictions
"emote Administration "eKuirements
1nstallin, Administrative !ools
4ersion Restrictions
1nstallin, Oice %ommunications &erver 200' "2 administrative tools on the same computer as
Oice %ommunications &erver 200' administrative tools or *ive %ommunications &erver 200F
.ith &ervice Pac/ 1 A&P1B administrative tools is not supported- Additionally( you cannot
administer servers and users rom previous versions o Oice %ommunications &erver or
#icrosot *ive %ommunications &erver .ith the Oice %ommunications &erver 200' "2
administrative tools( nor can you administer Oice %ommunications &erver 200' "2 servers and
users .ith previous versions o the Oice %ommunications &erver or *ive %ommunications
&erver administrative tools-
:ou can use the #ove Users 9iHard in Oice %ommunications &erver 200' "2 to move users
rom Oice %ommunications &erver 200'- For details about mi,ratin, rom Oice
%ommunications &erver 200' to Oice %ommunications &erver 200' "2( see &upported
#i,ration Paths and %oe8istence &cenarios in the &upported !opolo,ies and 1nrastructure
"eKuirements documentation and the mi,ration documentation in the Oice %ommunications
&erver 200' "2 !ech)et *ibrary at http:++,o-microsot-com+.lin/+0*in/123142105-
Remote dministration ReHuirements
1 you .ant to use remote administration to deploy or administer Oice %ommunications &erver
200' "2 .hile 9indo.s Fire.all is runnin,( you must coni,ure 9indo.s Fire.all to enable the
remote administration e8ception- For details( see QDelp: @nable or disable the remote
administration e8ceptionQ in the 9indo.s &erver product documentation at
http:++,o-microsot-com+.lin/+0*in/1d314'451-
!o remotely administer or deploy the 9eb %omponents &erver( you must also add 1netino-e8e to
the 9indo.s Fire.all e8ceptions list- For details( see QDelp: Add a pro,ram to the 9indo.s
271
Fire.all e8ceptions listQ in the 9indo.s &erver product documentation at
http:++,o-microsot-com+.lin/+0*in/1d314'452-
Installin" dministrative Tools
1n Oice %ommunications &erver 200' "2( the Oice %ommunications &erver administrative
tools are not installed by deault- !o install the administrative tools on a computer runnin, Oice
%ommunications &erver 200' "2 or on another computer( such as a mana,ement console rom
.hich you .ant to centrally mana,e Oice %ommunications &erver 200' "2 servers and users(
you can use the 2eployment 9iHard to install the administrative tools( includin, "esponse ?roup
&ervice and %ommunicator 9eb Access- For a description o each o these tools( see
Administrative %onsoles in the Plannin, and Architecture documentation-
Im!ortant:
Eeore installin, the administrative tools( veriy that all prereKuisites have been met(
includin, operatin, system reKuirements and installation o reKuired updates- For details(
see Administrative !ools &ot.are "eKuirements in the &upported !opolo,ies and
1nrastructure "eKuirements documentation-
Use one o the ollo.in, t.o procedures to install the Oice %ommunications &erver 200' "2
administrative tools on a computer runnin, a 5C-bit version o the operatin, system or a 42-bit
version o the operatin, system-
Note:
!his topic covers the installation o the Oice %ommunications &erver 200' "2
administrative tools( .hich are the primary tools or mana,in, Oice %ommunications
&erver- For inormation about other tools or mana,in, other optional Oice
%ommunications &erver 200' "2 components( see the %ommunicator 9eb Access
A200' "2 "eleaseB Administration ?uide documentation and the Administerin, ?roup
%hat documentation-
To install the Office Communications Server 2007 R2 administrative tools on a com!uter
runnin" a @>/0it version of the o!eratin" s#stem
1- On the computer on .hich you .ant to install the Oice %ommunications &erver
200' "2 administrative tools( lo, on usin, an account that is a member o the
Administrators ,roup Aor an account .ith eKuivalent privile,esB and the 2omain Admins
,roup-
2- 2o one o the ollo.in,:
1nsert the #icrosot Oice %ommunications &erver %2( and then clic/ $nter!rise
$dition-
1nsert the #icrosot Oice %ommunications &erver %2( and then clic/ Standard
$dition-
1 you are installin, rom a net.or/ share to a 5C-bit computer( bro.se to the
YsetupYamd5C older on the net.or/ share( and then double-clic/ setu!$$,e'e or
setu!S$,e'e-
272
4- On the Office Communications Server 2007 R2 De!lo#ment 2i;ard pa,e( clic/
dministrative Tools-
C- "evie. the license a,reement( clic/ I acce!t the terms in the license a"reement to
proceed( and then clic/ OK-
F- !a/e the appropriate action on each pa,e o the .iHard to complete the installation-
Note:
1nstallin, or removin, the administrative tools on a computer runnin, the
9indo.s =ista operatin, system on .hich the &ecurity %enter service is runnin,
.ith the startup mode set to utomatic may result in the ollo.in, error
messa,e: Q@rror stoppin, service since one or more dependent services ailed to
stop- Please try a,ain-Q 1 you close the error messa,e( the process should
complete successully-
To install the Office Communications Server 2007 R2 administrative tools on a com!uter
runnin" a <2/0it version of the o!eratin" s#stem
1- On the computer on .hich you .ant to install the Oice %ommunications &erver
200' "2 administrative tools( lo, on usin, an account that is a member o the
Administrators ,roup Aor an account .ith eKuivalent privile,esB and the 2omain Admins
,roup-
2- On the #icrosot Oice %ommunications &erver %2 or a net.or/ share containin,
the installation iles( bro.se to the YsupportYiG5 older-
4- "un vcredist]8G5-e8e to start the #icrosot =isual %>> 200G "edistributable &etup
.iHard- !a/e the appropriate action on each pa,e o the .iHard to complete the
installation-
C- "un &<*&erver200F]E%-msi to start the #icrosot &<* &erver 200F Eac/.ard
%ompatibility &etup 9iHard- !a/e the appropriate action on each pa,e o the .iHard(
includin, usin, the deault or *eature Selection( to complete the installation-
F- "un sKlncli-msi to start the .iHard or #icrosot &<* &erver )ative %lient- !a/e the
appropriate action on each pa,e o the .iHard( includin, usin, the deault or Feature
&election( to complete the installation-
5- "un O%&%ore-msi to start the Oice %ommunications &erver 200' "2 %ore
%omponents &etup 9iHard- !a/e the appropriate action on each pa,e o the .iHard to
complete the installation-
'- "un Admin!ools-msi to start the Oice %ommunications &erver 200' "2
Administrative !ools &etup 9iHard- !a/e the appropriate action on each pa,e o the
.iHard to complete the installation-
Note:
1nstallin, or removin, the administrative tools on a computer runnin, 9indo.s
=ista on .hich the &ecurity %enter service is runnin, .ith the startup mode set to
utomatic may result in the ollo.in, error messa,e: Q@rror stoppin, service
since one or more dependent services ailed to stop- Please try a,ain-Q 1 you
273
close the error messa,e( the process should complete successully-
Trou0leshootin" for Office Communications
Server 2007 R2
Oice %ommunications &erver 200' "2 includes several lo,,in, and dia,nostics tools that can
help troubleshoot an Oice %ommunications &erver deployment- !he tools include:
O%&*o,,er- ?enerates lo,s or dierent server components .hile the server is runnin,-
&nooper- Protocol analysis tool desi,ned to vie. lo,s ,enerated by the O%&*o,,er toolT
loads the supplied lo, ile and sho.s the messa,es in its display- &nooper is part o #icrosot
Oice %ommunications &erver 200' "2 "esource Jit !ools- !he "esource Jit includes
documentation or usin, the tool-
Oice %ommunications &erver also includes ms-dia,nostics headers that are error code
e8tensions that solve the need or more ,ranular &1P error codes to communicate dia,nostic
inormation throu,h a ne. ms-dia,nostics header- !here are t.o purposes o these error code
e8tensions:
%onvey dia,nostic inormation to help troubleshoot inrastructure AserverB problems(
misconi,urations( syntactical problems and other reasons or a non-successul &1P
response-
%onvey actionable error codes to the client( .hich can then be used by the client
applications( such as the *ive #eetin, client and Oice %ommunicator( to display appropriate
errors to the user-
!he error 12s and reason values or ms-dia,nostic headers are documented in the 6Appendi8 A:
2ia,nostics Deader @rror 12 and "eason =alues7 section o the [#&-O%@"\: %lient @rror
"eportin, Protocol &peciication at http:++,o-microsot-com+.lin/+0*in/1d31CCC14-
7oad -alancers for Office Communications Server
2007 R2
A hard.are load balancer is reKuired in an @nterprise pool .ith more than one @nterprise @dition
server- A load balancer is not reKuired or a &tandard @dition server or a sin,le @nterprise @dition
Front @nd &erver- A load balancer is reKuired( or arrays o Oice %ommunications &erver 200'
"2 @d,e &ervers- !he load balancer perorms the critical role o deliverin, scalability and hi,h
availability across multiple servers connected to a centraliHed database on the Oice
%ommunications &erver 200' "2( Eac/-@nd 2atabase-
(rereHuisites for a 7oad -alancer Connectin" to a (ool
Eeore coni,urin, a load balancer to connect to the Oice %ommunications &erver 200' "2
@nterprise pool( you must coni,ure the ollo.in,:
A static 1P address or servers .ithin your pool-
274
For each server .ithin the pool( a certiicate issued or server authentication by a
certiication authority in the pools local domain-
A virtual 1P A=1PB address and a 2)& record or the load balancer-
!est users created and &1P-enabled in the pool-
1nstall root certiicate rom the certiication authority A%AB in the domain Aor trusted %AB on
client computers-
*o, on to all servers in the pool usin, !*& to ensure certiicates are .or/in,-
7oad -alancer ReHuirements
A load balancer or the Oice %ommunications &erver 200' "2 @nterprise pool must meet the
ollo.in, reKuirements:
#ust e8pose a =1P Address throu,h A"P AAddress "esolution ProtocolB-
!he =1P must have a sin,le 2)& entry( called Pool F<2)-
!he =1P must be a static 1P address-
#ust allo. multiple ports to be opened on the same =1P- &peciically( it must e8pose the
ports described in the ollo.in, table-
275
(orts ReHuired (ort 3se
F050 &1P communication over !%P-
F051 &1P communication over !*&-
14F !o move users rom a pool and other remote
2%O#-based operations-
CC4 D!!P& traic to the pool U"*s-
CCC %ommunication bet.een the ocus AOice
%ommunications &erver 200' "2 component
that mana,es conerence stateB and the
conerencin, servers-
F05F &1P listenin, reKuests or Application &harin,-
F059 #onitorin, &erver-
F0'1 &1P listenin, reKuests or "esponse ?roup
&ervice-
F0'2 &1P listenin, reKuests or %onerencin,
Attendant-
F0'4 &1P listenin, reKuests or %onerencin,
Announcement &erver-
F0'C &1P listenin, reKuests or Outside =oice
%ontrol-
GC0C !*& Aremotin, over #!*&B listenin, or inter-
server communications or "esponse ?roup
&ervice-
!he load balancer must provide !%P-level ainity- !his means that the load balancer
must ensure that !%P connections can be established .ith one Oice %ommunications
&erver 200' "2 in the pool and all traic on that connection destined or that same Oice
%ommunications &erver 200' "2-
!he load balancer must provide a coni,urable !%P idle-timeout interval .ith a ma8imum
value ,reater than or eKual to the minimum o the "@?1&!@" reresh or &1P Jeep-Alive
interval o 40 minutes-
!he load balancer should support a rich set o metrics Around robin( least connections(
.ei,hted( and so orthB- A .ei,hted least connections-based load balancin, mechanism is
recommended or the load balancer- !his means that the load balancer .ill ran/ all Oice
%ommunications &ervers 200' "2 based on the .ei,ht assi,ned to them and the number o
outstandin, connections- !his ran/ .ill then be used to pic/ the Oice %ommunications
&erver 200' "2 to be used or the ne8t connection reKuest-
276
!he load balancer must be able to detect Oice %ommunications &erver 200' "2
availability by establishin, !%P connections to either port F050 A&1P over !%PB( F051 A&1P
over !*&B( and CCC Aconerencin, over D!!P&B( dependin, on .hich is active Aoten called a
heartbeat or monitorB- !he pollin, interval must be a coni,urable value .ith a minimum value
o at least ive seconds- !he load balancer must not select an Oice %ommunications &erver
200' "2 that shuts do.n until a successul !%P connection AheartbeatB can be established
a,ain-
@very Oice %ommunications &erver 200' "2 must have e8actly one net.or/ adapter-
#ultihomin, an Oice %ommunications &erver 200' "2 is not supported-
!he net.or/ adapter must have e8actly one static 1P address- !his 1P address .ill be
used or the incomin, load-balanced traic-
!he computer must have a re,istered F<2)- !he 1P address re,istered or this F<2)
must be publicly accessible rom .ithin the enterprise-
!he load balancer must allo. or addin, and removin, servers to the pool .ithout
shuttin, do.n-
!he load balancer must be )A! Anet.or/ address translationB capable-
9hen you coni,ure the load balancer( you need to reKuest the relevant net.or/ and 2)&
administrator or a =1P Avirtual 1PB address or the load balancer( as .ell as a static 1P address or
every server that you plan to deploy in the @nterprise pool-
Su!!orted 7oad -alancer Confi"urations
#ost load balancers can be coni,ured to operate in either &ecure )et.or/ Address !ranslation
A&)A!B mode or 2estination )et.or/ Address !ranslation A2)A!B mode- 9ith &)A!( both the
source and 1P destinations are chan,ed as a !%P reKuest passes throu,h the *oad Ealancer-
9ith 2)A!( only the destination 1P address is chan,ed and the source 1P address is passed
throu,h intact-
2estination net.or/ address translation A2)A!B is not supported or load balancin, o an
@nterprise pool or %ommunicator 9eb Access( but both 2)A! and source net.or/ address
translation A&)A!B are supported or load balancin, o @d,e &ervers and D!!P !he issues .ith
2)A! are related to inter-server communication .ithin a pool Aspeciically( members o a pool
tryin, to connect to their o.n =1PB( .hich .ill ail in a 2)A! coni,uration- 1n any location .ith
multiple @d,e &ervers deployed behind a load balancer( the e8ternal ire.all cannot unction as a
net.or/ address translation A)A!B- Do.ever( in a site .ith only a sin,le @d,e &erver deployed(
the e8ternal ire.all can be coni,ured as a )A!- 1 you do so( coni,ure the )A! as a destination
net.or/ address translation A2)A!B or inbound traicWin other .ords( coni,ure any ire.all ilter
used or traic rom the 1nternet to the @d,e &erver .ith 2)A!( and coni,ure any ire.all ilter or
traic ,oin, rom the @d,e &erver to the 1nternet Aoutbound traicB as a source net.or/ address
translation A&)A!B- !he inbound and outbound ilters must map to the same public 1P address
and the same private 1P address- For details about load balancin, pools( see @nterprise @dition in
the Plannin, and Architecture documentation- For details about load balancin, @d,e &ervers( see
@8ternal User Access %omponents in the Plannin, and Architecture documentation- For details
about load balancin, %ommunicator 9eb Access( see %ommunicator 9eb Access &upport in the
277
Plannin, and Architecture documentation- For details about 2irectors( see 2irector %omponent in
the &upported !opolo,ies and 1nrastructure "eKuirements documentation- For details about load
balancin, support in Oice %ommunications &erver 200' "2( see @nvironmental "eKuirements
in the &upported !opolo,ies and 1nrastructure "eKuirements documentation-
Also( 2irect &erver "eturn is a third variant o )A!- 2irect &erver "eturn is not supported-
Media (orts
!his section describes port ran,e reKuirements or media traic- For inormation on coni,urin,
non-media ports Aor e8ample( an overall system-.ide ports tableB( see the Plannin, and
Architecture documentation-
For a complete list o all ed,e server( ire.all( and e8ternal load balancer port settin,s( see the
2eployin, @d,e &ervers or @8ternal User Access documentation- For details about load balancer
coni,uration( see *oad Ealancers or Oice %ommunications &erver 200' "2-
In This Section
#ediation &erver or Oice %ommunications &erver 200' "2
#edia Port "an,e or Oice %ommunications &erver 200' "2
Mediation Server for Office Communications Server 2007 R2
!he internal ed,e o a #ediation &erver should be coni,ured to correspond to a uniKue static
route that is described by an 1P address and a port number- !his 1P address must be the one
correspondin, to the 1P address rom the 2)& resolution o the F<2) o the #ediation &erver-
!he deault port is F051-
!he e8ternal ed,e o a #ediation &erver should be coni,ured as the internal ne8t-hop pro8y or
the media ,ate.ay- 1t should be identiied by a uniKue combination o 1P address and port
number- !he 1P address should not be the same as that o the internal ed,e( and the deault port
is F050-
9hen coni,urin, #ediation &erver( you are advised to accept the deault media port ,ate.ay
ran,e o 50(000 to 5C(000- !he deault ran,e media port ran,e enables the server to handle up to
1(000 simultaneous voice calls- "educin, the port ran,e ,reatly reduces server capacity and
should be underta/en only or speciic reasons by an administrator .ho is /no.led,eable about
media port reKuirements and scenarios- For this reasons( alterin, the deault port ran,e is not
recommended-
Note:
Or,aniHations that use 1P&ec or pac/et security are advised to disable it or media ports
because the security handsha/e reKuired by 1P&ec delays call setup- 1P&ec is
unnecessary or media ports because &"!P encryption secures all media traic bet.een
the #ediation &erver and the internal %ommunications &erver net.or/-
278
Media Gate)a#
2ependin, on the ,ate.ay vendor( there are potentially many attributes that must be set( but to
use the ,ate.ay or @nterprise =oice( port F050 must be coni,ured as the listenin, port that is
used or !%P connections to the #ediation &erver-
Media (ort Ran"e for Office Communications Server 2007 R2
!his section describes the minimum media port allocation reKuirements or the client and server-
!he deault U2P+!%P port ran,e used by the Oice %ommunicator 200' "2 client is 102C-5FF4F-
!he "eal !ime #edia %ommunications stac/ in Oice %ommunicator 200' "2 allocates the
media port dynamically in this ran,e- !o maintain an adeKuate level o perormance( you can
speciy a smaller port ran,e or Oice %ommunicator 200' "2 to use-
!o control the speciic ran,e o ports that need to be open on a ire.all( a re,istry /ey settin, is
provided to orce the media stac/ to reduce the ran,e o port values that can be used or real-
time media communications- On the Oice %ommunicator client( the port ran,e re,istry settin,s
are as ollo.s:
DJ*#Y&ot.areYPoliciesY#icrosotY%ommunicatorYPort"an,eY@nabled
DJ*#Y&ot.areYPoliciesY#icrosotY%ommunicatorYPort"an,eY#a8#ediaPort
DJ*#Y&ot.areYPoliciesY#icrosotY%ommunicatorYPort"an,eY#in#ediaPort
Ey deault none o these re,istry /eys is set-
Minimum Num0er of (orts
1 you use the port ran,e re,istry /ey settin,s to reduce the ports that can be used or media( it is
recommended that you do so accordin, to the minimums described in this section-
For client endpoints( the port ran,e should not be reduced to the point .here it can compromise
the ability o the media stac/ to ne,otiate audio( video( and des/top sharin, communication ports
durin, session setup or durin, a call- #ore speciically( or an Oice %ommunicator 200' "2
client( the minimum port ran,e is C0- A smaller ran,e o ports can result in errors durin, call
transer and conerence escalation scenarios-
Ey coni,urin, a minimum o C0 ports( you enable the client to evaluate the candidate transport
addresses that it can use to stream audio( video( and des/top sharin, to another client( as
described in the 1nternet @n,ineerin, !as/ Force A1@!FB 1nteractive %onnectivity @stablishment
A1%@B protocol- %andidate addresses include a local address and an address on the A+= Access
@d,e server- A minimum o C0 ports in the port ran,e .ill also accommodate any escalations rom
a peer-to-peer call to a conerence-
Note:
An escalation o a peer-to-peer call to a conerence tri,,ers a temporary doublin, o the
ports in use-
2ierent call scenarios can dictate .hether to deliver by usin, User 2ata,ram Protocol AU2PB or
!ransmission %ontrol Protocol A!%PB- Do.ever( .henever U2P can be used to deliver media( it
.ill be used instead o !%P-
279
Note:
&ecure "eal-!ime !ransport Protocol A&"!PB and &ecure "eal-!ime !ransport %ontrol
Protocol A&"!%PB streams are multiple8ed over !%P but are delivered separately in the
case o U2P- U2P connections are more resilient to pac/et loss than !%P- 9hen a U2P
pac/et is lost( there is no transport impact to subseKuent pac/ets- 9hen pac/et loss
occurs over !%P( all subseKuent pac/ets are held at the transport level to ensure a
reliable stream o data- As a result( overall latency in the media delivery chain may
increase over !%P-
!he ollo.in, set o tables sho. the detailed port reKuirements or call setup:
Ta0le +,0 (ort ReHuirements for Call Setu!
4oice IC$ v@
3D( RT(
4oice IC$ v@
3D( RTC(
4oice IC$ v@
TC( RT(R
RTC(
4oice IC$ v+L
3D( RD(
4oice IC$ v+L
3D( RTC(
1%@ *ocal
%andidate
1 1 1 1 1
1%@ A+= @d,e
&erver %andidate
1 1 1 1 1
=oice #a8imum
)umber o Ports
C C C C C
%onsultative %all
!ranser( )umber
o Additional Ports
C C C C C
!otal Audio
#a8imum )umber
o Ports
G G G G G
Audio =ideo
#a8imum )umber
o Ports
15 15 15 15 15
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 15 15
!otal Audio =ideo
#a8imum )umber
o Ports
42 42 42 42 42
Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
15 15 15 15 15
280
4oice IC$ v@
3D( RT(
4oice IC$ v@
3D( RTC(
4oice IC$ v@
TC( RT(R
RTC(
4oice IC$ v+L
3D( RD(
4oice IC$ v+L
3D( RTC(
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 15 15
!otal Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
42 42 42 42 42
Ta0le +,+ (ort ReHuirements for Call Setu!
4oice IC$ v+L
TC( RT(R
RTC(
CI*84G81D 4ideo
IC$ v@ 3D( RT(
CI*84G81D 4ideo
IC$ v@ 3D( RTC(
CI*84G81D 4ideo
IC$ v@ TC( RT(R
RTC(
1%@ *ocal
%andidate
1 1 1 1
1%@ A+= @d,e
&erver %andidate
1 1 1 1
=oice #a8imum
)umber o Ports
C )+A )+A )+A
%onsultative %all
!ranser( )umber
o Additional Ports
C )+A )+A )+A
!otal Audio
#a8imum )umber
o Ports
G )+A )+A )+A
Audio =ideo
#a8imum )umber
o Ports
15 15 15 15
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 15
!otal Audio =ideo
#a8imum )umber
o Ports
42 42 42 42
Audio =ideo 15 15 15 15
281
4oice IC$ v+L
TC( RT(R
RTC(
CI*84G81D 4ideo
IC$ v@ 3D( RT(
CI*84G81D 4ideo
IC$ v@ 3D( RTC(
CI*84G81D 4ideo
IC$ v@ TC( RT(R
RTC(
2es/top &harin,
#a8imum )umber
o Ports
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 15
!otal Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
42 42 42 42
Ta0le +,2 (ort ReHuirements for Call Setu!
CI*84G81D 4ideo
IC$ v+L 3D( RT(
CI*84G81D 4ideo
IC$ v+L 3D( RTC(
CI*84G81D 4ideo
IC$ v+L TC( RT(R
RTC(
Des.to!
Sharin" TC(
RT(R RTC(
1%@ *ocal
%andidate
1 1 1 2
1%@ A+= @d,e
&erver %andidate
1 1 1 1
=oice #a8imum
)umber o Ports
)+A )+A )+A )+A
%onsultative %all
!ranser( )umber
o Additional Ports
)+A )+A )+A )+A
!otal Audio
#a8imum )umber
o Ports
)+A )+A )+A )+A
Audio =ideo
#a8imum )umber
o Ports
15 15 15 )+A
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 )+A
!otal Audio =ideo 42 42 42 )+A
282
CI*84G81D 4ideo
IC$ v+L 3D( RT(
CI*84G81D 4ideo
IC$ v+L 3D( RTC(
CI*84G81D 4ideo
IC$ v+L TC( RT(R
RTC(
Des.to!
Sharin" TC(
RT(R RTC(
#a8imum )umber
o Ports
Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
15 15 15 15
%onsultative %all
!ranser #a8imum
)umber o Ports
15 15 15 15
!otal Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
42 42 42 42
!he ollo.in, set o tables sho. the detailed port reKuirements or escalation durin, a call:
Ta0le 2,0 (ort ReHuirements for $scalation Durin" a Call
4oice IC$ v@
3D( RT(
4oice IC$ v@
3D( RTC(
4oice IC$ v@
TC( RT(R
RTC(
4oice IC$ v+L
3D( RD(
4oice IC$ v+L
3D( RTC(
@stablished P2P
or %onerence
1 1 1 1 1
@scalation From
P2P to
%onerence
1 1 1 1 1
!otal Audio
#a8imum )umber
o Ports
C C C C C
!otal Audio =ideo
#a8imum )umber
o Ports
15 15 15 15 15
!otal Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
15 15 15 15 15
283
Ta0le 2,+ (ort ReHuirements for $scalation Durin" a Call
4oice IC$ v+L
TC( RT(R
RTC(
CI*84G81D 4ideo
IC$ v@ 3D( RT(
CI*84G81D 4ideo
IC$ v@ 3D( RTC(
CI*84G81D 4ideo
IC$ v@ TC( RT(R
RTC(
@stablished P2P
or %onerence
1 1 1 1
@scalation From
P2P to
%onerence
1 1 1 1
!otal Audio
#a8imum )umber
o Ports
C )+A )+A )+A
!otal Audio =ideo
#a8imum )umber
o Ports
15 15 15 15
!otal Audio =ideo
2es/top &harin,
#a8imum )umber
o Ports
15 15 15 15
Ta0le 2,2 (ort ReHuirements for $scalation Durin" a Call
CI*84G81D 4ideo
IC$ v+L 3D( RT(
CI*84G81D 4ideo
IC$ v+L 3D( RTC(
CI*84G81D 4ideo
IC$ v+L TC( RT(R
RTC(
Des.to!
Sharin" TC(
RT(R RTC(
@stablished P2P
or %onerence
1 1 1 2
@scalation From
P2P to
%onerence
1 1 1 1
!otal Audio
#a8imum )umber
o Ports
)+A )+A )+A )+A
!otal Audio =ideo
#a8imum )umber
o Ports
15 15 15 )+A
!otal Audio =ideo
2es/top &harin,
15 15 15 15
284
CI*84G81D 4ideo
IC$ v+L 3D( RT(
CI*84G81D 4ideo
IC$ v+L 3D( RTC(
CI*84G81D 4ideo
IC$ v+L TC( RT(R
RTC(
Des.to!
Sharin" TC(
RT(R RTC(
#a8imum )umber
o Ports
!he ollo.in, set o tables sho. the detailed overall reKuirements or ports:
Ta0le <,0 Overall ReHuirements for (orts
4oice IC$ v@
3D( RT(
4oice IC$ v@
3D( RTC(
4oice IC$ v@
TC( RT(R
RTC(
4oice IC$ v+L
3D( RD(
4oice IC$ v+L
3D( RTC(
#inimum Ports
"eKuired or
Audio
15 15 15 15 15
#inimum Ports
"eKuired or
Audio =ideo
42 42 42 42 42
#inimum Ports
"eKuired or
Audio =ideo
2es/top &harin,
42 42 42 42 42
A** V 42 42 42 42 42
Ta0le <,+ Overall ReHuirements for (orts
4oice IC$ v+L
TC( RT(R
RTC(
CI*84G81D 4ideo
IC$ v@ 3D( RT(
CI*84G81D 4ideo
IC$ v@ 3D( RTC(
CI*84G81D 4ideo
IC$ v@ TC( RT(R
RTC(
#inimum Ports
"eKuired or
Audio
15 )+A )+A )+A
#inimum Ports
"eKuired or
Audio =ideo
42 42 42 42
#inimum Ports
"eKuired or
Audio =ideo
42 42 42 42
285
4oice IC$ v+L
TC( RT(R
RTC(
CI*84G81D 4ideo
IC$ v@ 3D( RT(
CI*84G81D 4ideo
IC$ v@ 3D( RTC(
CI*84G81D 4ideo
IC$ v@ TC( RT(R
RTC(
2es/top &harin,
A** V 42 42 42 42
Ta0le <,2 Overall ReHuirements for (orts
CI*84G81D 4ideo
IC$ v+L 3D( RT(
CI*84G81D 4ideo
IC$ v+L 3D( RTC(
CI*84G81D 4ideo
IC$ v+L TC( RT(R
RTC(
Des.to! Sharin"
TC( RT(R RTC(
#inimum Ports
"eKuired or
Audio
)+A )+A )+A )+A
#inimum Ports
"eKuired or
Audio =ideo
42 42 42 )+A
#inimum Ports
"eKuired or
Audio =ideo
2es/top &harin,
42 42 42 42
A** V 42 42 42 42

Note:
V G additional ports reKuired to accommodate any third party applications- At least C0
ports needed or allocatin, ports in the same ran,e at the same time-
As described in the tables( the minimum number o ports that must be allocated on a client
platorm is C0- 2urin, a normal call( the number o ports used .ill not e8ceed 2( C( or F dependin,
on .hether audio( audio+video( or audio+video+2es/top sharin, are streamed-
Server (ort llocation
%han,in, the deault port ran,e on the server is not recommended- Do.ever( i your or,aniHation
has a need to establish port ran,es on the server( you can use the ollo.in, 9#1 settin,s to
coni,ure the port ran,e:
#&F!]&1PPool%oni,&ettin,
#&F!]&1P2ata#%U&ettin,
#&F!]&1P#ediation&erver%oni,&ettin,
286
For an A+= %onerencin, &erver as .ell as all other server components terminatin, Audio+=ideo
media Aor e8ample( Front-@nds hostin, %onerencin, Attendant( "esponse ?roup &erviceB( the
port ran,e must be at least si8 times the ma8imum number o concurrent call le,s that can be
supported on the server Athat is( t.o ports or the "!P and "!%P traic or each modality I audio(
video( and panoramic videoB-
For an A+= Access @d,e server( the port ran,e must be at least t.elve times the ma8imum
number o outside user calls that can be supported on the server At.o ports or the "!P and
"!%P traic or each modality I audio( video and panoramic video( or audio( video( and des/top
sharin, or 1%@ v5 and 1%@ v19-
For a #ediation &erver( the port ran,e must be at least ei,ht times the ma8imum number o
concurrent calls that can be supported on the server Athat is( t.o ports or the "!P and "!%P
traic or audio multiplied by t.o because the #ediation &erver is a bac/-to-bac/ User A,ent or
1%@ v5 and also or 1%@ v19B-
4oice 6ualit# of Service %6oS&
!he Kuality o the service associated .ith synchronous traic li/e audio or video can be impacted
by delay( Litter( and pac/et loss in the 1P net.or/- Althou,h Oice %ommunications &erver 200'
"2 has been desi,ned to .or/ .ithout any <uality o &ervice A<o&B rame.or/( it can be
deployed in 1P net.or/s .ith <o& implemented usin, 2ierentiated &ervices A2i&ervB- !o
support the <o& environment( endpoints are coni,ured to mar/ the 1P traic conveyin, the real-
time audio and video 1P traic accordin, to .ell-established classes o services desi,ned to
protect the real-time communication traic rom other asynchronous traic in the 1P net.or/(
includin, instant messa,in, A1#B( application sharin, data( and ile do.nloads- !hese mar/in,s
can be chan,ed to map to dierent classes o services as desired by an enterprise-
6oS )ith Office Communications Server 2007 R2
A net.or/ enabled or 2ierentiated &ervices A2i&ervB provides class-level prioritiHation based
on 2ierentiated &ervices %ode Point A2&%PB mar/in, o the 1P pac/ets- @ach 2&%P value
corresponds to a class o service or or.ardin, pac/ets rom the sender or intermediary router to
the ne8t router or receiver in the net.or/- !he or.ardin, behaviors can be implemented by usin,
a variety o techniKues( includin, priority Kueuin,( .ei,hted air Kueuin,( or conventional lea/y
buc/et-based techniKues- "elevant classes or the delivery o audio and video media streams are
the @8pedited For.ardin, A@FB and Assured For.ardin, AAFB classes( respectively- For a
description o the 5-bit 2&%P ield values in the !ype o &ervice byte o any 1P pac/et( see 1@!F
"F% 2C'C-
1n Oice %ommunications &erver 200' "2( 2&%P mar/in, can be enabled to coni,ure the media
stac/ to mar/ the 1P traic conveyin, the real-time audio and video 1P traic accordin, to .ell-
established classes o services- Ey deault( 2&%P mar/in, is not enabled- 1 enabled( the mar/in,
o the 1P pac/ets is done by the <o& Pac/et &cheduler service- !he resultin, mar/ed pac/ets
can subseKuently be reco,niHed by net.or/ entities Aend systems and routersB to mana,e the
media traic accordin, to the <o& priorities- !he <o& mar/in, is applied to all media ports and
re,ardless o .hether the audio+video traic is delivered over "eal-!ime Protocol A"!PT see 1@!F
287
"F% 44F0B or &ecure "eal-!ime Protocol A&"!PT see 1@!F "F% 4'11B- Eecause <o& policies
are oten tied to U2P or !%P ports( Oice %ommunications &erver 200' "2 also includes a
?roup Policy re,istry settin, Aon client platormsB or a 9#1 settin, Aon server platormsB to speciy
the port ran,e or the U2P and !%P ports used in deliverin, media streams-
Eeore enablin, <o& or Oice %ommunications &erver 200' "2( you must provision the net.or/
correctly- "elevant classes or the delivery o audio and video media streams in Oice
%ommunications &erver 200' "2 are the ollo.in,:
For audio( the @8pedited For.ardin, A@FB class- Audio streams aected by this mar/in,
include 2!#F( %omort )oise( and Audio .ith For.ard @rror %orrection AF@%B streams-
For video( the Assured For.ardin, AAFB class- =ideo streams aected by this mar/in,
include =ideo streams .ith F@% pac/ets-
Ater ensurin, that the net.or/ is correctly coni,ured( Oice %ommunications &erver 200' "2
can be coni,ured to support a <o& environment by enablin, 2&%P mar/in,( .hich includes
doin, the ollo.in,:
@nablin, <o& on the appropriate servers and clients
"unnin, <o& on computers
@nsurin, that ?roup Policy settin,s are correct on servers and client computers
!he procedures in @nablin, 2&%P #ar/in, describe ho. to coni,ure Oice %ommunications
&erver components to support a <o& environment-
Note:
?enerally( a <o& environment is set up beore Oice %ommunications &erver is
deployed( and the procedures in this documentation are implemented ater the
%ommunications &erver components are deployed- 1 you add 2ierentiated &ervices
capability to the @nterprise net.or/ ater you deploy Oice %ommunications &erver 200'
"2( use the inormation in 1mplementin, &upport or a <o& @nvironment in the
Administerin, Oice %ommunications &erver 200' "2 documentation to enable and
coni,ure Oice %ommunications &erver media traic to ta/e advanta,e o this ne.
capability-
$na0lin" DSC( Mar.in"
!he procedures in this section describe ho. to coni,ure components to enable 2ierentiated
&ervices %ode Point A2&%PB mar/in, or Oice %ommunications &erver 200' "2- !his includes:
@nablin, <o&-
1nstallin, the <o& Pac/et &cheduler on computers-
=eriyin, ?roup Policy settin,s on computers-
Note:
2&%P mar/in, is ,enerally enabled at the time o deployment in a <o& environment- 1
you add 2ierentiated &ervices capability to the @nterprise net.or/ ater deployin, Oice
%ommunications &erver 200' "2( you can coni,ure Oice %ommunications &erver
media traic to ta/e advanta,e o this ne. capability at that time-
288
$na0lin" 6oS
!o enable 2&%P mar/in, or Oice %ommunications &erver 200' "2( you must enable <o& on
the ollo.in, components:
#edia servers( .hich are coni,ured via in-band provisionin,- !hese servers include the
ollo.in,:
A+= %onerencin, &erver-
Front @nd &ervers or &tandard @dition servers runnin, %onerencin, Attendant or
"esponse ?roup &ervice-
Uniied %ommunications #ana,ed AP1 server-
#ediation &ervers( .hich are coni,ured usin, 9#1 settin,s-
Oice %ommunicator 200' "2 clients( includin, %ommunicator 200' "2 Attendant( .hich
are coni,ured by creatin, a re,istry /ey-
Oice %ommunicator 200' "2 Phone @dition clients( .hich are coni,ured usin, Oice
%ommunicator property settin,s via in-band provisionin,-
Note:
Ater completin, these procedures or enablin, <o&( you must veriy that the <o& Pac/et
&cheduler is runnin, and the ?roup Policy settin,s are correct on each client and server(
usin, the procedures provided later in this topic-
To ena0le 6oS on media servers
1- *o, on to the Oice %ommunications &erver 200' "2 server as a member o the
"!%Universal&erverAdmins ,roup or an account .ith eKuivalent user ri,hts-
2- %lic/ Start( and then clic/ Run-
4- 1n the O!en bo8( type )0emtest( and then clic/ OK-
C- 1n the 2indo)s Mana"ement Instrumentation Tester dialo, bo8( clic/ Connect-
F- 1n the Connect dialo, bo8( in Names!ace( speciy rootIcimv2( and then clic/
Connect-
5- 1n the 2indo)s Mana"ement Instrumentation Tester dialo, bo8( clic/ 6uer#-
'- 1n the 6uer# dialo, bo8( in $nter 6uer#( do one o the ollo.in,:
For &tandard @dition &erver( speciy select M from
MS*TBSI((oolConfi"Settin" )here 0ac.endQS%local&IIrtcS( and then clic/ !!l#-
For an @nterprise pool( speciy select M from MS*TBSI((oolConfi"Settin"
)here 0ac.endQTES67 ServerFIIEdata0ase instanceFS( and then clic/ !!l#-
A"!% is the deault database instance name-B
G- 1n the 6uer# Result dialo, bo8( double-clic/ the MS*TBSI((oolConfi"Settin"
instance A.hich should be the only instance available on this media serverB-
9- 1n the O0=ect editor dialo, bo8( in (ro!erties( clic/ Server6oS$na0led( and then
clic/ $dit (ro!ert#-
10- 1n the (ro!ert# $ditor dialo, bo8( in 4alue( speciy True( and then clic/ Save
289
(ro!ert#-
11- "epeat the precedin, steps or each Oice %ommunications &erver 200' "2 server
that is in a dierent pool in your environment( includin, each A+= %onerencin, &erver(
server runnin, the "esponse ?roup &ervice( and Uniied %ommunications #ana,ed AP1
server- #edia servers .ithin the same pool .ill share the settin,s ater they have been
set on the Oice %ommunications &erver 200' "2 server or that pool- #ediation &erver
does not Loin a pool( so the settin,s need to be run separately as a 9#1 settin, on that
platorm-
Im!ortant
Ater completin, this procedure( ensure that the <o& Pac/et &cheduler is
installed and that 9indo.s ?roup Policy settin,s are appropriately coni,ured on
each computer-
Policies are propa,ated via in-band provisionin,( so or the policies to become
eective( you must do one o the ollo.in,:
To ena0le 6oS on Mediation Servers
1- *o, on to the #ediation &erver as a member o the "!%Universal&erverAdmins
,roup or an account .ith eKuivalent user ri,hts-
2- %lic/ Start( and then clic/ Run-
4- 1n the O!en bo8( type )0emtest( and then clic/ OK-
C- 1n the 2indo)s Mana"ement Instrumentation Tester dialo, bo8( clic/ Connect-
F- 1n the Connect dialo, bo8( in Names!ace( type rootIcimv2( and then clic/ Connect-
and then clic/ $num Classes-
5- 1n the 2indo)s Mana"ement Instrumentation Tester dialo, bo8( clic/ $num
Classes-
'- 1n the Su!erclass info dialo, bo8( leave the name blan/( and then clic/ OK-
G- 1n the 6uer# Result dialo, bo8( double-clic/ the class name
MS*TBSI(MediationServerConfi"Settin"-
9- 1n the O0=ect editor for MS*TBSI(MediationServerConfi"Settin" dialo, bo8( clic/
Instances-
10- 1n the 6uer# Result dialo, bo8( double-clic/ the
MS*TBSI(MediationServerConfi"Settin"InstanceID instance A.hich should be the
only instance available on this #ediation &erverB-
11- 1n the O0=ect editor dialo, bo8( in (ro!erties( clic/ 6oS$na0led( and then clic/
$dit (ro!ert#-
12- 1n the (ro!ert# $ditor dialo, bo8( in 4alue( speciy True( and then clic/ Save
(ro!ert#-
14- 1n the O0=ect$ditor dialo, bo8( clic/ Save O0=ect-
290
1C- "estart the #ediation &erver service-
1F- "epeat the precedin, steps on each Oice %ommunications &erver 200' "2
#ediation &erver-
Note:
!his procedure only enables 2&%P in the 9#1 settin,s o the #ediation &erver- Ater
completin, this procedure( ensure that the <o& Pac/et &cheduler is installed and
that ?roup Policy settin,s are appropriately coni,ured on each computer( and then
restart the services-
To ena0le 6oS on Communicator clients
1- *o, on to the des/top( laptop( or Attendant client as a member o the Administrator
,roup or an account .ith eKuivalent user ri,hts-
2- Open the "e,istry @ditor-
4- %reate the ollo.in, re,istry /ey:
DJ@:]*O%A*]#A%D1)@Y&OF!9A"@Y#icrosotY"!%Y!ransport
C- "estart the Oice %ommunicator 200' "2 service-
F- "epeat the precedin, steps on each des/top( laptop( and attendant client-
Note:
!his procedure only enables 2&%P on the client- Ater completin, this procedure(
ensure that the <o& Pac/et &cheduler is installed and that ?roup Policy settin,s are
appropriately coni,ured on each computer( and then restart the services-
To ena0le 6oS on Office Communications Server 2007 R2 (hone $dition
1- *o, on to a server runnin, Oice %ommunications &erver 200' "2 or a computer on
.hich Oice %ommunications &erver 200' "2 administrative tools are installed( as a
member o the "!%Universal&erverAdmins ,roup or an account .ith eKuivalent user
ri,hts-
2- Open the Oice %ommunications &erver 200' "2 snap-in-
4- 1n the console tree( e8pand the orest node( and then do one o the ollo.in,:
For an @nterprise pool( e8pand $nter!rise !ools( e8pand the pool( ri,ht-clic/
*ront $nds( and then clic/ (ro!erties-
For a &tandard @dition server( e8pand Standard $dition servers( ri,ht-clic/ the
pool( clic/ (ro!erties( and then clic/ *ront $nd (ro!erties-
C- 1n the *ront $nd (ro!erties dialo, bo8( on the 4oice tab( ne8t to dvanced
o!tions( clic/ Confi"ure-
F- =eriy the I( 6oS value Adeault is C0B and the A02,+! 4oice value Adeault is 0B For
optimum Kuality o service( .e recommend that you use the deault values- !o turn o
2&%P mar/in,( set both values to 0-
291
5- For the ne. settin,s to ta/e eect( restart the device or lo, o and lo, on to the
device-
'- %lic/ OK( t.ice-
Installin" the 6oS (ac.et Scheduler on Com!uters
!he <o& Pac/et &cheduler needs to be active and coni,ured properly in order or Oice
%ommunications &erver 200' "2 servers and clients in order to ma/e the mar/in, active- For
details about the <o& Pac/et &cheduler service( see =oice <uality o &ervice A<o&B in the
!echnical "eerence or Oice %ommunications &erver 200' "2 in the "eerence documentation-
Ey deault( the <o& Pac/et &cheduler is installed on computers runnin, 9indo.s PP( 9indo.s
=ista( and 9indo.s 200G- Ey deault( the <o& Pac/et &cheduler is not installed on 9indo.s
&erver 2004- Use the ollo.in, procedures to determine .hether the <o& Pac/et &cheduler is
installed and( i not( install it-
To install the 6oS (ac.et Scheduler on 2indo)s :( or 2indo)s Server 200<
1- *o, on to the computer as a member o the Administrators ,roup or an account .ith
eKuivalent user ri,hts-
2- %lic/ Start( and then clic/ Control (anel-
4- %lic/ Net)or. Connections-
C- "i,ht-clic/ the net.or/ interace on .hich you .ant to enable the <o& Pac/et
&cheduler( and then clic/ (ro!erties-
F- %lic/ Install-
5- 1n Select Net)or. Com!onent T#!e( clic/ Service-
'- %lic/ dd-
G- 1n Select Net)or. Service( clic/ 6oS (ac.et Scheduler( and then clic/ OK-
To install the 6oS (ac.et Scheduler on 2indo)s 4ista or 2indo)s Server 200A
1- *o, on to the computer as a member o the Administrator ,roup or an account .ith
eKuivalent user ri,hts-
2- %lic/ Start( and then clic/ Control (anel-
4- %lic/ Net)or. and Sharin" Center-
C- "i,ht-clic/ the net.or/ interace on .hich you .ant to enable the <o& Pac/et
&cheduler( and then clic/ (ro!erties-
F- %lic/ Install-
5- 1n Select Net)or. *eature( clic/ Service-
'- %lic/ dd-
G- 1n Select Net)or. Service( clic/ 6oS (ac.et Scheduler( and then clic/ OK-
292
4erif#in" Grou! (olic# Settin"s on Com!uters
1n order to support 2&%P mar/in, on the servers and client computers in your or,aniHation( the
?roup Policy settin,s or conormin, pac/ets or the t.o service types used by <o& Pac/et
&cheduler must be enabled and cannot be set to Hero- !his includes the ollo.in,:
&@"=1%@!:P@]?UA"A)!@@2- !his settin, ,uarantees that 1P data,rams .ill arrive
.ithin the ,uaranteed delivery time and .ill not be discarded due to Kueue overlo.s(
provided the lo.Os traic stays .ithin its speciied traic parameters- !his service is intended
or applications that need a irm ,uarantee that a data,ram .ill arrive no later than a certain
time ater it .as transmitted by its source-
!he "eal !ime #edia %ommunications stac/ mar/s the "!P+&"!P audio pac/ets Adeault
payload type value eKual to 0( 4( C( G( 14( 9'( 101( 111( 112( 11C( 11F( 115( or 11GB as
&@"=1%@!:P@]?UA"A)!@@2- !his mar/in, is o by deault- !o enable <o& on hi,h-
deinition video( also update the ollo.in, re,istry /ey to set the value to 2F0000 bytes per
sec A2 #bpsB:
DJ@:]*O%A*]#A%D1)@Y&ot.areY#icrosotY"!%Y!ransportY=ideoEand.idth2iscard!hresh
oldEytesPer&ec
!he &@"=1%@!:P@]%O)!"O**@2*OA2 settin, provides an end-to-end <o& that
closely appro8imates transmission Kuality provided by best-eort service( as e8pected under
unloaded conditions rom the associated net.or/ components alon, the data path-
Applications that use &@"=1%@!:P@]%O)!"O**@2*OA2 may thereore assume the
ollo.in,:
!he net.or/ .ill deliver a very hi,h percenta,e o transmitted pac/ets to its intended
receivers- 1n other .ords( pac/et loss .ill closely appro8imate the basic pac/et error rate
o the transmission medium-
!ransmission delay or a very hi,h percenta,e o the delivered pac/ets .ill not
,reatly e8ceed the minimum transit delay e8perienced by any successully delivered
pac/et-
!he "eal !ime #edia %ommunications stac/ mar/s the "!P+&"!P video pac/ets
Adeault payload type value eKual to 4C or 121B as &@"=1%@!:P@]%O)!"O**@2*OA2-
!his mar/in, is o by deault-
Use the ollo.in, procedure on each client and server to ensure that the ?roup Policy settin,s or
the t.o service types are set correctly-
To verif# service t#!e settin"s on a com!uter
1- *o, on to the computer as a member o the Administrators ,roup or an account .ith
eKuivalent user ri,hts-
2- %lic/ Start( and then clic/ Run-
4- 1n the O!en bo8( type "!edit,msc-
C- 1n the Grou! (olic# O0=ect $ditor dialo, bo8( e8pand Com!uter Confi"uration(
e8pand dministrative Tem!late( e8pand Net)or.( e8pand 6oS (ac.et Scheduler(
and then clic/ DSC( value of conformin" !ac.ets-
293
F- 1n DSC( value of conformin" !ac.ets( veriy that Guaranteed service t#!e and
Controlled load service each have one o the ollo.in, settin,s:
Not confi"ured-
$na0led .ith a nonHero value- !o see the value( ri,ht-clic/ the settin,( and then
clic/ (ro!erties-
Disa0led-
Note:
!o ensure that the policies are applied( you may need to run the gpupdate
-target:computer -force command- !his command may need to be run
each time the computer is restarted- For details( see Jno.led,e Ease article
9'4''9( 6&ome <o& ?roup Policy settin,s are not retained ater you restart a
client computer that is runnin, 9indo.s =ista or 9indo.s &erver 200G7 at
http:++support-microsot-com+/b+9'4''9 and Jno.led,e Ease article 9'2G'G(
6!he Q?uaranteed service typeQ ?roup Policy settin, returns to the deault value
ater you restart a client computer that is runnin, 9indo.s PP or 9indo.s
&erver 20047 at http:++support-microsot-com+/b+9'2G'G-
2MI Settin"s for Office Communications Server
2007 R2
For details about Oice %ommunications &erver 9#1 settin,s( see the Oice %ommunications
&erver &2J at the #icrosot 9eb site http:++,o-microsot-com+.lin/+0*in/1d31CCCG5-
Client Re"istr# Ke#s8G(O for Office
Communications Server 2007 R2
For details about Oice %ommunicator re,istry settin,s( see the Oice %ommunicator 200' policy
documentation available at the #icrosot 9eb site http:++,o-microsot-com+.lin/+0*in/1231C0C9C-
In/-and (rovisionin" over SI(
Ater the client is si,ned in( the client receives settin,s rom the server pool throu,h in-band
provisionin,- &peciic settin,s that have been coni,ured in the Oice %ommunications &erver
properties are propa,ated to the client durin, this process- Unli/e ?roup Policy( .hich is
delivered by usin, a separate mechanism that is based on 9indo.s and Active 2irectory( in-band
provisionin, carries settin,s .ithin the &ession 1nitiation Protocol A&1PB and does not reKuire a
separate communications channel-
For e8ample( Oice %ommunicator clients receive server locations( security inormation( and
settin,s related to speciic client eatures durin, in-band provisionin,- Oice %ommunicator
294
Phone @dition devices receive the list o supported location proiles and pool-level deaults
throu,h in-band provisionin,-
!he ollo.in, table outlines the settin,s that are sent to Oice %ommunicator clients durin, in-
band provisionin, and the location .here these settin,s are coni,ured on the server-
Ta0le +, In/-and (rovisionin" Settin"s
Settin"s sent throu"h in/0and !rovisionin" 7ocation in server !ro!erties
1nternal and e8ternal U"*s or the Address
Eoo/ &erver and 9eb &ervice or 2istribution
?roup e8pansion-
1n the pool properties( 2e0 Com!onent
(ro!erties( ddress -oo. tab( Internal 3R7
and $'ternal 3R7
*ocation o the #edia "elay Access server
A#"A&( part o A+= @d,e &erverB
1n the orest properties( Glo0al (ro!erties(
$d"e Servers tab( under 84 $d"e Servers-
&1P hi,h security mode 1n the pool properties( *ront $nd (ro!erties(
4oice tab( in the dvanced 4oice O!tions
pa,e Aater dvanced O!tions( clic/
Confi"ureB( under SI( securit# mode-
!elephony #ode( .hich determines .hether
enterprise and voice telephony eatures(
remote call control( computer-to-computer
callin,( are enabled
=oice license: 1n the userNs Active 2irectory
properties( Communications tab( Tele!hon#
o!tions-@nterprise license: 1n the orest
properties( ?lobal &ettin,s( #eetin,s( ?lobal
Policies @nterprise .ith =oice license: Eoth o
the above settin,s
Audio+video conerencin, and data
conerencin,(
1n the orest properties( Glo0al (ro!erties(
Meetin"s( Glo0al (olicies
&imultaneous rin,in, 1n the orest properties( 4oice (ro!erties(
(olic# tab( edit the policy and select or clear
the llo) simultaneous rin"in" of !hones
chec/ bo8
9hether encryption is supported or reKuired
.hen ma/in, and receivin, audio and video
calls
(ool (ro!erties( Media tab( under Securit#
Settin"s( $ncr#!tion 7evel
2eault location conte8t or phone calls 1n the orest properties( 4oice (ro!erties(
7ocation tab
*ine inormation or the U% phone line 1n the userNs Active 2irectory properties(
Communications tab( Tele!hon# o!tions(
7ine 3RI-
#a8imum video rate allo.ed 1n the pool properties( *ront $nd (ro!erties(
4ideo tab( select the appropriate settin, or
#a8imum video Kuality
295
Settin"s sent throu"h in/0and !rovisionin" 7ocation in server !ro!erties
@norce pin loc/ 1n the pool properties( *ront $nd (ro!erties(
4oice tab( select or clear the $nforce !hone
loc. chec/ bo8
2h# 3se In/-and (rovisionin"U
!o ensure a consistent user e8perience across all endpoints( Oice %ommunications &erver uses
in-band provisionin,- !his enables policies and settin,s Aor e8ample( the #"A& settin,B to be
sent to non-domain Loined clients as .ell as devices such as Oice %ommunicator Phone @dition(
Oice %ommunicator #obile A200' "2 releaseB-
For endpoints li/e Oice %ommunicator 200' "2( an advanta,e o usin, in-band provisionin, is
that inormation critical to client unctionality is stored on the server and not on the computer or
the speciic endpoint-
1n-band provisionin, simpliies the application o policies and server settin,s across the
or,aniHation because the settin,s apply to all clients that si,n in to the server pool- Do.ever(
some or,aniHations may need to apply distinct settin,s and policies to dierent ,roups .ithin the
or,aniHation- Administrators can achieve this ,reater level o ,ranularity by usin, ?roup Policy to
apply separate client settin,s to dierent Active 2irectory ,roups-
Note:
Oice %ommunicator Phone @dition clients receive all settin,s rom the server throu,h in-
band provisionin, and are not coni,urable throu,h re,istry-based ?roup Policy-
&ome application layer settin,s are common bet.een Oice %ommunicator 200' "2 and Oice
%ommunicator Phone @dition- Eecause Oice %ommunicator Phone @dition has no ,roup policy
mechanism( certain application layer settin,s that .ere previously controlled solely throu,h
?roup Policy have moved in-band in the Oice %ommunications &erver 200' "2 release- !his
chan,e .as made so that Oice %ommunicator Phone @dition clients could receive these
settin,s throu,h in-band provisionin,- Do.ever( beore you remove any ,roup policies because
the settin,s have moved in-band( you should consider the eect on Oice %ommunicator 200'
"2 clients- Follo.in, are the aected settin,s:
Portran,e A&peciy dynamic port ran,esB and the @nabled( #a8#ediaPort( and
#in#ediaPort sub/eys
@nable!racin, A!urn on tracin, or Oice %ommunicatorB
@nable&1PDi,h&ecurity#ode A%oni,ure &1P security modeB
O these settin,s( the &1P &ecurity #ode settin, is used durin, the bootstrappin, process to
speciy .hether !ransport *ayer &ecurity A!*&B is reKuired- 1 your or,aniHation reKuires a !*&
connection bet.een clients and servers in previous versions o Oice %ommunications &erver(
you have probably already set the ?roup Policy or &1P &ecurity #ode- @ven thou,h the settin,
has moved in-band or Oice %ommunications &erver 200' "2( you should retain the &1P
&ecurity #ode ,roup policy because it is still used durin, bootstrappin,( beore the client is able
296
to receive settin,s throu,h in-band provisionin,- #aintainin, the &1P &ecurity #ode policy retains
security durin, the bootstrappin, process-
Office Communicator 2007 R2 Grou! (olic# (recedence
&ome Oice %ommunicator 200' "2 eatures and behaviors can be coni,ured by the
administrator by usin, Oice %ommunications &erver 200' "2 in-band provisionin,( or by the
user throu,h the %ommunicator 200' "2 O!tions dialo, bo8- Do.ever( ?roup Policies ta/e
precedence over both o these methods-
!he ollo.in, table summariHes the order in .hich settin,s ta/e precedence .hen a conlict
occurs-
Ta0le 2, Grou! (olic# (recedence
(recedence 7ocation or Method of Settin"
1 DJ@:]*O%A*]#A%D1)@Y&ot.areYPoliciesY#icrosotY%ommunicator
2 DJ@:]%U""@)!]U&@"Y&ot.areYPoliciesY#icrosotY%ommunicator
4 Oice %ommunications &erver 200' "2 1n-Eand provisionin,
C Oice %ommunications &erver 200' "2 1n-Eand provisionin,
(olic# trans!ort
1n-band settin,s are reKuested .hen a client si,ns in- !he client sends a seKuence o messa,es
and the server responds- !he ollo.in, sho.s the seKuence o interactions bet.een the client
and the server-
!he client irst sends a &@"=1%@ reKuest or the location proile settin,s- !he ollo.in, is an
e8ample o the start-line-
SERVICE
sip:amst@itCareinc.com;gruu;opaque=app:ocationprofie:get;defaut
SI0-&.=
!he server responds .ith a 200 OJ messa,e that contains the location proile settin,s- !he
content type o the response is application*ms+location+profile+definition,&ml- !he messa,e body
contains the dialin, rule patterns and correspondin, translations- An e8ample o a messa,e body
is as ollo.s:
25ocation0rofie,escription
/mns=@1ttp:--sc1emas.microsoft.com-&=="-=*-ocation0rofie,escription@6
27ame65oca.5itCareInc.com2-7ame6
2Rue6
20attern6UW!!&XY2-0attern6
2Transation6Y!2-Transation6
2InternaEnterpriseE/tension6fase2-InternaEnterpriseE/tension6
297
2<ppica)eFor,e;ice,iaing6true2-<ppica)eFor,e;ice,iaing6
2-Rue6
2-5ocation0rofie,escription6
!he client then sends a &UE&%"1E@ reKuest or the contact list- !he @vent header in the
&UE&%"1E@ messa,e has a value o vnd-microsot-roamin,-contacts- !he server responds .ith
a 200 OJ messa,e that contains the contact list( the various ,roups that the users has created
and contacts .ho belon, to each ,roup- !he %ontent type header o the response is
application*vnd+microsoft+roaming+contacts,&ml- !he ollo.in, snippet sho.s an e8ample o the
response that contains the contact list-
2contact5ist deta7um=@&'$@ 6
2group id=@!@ name=@]@ e/terna9RI=@@ -6
2group id=@&@ name=@Saes Team@ e/terna9RI=@@ -6
2group id=@*@ name=@<ccounts Team@ e/terna9RI=@@ -6
2contact uri=@amst@contoso.com@ name=@@ groups=@& *@ su)scri)ed=@true@
e/terna9RI=@@ -6
2contact uri=@1c@contoso.com@ name=@@ groups=@!@ su)scri)ed=@true@
e/terna9RI=@@ -6
2contact uri=@gy@contoso.com@ name=@@ groups=@!@ su)scri)ed=@true@
e/terna9RI=@@ -6
2contact uri=@;a@contoso.com@ name=@@ groups=@! &@ su)scri)ed=@true@
e/terna9RI=@@ -6
2-contact5ist6
A client endpoint also sends a &UE&%"1E@ messa,e or various provisionin, settin,s- !his
&UE&%"1E@ messa,e contains an @vent header .ith a value o vnd+microsoft+provisioning+v--
!he %ontent type o the messa,e is application*vnd+microsoft+roaming+provisioning+v-,&ml-
An e8ample o a &UE&%"1E@ messa,e or the roamin, provisionin, settin,s is as ollo.s:
2pro;isioningSroup5ist
/mns=@1ttp:--sc1emas.microsoft.com-&==%-=(-sip-pro;isioninggroupist@6
2pro;isioningSroup name=@Ser;erConfiguration@-6
2pro;isioningSroup name=@meeting0oicy@-6
2pro;isioningSroup name=@uc0oicy@-6
2pro;isioningSroup name=@pu)icationSrammar@-6
2pro;isioningSroup name=@userSetting@-6
2-pro;isioningSroup5ist6
298
!he server responds .ith a 200 OJ messa,e that contains the settin,s or the reKuested
provisionin, ,roups- !he %ontent type o the response is application*vnd+microsoft+roaming+
provisioning+v-,&ml- !he response contains server coni,uration such as update server U"*s(
Address boo/ server U"*s( %onsole do.nload U"*s- !he ollo.in, settin,s are ne. in Oice
%ommunications &erver 200' "2: %all %ontrol &erver Uri( Pool Uri( and #a8imum video rate
allo.ed- An e8ample o the response containin, the roamin, provisionin, settin,s is as ollo.s:
2pro;isionSroup5ist
/mns=@1ttp:--sc1emas.microsoft.com-&==%-=(-sip-pro;isiongroupist+
notification@6
2pro;isionSroup name=@Ser;erConfiguration@ 6
2uc4a/VideoRate<oCed6VS<+%==?2-uc4a/VideoRate<oCed6

2a)sInternaSer;er9r61ttps:--a)sint.contoso.com-<)s-Int-Nander2-a)sIn
ternaSer;er9r6

2a)sE/ternaSer;er9r61ttps:--a)se/t.contoso.com-<)s-E/t-Nander2-a)sE/
ternaSer;er9r6
2a)sLe)Ser;iceEna)ed6true2-a)sLe)Ser;iceEna)ed6
2uc0C&0C<VEncryption6RequireEncryption2-uc0C&0C<VEncryption6
2organiIation6ContosoE Inc.2-organiIation6

2consoe,oCnoadInterna9r61ttp:--r.office.microsoft.com-r-rid>CSR&M
cid=!=**^amp;p!=i;emeeting2-consoe,oCnoadInterna9r6

2consoe,oCnoadE/terna9r61ttp:--r.office.microsoft.com-r-rid>CSR&M
cid=!=**^amp;p!=i;emeeting2-consoe,oCnoadE/terna9r6

2d/Interna9r61ttps:--ocs.contoso.com-SroupE/pansion-Int-ser;ice.asm/
2-d/Interna9r6

2d/E/terna9r61ttps:--ocs.contoso.com-SroupE/pansion-E/t-ser;ice.asm/
2-d/E/terna9r6
2d/Ena)ed6true2-d/Ena)ed6
2uc,iffSer;Voice6'=2-uc,iffSer;Voice6
2ucVoice$=&P!p6=2-ucVoice$=&P!p6
2ucEnforce0in5ocF6true2-ucEnforce0in5ocF6
2uc4in0in5engt16%2-uc4in0in5engt16
2uc01oneTime>ut6!=2-uc01oneTime>ut6
299
2ucE/c1ange4LI0o6*2-ucE/c1ange4LI0o6
2ucEna)eSI0Security4ode6Nig12-ucEna)eSI0Security4ode6
2ucEna)e9ser5ogging6fase2-ucEna)e9ser5ogging6
_
2-pro;isionSroup6
2pro;isionSroup name=@meeting0oicy@ instanceId=@G%:!#!,%!+,($:+'<!%+
(,%C+$:::*!!!&&$<H@ 6
2instance6
2property name=@7ame@62BJC,<T<J,efaut 0oicyKK62-property6
2property name=@Coor,ept1@62BJC,<T<JNig1 coorsKK62-property6
2property name=@<oC0resenterTo,eegateRecording@62B
JC,<T<JfaseKK62-property6
2property name=@Ena)e<pp,esFtopS1aring@62BJC,<T<JtrueKK62-property6
2property name=@<oC<ppS1aringForE/terna4eeting@62B
JC,<T<J,esFtopKK62-property6
2property name=@4eetingSiIe@62BJC,<T<J#=KK62-property
_
2-instance6
2-pro;isionSroup6
2pro;isionSroup name=@uc0oicy@ instanceId=@G%:'!:E((+#C'#+'!E#+:*'C+
F%:$,=="(E":H@ 6
2instance6
2property name=@7ame@62BJC,<T<J,efaut 0oicyKK62-property6
2property name=@<oC9sersToC1angeTeamSettings@62B
JC,<T<JtrueKK62-property6
2property name=@<oCSimutaneousRinging@62BJC,<T<JtrueKK62-property6
2-instance6
2-pro;isionSroup6
2-pro;isionSroup6
2pro;isionSroup name=@userSetting@ 6
2uc9ser5ocation0rofie 64ain.Contoso.com2-uc9ser5ocation0rofie6
2-pro;isionSroup6
2-pro;isionSroup5ist6
300
(rovisionin" Grou!s
!here are dierent provisionin, ,roups( each ,roup deals .ith a speciic area o cate,ory o
settin,s- !he various provisionin, ,roups and the settin,s they contain are as ollo.s:
Server Confi"uration, %ontains update server U"*s( Address Eoo/ server U"*s(
console do.nload U"*s( distribution list U"*s( media relay server U"*( <uality o &ervice
A<o&B server U"*( %ommunicator 9eb Access U"*s( call control server U"*s-
Meetin" (olic#, &ettin,s that control .hether the presenter is allo.ed to record a
meetin,( .hether application sharin, is allo.ed( 1P audio and 1P video-
3ser settin", User speciic location proile-
uc(olic#, %ontains settin,s or simultaneous rin,in,( phone usa,es( and so on-
(u0lication Grammar, A i8ed maniest sent out by the server- 1t allo.s the client
endpoint to control the a,,re,ation lo,ic and the maniest is server a,nostic-
301