Networking Guide
Network Planning, Monitoring, and Troubleshooting with Lync Server
Update Published: January 2014 Updated queries Included a KHI spreadsheet for Lync 2013 Update uthors: Brandon Bernier, Kent il!er, "ndre# $nider%an and Jens rier &as%ussen
"ontributors: Brandon Bernier, &o-ert Burnett, Jason )ollier, .aul )ulli%ore, (aniel Hernande/, Ja%es Horn-y, (a0e Jennin!s, Jonathan Le#is, Jens rier &as%ussen, Juha $aarinen, 'arc $anders, Joel $is*o, 1ic* $%ith, "ndre# $nider%an, Ja%ie $tar*, "aron $teele, )onnie +elsh, Kent il!er
bstract: 'icrosoft Lync $er0er 2013 co%%unications soft#are is a real2ti%e unified co%%unications application that ena-les peer2to2peer audio and 0ideo 3"456 callin!, conferencin!, and colla-oration and relies on an opti%i/ed, relia-le net#or* infrastructure to deli0er hi!h2quality %edia sessions -et#een clients7 his !uide pro0ides a %odel for %ana!in! the net#or* infrastructure for Lync $er0er 2013, consistin! of three phases8plannin!, %onitorin!, and trou-leshootin!7 hese phases can apply to ne# Lync $er0er deploy%ents or to e9istin! deploy%ents7 In ne# Lync $er0er deploy%ents, your or!ani/ation %ust -e!in fro% the plannin! phase7 In e9istin! deploy%ents, your or!ani/ation can start at the plannin! phase for %a:or up!rades or for inte!ratin! ne# sites into the Lync $er0er ecosyste%7 ;r!ani/ations #ith e9istin! deploy%ents can also -e!in fro% the %onitorin! or trou-leshootin! phases, if you are tryin! to achie0e a healthy state7
his docu%ent is pro0ided <as2is=7 Infor%ation and 0ie#s e9pressed in this docu%ent, includin! U&L and other Internet +e- site references, %ay chan!e #ithout notice7 $o%e e9a%ples depicted herein are pro0ided for illustration only and are fictitious7 1o real association or connection is intended or should -e inferred7 his docu%ent does not pro0ide you #ith any le!al ri!hts to any intellectual property in any 'icrosoft product7 >ou %ay copy and use this docu%ent for your internal, reference purposes7 )opyri!ht ? 2013 'icrosoft )orporation7 "ll ri!hts reser0ed7
"ontents
$% &ntroduction
'icrosoft Lync $er0er 2013 co%%unications soft#are is a real2ti%e unified co%%unications application that ena-les peer2to2peer audio and 0ideo 3"456 callin!, conferencin!, and colla-oration and relies on an opti%i/ed, relia-le net#or* infrastructure to deli0er hi!h2quality %edia sessions -et#een clients7 his paper pro0ides a %odel for %ana!in! the net#or* infrastructure for Lync $er0er 2013, consistin! of three phases@ .lannin! 'onitorin! rou-leshootin! hese phases can apply to ne# Lync $er0er deploy%ents or to e9istin! deploy%ents7 In ne# Lync $er0er deploy%ents, your or!ani/ation %ust -e!in fro% the planning phase7 In e9istin! deploy%ents, your or!ani/ation can start at the planning phase for %a:or up!rades or for inte!ratin! ne# sites into the Lync 2013 ecosyste%7 ;r!ani/ations #ith e9istin! deploy%ents can also -e!in fro% the monitoring or troubleshooting phases, if you are tryin! to achie0e a healthy state7
$%$
Support Materials
In addition to this +ord docu%ent, the 7/ip file you do#nloaded also contains the support files referred to #ithin this docu%ent, includin! te9t files #ith the sa%ple queries, a spreadsheet #ith KHI infor%ation that is referred to in section )727171 "ssert Auality, and a +indo#s .o#er$hell script 3)reateBKHIB)ollection7ps16 to collect .erf'on infor%ation7 The 'ollowing 'iles are included in the %(ip 'ile: LyncB$er0erB1et#or*in!BCuideB027doc9 3this docu%ent6 )*&s Lync $er0er 2010 )reateBKHIB)ollection7ps1 LyncB$er0erB2010BKeyBHealthBIndicators79ls9 Lync $er0er 2013 )reateBKHIB)ollection7ps1 LyncB$er0erB2013BKeyBHealthBIndicators79ls9 +ueries &D"('D 0137t9t Lync ,-$DndpointB0B(e0iceB2010 0117t9t DndpointB1Bsyste%B2010 0117t9t DndpointB2B&elayB2010 0117t9t DndpointB2B5.1B2010 0117t9t DndpointB3B ransportB2010 0117t9t Last'ileB0B+iredB2010 0117t9t 4
Last'ileB1B+irelessB2010 0117t9t .lantB1B"5')UB'ediationB2010 0107t9t .lantB2B'ediationBCate#ayB2010 0137t9t rendB1B"5')UB'ediationB2010 0107t9t rendB2B'ediationBCate#ayB2010 0137t9t rendB3B+iredB2010 0117t9t rendB4B+iredB.2.B2010 0107t9t rendBEB;therB+iredB2010 0127t9t rendBFB;therB+irelessB2010 0107t9t rendBGB5.1B2010 0117t9t rendBHBD9ternalB2010 0107t9t rendBIB+irelessB2010 0117t9t rendB10B+irelessB.2.B2010 0107t9t rendB11B otalB2010 0107t9t Lync ,-$. DndpointB0B(e0ice 0117t9t DndpointB1Bsyste% 0117t9t DndpointB2B&elay 0117t9t DndpointB2B5.1 0117t9t DndpointB3B ransport 0117t9t Last'ileB0B+ired 0117t9t Last'ileB1B+ireless 0117t9t .lantB1B"5')UB'ediation 0107t9t .lantB2B'ediationBCate#ay 0137t9t rendB1B"5')UB'ediation 0107t9t rendB2B'ediationBCate#ay 0137t9t rendB3B+ired 0117t9t rendB4B+iredB.2. 0107t9t rendBEB;therB+ired 0127t9t rendBFB;therB+ireless 0107t9t rendBGB5.1 0117t9t rendBHBD9ternal 0107t9t rendBIB+ireless 0117t9t rendB10B+irelessB.2. 0107t9t rendB11B otal 0107t9t E
Scenario
User calls fro% a hotel +i2Ji connection
"lassi'ication
Un%ana!ed
Lync Server Networking Guide #o users call each other fro% their #ired des*top .)s inside the corporate fire#all User %a*es a .$ 1 call fro% his #ired des*top .) inside the corporate fire#all User :oins a conference fro% her #ired des*top .) inside the corporate fire#all User on +i2Ji calls another user User fro% ho%e :oins a conference 'ana!ed 'ana!ed 'ana!ed Un%ana!ed Un%ana!ed
,% Planning
In e9plorin! topics related to net#or* plannin!, t#o pri%ary questions #ill -e addressed@ Ho# does Lync $er0er affect %y net#or*L Ho# does %y net#or* affect Lync $er0erL
he !oal of this net#or*in! !uide is not to teach you to -eco%e a Lync $er0er e9pert, nor to teach you ho# to -eco%e a net#or*in! e9pert7 &ather, this !uide descri-es areas related to enterprise data net#or*in! that you should consider durin! the predeploy%ent plannin! phase of your Lync $er0er adoption7 "s a *ey area in any net#or*in! plannin! acti0ity related to -and#idth plannin!, #e in0esti!ate the e9ploratory questions that you should -e as*in! your or!ani/ation in order to %odel user -eha0ior7 +e also direct you to the pu-lic -and#idth calculator as a tool a0aila-le for use, and to the default usa!e %odels, defined in the -and#idth calculator, as startin! points7 In addition, #e descri-e ho# your e9istin! en0iron%ent can affect the -eha0ior of Lync $er0er7 Jor e9a%ple, topolo!y choices, %ultiple 'ultiprotocol La-el $#itchin! 3'.L$6 suppliers, or infrastructure such as +"1 opti%i/ation de0ices, particularly if o0erloo*ed durin! the plannin! process, can -eco%e real challen!es as your deploy%ent e0ol0es7 +e also discuss ho# to %a*e use of the 'icrosoft .artner )o%%unity in order to deli0er the Lync $er0er 1et#or* &eadiness assess%ent %ethodolo!y in your en0iron%ent7 his %ethodolo!y quantitati0ely assesses your or!ani/ationKs a-ility to use Lync $er0er -y #al*in! you throu!h the net#or* disco0ery, usa!e %odelin!, traffic si%ulation, and analysis phases, durin! your en!a!e%ent7 1et#or* plannin! for Lync $er0er consists of the follo#in! areas@ 1et#or* assess%ent %ethodolo!y o o o o 1et#or* disco0ery 'odelin!4personas Band#idth esti%ation raffic si%ulation
)all "d%ission )ontrol 3)")6 Auality of D9perience 3AoD6 Auality of $er0ice 3Ao$6 1et#or* port usa!e +i2Ji scenarios ;perations 'iscellaneous plannin! questions +e hi!hly reco%%end a net#or* assess%ent as a first step -efore deployin! Lync $er0er7 " net#or* assess%ent pro0ides you #ith insi!ht into the readiness of your net#or* infrastructure for supportin! an e9cellent user e9perience, #hile usin! Lync $er0er for real2ti%e co%%unications7 ;ur custo%ers often as*, MIs %y net#or* infrastructure ready to support Lync $er0erL= ;ur approach helps to ans#er this critical predeploy%ent question7 he net#or* assess%ent uses a pro0en %ethodolo!y to@ 0iscover your en0iron%ent7 Model your usa!e patterns and usa!e scenarios -y usin! infor%ation collected durin! disco0ery, #ith the help of the Lync Band#idth )alculator7 H
Si/ulate the anticipated Lync $er0er traffic 0olu%es -y usin! real %edia strea%s for a full se0en days7 naly(e the underlyin! net#or* infrastructure perfor%ance characteristics to deter%ine your readiness in deployin! Lync $er0er7 he outco%e of the net#or* assess%ent ans#ers the question, <Is %y net#or* infrastructure ready to support Lync $er0erL= -y pro0idin! a quantitati0e analysis of your net#or* infrastructureKs perfor%ance7
,%$
Network 0iscovery
he o-:ecti0e of net#or* disco0ery is to ascertain, discuss, and docu%ent the current state of your corporate net#or*7 +ith disco0ery, the !oals are to re0eal potential sources of net#or* i%pair%ents, raise a#areness of Lync $er0er traffic flo#s, and offer !uidelines for net#or* de0ices7
,%$%,%$ 1 N !pti/i(ers
+"1 opti%i/ers 3or packet shapers6 are typically used for %iti!atin! issues caused -y hi!h delays or lo# net#or* -and#idth7 +"1 opti%i/ation is a ter% !enerally used for de0ices that e%ploy different techniques to enhance data transfer efficiency across +"1s7 raditionally used opti%i/ation %ethods include cachin!, co%pression, protocol su-stitution, different for%s of -and#idth throttlin!, and for#ard error correction 3JD)67 ItKs critical for Lync $er0er %edia traffic that all +"1 opti%i/ers are -ypassed, and that any outside atte%pt to control Lync $er0er %edia traffic is disa-led7 ItKs also i%portant to note that #eK0e seen +"1 I
opti%i/ation de0ices #ith outdated fir%#are4soft#are cause pac*et loss in one2direction traffic, due to hi!h ).U usa!e7 +hen esta-lishin! a %edia session, Lync $er0er uses $ession (escription .rotocol 3$(.6 for settin! up the initial codec -et#een endpoints7 (urin! the %edia session -et#een endpoints, real2ti%e transport protocol 3& .6 is used for transferrin! the %edia strea%, and real2ti%e transport control protocol 3& ).6 is used for controllin! %edia flo#7 he & ). %onitors & . traffic7 his infor%ation is used, a%on! other thin!s, to ne!otiate possi-le codec chan!es durin! the session7 Lync $er0er includes a -and#idth %ana!e%ent %echanis%8call ad%ission control 3)")68that deter%ines #hether to ena-le audio40ideo sessions, -ased on a0aila-le net#or* capacity7 )") is a-le to reroute call flo#s -y usin! the Internet or the .u-lic $#itched elephone 1et#or* 3.$ 16, if a0aila-le7 In addition, +"1 opti%i/ers can cause net#or* delays -y inspectin!, queuin!, and -ufferin! pac*ets at net#or* in!ress points7
)onsider the scenario #here -oth Lync users are located outside the corporate net#or*7 hey each ha0e their o#n indi0idual 5.1 tunnels, and so Lync $er0er %edia traffic is affected t#ice -y the 5.1 o0erhead7
10
Client VPN S olution User B Internal Lync S ervers External Firewall Edge S erver Pool
he solution is to use a split2tunnel 5.1 #ith Lync $er0er7 In a split2tunnel 5.1 confi!uration, all I. addresses that are used -y the Lync $er0er en0iron%ent are e9cluded, so that traffic to and fro% those addresses is not included in the 5.1 tunnel7 >ou should also chec* the confi!uration for your 5.1 solution a!ainst 0endor docu%entation7
11
Peer8 his traffic flo# uses a site2to2site connection in scenarios #here -oth participants are internal Lync users7 If e9ternal or federated users are in0ol0ed, peer2to2peer connections are routed throu!h the Internet connection7 "on'erencing8 his traffic flo# is created -et#een the net#or*Ks site to a data center7 PSTN8 his traffic flo# initiates fro% a Lync client to the .$ 17 he topolo!y of your corporate net#or* deter%ines ho# Lync $er0er traffic flo#s influence -and#idth require%ents7 he t#o topolo!ies that follo# are e9a%ples of ho# different topolo!ies are affected -y Lync $er0er traffic flo#s7 he follo#in! fi!ure sho#s a corporate net#or* #ith t#o '.L$ carriers and a sin!le interconnection in one !eo!raphy7 D0ery ti%e corporate users open a peer2to2peer %edia session o0er to another '.L$, a net#or* interconnection is used7 here is a potential for net#or* delay or :itter #ith peer2to2 peer traffic7
MPLSA
MPLS B
"orporate Network with Two MPLS "arriers and a Single &nterconnection in !ne Geography
he follo#in! fi!ure sho#s a corporate net#or* #ith a hu-2spo*e %i9ed #ith an '.L$ topolo!y7 Dsti%atin! Lync $er0er -and#idth is difficult -ecause hu- sites handle a lar!e part of traffic for spo*e sites, -ut not all of it7
MPLS
12
,%,
Modeling:Personas
he definition of a persona is the process of analy/in! e9istin! usa!e data, and then usin! this data to calculate the potential load on a ne# syste%7 o fully e9plain the process, #e need to introduce so%e ter%inolo!y that youKll see in the Lync Band#idth )alculator7 Jor details, see MLync 2010 and 2013 Band#idth )alculatorM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN3013I17 Usage scenarios descri-e different #ays that users co%%unicate -y usin! Lync7 Jor instance, a peer2to2 peer audio call or a 0ideo conference are e9a%ples of usa!e scenarios7 " usage model represents a collection of data associated #ith specific users, #hich can help you custo%i/e and adapt a ne# syste% to your usersK specific needs7 Jor e9a%ple, the usa!e %odel that is associated #ith pu-lic s#itched telephone net#or* 3.$ 16 callin! defines M'ediu%M users, or users in the %ediu% usa!e cate!ory, as ha0in! a %a9i%u% of 10 percent concurrent calls to .$ 1 at your or!ani/ationKs -usiest ti%e7
13
" persona is a lo!ical !roupin! of users -ased on the -eha0ior that they e9hi-it #hen usin! a specific functionality7 Jor e9a%ple, a !roup of users %ay ha0e M'ediu%M .$ 1 callin! patterns, -ut <Hi!h= 0ideo conference usa!e7 "nother !roup of users %ay ha0e no 0ideo usa!e scenarios at all7 In the Lync $er0er Band#idth )alculator, you can define up to 10 personas for your or!ani/ation7 In practice, ho#e0er, #e typically see four to fi0e unique personas7 o -e!in the process of usa!e %odelin!, you should as* a nu%-er of !eneral questions@ Ho# %any site locations are thereL Ho# %any users are at each site locationL Ho# %any users #ill al#ays -e re%oteL +hat are the future !ro#th esti%atesL +hat sort of +"1 technolo!y4topolo!y is deployedL +hat is your o0erall +"1 lin* speedL +hat is the %a9i%u%4current a0aila-le -and#idth for Lync traffic per +"1 lin*L Usin! predefined usa!e %odels is a !ood startin! point, and the Lync Band#idth )alculator pro0ides useful -aselines, -ased on data fro% real custo%ers7 he challen!e #ith a co%%on usa!e %odel is that no t#o co%panies 3or users6 use co%%unications the sa%e #ay7 'odifyin! your usa!e %odels and personas -ased on real usa!e data fro% e9istin! syste%s is a critical step to#ards helpin! to ensure the accuracy of your plannin! acti0ities7 " *ey in!redient in definin! personas is to re0ie# the e9istin! pri0ate -ranch e9chan!es 3.BOs6 or real2 ti%e co%%unications syste% infrastructure capacity7 his data helps to 0alidate any personas and usa!e %odels that you create7 It also helps to indicate any future capacity plannin! require%ents for Lync ser0ers, and other ad:unct syste%s required7 D0aluate the follo#in! infor%ation, if a0aila-le, for usa!e %odelin!@ 1u%-er of .BOs i%ple%ented7 1u%-er of pu-lic s#itched telephone net#or* 3.$ 16 channels pro0isioned7 1u%-er of any intersite tie connections -et#een .BOs, or #hether intersite calls are %ade throu!h the .$ 17 1u%-er of users at each location7 )all data records 3)(&s6 for .$ 1 traffic usa!e7 Usa!e statistics, such as the %a9i%u% nu%-er of concurrent calls durin! the -usy hour@ o o otal nu%-er and usa!e of .$ 1 channels at each site run* usa!e for intersite connections
he collected infor%ation helps you 0alidate the %odels that youKll use for esti%atin! t#o of the three %a:or call flo#s8concurrent .$ 1 calls and peer2to2peer calls7
14
"dditionally, if an e9istin! dial2in conferencin! pro0ider pro0ides audio2conferencin! ser0ices, you can pro-a-ly access detailed usa!e reports used as part of the -illin! process7 his usa!e data is 0alua-le as a tool to help you ad:ust personas and usa!e %odels for actual historical usa!e statistics re!ardin! !eneral conferencin! -eha0ior7 )ollect the follo#in! infor%ation@ )urrent location of the conference -rid!e in use7 "lthou!h this is not directly rele0ant for the usa!e %odelin!, youKll need to *no# #hether the conferencin! %edia flo# patterns #ill -e chan!in! on the net#or*7 Because conference traffic 0olu%es are si!nificant, chan!in! the location of the conference -rid!e can affect net#or* plannin! and desi!n7 'a9i%u% nu%-er of conferencin! ports used7 .ea* conferencin! usa!e in the last 12 %onths7 "0era!e %a9i%u% nu%-er of concurrent conferences, includin! the nu%-er of participants #hen that %a9i%u% occurs7 "0era!e %eetin! si/e7 "0era!e %eetin! duration7 otal %inutes of conferencin! used per day and per %onth7 If a0aila-le, ho# %any internal users 0ersus e9ternal users :oined the conference -rid!e7 >ouKll need si%ilar infor%ation for any 0ideo conferencin! syste%s in the infrastructure7 .ay specific attention to the des*top 0ideo endpoints and codecs in use, and -e sure to as* these questions@ +hat is the %a9i%u% 0ideo resolution for e9ecuti0e 0ideo conferences@ H( or 5C"L +hat is the -ase 0ideo quality to -e used@ 5C" or )IJL (o you plan to inte!rate #ith LyncL +hen definin! personas, the fe#er assu%ptions that you %a*e a-out the potential usa!e of the ne# syste%, the %ore accurate your -and#idth and capacity calculations #ill -e7 he default persona definition should assu%e that users #ill use all Lync $er0er %odalities #ith a 'ediu% usa!e %odel7 Usin! this approach helps to ensure that you can turn off %odalities in your %odelin! to reduce traffic 0olu%es, rather than -ein! surprised -y an o%ission later in the process7 +e pre0iously descri-ed a persona as a lo!ical !roup of users #ho -eha0e in a si%ilar %anner #hen usin! a specific functionality7 he Lync Band#idth )alculator includes usa!e %odels for each of the follo#in! usa!e scenarios@ 'a9i%u% concurrency of xP of the user -ase usin! instant %essa!in! and presence 'a9i%u% concurrency of xP of the user -ase usin! peer2to2peer audio 'a9i%u% concurrency of xP of the user -ase usin! peer2to2peer 0ideo 'a9i%u% concurrency of xP of the user -ase usin! audio conferencin! 'a9i%u% concurrency of xP of the user -ase usin! 0ideo conferencin! 'a9i%u% concurrency of xP of the user -ase usin! des*top sharin! 'a9i%u% concurrency of xP of the user -ase usin! .$ 1 audio 'a9i%u% concurrency of xP of the user -ase #or*in! re%otely his usa!e %odel can then -e ad:usted, -ased on ho# you anticipate your users -eha0in!, and on historical usa!e statistics fro% e9istin! syste%s7
1E
>ou can use o0erall usa!e %odelin! and user personas for future capacity plannin! in Lync $er0er and other infrastructures7 "fter youKre in production, the data on syste% usa!e -eco%es a0aila-le throu!h the Lync $er0er 'onitorin! and &eportin! feature7 >ou can then use this data to 0alidate the accuracy of your ori!inal personas and -and#idth esti%ations, and to predict future require%ents7
,%.
;andwidth #sti/ation
+hat is the potential i%pact of Lync $er0er on your net#or*L Band#idth esti%ation is the *ey consideration #hen deployin! Lync $er0er7 "ctually, net#or* esti%ation #ould -e a %ore apt ter%, -ecause the co%%unication strea%s #ithin Lync $er0er rely %ore on latency and pac*et loss than they do on ra# a0aila-le net#or* -and#idth7 o understand the role of net#or* esti%ation, you %ust also reco!ni/e the 0arious co%%unication flo#s #ithin Lync $er0er7 )oupled #ith the user personas, you can then use this infor%ation #ithin the Lync Band#idth )alculator to understand, per %odality, the 0olu%e of traffic that usin! Lync $er0er #ill li*ely !enerate7 he Lync Band#idth )alculator is continuously updated to reflect feed-ac* fro% internal testin! and also fro% actual custo%er2deployed Lync pro:ects7 herefore, the latest 0ersion of this spreadsheet can -e considered the %ost accurate 0ie# of net#or* -and#idth usa!e7 Jor details, see MLync 2010 and 2013 Band#idth )alculatorM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN3013I17 Jor a !raphical o0er0ie# of all the protocols in use #ithin Lync $er0er, see@ M'icrosoft Lync $er0er 2010 .rotocol +or*loads .osterM at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN2II3F07 M'icrosoft Lync $er0er 2013 .rotocol +or*loads .osterM at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN32GII47
Screen Si(e
12H09H00 14409I00 1FH0910E0 1I2091200
cceptable
3H4 K-ps E12 K-ps GFH K-ps 1 '-ps
!pti/al
17E '-ps 2 '-ps 27GE '-ps 37E '-ps
Note Sharing in the Microsoft PowerPoint presentation graphics program is accomplished by using a different method for desktop sharing !lder versions of Lync use a built"in PowerPoint file viewer# or# for web presentations# the file is converted into a dynamic $%ML stream that re&uires the Microsoft Silverlight browser plug"in %o improve this experience for Lync Server '()*# an !ffice +eb ,pplication Server handles PowerPoint presentations by using dynamic $%ML and -avaScript
Modality
I', presence, and si!nalin! 5oice )onference 0oice 5ideo 2 s%all 5ideo 2 %ediu% 5ideo 2 hi!h
0escription
1on%edia ele%ents (efault N & "udio +ide-and (efault N C7G22 Uses H72F4 at 32091H0 Uses H72F4 at F4094H0 Uses H72F4 at 12H0910H0
Ma5i/u/ bandwidth
2 K-ps F2 K-ps 1007F K-ps 2E0 K-ps H00 K-ps 4 '-ps
Typical bandwidth
17F K-ps 3I K-ps 4F71 K-ps 200 K-ps F40 K-ps 372 '-ps
Ceneral notes@
1G
"ll fi!ures are -ased around the industry standard of 20%s pac*eti/ation for U) applications, #hich is E0 pac*ets per seconds7 Band#idth fi!ures include the protocol o0erheads for I., U(., & ., and $& .7 his is #hy the 'icrosoft -and#idth fi!ures for standard codecs are different fro% those quoted -y other 5oI. suppliers, #ho only state the ra# codec fi!ure, and not the entire pac*et o0erhead7 Jor 'icrosoft, this fi!ure includes encryptin! all co%%unications7 Ji!ures in the follo#in! ta-le for audio -and#idths do not include a Jor#ard Drror )orrection 3JD)6 o0erhead7 JD) is a %iti!ation technique that is ena-led #hen the net#or* suffers unusually hi!h pac*et loss7 he assu%ption is that, for plannin!, the net#or* ad%inistrator #ill esti%ate traffic use #ithout %iti!ations7 Jor 0ideo, the default codec is the H72F44'.DC24 .art 10 "d0anced 5ideo )odin! standard, coupled #ith its scala-le 0ideo codin! e9tensions for te%poral scala-ility7 o %aintain interopera-ility #ith Lync 2010 or ;ffice )o%%unicator 200G &2 clients, the & 5ideo codec is still used for peer2to2peer calls -et#een Lync $er0er 2013 and le!acy clients7 In conference sessions #ith -oth Lync $er0er 2013 and le!acy clients, the Lync $er0er 2013 endpoint %ay encode the 0ideo -y usin! -oth 0ideo codecs, and %ay send the H72F4 -it strea% to the Lync $er0er 2013, and send the & 5ideo -it strea% to Lync 2010 or to ;ffice )o%%unicator 200G &2 clients7 (efault aspect ratio for Lync $er0er 2013 has -een chan!ed to 1F@I7 he 4@3 aspect ratio is still supported for #e-ca%s that donKt allo# capture in 1F@I aspect ratio7
udio codec
& "udio +ide-and & "udio 1arro#-and C7G22 C7G22 $tereo C7G11 $iren
Scenarios
.eer2to2peer, default codec .eer2to2peer, .$ 1 (efault conferencin! codec .eer2to2peer, )onferencin! .$ 1 )onferencin!
Band#idth includes I. header, U(. header, & . header, and $& . headers7 he stereo 0ersion of the C7G22 codec is used -y syste%s that are -ased on the Lync $er0er 2013 'eetin! &oo% Ddition, #hich ena-les stereo %icrophone capture so that listeners to can %ore easily distin!uish -et#een %ultiple tal*ers in the %eetin! roo%7
applyin! these %ini%u% 0ideo payload -it rates7 Jor 0ideo scenes #ith little or no user %o0e%ent, the actual -it rate %ay also te%porarily fall -elo# the %ini%u% -it rate7 Typical bit rate8Used #ith %ore than 100 users at site, as a %ore accurate #ay of %odellin! -and#idth than #ith usin! the %a9i%u% 0ideo -it rates7
2ideo codec
H72F4 H72F44& 5ideo H72F4 H72F44& 5ideo H72F4 H72F4 H72F44& 5ideo H72F4 H72F44& 5ideo H72F4 H72F4
5ideo for#ard error correction 3JD)6 is included in the 0ideo payload -it rate7 Dndpoints do not strea% audio or 0ideo pac*ets continuously7 (ependin! on the scenario, there are different le0els of strea% acti0ity that indicate ho# often pac*ets are sent for a strea%7 he acti0ity le0el of a strea% depends on the %edia and the scenario, and does not depend on the codec that is used7 In a peer2to2peer scenario@ Dndpoints send audio strea%s only #hen the users spea*7 Both participants recei0e audio strea%s7 If 0ideo is used, -oth endpoints send and recei0e 0ideo strea%s durin! the entire call7 Jor 0ideo scenes #ith little or no %o0e%ent, the actual -it rate %ay te%porarily -e 0ery lo#, -ecause the 0ideo codec s*ips encodin! re!ions of the 0ideo #ith no chan!es7 In a conferencin! scenario@ Dndpoints send audio strea%s only #hen the users spea*7 "ll participants recei0e audio strea%s7 If 0ideo is used, all participants can recei0e up to fi0e recei0e 0ideo strea%s and one panora%ic 3for e9a%ple, aspect ratio 20@36 0ideo strea%7 By default, the fi0e recei0e 0ideo strea%s are -ased on acti0e spea*er history, -ut users can also %anually select the participants fro% #hich they #ant to recei0e a 0ideo strea%7
1I
he typical strea% -and#idth for panora%ic 0ideo is -ased on currently a0aila-le de0ices that strea% only up to IF09144 panora%ic 0ideo7 "fter de0ices #ith 1I207972HH panora%ic 0ideo -eco%e a0aila-le, the typical strea% -and#idth is e9pected to increase7
Lync Server ,-$. "on'erence Gallery 2iew with 6ive Si/ultaneous 2ideo Strea/s
he fi0e lar!er #indo#s sho# the li0e 0ideo feeds7 he %ediu% #indo# is a 0ideo pre0ie# of the user, and the pictures underneath are static i%a!es of other %eetin! attendees that can -e selected to -e one of the fi0e 0ideo feeds7
2.3.2.3.1
here is a 0alue in Lync $er0er called the otal&ecei0e5ideoBit&ateK-, #hich, -y default, is set to E0,000K-4s 3or F72E'B4s67 +e reco%%end lo#erin! this 0alue to H,000K-4s, #hich essentially li%its the 0ideo traffic to a sin!le H( 0ideo strea%7 Jor details, see M)onfi!urin! 5ideo D9a%ple $cenariosM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3F27
20
,%.%,%7
he follo#in! ta-le sho#s the net#or* -and#idth nu%-ers that indicate audio capacity plannin! for a pu-lic s#itched telephone net#or* 3.$ 167
;andwidth 2alues 'or udio "apacity Planning 'or PSTN
Media codec
C7G11 & "udio 1arro#-and
he net#or* -and#idth nu%-ers in all precedin! ta-les represent one2#ay traffic only, and include E K-ps for & ). traffic o0erhead for each strea%7 Jor all -and#idth ta-les, the %a9i%u% -and#idth fi!ures should !enerally -e used in net#or* plannin!7 Lync $er0er depends entirely on the underlyin! net#or* for the user2percei0ed quality of its co%%unications, particularly 0oice7 In addition, sites #ith fe#er than 100 users should al#ays use the %a9i%u% fi!ures -ecause, statistically, the net#or* pea*s for Lync $er0er occur %ore frequently7 Jor sites #ith %ore than 100 users, the typical fi!ures can -e used7
,%7
Tra''ic Si/ulation
Understandin! ho# your net#or* perfor%s under real2#orld traffic patterns is essential7 >our si%ulation testin! should use fi0e -aseline net#or* characteristics that #ill quantify your net#or*Ks perfor%ance under the anticipated traffic 0olu%e that your users #ill !enerate -y usin! Lync $er0er7 >ouK0e already used the Lync Band#idth )alculator to esti%ate traffic 0olu%es -ased on usa!e %odels, and to create personas that you %odified -y usin! real2#orld data collected in your disco0ery con0ersations7 1o# youKre ready to !enerate the 0olu%e of traffic in those si!nature %edia flo# scenarios8peer, conference, and .$ 17 " si%ulation tool %ust -e a-le to !enerate traffic 3real & .4& ). traffic6, collect, and then !raph the 0ariation in the fi0e -aseline net#or* characteristics for each call@ ;ne2#ay net#or* delay "0era!e :itter 21
'a9i%u% :itter "0era!e pac*et loss Burst pac*et loss 3pea* consecuti0e pac*ets lost6 +hen si%ulatin! traffic, %a*e sure that you ha0e@ 'odeled the a%ount of -and#idth required7 Identified sites for Lync $er0er traffic si%ulation7 )ollected Lync $er0er real2ti%e scenarios to -e si%ulated7
22
he ne9t consideration@ #hat is the -est approach for properly assessin! and si%ulatin! Lync $er0er traffic, alon! #ith its potential i%pact in a !i0en net#or* en0iron%entL o deter%ine this, thin* a-out ho# the anticipated Lync $er0er traffic should -e si%ulated7 Be sure to include the e0aluation and sa%plin! periods required for representin! ho# the net#or* is a-le to respond and perfor%7 "s a -est practice, Lync $er0er traffic si%ulation scenarios for a specific site should include@ &unnin! for a %ini%u% of one #ee*7 &unnin! 24 hours a day7 "s an additional part of this reco%%ended test profile, consider factorin! in the %a9i%u% anticipated sessions, follo#in! the -and#idth calculator si/in! e9a%ple in the Matri5 0istribution ta-, as follo#s@
" #ell2desi!ned traffic si%ulation sa%plin! scenario ena-les you to@ (eter%ine if any con!estion patterns de0elop #ithin the net#or* after Lync $er0er real2ti%e ser0ices are introduced7 (eter%ine if the Ao$ policies in place are effecti0e and -ein! correctly applied7 Cau!e the net#or* response durin! certain periods of con!estion 3for e9a%ple, dropped pac*ets, delay and :itter effects, and so on67
In practice, choose up to 20 sites to test, e0enly distri-uted -et#een !eo!raphic re!ions7 Be sure to choose a sa%ple fro% each cate!ory in each re!ion7 Jor e9a%ple, letKs assu%e that your or!ani/ation spans three re!ions 3"%ericas, Durope, the 'iddle Dast and "frica 3D'D"6 and "sia .acific 3".")667 +eKll also assu%e that your enterprise has si9 cate!ories of sites7 >ou #ould end up testin! #ith 1H re%ote locations -ecause youKd !et a sa%plin! of 3 sites fro% each cate!ory split -et#een the re!ions7 Jinally, -e sure to ta*e a loo* at locations4re!ions #ith pre0ious connecti0ity issues, or #here users ha0e raised concerns a-out %edia quality issues7
)onference 3traffic should -e -et#een the re%ote pro-e and the data center pro-e6 o o "udio traffic 0olu%e 5ideo traffic 0olu%e
.$ 1 3traffic should -e -et#een the re%ote pro-e and the data center pro-e6 o "udio traffic 0olu%e
Jor details, see MLync 2010 and 2013 Band#idth )alculatorM at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN3013I17 Cenerally, #e donKt reco%%end si%ulatin! app2sharin! traffic -ecause itKs ).2-ased, typically un%ar*ed for Ao$, and characteri/ed -y frequent -ursts7 he theoretical %odelin! acti0ities youK0e already co%pleted, co%-ined #ith your historical %etrics, #ill help you deter%ine any potential ris*s7 If you feel stron!ly a-out si%ulatin! app2sharin! traffic, #e reco%%end usin! a ).2-ased traffic si%ulation pac*a!e7
o o o o o
;ne2#ay net#or* delay "0era!e :itter 'a9i%u% :itter "0era!e pac*et loss Burst pac*et loss 3pea* consecuti0e pac*ets lost6
"dditional features in 0arious tools include the a-ility to !enerate auto%ated reports -ased on the collection data, the a-ility to schedule tests, and the a-ility to fla! #hen Ao$ %ar*in!s are -ein! stripped7
,%8
)all ad%ission control 3)")6 is an application layer %echanis% that deter%ines #hether there is sufficient net#or* -and#idth to pro0ide a hi!h2quality e9perience for users #hen they place an audio call or a 0ideo call throu!h the net#or*7 )") is solely confi!ured #ithin Lync $er0er and does not *no# enou!h a-out the underlyin! net#or* infrastructure to reser0e -and#idth, or to help ensure that -and#idth is actually a0aila-le outside of its o#n confi!ured 0alues7 Ho#e0er, )") can ena-le you, as a syste% ad%inistrator, to define potential net#or* capacity li%itations -et#een sites7 "dditionally, fro% a user perspecti0e, )") pro0ides a -etter e9perience -y re:ectin! or reroutin! a call and 0isually indicatin! the reason, rather than allo#in! a call to !o ahead #ith poor quality on the defined net#or* path7 In Lync $er0er, call ad%ission control can -e confi!ured to define the %a9i%u% concurrent -and#idth to -e used for real2ti%e audio and 0ideo %odalities7 )") can also -e confi!ured to define the %a9i%u% -and#idth for a sin!le call of each %odality7 )") does not li%it the -and#idth of other traffic7 It canKt pre0ent other data traffic, such as a lar!e file transfer or %usic strea%in!, fro% usin! all the net#or* -and#idth7 )") also canKt -e used to define the codec used -y a call7 Ho#e0er, )") can -e confi!ured to li%it the option of hi!her -and#idth for the call7 2E
"s an additional %easure to protect the necessary -and#idth, deploy Auality of $er0ice 3Ao$67 "s a -est practice confi!uration, -e sure to coordinate )") -and#idth policies #ith Ao$ settin!s deployed to the physical net#or*7 )all ad%ission control policies can -e defined -y usin! either the Lync $er0er )ontrol .anel or the Lync 'ana!e%ent $hell7 he Lync $er0er 'ana!e%ent $hell ena-les scriptin! of the confi!urations, #hich #e reco%%end #ith %ultiple site specifications7 'onitorin! the usa!e of )") is a0aila-le throu!h call detail recordin! 3)(&6 data and Auality of D9perience 3AoD6 data in the 'onitorin! reports7 Be sure to use %onitorin! functions to help ensure that )") polices are neither underpro0isioned nor o0erpro0isioned for specific sites7 )onfi!urin! )") alone does not pro0ide opti%al -and#idth usa!e for site2to2site lin*sQ it :ust protects real ti%e traffic fro% itself7 o confi!ure )") #ithin Lync $er0er, it is 0ery i%portant to identify the I. su-nets that are assi!ned to each site7 he I. su-nets specified durin! net#or* confi!uration on the ser0er %ust %atch the for%at pro0ided -y client co%puters to -e usa-le for the %edia -ypass feature of Lync $er0er7 In other #ords, the I. su-nets confi!ured in )") should %atch the su-nets pro0ided -y (yna%ic Host )onfi!uration .rotocol 3(H).6 ser0ers or statically assi!ned to clients, rather than created for su%%ary purposes7 If the or!ani/ation pro0ides %edia throu!h a 0irtual pri0ate net#or* 35.16 connection, then the %edia strea% and the si!nalin! strea% !o throu!h the 5.1, or -oth are routed throu!h the Internet7 Ho#e0er, call ad%ission control is not enforced for re%ote users #here the net#or* traffic flo#s throu!h the Internet7 Because the %edia traffic is tra0ersin! the Internet, #hich is not %ana!ed -y Lync $er0er, )") cannot -e applied7 )") chec*s are perfor%ed on the portion of the call le! that flo#s throu!h the or!ani/ationKs net#or*7
,%>
Auality of $er0ice 3Ao$6 is the %echanis% that ena-les classification, %ar*in!, and prioriti/ation of traffic on the net#or*7 Ao$ helps to !uarantee the -and#idth a0aila-le for confi!ured traffic flo#s7 "s a -est practice, youKll need to coordinate )") -and#idth policies #ith Ao$ settin!s deployed to the physical net#or*7
2F
Ao$ classification enco%passes %any different types of net#or* traffic, #ith port2-ased and protocol2 -ased traffic as the %ost co%%on classification %ethods7 >ou can also confi!ure your net#or* infrastructure to trust ($). %ar*in!s on net#or* traffic that it recei0es fro% the endpoint7 Lync $er0er 2013 ena-les -oth defined port ran!es and ($). %ar*in!7 o help ensure the -est user e9perience, you should confi!ure Lync $er0er 2013 to %ar* all traffic for trans%ission onto the net#or*7 " !ood startin! point #ould -e to confi!ure all 0oice real2ti%e traffic to use (iff$er0er )ode .oint 4F, #ith 0ideo confi!ured for 347 )onfi!ure $I. $i!nallin! traffic to use 247 'ar* other %odalities accordin! to -usiness require%ents7 Because these are only reco%%endations, %a*e sure that youKre usin! the %ar*in!s that ha0e -een a!reed upon as part of your enterpriseKs e9istin! Ao$ strate!y7 .ay attention to the Ao$ policies i%ple%ented on e9istin! s#itch infrastructures to help ensure that client ($). %ar*in!s are not stripped, or reset7 )onfi!ure Ao$ end2to2end, and 0erify that the Ao$ %ar*in!s in place throu!hout the net#or* are le!iti%ate to a0oid any confi!uration issues on the s#itch infrastructure7 ;ther#ise, this %is%atch could cause re%ar*in! of pac*ets to a less than opti%al 0alue, #hich could cause the% to %iss priority queuin! confi!ured on the net#or*7
,%?
+hen usin! net#or* ports, -e sure that youK0e co%pleted the follo#in! plannin! require%ents@ )onfi!urin! %anual port scenarios7 Auality of $er0ice 3Ao$67 'ana!in! -and#idth7 .lace%ent of internal fire#alls7 'ini%u% nu%-er of ports for #or*loads at scale7 Dffect of %anual port ran!e assi!n%ent on $& . co%%unications7 )onfi!urin! %anual ports for the Lync client7 )onfi!urin! port ran!es for your )onferencin! $er0er, "pplication $er0er, and 'ediation $er0er7 5erifyin! %anual port confi!uration on the client side7 5erifyin! a unified co%%unications 3U)6 port ran!e that is ena-led for Lync clients7 5erifyin! %anual port confi!uration on the ser0er side7 .rioriti/in! traffic for real2ti%e co%%unications7
Port Start
E0020 EH000 42000 42020
Note /y configuring a minimum of '( ports per modality type# you enable the Lync client to evaluate the candidate transport addresses that it can use to stream audio# video# and desktop sharing to another client# as described in the 0nternet 1ngineering %ask 2orce 301%24 0nteractive 5onnectivity 1stablishment 30514 protocol at http677go microsoft com7fwlink7p78Link09:'';<=> %he candidate addresses include a local address and an address on the ,7? ,ccess 1dge Server , minimum of '( ports per modality type also accommodates any escalations from a peer"to"peer call to a conference
"nother point to consider #hen definin! %anual Lync $er0er %odality port confi!urations@ a ran!e of ports assi!ned to client ports can -e different fro% the ran!e of ports confi!ured on Lync $er0er7 Jor e9a%ple, 2H
in ter%s of the precedin! ta-le, you could ha0e Lync clients confi!ured to use ports 42000 throu!h 4201I 3for application sharin! scenarios67 ;r you could ha0e Lync $er0er confi!ured, -y default, to the follo#in! set of ports instead@ 40H03 throu!h 4I1E1 3for application sharin! scenarios67 he ran!e of client ports assi!ned does not need to represent a su-set of the ports used -y Lync $er0er itself7 he %ain difference is that Lync $er0er needs a -roader ran!e or ports a0aila-le to -est support the ran!e of clients required at scale7
Note +e recommend that you make your client port ranges a subset of your server port ranges
o assi!n the port ran!es sho#n in the precedin! ta-le to your !lo-al collection of conferencin! confi!uration settin!s, use the follo#in! Lync $er0er 'ana!e%ent $hell c%dlet@ Set-CsConferencingConfiguration -Identity global -ClientAudioPort 50020 -ClientAudioPortRange 20 -ClientVideoPort 58000 -ClientVideoPortRange 20 -ClientAppSharingPort 2000 -ClientAppSharingPortRange 20 Client!ile"ransferPort 2020 -Client!ile"ransferPortRange 20
Set-CsConferencingConfiguration -Identity &site'CentralSite(& -Client#ediaPortRange$nabled %"rue By default, if no %anual %edia port ran!e 3throu!h conference confi!uration settin!s6 has -een defined, define the follo#in! property 0alues@
Media Port <ange Property 2alue 0e'initions )lient'edia.ort&an!eDna-led )lient"udio.ort )lient"udio.ort&an!e )lient5ideo.ort Jalse E3E0 40 E3E0
2I
Lync Server Networking Guide )lient5ideo.ort&an!e )lient"pp$harin!.ort )lient"pp$harin!.ort&an!e )lientJile ransfer.ort )lient ransfer.ort&an!e 40 E3E0 40 E3E0 40
Jro% the pre0ious results, the follo#in! property set is confi!ured as Jalse -y default@ Client#ediaPortRange$nabled +hen this property is set to Jalse, Lync clients can use any ran!e of User (ata!ra% .rotocol 3U(.6 or ). ports a0aila-le fro% a ran!e of 1024 throu!h FEE3E #hen esta-lishin! Lync %edia co%%unications7
Property
"udio.ort$tart "udio.ort)ount 5ideo.ort$tart 5ideo.ort)ount "pplication$harin!.ort$tart "pplication$harin!.ort)ount
"on'erencing Server
4I1E2 H34H EGE01 H034 4I1E2 1F3H3
pplication Server
4I1E2 H34H 22 22 22 22
Mediation Server
4I1E2 H34H 22 22 22 22
30
"s the precedin! ta-le sho#s, for each %odality listed8audio, 0ideo, and application sharin!8t#o separate property 0alues are assi!ned@ the port start and the port count7 he port start 0alue indicates the first port fro% the ran!e assi!ned that should -e used for that specific %odality7 Jor e9a%ple, #hen you are usin! an audio port co%%unication scenario, if the defined audio port start is equal to E0,000, this %eans that the first port that is used for audio traffic #ill -e port E0,0007 If the audio port count is set to 20, this %eans that only 20 ports #ill -e allocated as audio call scenarios7
Note /ecause ports from an assigned range are used for a specific modality# the range of ports used for a specific modality scenario will be contiguous 2or example# >(#(((# >(#(() through >(#()< indicates up to '( continuous audio sessions that the Lync client will be able to participate in and support
+hen confi!urin! %anual port ran!es for Lync $er0er roles, %a*e sure that@ "udio port settin!s are identical across your )onferencin!, "pplication, and 'ediation $er0ers7 .ort ran!es assi!ned per %odality do not o0erlap7 Jor e9a%ple, in reference to the precedin! ta-le, port ran!es assi!ned are identical across all ser0er types7 "dditionally, fro% the default confi!uration@ he startin! audio port is set to port 4I,1E2 for each ser0er type, and the total nu%-er of ports reser0ed for audio in each ser0er is also an identical nu%-er@ H,34H7 he ports set aside for application sharin! start at port 4I, 1E27 o pre0ent port ran!es fro% o0erlappin!, you can confi!ure application sharin! to start at port 40,H03 and still ha0e a port count of H,34H ports assi!ned7 "s a result, Lync ser0ers #ill use ports 40,H03 throu!h port 4I,1E1 #ith no o0erlap in the ran!e of ports assi!ned to audio scenarios, and #ith audio port co%%unications startin! on port 4I,1E27 o %odify the port 0alues for application sharin! on a sin!le )onferencin! $er0er, run a Lync $er0er 'ana!e%ent $hell c%dlet si%ilar to this@ Set-CsConferenceSer*er -Identity ConferencingSer*er'ste(-ls-00(/contoso/co0 -AppSharingPortStart 0801 -AppSharingPortCount 81 8 If you #ant to %a*e these chan!es on all your )onferencin! $er0ers, run this c%dlet instead@ )et-CsSer*ice -ConferencingSer*er + !or$ach-,b-ect 2Set-CsConferencingSer*er -Identity %3/Identity -AppSharingPortStart 0801 -AppSharingPortCount 81 84 "fter chan!in! port settin!s, stop and then restart each ser0ice that is affected -y the chan!es7 It is not %andatory that your )onferencin!, "pplication, and 'ediation $er0ers share the sa%e port ran!e7 he only require%ent is that you set aside unique port ran!es on all your ser0ers7 Ho#e0er, ad%inistration is typically easier if you use the sa%e set of ports on all your ser0ers7
Packet Type
"pplication sharin! "udio 5ideo
Starting Port
40H03 4I1E2 EGE01
31
o confi!ure an Dd!e $er0er to use these ran!e of port 0alues per %odality as sho#n in the precedin! ta-le, run the follo#in! c%dlet in Lync $er0er 'ana!e%ent $hell@ Set-Cs$dgeSer*er -Identity $dgeSer*er'st(-edge-00(/contoso/co0 -#ediaCo00unicationPortStart 0801 -#ediaCo00unicationPortCount 2 510 If itKs required to si%ultaneously confi!ure all the Dd!e $er0ers in your or!ani/ation, you can run the follo#in! Lync $er0er 'ana!e%ent $hell c%dlet 3this is an e9a%ple6@ )et-CsSer*ice -$dgeSer*er + !or$ach-,b-ect 2Set-Cs$dgeSer*er -Identity %3/Identity -#ediaCo00unicationPortStart 0801 -#ediaCo00unicationPortCount 2 5104 "fter you set %edia port ran!es, you can 0erify the current port settin!s for your Dd!e $er0ers -y runnin! the follo#in! Lync $er0er 'ana!e%ent $hell c%dlet@ )et-CsSer*ice -$dgeSer*er + Select-,b-ect Identity. #ediaCo00unicationPortStart. #ediaCo00unicationPortCount
2.1.1;
Jirst, open the Lync2Ucc"pi207Ucc"pilo! file in either 1otepad or $nooper7 3$nooper is a lo!20ie#in! utility7 Jor details, see M'icrosoft Lync $er0er 2013 (e-u!!in! oolsM at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN3013I376 $earch for the indicated settin!s 3as illustrated in this e9a%ple6 to help ensure that youK0e set the appropriate port ran!es per %odality, as part of the client lo!in and in2-and policy pro0ision process7
.orts E0,040 thru E0,0EI U "ssi!ned to application sharin! scenarios@ o o Suc'in"pp$harin!.ortT8--7-S4uc'in"pp$harin!.ortT Suc'a9"pp$harin!.ortT8--8@S4uc'a9"pp$harin!.ortT
.orts E0,040 thru E0,0EI U "ssi!ned to file transfer scenarios@ o o Suc'inJile ransfer.ortT8--7-S4uc'inJile ransfer.ortT Suc'a9Jile ransfer.ortT8--8@S4uc'a9Jile ransfer.ortT
2.1.12
he ne9t step, fro% a ser0er perspecti0e, is to %a*e sure that the appropriate port nu%-er and %edia ran!e per %odality are confi!ured, -ased on runnin! the follo#in! +indo#s .o#er$hell c%dlets, and dependin! on the Lync $er0er 2013 role type@ Lync $er0er 2013 "pplication $er0er@ )et-CsSer*ice -ApplicationSer*er + Select-,b-ect Identity. AudioPortStart. AudioPortCount Lync $er0er 2013 )onferencin! $er0er@ )et-CsSer*ice -ConferencingSer*er + Select-,b-ect Identity. AudioPortStart. AudioPortCount. VideoPortStart. VideoPortCount. AppSharingPortStart. AppSharingPortCount Lync $er0er 2013 'ediation $er0er@ )et-CsSer*ice -#ediationSer*er + Select-,b-ect Identity. AudioPortStart. AudioPortCount Lync $er0er 2013 Dd!e $er0er@ )et-CsSer*ice -$dgeSer*er + Select-,b-ect Identity. #ediaCo00unicationPortStart. #ediaCo00unicationPortCount
2.1.13
By default, #hene0er the follo#in! co%%unication scenarios are initiated, the Lync client atte%pts to esta-lish real2ti%e co%%unications 3& )6 throu!h the follo#in! lo!ic@ If no %edia port ran!e confi!uration is ena-led 3default confi!uration6@ o o o Use a U(. dyna%ic ran!e of ports fro% 10242FEE3E Use a ). dyna%ic ran!e of ports fro% 10242FEE3E ). 443
o o o
Use a U(. dyna%ic ran!e of ports fro% 10242FEE3E Use a ). dyna%ic ran!e of ports fro% 10242FEE3E ). 443
Note ,n escalation of a peer"to"peer call to a conference triggers a temporary doubling of the ports in use
o su%%ari/e the pre0ious t#o scenarios@ By default, the client atte%pts to esta-lish a set of U(. ports for %edia co%%unications7 If connecti0ity throu!h U(. is not possi-le, the client atte%pts to esta-lish co%%unication throu!h a set of ). ports7 If neither U(. nor ). co%%unications are possi-le throu!h a set of allocated ports, the client #ill retreat to :ust ). 443, as a less opti%al scenario7
,%A
1i96i Scenarios
Lync $er0er 2013 is the only 0ersion that has -een fully tested in +i2Ji en0iron%ents, and therefore is the only 0ersion that is fully supported for +i2Ji7 his does not %ean that older 0ersions #ill not #or*, -ut that Lync $er0er 2013 is the only released 0ersion that has -een fully tested7
2.7.1 #ack*roun
he nu%-er of de0ices used -y *no#led!e #or*ers is !ro#in!7 In the past, a *no#led!e #or*er #ould ha0e #or*ed on a des*top co%puter, or perhaps a laptop7 In al%ost all cases, this #ould ha0e -een throu!h #ired net#or* connections7 oday at 'icrosoft, for e9a%ple, %any offices ha0e no structured net#or* ca-lin! to des* areas7 he a0era!e 'icrosoft e%ployee has at least three unified co%%unications 3U)6 de0ices, #ith at least t#o of the% 3+indo#s .hone H and +indo#s & U ta-let6 ha0in! no &J4E soc*et, as required for -ein! #ired into the net#or*7 $i%ilarly, the %a:ority of custo%ers #ith #ho% 'icrosoft #or*s no# require a scala-le and sta-le +i2Ji platfor% for their #or* and personal li0es7 Jro% the perspecti0e of require%ents, runnin! real2ti%e co%%unications 3& )6 %edia o0er +i2Ji is no different fro% runnin! & ) o0er a #ired connection7 In !eneral, any net#or* infrastructure, includin! +i2 Ji, %ust -e a-le to %eet the *ey perfor%ance indicators re!ardin! net#or* characteristics7 hese indicators, or 0alues, are rele0ant e0en #hen %o-ile +i2Ji connections roa% -et#een #ireless access points 3+".s6 durin! periods of #ireless interference7
http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G0 and MLync 2013@ (eli0erin! Lync 2013 &eal2 i%e )o%%unications o0er +i2JiM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G17
,%A%,%. 1 P Planning
he density and trans%ission po#er of the #ireless access points 3+".s6 is crucial to the success of a +i2Ji en0iron%ent supported -y Lync $er0er7 "s pre0iously descri-ed, real2ti%e co%%unications 3& )6 traffic places !reater de%ands on the net#or* co%pared to standard data traffic7 $pecifically, & ) traffic needs a stron!er si!nal than plain data7 " recei0e si!nal stren!th 3&$$6 of less than FE dB% and a si!nal2 to2noise ratio 3$1&6 of under 30 dB is required to help ensure a consistently stron! Lync $er0er e9perience across #ireless net#or*s7 ItKs also i%portant to consider ho# e%ployees use the #ireless net#or*, and in #hat densities7 +hen plannin! +". locations, for e9a%ple, itKs i%portant to not o0erloo* lar!e %eetin! roo%s7 'any %anufacturers also support a de!ree of auto%atic co0era!e and hard#are failure healin!7 hese %ethods are -ased on intelli!ent al!orith%s that detect the presence of nei!h-orin! +".s and local sources of interference7 hey can -oost trans%ission po#er to o0erco%e interference or a local +". failure, or dial -ac* trans%ission po#er to ena-le %ore +".s to co0er a hi!h2density +i2Ji area7
he testin! pro!ra% itself consists of a 200V pa!e docu%ent that descri-es a #ide ran!e of testin! scenarios7 his lar!e test suite helps to ensure that Lync $er0er traffic is treated appropriately -y the #ireless en0iron%ent, #ithout co%pro%isin! perfor%ance or security7 Jor a list of certified +i2Ji equip%ent, see MInfrastructure qualified for 'icrosoft LyncM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3FF7
,%A%7%$ 1 P "on'iguration
he Lync $er0er #hite papers, MLync $er0er 2010@ (eli0erin! Lync &eal2 i%e )o%%unications o0er +i2 JiM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G0 and MLync 2013@ (eli0erin! Lync 2013 &eal2 i%e )o%%unications o0er +i2JiM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G1, address reco%%endations and e9planations re!ardin! +2Ji, #ith hi!hli!hts as follo#s@ 'a*e sure that the density of the +". reflects #here +i2Ji de0ices #ill connect fro%7 .articularly, chec* that thereKs sufficient density for lar!e %eetin! areas7 (isa-le H02711-7 his standard is 14 years old and uses a frequency that H02711n can use %uch %ore effecti0ely7 he %a9i%u% speed that H02711- de0ices reach is 11'-ps7 H02711n can do 300'-ps #ith the sa%e frequency ran!e7 (efault support to H02711n only7 'ore efficient use of the frequencies a0aila-le in -oth radio stac*s 3274 W E CH/6, and -etter co0era!e than older standards7 Dna-le +'' 3Ao$6 on the #ireless and #ired infrastructure -ecause the -ac*haul #ired net#or* %ust also support the Ao$ %ar*in! 3not :ust the +i2Ji +".s67 'a*e sure that the +". supports -oth radio stac*s 3274 W E CH/6, and that clients are steered to#ard a -and#idth of E CH/7 his allo#s for !reater +". density and has less interference fro% other radio de0ices that operate in the 274 CH/ -and8for e9a%ple, (i!ital Dnhanced )ordless eleco%%unications 3(D) 6 phones, %icro#a0es, #ireless *ey-oards, #ireless !a%in! controllers, and Bluetooth de0ices7
3F
usa!e, to indicate ho# con!ested the air#a0es are7 his infor%ation helps in plannin! an i%pro0ed +i2Ji ser0ice7 In this e9a%ple, a %o0e to the E CH/ spectru% #ould -rin! o-0ious ad0anta!es7 he fi!ure also sho#s that the +". for the hi!hli!hted +i2Ji net#or* 3)ore6 is usin! H02711n, co%plete #ith 'I';, -ecause t#o +i2Ji channels are -ein! used to !i0e a %a9i%u% connection speed of 300 '-4s7
3G
2.7./.3.1
0reassessment Questionnaire
" questionnaire is distri-uted, acco%panied -y a conference %eetin!, in #hich the follo#in! infor%ation is o-tained@ " detailed floor plan of all floors for assess%ent7 D9act !oal3s6 of the assess%ent7 +hat do you #ant to achie0eL he type of traffic that you #ant to test8in this case, Lync $er0er traffic7 he nu%-er of de0ices that you #ant tested, the -rand3s6, typical usa!e of those de0ices, and any additional rele0ant infor%ation a-out the de0ices7 (esi!n para%eters of the +i2Ji and the +i2Ji desi!n7 Jor e9a%ple, 274CH/ or ECH/L $pecific desi!n and confi!uration para%eters that the custo%er usesL .lace%ent and -rand of the access points installed7 Is testin! #ith li0e traffic per%ittedL 3H
+ireless controller confi!urations7 "ny traffic shapin!Rfire#all confi!urations that %i!ht affect #ireless traffic7
2.7./.3.2
)e,uirements
Before the actual assess%ent -e!ins, the follo#in! is required@ " patch port into the #ireless controller or the +i2Ji for a 'onitorin! $er0er7 his port %ust -e as close to the controller as possi-le7 "ny fire#all settin!s that the custo%er has ena-led and that the assess%ent tool requires7 " set of custo%er de0ices runnin! the custo%er -uild for the assess%ent7 his is an essential step to help ensure that the co%panyKs standard hard#are #ill -e co%pati-le #ith Lync $er0er traffic flo#s7
2.7./.3.3
+ssessment
(urin! the assess%ent, t#o or %ore assessors !o on2site and perfor% the follo#in! tas*s@ +al* the custo%er throu!h the assess%ent and the potential areas of i%pact7 "ttach the assess%ent %ana!e%ent ser0er 3endpoint for traffic !eneration6 onto the controller or #ireless net#or*7 Install the assess%ent soft#are on the custo%er2pro0ided de0ices7 his can -e a laptop, a 'acBoo*, a phone, or any de0ice that connects o0er +i2Ji7 .lace the de0ices on a cart, and %o0e the cart to predefined places in the -uildin! to perfor% a three2%inute test7 he locations of these tests are noted on the detailed floor plan 3already created, as part of the preassess%ent questionnaire6, and are used for the traffic end results7 (ependin! on the type of assess%ent 3snapshot or continuous assess%ent6, each spot is 0isited once or %ultiple ti%es, o0er a period of ti%e7
2.7./.3.4
0resentin* )esults
" report is prepared, alon! #ith a custo%er2ready presentation that hi!hli!hts ho# the #ireless net#or* fits the custo%erKs stated !oals7 Key %easure%ent ite%s focus on real2ti%e transport protocol 3& .6 traffic and include +". stic*iness, +". co0era!e, +". o0erlap, channel interference, Ao$ confi!uration, and anythin! that could affect the quality of calls o0er the +i2Ji7
,%@
!perations
1et#or* operations consists of the follo#in! plannin! considerations@ 1et#or* chan!e control process 1et#or* incident %ana!e%ent &eal2ti%e applications
$uccessfully i%ple%entin! Lync $er0er and achie0in! the -est possi-le user e9perience are stron!ly related to your net#or* infrastructureKs perfor%ance7 >ou should -e a-le to descri-e the follo#in! questions related to net#or* incident %ana!e%ent@ Ho# %any net#or* outa!es has the or!ani/ation e9perienced in the last 12 %onthsL +hat #ere the consequences of the outa!esL Ho# did the outa!es affect Lync $er0er trafficL "re there plans to %iti!ate ris*s of si%ilar outa!es in futureL
41
.%$
here are specific net#or* entities in the Lync $er0er topolo!y that directly affect Lync $er0er 0oice quality7 Lync $er0er 0oice is carried o0er the I. net#or* -et#een t#o Lync $er0er endpoints7 he endpoints can -e either ser0er or client endpoints7 he I. traffic tra0erses 0arious net#or* de0ices, fire#alls, pro9y ser0ers, and other ele%ents7 Dach entity has its o#n unique criteria that can i%pair the ti%ely or relia-le deli0ery of I. traffic -et#een the Lync $er0er endpoints7 It is 0ital to *no# #hich entities are rele0ant to the 0oice path in any scenario -ecause8-ased on this infor%ation8perfor%ance and *ey health indicators 3KHIs6 can either -e %easured across the entire call path 3end2to2end %etrics6, or %easured fro% the entities the%sel0es7
42
)*&
;0erall ).U Kernel ).U (.)P 1et#or* usa!e P 'e%ory usa!e P
Ma5i/u/ Level
H0P 20P EP GEP H0P
)*&s
)ount of total acti0e sessions7 ;-0ious outliers, such as M0M or lar!e deltas co%pared to other peers, are si!ns of issues7 M200M is the startin! 0alue and #ill drop if the load starts to affect real2ti%e ser0icin! of %edia7 $i%ilar to the conference process rate, -ut counts ho# %any conferences are actually delayed7 "!!re!ate pac*et loss of all sessions7 Loss does not i%ply loss due to ser0er itself7 "!!re!ate :itter of all sessions7 Jitter does not i%ply :itter caused -y ser0er7 023 0alue that indicates the ser0erKs o#n assess%ent of health7
he 'edia &elay $er0er does not end %edia, so it cannot see the pac*et loss and other %etrics in the real2ti%e transport control protocol 3& ).6 pac*ets -et#een the endpoints7 Ho#e0er, the 'edia &elay $er0er has its o#n pac*et loss counters, -ased on the relay ser0erKs o#n 0ie# of the loss7 "s such, any positi0e si!ns of loss #arrant in0esti!ation7
43
)*&s
Inadequate hard#are or other soft#are process, or too %any sessions7 &eal net#or* issues -et#een 'edia &elay $er0er and destination7 .ac*ets dropped on internal interface need special attention7 &eal net#or* issues -et#een 'edia &elay $er0er and destination7 .ac*ets dropped on internal interface need special attention7
%ana!ed infrastructure in !ood health@ users ha0e %uch hi!her e9pectations for calls that are entirely #ithin the %ana!ed infrastructure -oundaries7 "lso, ha0in! a %ana!ed infrastructure pro0ides a clean -aseline for dia!nosin! e9ternal and #ireless calls7 Jor details a-out ho# to use AoD data to %onitor net#or* se!%ent health, see Lync $er0er AoD &eportin!7 he follo#in! sections descri-e the %ost co%%on net#or* %etrics and ho# different thresholds %a*e sense for different net#or* connections7
3.1.2.2.1
0acket Loss
.ac*et loss is often defined as a percenta!e of pac*ets that are lost in a !i0en #indo#7 Ho#e0er, the %ethods of choosin! the #indo# si/e and co%putin! the a0era!e are actually application2specific7 Jor e9a%ple, the loss could -e a strai!ht ratio of lost pac*ets to total pac*ets, or it could -e a slidin! #indo#, or an a0era!e of distinct #indo#s #ith #ei!hts for the %ost recent sa%ples7 >ou should consider co%parin! pac*et loss nu%-ers across calls #ith 0aryin! call len!ths and -et#een data collected fro% different tools7 .ac*et loss directly affects audio quality8fro% s%all, indi0idual lost pac*ets ha0in! al%ost no i%pact, to -ac*2to2-ac* -urst losses that cause co%plete 0oice cut2out7 .ac*et loss can -e pre0ented, to an e9tent, -y usin! redundancy to %ini%i/e the a%ount of loss7 Ho#e0er, tradin! -and#idth for audio quality has practical li%its7 his is #hy it is i%portant to trac* the ra# pac*et loss nu%-ers, rather than e9clusi0ely relyin! on Lync $er0er to o0erco%e i%pair%ents, or on net#or* %ean opinion score 3';$6 or poor call percenta!es to *eep the net#or* in opti%al condition7 If the net#or* ad%inistrator is not a#are of the i%pair%ents, it is not possi-le to li%it the a%ount of defects7 ;n any %ana!ed #ired net#or* lin*, a pac*et loss threshold of 1 percent is a !ood 0alue to use to find infrastructure issues7 his %eans that the Lync $er0er ad%inistrator %ust first create data queries that sho# loss patterns on locali/ed net#or* paths #ith controlled endpoints7 Instead of co%putin! the a0era!e pac*et loss 0alue for all calls on that se!%ent, it %i!ht -e %ore useful to count the nu%-er of calls #ith a0era!e pac*et loss T 1 percent7 ;ther#ise, it #ill -e hard to deter%ine #hat 07I percent a0era!e pac*et loss %eans #hen the a0era!e is ta*en o0er thousands of calls7 Jor a full e9planation of custo%er AoD reports that do :ust that, see Lync $er0er AoD &eportin!7 ;ne %i!ht as*, <+hy not 0 percentL= he ans#er is that there are no 3in6correct thresholds as lon! as the data produced fits the intended purpose7 If youKre countin! calls for each site -ased on the nu%-er of calls #ith 1 percent or hi!her pac*et loss, you %ay disco0er a list of sites that you #ant to prioriti/e to help focus your in0esti!ations7 "d:ustin! the pac*et loss threshold is si%ply another #ay to prioriti/e7 " parallel ans#er is that pac*et loss can occur due to a 0ariety of *no#n causes8such as %aintenance duties that re-oot routers, or other transient e0ents that cause pac*et loss at so%e point8-ut the issue has resol0ed -y the ti%e your in0esti!ation re0eals it7
3.1.2.2.2
@itter
Interpac*et arri0al :itter, or si%ply :itter, is the a0era!e chan!e in delay -et#een successi0e pac*ets in a 5oice o0er Internet .rotocol 35oI.6 call7 3Jor a full e9planation of ho# 5oI. pac*ets are for%ed, see Lync "udio Auality 'odel76 hresholds for%ed around :itter 0alues to deter%ine #hether audio is !ood or poor can -e 0ery %isleadin!7 his is -ecause %ost %odern 5oI. soft#are can adapt to hi!h le0els of :itter throu!h -ufferin!7 ItKs only #hen the :itter e9ceeds the -ufferin! that you notice the effects of :itter7 If the 5oI. stac* acti0ely tri%s the :itter -uffer to reduce latency, the ne9t :itter spi*e #ill -e questiona-le7 his could -e a E0%s spi*e fro% a sustained :itter le0el of 30%s, or a 200%s spi*e fro% a sustained :itter le0el of 1H0%s7 4E
Jro% a Lync $er0er ad%inistratorKs 0ie#, ra# :itter le0els should -e %onitored si%ilarly to :itter7 ;n a %ana!ed #ired lin*, you should in0esti!ate :itter a-o0e 3%s7 "s pre0iously descri-ed, the pin!7e9e tool can pro0ide net#or* %etrics7 he pin! tool sho#s :itter 0alues in the output7 ;n %ost short hops, pin! #ill sho# 021%s :itter7 " 3%s threshold lea0es a lot of roo% for un*no#n sources of :itter that are not #orth in0esti!atin!7
3.1.2.2.3
Latency
Latency, in the conte9t of 5oI., often refers to stac* latency 3latency fro% #hen the 0oice is captured -y the %icrophone to #hen it is sent o0er the net#or*6 and net#or* propa!ation delay7 he su% of the t#o latencies is called the mouth"to"ear latency7 Ho#e0er, %uch of the e9istin! docu%entation a-out latency thresholds descri-es the 1E0%s threshold that the International eleco%%unication Union 2 eleco%%unication $tandardi/ation $ector 3I U2 6 defines as accepta-le for 5oI.7 "lthou!h this is accurate, a su-stantial part of the latency in a %odern 5oI. stac* is due to the stac*, and not really under the control of the Lync $er0er ad%inistrator7 5arious 5oI. i%ple%entations %a*e different trade2offs that in0ol0e stac* latency, so itKs -est to lea0e it to the de0elopers to deli0er the -est trade2off7 "s descri-ed earlier, -ufferin! al!orith%s can -e used to a-sor- :itter, -ecause e0ery %illisecond of additional -ufferin! translates to a %illisecond of stac* latency7 1et#or* propa!ation delay is essentially tied to the speed of li!ht, includin! additional o0erhead ta*en -y the 0arious routers in -et#een7 hat %eans an upper -ound 3speed of li!ht ti%es distance6 can -e placed on the net#or* propa!ation delay, and thresholds can -e set up around it7 Jor net#or* paths of short distances that are entirely under the I tea%Ks control, 0ery lo# le0els of delay are e9pected7 Cenerally, 1%s is a%ple ti%e for traffic -et#een any t#o points #ithin a city7 If carriers are in0ol0ed, the latency depends entirely on the%7 he speed of li!ht %ultiplied -y distance is a !ood esti%ate of latencies that you can e9pect fro% carriers7 $o%e carriers %ay route traffic -et#een t#o locations in a country throu!h another continent7 his is an i%portant additional consideration #hen assessin! the quality of your Lync $er0er deploy%ent7 Latency is also %easured as one2#ay and round2trip ti%e 3& 67 & is %uch easier to %easure -ecause it doesnKt require ti!ht ti%e cali-rations -et#een the t#o endpoints7 Latencies can -e different in the t#o directions7 Lastly, latency issues can -e in the pu-lic s#itched telephone net#or* 3.$ 16 call le! in addition to the I. le!7 'easurin! latency #hen .$ 1 endpoints are in the %i9 requires additional equip%ent or %ethodolo!y7 he %ost econo%ical #ay to perfor% this %easure%ent is -y usin! an audio recorder to record the sound fro% a pen tappin! the %icrophone of one endpoint #ith the recei0er of the other endpoint placed ne9t to the audio recorder7 he resultin! recordin! should ha0e t#o noise spi*es, #ith the distance -et#een the% 3as sho#n in any +"5 analy/er pro!ra%6 -ein! the one2#ay %outh2to2ear delay7 his technique #or*s only if -oth endpoints can -e physically located near the sa%e sound recorder7
4F
.%,
"on'iguration udit
)onfi!uration audits pro0ide another #ay to help ensure the health of a Lync $er0er deploy%ent7 hese audits can unco0er issues that %ay not appear in the a!!re!ate KHI and %etrics reports7 >ou can perfor% audits %anually, -y rando% sa%plin! or syste%atically, or -y usin! auto%ated tools7 Listin! all of the confi!uration para%eters that can !o #ron! is -eyond the scope of this !uide7 Instead, this section offers real2#orld e9a%ples of confi!uration issues that #ere disco0ered throu!h audits or throu!h in0esti!ations escalated -y users7
de0ices #ill still -e operatin! under nor%al conditions, in ter%s of the de0ice itself7 Lync $er0er call %etrics, as captured -y AoD, %ay detect issues, -ut only if there are calls, and enou!h calls to dra# the attention of the ad%inistrators7 1et#or* confi!uration audits, ho#e0er, can find out2of2place settin!s quic*ly7 ;f course, not all net#or* i%pair%ent issues are caused -y %isconfi!uration7 Jor this reason, end2to2end %etrics %onitorin! is necessary7 he types of para%eters that are often found to affect Lync $er0er perfor%ance include@ (ifferentiated $er0ices )ode .oint 3($).6 &ate li%itin! $peed sensin! %is%atch 3Jull4"uto6 1a!le 3 ). only6 Load -alancer confi!uration H . pro9ies Band#idth Jor details a-out ho# each of these settin!s can affect Lync $er0er perfor%ance, see rou-leshootin! a 1et#or* $e!%ent7
.%.
;0erall usa!e $cenarios2-ased usa!e )onferencin! .eer2to2peer 3.2.6 .$ 1 5ideo ;thers 3for e9a%ple, 'icrosoft D9chan!e Unified 'essa!in!6 Location2-ased usa!e Band#idth usa!e +ired 0ersus +ireless Internal 0ersus D9ternal 5.1 Jederation
.%7
$yste% )enter ;perations 'ana!er 3$);'6 alerts D0ent lo!s $ynthetic transactions .erfor%ance counters )all detail recordin! 3)(&6
.%8
"pneta
4H
4I
7%
Troubleshooting
his section is di0ided into t#o core parts@ trou-leshootin! scenarios that offer !uidance a-out ho# to trou-leshoot each end2to2end user scenario, %ost of it deri0ed fro% real2life e9periences, and trou-leshootin! %ethodolo!ies that offer in2depth in0esti!ation into so%e of the %ost technically challen!in! net#or* issues7 +e assu%e that you ha0e follo#ed the -est practices ad0isories in the pre0ious topics7
7%$
Troubleshooting Scenarios
he follo#in! trou-leshootin! scenarios are descri-ed in detail@ a site2#ide issue of Lync 0oice quality 3a site suddenly reports poor audio quality6, and an indi0idual Lync 0oice quality issue7
4.1.1 %rou&les$ootin* a 'ite-4i e Issue. Lync 9oice Quality - + 'ite 'u enly )eports 0oor +u io Quality
rou-leshoot a site that suddenly reports poor audio quality -y usin! the follo#in! procedure@ (efine the pro-le% report scenario7 .ro0ide an initial assess%ent7 )ollect data7 Isolate the pro-le% and analy/e the root cause7
If users co%plain a-out call setup failures or call drops, thereKs still a chance that net#or* issues are present7 Ho#e0er, you should e9pect distortion issues, as #ell7 1e9t, re0ie# specific scenarios fro% user reports7 Jor e9a%ple, did the poor quality occur in peer2to2peer 3.2.6 calls, conference calls, .)2to2phone 3.)2.hone6 calls, or in all of these call typesL his in0esti!ati0e inquiry can help you deter%ine if there are specific entities that need in0esti!ation7 Lastly, -e sure to chec* the #hen the issue occurred8:ust recently, or o0er a period ti%e7 his #ill clue you in to #hether youKre loo*in! for a sudden chan!e in the syste% or a !radual de!radation7 $tudyin! the user reports #ill help you deter%ine if youKre on the ri!ht trac* in chasin! do#n your initial assess%ent7 "ssu%in! that you follo#ed the !uidelines in the MLync 2013 echnical (ocu%entationM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*I(N2E4H0F, includin! the (eploy%ent Cuide and ;perations Cuide, youKll -e a-le to !ather additional e%pirical data, as #ell7 If the audio quality issue is locali/ed to a site, re0ie# the +ired and +ireless $u-nets &eport in $u-net &eports, #hich can -e 0ery useful7 If trendin! reports are a0aila-le, you %ay see an increase in the nu%-er of poor calls for the site7 he issue %ay -e in the #ired or #ireless net#or*s, so chec* -oth sets of reports7 If a 'ediation $er0er is deployed to the site, chec* the call quality -et#een the 'ediation $er0er and the "5')U7 Because these are -oth %ana!ed ser0er endpoints, there should -e little, if any, pac*et loss and :itter7 If you find a sharp inflection in any of these reports, you %ay disco0er corro-orati0e data %atchin! the user reports7 If users co%plain a-out .)2.hone quality, youKll need to chec* the '$2C+ &eports for any sudden chan!es in pac*et loss and :itter7 If the trend reports donKt sho# anythin! out of the ordinary, youKll need to find the ri!ht si!nature for the issue7 Jor e9a%ple, if the report site does not %atch the user report site, youKll need additional filterin!7 "cquirin! indi0idual user aliases is i%portant, so that you can co%pare the usersK AoD %etrics to those of the rest of the population7 In one case study, a -u!!y net#or* adapter dri0er in a certain %odel of laptops caused net#or* issues for laptop users7 Because the sa%e %odel of laptop #as ordered for a !roup of users, the issue initially appeared to -e a site2-ased issue7
E1
E2
sender or .$ 1 caller, follo#ed -y lo#20olu%e speech, can cause the recei0in! Lync client to lo#er the 0olu%e for a short duration7 #cho Dcho issues are typically caused -y -ad de0ices and4or .) hard#are or dri0ers, or can ori!inate fro% e9ternal sources, such as .$ 1 endpoints7 Dchoes can also -e caused -y a user %o0in! a spea*erphone, or -y %ultiple users #ith spea*erphones :oined into the sa%e conference fro% the sa%e roo%7 In0esti!atin! the call scenario can help you deter%ine the cause7 No audio or one9way audio 1et#or* issues can cause an audio -lac*out or one2#ay audio, if an inter%ediate net#or* de0ice, such as a pro9y ser0er or fire#all, -loc*s pac*ets7 his %ay occur after the initial connection is set up7 (e0ice issues and de0ice %isconfi!uration issues are also co%%on causes7 Jor e9a%ple, the user %ay thin* they are usin! a particular de0ice, -ut another de0ice %ay -e the acti0ely confi!ured one7 he follo#in! ta-le su%%ari/es the issue types and potential causes7 Be a#are that %ultiple causes can e9ist7 Be sure to chec* all potential causes7
Lync udio &ssue Types and Potential "auses
&ssue Type
(istortion 3%etallic2soundin!, fast speech, slo# speech6 (istortion 3other6 $peech cut2out Clitch 3pops, clic*s6 1oise 5olu%e issues 3lo# or 0aryin!6 Dcho 1o audio or one2#ay audio
Network
>
0evice
#nviron/ental
PSTN
User #rror
0evice o AoD %etrics fro% the )all (etails &eport F7 $endListen';$ for send2side de0ice %etrics G7 1oise le0el and $1& %etrics for send and recei0e side o o o 5A&eport O'L -lo- fro% U))".I lo!s, if the de0ice in question is fro% the local user ;-tain a recordin! of the audio that sho#s the type of distortion or noise e9perienced -y the user $cenario questions@ H7 (oes it only reproduce #ith this de0ice if you #ere the one causin! the issueL I7 (oes it only reproduce #ith a specific caller if you #ere the one hearin! the issueL #nviron/ental o AoD %etrics fro% the )all (etails &eport 107 1oise le0el and $1& %etrics o $cenario questions@ 117 +as it noisy #hen you %ade the callL 127 +hat de0ice #as used for the conference roo%L 137 Ho# far a#ay #ere you fro% the %icrophoneL 147 +ere there %ultiple calls usin! spea*erphone de0ices fro% the sa%e roo% :oined in the sa%e conferenceL
7%,
Troubleshooting Methodologies
rou-leshootin! %ethodolo!ies are co%%on procedures used to find the root cause of sy%pto%s disco0ered -y any of the frequently used %ethods8help des* user reports, %onitorin! alerts, or other ad hoc sources7 he follo#in! %ethodolo!ies are scoped so that they apply to %any escalation paths, yet contain enou!h details to help disco0er the root cause7 Jor e9a%ple, the rou-leshootin! a 1et#or* $e!%ent helps you trou-leshoot net#or* i%pair%ent issues in a specific se!%ent of the net#or*, rather in than the entire net#or*7 If this %ethodolo!y atte%pted to co0er all net#or* issues, there #ould -e too %any startin! points, %a*in! the su-:ect un#ieldy7 If it only co0ered specific entities in the net#or*, youKd need to *no# in ad0ance #hich entities #ere rele0ant to your in0esti!ation7 E4
"lient9"lient
>es >es >es >es >es
"lient9Server
>es >es >es >es >es >es
Server9Server
>es >es
>es
1et#or* issues %ay not -e e9clusi0ely net#or*2related7 Dndpoint perfor%ance can also -e a factor, -ecause any process that delays a pac*et or causes a pac*et to drop #ill appear as a net#or* issue in the AoD &eports7 ;ne #ay to isolate the net#or* issue cate!ories is to use AoD to reduce the len!th of the net#or* se!%ent7 Jor e9a%ple, if you see poor2quality calls -et#een a client +i2Ji su-net and a ser0er su-net, you should !et a AoD &eport for call quality fro% the client2#ired su-net to the sa%e ser0er su-net7 "dditionally, !et a AoD &eport that sho#s call quality -et#een ser0ers in the sa%e ser0er su-net7 he s%aller the net#or* se!%ent into #hich you can isolate the issue, the fe#er de0ices youKll need to chec*7 he follo#in! sections descri-e so%e of the root causes that cause net#or* issues for Lync $er0er7
4.2.1.1.1
Lync $er0er supports Auality of $er0ice 3Ao$6 -y %ar*in! traffic at each endpoint that ter%inates %edia, #ith the e9ception of the 'edia &elay Dd!e $er0ers7 he Lync $er0er deploy%ent %ust first -e confi!ured to ena-le ($). %ar*in!, and the net#or* de0ices and s#itches %ust also trust the %ar*ed pac*ets sent -y the Lync $er0er endpoints, and %ust propa!ate the pac*ets #ith the %ar*in!s intact7 Dach net#or* de0ice can ha0e its o#n confi!uration settin! to ena-le4disa-le ()$.7 here can also -e access control lists 3")Ls6 in place that affect the final effecti0e settin!7 Incorrect ($). settin!s are often the -i!!est source of pac*et loss or :itter that affects Lync $er0er %edia traffic7 he follo#in! ta-les sho# e9a%ples of Ao$ co%%ands that can ena-le Ao$ for 5L"12-ased and port2 -ased %ethods7
2L N9based +oS
Task
Dna-le Ao$ )reate access list to %atch pac*ets )reate class %ap
"o//and
%ls qos ip access2list e9tended 5;I)D per%it I. any class2%ap %atch2all 5;I)D %atch access2!roup na%e 5;I)D policy2%ap 5;I)D class 5;I)D trust dscp interface ran!e CO4124H %ls qos 0lan2-ased int 0lan O ser0ice2policy input 5;I)D
)reate policy %ap Dna-le 5L"12-ased Ao$ on the interface "pply $er0ice .olicy to all 5L"1s Port9based +oS
Task
Dna-le Ao$ "pply port2-ased Ao$ to the interface
"o//and
%ls qos %ls qos trust dscp
+ith the 5L"12-ased %ethod, there are %ultiple settin!s to ena-le Ao$7 )onfi!uration drift issues are %ore li*ely to occur -ecause of the lar!er scope of potential %isconfi!urations, as co%pared to the port2 -ased %ethod7 Jor instructions a-out ho# to detect if ()$. traffic is -ein! recei0ed, see M5oice &9@ 5alidatin! Ao$ on Lync DndpointsM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN3014F0 he follo#in! ta-les sho# issues that can cause Ao$ settin!s to fail, and su!!ested solutions7
Potential +oS Settings 6ailures
&ssue
" #ireless router fir%#are -u! caused ($). -its on pac*ets to -e re%ar*ed fro% 4F to 3H, effecti0ely erasin! the e9pedited fla!s7 )'.L$ carrier pro0idin! +"1 -ac*-one is re%ar*in! pac*ets and erasin! D9pedited Jor#ardin! 3DJ6 fla!7 5L"12-ased Ao$ policy prone to errors, due to the require%ent of %ultiple disparate settin!s to ali!n, #hich affects ($).7 Jor e9a%ple, the net#or* interface on the
<esolution
"pply the fir%#are fi97 Infor% carrier of issue and request policy chan!e7 $#itch to port2-ased Ao$ policy7
EF
&ssue
%edia ser0er %ust ha0e the correct 5L"1 I( set, and the ne9t hop s#itch needs to associate the 5L"1 I( #ith the e9pedited ()$. policy7 " chan!e in either settin! can cause ($). to 3silently6 not !et applied7
<esolution
4.2.1.1.2
)ate Limitin*
&ate li%itin! is the specification of an upper -ound of the net#or* pipe for a specific )lass of $er0ice traffic7 It is often used to pre0ent prioriti/ed traffic fro% -loc*in! unprioriti/ed traffic7 Jor e9a%ple, if 0oice is prioriti/ed at D9pedited Jor#ardin! 3DJ6, itKs possi-le that no other traffic #ill !et throu!h, if the a%ount of 0oice traffic is hi!h7 1et#or* ad%inistrators %ay set rate li%itin! policies to cap the a%ount of DJ traffic at a fi9ed a%ount8for e9a%ple, 20 percent of the total -and#idth7 If the DJ traffic e9ceeds the 20 percent li%it, you can instruct the router to discard the additional pac*ets, or for#ard the% at the nor%al priority7 If 0oice pac*ets are discarded, 0oice quality #ill -e ne!ati0ely affected7 In practice, -loc*in! rarely occurs in deploy%ents #ith no rate li%itin! at all7 If you #ant rate li%itin! as a for% of protection a!ainst -loc*in! nor%al traffic, you should confi!ure it so that any pac*ets a-o0e the rate li%it cap are for#arded at the nor%al priority le0el, rather than -ein! dropped -y the router7
4.2.1.1.3
1et#or* adapter speed and duple9 %is%atch is another issue that can cause pac*et loss and :itter on a net#or* se!%ent7 It can see% counterintuiti0e that the "uto settin! on a net#or* adapter dri0er or s#itch port does not #or* a!ainst another interface set to Jull7 Both interfaces %ust -e set to the sa%e settin! in order for pac*ets to flo# relia-ly7 In %any cases, net#or* perfor%ance de!radation caused -y %is%atched settin!s !o unnoticed until real2ti%e %edia is carried o0er this lin*7 $o far, this issue is *no#n to affect only 100 '-ps net#or* lin*s7
4.2.1.1.4
"lthou!h Lync $er0er supports trans%ittin! audio40ideo 3"456 o0er the ). transport, ha0in! the 1a!le al!orith% ena-led in net#or* !ear can introduce :itter7 he 1a!le al!orith% is desi!ned to opti%i/e the net#or* for throu!hput7 It -uffers ). se!%ents until a certain a%ount of data is accu%ulated, and sends the se!%ents in a -atch7 Because ). is a strea% protocol, %er!in! the ). fra%es results in less o0erhead, -ecause it has headers at each protocol layer7 &eal2ti%e "45 #or*s -est if the pac*ets are sent as soon as they arri0e on the net#or*7 he 1a!le al!orith% can cause choppy "45, or e0en dropouts7 If your or!ani/ation #ants to use the 1a!le al!orith% to -oost ). throu!hput of other ser0ices, you should confi!ure it so that Lync $er0er "45 traffic is not affected7 >ou can do this -y separatin! the traffic paths of the Lync $er0er "45 traffic fro% the rest of your or!ani/ationKs traffic7
4.2.1.1./
)ertain Lync $er0er co%ponents, such as the 'edia &elay Dd!e 3'&D6 ser0ers, require hard#are load -alancers 3HLBs6 to distri-ute loads across %ultiple instances of the ser0er7 here are a nu%-er of #ays that the HLBs can -e %isconfi!ured, includin!@ Load directed une0enly across the '&D ser0ers7 Load directed une0enly on a particular interface that is not %onitored 3internal 0ersus e9ternal67 'edia &elay I. addresses 3'&D6 directly reacha-le -y e9ternal clients7 '&D e9ternal I. addresses directly reacha-le -y internal clients7 HLB confi!ured to route traffic to an '&D that is not in ser0ice or is under!oin! %aintenance7 EG
Load -alancin! al!orith%s U round ro-in 0ersus least connections7 )onnection stic*iness and affinity7
4.2.1.1.5
H%%0 0ro=ies
H . pro9ies can affect Lync $er0er audio40isual 3"456 traffic carried o0er ).4 L$7 Lync $er0er uses <pseudo2tls= #here the L$ encryption *ey is null7 $o%e H . pro9y ser0ers8specifically, those of the deep2pac*et2inspectin! or stateful 0ariants8atte%pt to analy/e L$ traffic patterns in order to pur!e tunneled traffic or traffic #ith #ea* encryption *eys7 $o%e 0ariants e0en ser0e as ar-iters to e9a%ine e0ery step of the L$ handsha*in! protocol and -loc* any ano%alies7 "ll of these security features can ad0ersely affect Lync $er0er "45 traffic -ecause, after all, Lync $er0er "45 is desi!ned to tunnel throu!h traditional H . pro9y ser0ers7 ;ccasionally, the deep2pac*et2inspectin! pro9y ser0er can pre0ent the L$ connection fro% co%pletin!7 "t other ti%es, the connection %ay -e set up, and then dis%antled -y the pro9y ser0er8a fe# seconds, or e0en a fe# %inutes, later7 ;ne popular -rand of an H . pro9y ser0er *no#n to cause issues is Blue )oat $yste%s Inc7 It is a free#are ser0er and is therefore #idely used -y %any or!ani/ations7 If you deter%ine the H . pro9y ser0er to -e the cause of the issue, turn off all deep pac*et inspection features, or e9e%pt Lync 'edia $er0ers fro% inspection -y specifyin! the %edia ser0ersK ". addresses in the e9e%ption list7
4.2.1.1.1
#an wi t$
+hen I ad%inistrators dia!nose net#or* issues that can affect audio40isual 3"456 traffic, -and#idth is often a pri%ary consideration7 Jortunately, confir%in! that sufficient -and#idth is a0aila-le for Lync $er0er is a strai!htfor#ard process7 he total concurrent "45 -and#idth usa!e across the day can -e calculated -y usin! AoD data7 he Lync Band#idth )alculator can present the pro:ected -and#idth usa!e, -ased on user %odels7 Jor details, see MLync 2010 and 2013 Band#idth )alculatorM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN3013I17 here are also 0arious third2party solutions for %onitorin! traffic usa!e -y #or*load across a particular lin*7
4.2.1.1.7
4+NBI'0
If Lync $er0er "45 traffic is carried o0er a leased net#or* se!%ent, the physical %ediu% #ill -e under the control of a third party7 Isolatin! net#or* perfor%ance issues requires the cooperation of the net#or* pro0ider7
4.2.1.2.1
#a 0atc$ !a&le
.hysical defects in the net#or* ca-lin! infrastructure can cause net#or* perfor%ance de!radation7 $i%ply pullin! out the ca-le and replacin! it can disrupt e9istin! traffic7
4.2.1.2.2
" physical ca-lin! loop can cause routin! loops7 +hen a s#itch detects such loops, it can either shut do#n the port or issue a de0ice2#ide reset7 $huttin! do#n the port pro0ides i%%ediate feed-ac* to the user, -ut can also cause net#or* outa!e7 If your or!ani/ation decides a!ainst shuttin! do#n the port, the EH
de0ice then atte%pts a de0ice2#ide reset to try to resol0e the issue7 he reset is 0ery fast, -ut it can cause pac*et drops on all traffic across the de0ice7 Because hard#are resets canKt correct physical issues, the de0ice #ill continue to rest one e0ery fe# %inutes, causin! pac*et loss each ti%e7 $o%e net#or* de0ices report this condition -y fla!!in! it throu!h the B.(U !uard feature7
4.2.1.2.3
1et#or* router de0ices can e9perience dyna%ic load factors, such as ).U spi*es, that cause pac*et loss or :itter7 Jindin! the root cause of this depends on the specific de0ice7
4.2.1.3.1
Interference
&adio interference is pro-a-ly the -i!!est source of net#or* perfor%ance de!radation in +i2Ji net#or*s7 Interference can co%e fro% a 0ariety of sources, includin!@ $tatic structures, such as #alls, pillars, and furniture Hu%an %o0e%ent ;ther radio frequency sources .oor antenna place%ent4desi!n
4.2.1.3.2
&adio #a0e si!nal stren!th is in0ersely proportional to the distance -et#een the trans%itter and the recei0er7 o o0erco%e any interference, the +i2Ji access point should -e as close to the Lync $er0er endpoint as possi-le7 Increasin! access point density helps to shorten the distance -et#een the Lync $er0er endpoint and the nearest access point7
4.2.1.3.3
)oamin*
'o-ile Lync clients can also e9perience net#or* perfor%ance de!radation #hen a user %o0es around and the +i2Ji connection is handed off fro% one ". to another7 "t this point, all traffic can -e dropped7
4.2.1.3.4
Bu!!y net#or* adapters and dri0ers can de!rade net#or* perfor%ance7 $o%e net#or* adapters and dri0ers also perfor% scannin! periodically to update the +i2Ji access point list7 his scannin! can interrupt other on!oin! traffic, such as a Lync $er0er call7
4.2.1.4.1
'any of the issues affectin! +i2Ji connections also affect %o-ile -road-and connections7
4.2.1.4.2
I0'ec
I.$ec requires *ey e9chan!es -et#een the t#o endpoints at either end of the I. con0ersation7 Usually, the *ey e9chan!e occurs -et#een t#o endpoints co%%unicatin! for the first ti%e7 $u-sequently, the *eys are cached and reused if traffic -et#een the t#o endpoints *eeps the I.$ec tunnel acti0e7 If the *eys e9pire, a ne# round of *ey e9chan!es %ust occur7 $o%e i%ple%entations of I.$ec can let a fe# unencrypted pac*ets !o throu!h, -ut none durin! the *ey e9chan!e phase7 "fter the *ey e9chan!e phase, pac*ets are allo#ed to flo# a!ain7 Ho#e0er, so%e pac*ets could -e lost7 his loss can cause call failures or audio dropouts7
4.2.1.4.3
" %a:or aspect of 0irtual pri0ate net#or*s 35.1s6 are that they are equated #ith any pri0ate pac*et encapsulation technolo!y7 'ost 5.1 solutions are desi!ned for ). and opti%i/ed for throu!hput, rather than for real2ti%e deli0ery of %edia traffic7 "s such, rate li%its or ser0er perfor%ance can affect Lync $er0er perfor%ance7
4.2.1.4.4
"lthou!h Lync $er0er supports sendin! %edia o0er rans%ission )ontrol .rotocol 3 ).6 connections, it is not an opti%al solution7 $%all net#or* perfor%ance de!radations can cause noticea-le issues for real2 ti%e traffic carried o0er ).7 ;ne %a:or reason is that the ). protocol is lossless, %eanin! the ). stac* #ill retrans%it the %issin! se!%ents7 (urin! the retrans%ission, all su-sequent data is queued7 "fter the retrans%ission, the recei0in! endpoint #ill ha0e e9perienced se0eral ti%es the & of delay7 Bufferin! is often used to co%-at this issue, -ut it co%es at the e9pense of pro0idin! a t#o2#ay, full duple9 e9perience7
4.2.1.4./
I'0BInternet
&esidential Internet connections often ha0e %ini%al ser0ice le0el a!ree%ents 3$L"s6 and support to trou-leshoot user net#or* issues7 ypically, al%ost all Lync $er0er audio40isual 3"456 perfor%ance de!radation is caused -y e9ternal Internet users7 Because these connections are un%ana!ed, the -est %iti!ation is to offer the users tools such as the ransport &elia-ility I. .ro-e 3 &I..6 and 'icrosoft .re )all (ia!nostic ool to test their <last hop= connection quality7 Jor details, see MLync ;nline 2 ransport &elia-ility I. .ro-e 3 &I.. ool6M at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN304032, and M'icrosoft .re )all (ia!nostic oolM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN30403E7
)lient endpoint perfor%ance issues consist of@ .o#er2sa0in! %ode U$B hu-4ca-le (ri0ers4deferred procedure calls 3(.)6 stor%
4.2.1./.1
0ower-'avin* Mo e
If the client endpoint is on -attery po#er, the operatin! syste% can throttle the ).U share for Lync $er0er processin! functions and affect its a-ility to send or recei0e pac*ets in a ti%ely %anner7
4.2.1./.2
<'# Hu&B!a&le
Lo#2quality U$B hu-s or ca-les can tri!!er deferred procedure calls 3(.)6 stor%s that pree%pt Lync $er0er processes fro% operatin! s%oothly7 .oorly shielded U$B ca-les 3e0en if the ca-les are inside a laptop or a .) case6 can cause U$B dri0ers to require %ore frequent ser0icin! than usual7
4.2.1./.3
DriversBD0! 'torm
"s pre0iously descri-ed, lo#2quality dri0ers can pree%pt Lync $er0er processes, due to their pri0ile!ed e9ecution status in the operatin! syste%7 he pri0ile!ed code e9ecution can co%e in the for% of deferred procedure calls 3(.)s67 ;n client operatin! syste%s, use the (.)4second counters in the tas* %ana!er to see if poor audio is associated #ith an increase in (.)s7
4.2.1.5.1
$o%e corporate security policies require the installation of client endpoint security soft#are on all corporate .)s, includin! those runnin! Lync $er0er applications7 his endpoint security soft#are %ay ha0e net#or* fire#all co%ponents that also acti0ely scan traffic7 Because Lync 'edia $er0ers, such as the "5')U, and Dd!e $er0ers, such as the 'edia &elay Dd!e $er0ers, can process lar!e 0olu%es of pac*et traffic to support "454"pp$harin! %odalities, any additional processin! of net#or* pac*ets -y port scannin! soft#are processes can affect the perfor%ance of the host co%puters, and therefore affect Lync $er0er perfor%ance7 he perfor%ance i%pact occurs in the for% of pac*et loss or hi!her :itter7
4.2.1.5.2
.erfor%ance counter collection is an i%portant part of %onitorin! the health and state of Lync ser0ers7 )ollectin! too %any counters and collectin! the% at hi!h frequencies can displace Lync $er0er processes fro% their ).U access, due to the hi!h thread priority of the perfor%ance counter collection process7 Because se0eral Lync $er0er ser0ices can run on the sa%e host co%puter and so%e counters run per ).U instance, the co%-ination of application2specific counters and ).U cores can create lar!e nu%-ers of unique counters that need collection7
4.2.1.5.3
1et#or* adapter tea%in!4dri0er ). offloadin! ).U affinity Network dapter Tea/ing:0river "lthou!h Lync $er0er deploy%ent !uidelines reco%%end a!ainst the use of net#or* adapter tea%in!, so%e or!ani/ations %ay choose to follo# their o#n !uidelines around hi!h2a0aila-ility7 1et#or* adapter tea%in! -u!s ha0e -een found in a fe# occasions7 hese -u!s %ay affect only real2ti%e traffic, such as audio40ideo4application sharin!7 Because %ost or!ani/ations do not run the host and net#or* hard#are throu!h any -ench%ar*s, latent issues in the hard#are and dri0ers can re%ain undetected until the syste% is put into full production and real load is placed on the syste%7 T"P !''loading ). offloadin! is another feature that can affect real2ti%e traffic under load7 "PU ''inity $o%e net#or* adapter dri0ers use only one ).U core on a %ulticore ser0er to process net#or* traffic7 his can cause perfor%ance de!radations if Lync $er0er uses the core to process %edia7
4.2.1.5.4
'ost Lync $er0er 2013 'edia Auality (ia!nostic &eports at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN30402G 3or Lync $er0er 2010 'edia Auality (ia!nostic &eports at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN30402I6 sho# the nu%-er of calls per day or %ay-e per hour7 If there are too %any concurrent calls at any one ti%e, the ser0er perfor%ance %ay -e i%paired to the point of de!radin! pac*et perfor%ance7 here are perfor%ance counters and $);' alerts to #arn of this scenario7 Ho#e0er, %onitorin! pea* concurrent call load at the %ost detailed, custo%i/ed le0el can pro0ide early alerts on usa!e trends7 AoD can pro0ide this data throu!h custo% reports7
4.2.1.5./
9irtuali>ation
+hile Lync $er0er supports 0irtuali/ation technolo!ies, pac*et perfor%ance should -e %onitored to a0oid any issues #ith untested hard#are and soft#are interaction7
F2
4.2.2.1.1
Microp$one #oost
'any sounds cards ha0e a separate %icrophone -oost settin! that you %ust %odify fro% the default settin! to help ensure that hu%an speech 0olu%es are captured7 oo lo# a settin! for the %icrophone -oost can %a*e speech unintelli!i-le, e0en if the 0olu%e settin!s are at the %a9i%u% le0el7 oo hi!h a settin! can cause clippin! 3a sound distortion !enerated #hen the audio si!nal is too lar!e to -e represented6, #hich can lead to echo issues7 By usin! the tunin! #i/ard in the Lync client, you can %onitor %icrophone le0els #hile %odifyin! the -oost settin!7 he follo#in! fi!ure sho#s an e9a%ple of the %icrophone -oost settin! fro% the Microphone Properties dialo! -o9 in the Sound 0evice settin!s7
4.2.2.1.2
$o%e sound cards offer di!ital si!nal processin! 3($.6 features to i%pro0e %usic or !a%e audio sound7 hese features alter the audio si!nal played -y Lync and can cause echo issues7 (isa-lin! these features fi9es the issue7
4.2.2.2.3
Noise
In %any laptops, -uilt2in sound de0ices are often the least opti%i/ed co%ponents7 $o%e sound de0ices are found to ha0e o-0ious issues #hen %ar*eted7 he follo#in! fi!ure sho#s noise in the left channel of the sound de0ice, -ut not in the ri!ht channel7 Usin! noise re%o0al processes after the audio is captured can help, to so%e de!ree, -ut there still %ay -e distortion7
F3
4.2.2.2.1
he U$B host de0ice dri0er is one co%ponent of the U$B su-syste% that can cause poor capture or render su-opti%al perfor%ance7 Jor this reason, #e reco%%end updatin! to the latest dri0er 0ersion as a trou-leshootin! step7 "t this le0el of trou-leshootin!, you can only deter%ine the root cause if a chan!e eli%inates the pro-le% so itKs easier to try %any chan!es to see if any of the% #or*7
4.2.2.2.2
Ine9pensi0e, lo#2quality U$B hu-s and ca-les can cause %any U$B de0ice2related issues7 &e%o0in! hu-s, includin! laptop doc*in! stations and s#appin! ca-les, are useful trou-leshootin! steps7 Internal ca-lin! in .)s can also -e defecti0e7
4.2.2.2.3
0! #IC'
.) BI;$ settin!s and fir%#are ha0e -een *no#n to cause issues #ith U$B audio de0ices7 rou-leshootin! the issue to this co%ponent le0el often occurs in lar!e or!ani/ations #ith %any %odels of si%ilar laptops, #here patterns e%er!e o0er %any occurrences and user reports7
F4
associated #ith a specific %a*e and %odel of a particular de0ice, fro% a trou-leshootin! perspecti0e, s#appin! de0ices can eli%inate issues or rule the% out7
4.2.2.3.1
Harmonics
"ll %aterials ha0e natural har%onic resonance frequencies7 If the frequency is #ithin nor%al speech frequencies, the de0ice can 0i-rate and !enerate distortions7 If the issue is inherent in the de0ice, replace the de0ice7
4.2.2.3.2
+coustic Isolation
"coustic isolation %ini%i/es the a%ount of feed-ac* -et#een the spea*er or earpiece and the %icrophone7 .oor isolation results in !reater quantities of echo lea*in! into the %icrophone7 +hile Lync has -uilt2in soft#are echo cancellation, requirin! the soft#are to re%o0e the echo al#ays results in distortion7 he a%ount of distortion is proportional to the a%ount of echo that needs to -e cancelled7 "lso, lea*ed acoustic si!nal can -e -and2li%ited -ecause of har%onics, and can cause the echo canceller to lea* the echo in its entirety7
4.2.2.3.3
(lectrical Isolation
'any de0ices ha0e co%%on electrical connections -et#een the %icrophone and spea*er7 $olid2state co%ponents separate the inco%in! and out!oin! si!nals7 Ho#e0er, stron! si!nals in the inco%in! si!nals can lead to si!nal lea*a!e in the out!oin! si!nals 3and 0ice 0ersa6, causin! echo and distortion7
7%,%.%$ Noise
Lync has a noise canceller that re%o0es co%%on -ac*!round noise, #hich !oes unnoticed -y the recei0er7 Ho#e0er, %oderate a%ounts of noise can lead to distortion, and e9cessi0e noise can lead to distortion, audio cutouts, and 0olu%e fluctuations7 "dditionally, artificial sources of noise, such as co%puter2!enerated sounds can e0ade the noise canceller profiles7
4.2.3.1.1
Heatin!, 0entilatin!, and air2conditionin! 3H5")6 noise is often cancelled7 Ho#e0er, this is also the type of noise that users donKt !enerally notice, and so they %ay not %ention it #hen as*ed if there #ere noise sources in the roo%7
4.2.3.1.2
Laptops often pac* %icrophones close to other %echanical co%ponents that !enerate noise, such as fans and hard dri0es7 hese sounds often donKt fit the noise profile in the noise canceller and %ay -e e9cessi0ely loud to the recei0er7 Usin! headsets #ith -uilt2in sound cards on laptops can eli%inate this issue7
4.2.3.1.3
%ypin*
ypin! sounds are also cancelled -y the noise canceller7 Ho#e0er, if the user #ho is typin! is also tal*in!, the noise canceller #ill not suppress the audio7 ypin! sounds are often reco!ni/ed -y the recei0er as such, and so this issue is often not often reported to help des*7 FE
FF
%$
he audio pipeline consists of discrete sta!es fro% #hich audio si!nals are captured and trans%itted fro% one Lync $er0er endpoint to another, #here the audio is recei0ed and rendered7 he pipeline consists of the follo#in! sta!es@ "nalo! audio source "nalo! audio capture "nalo!2to2di!ital con0ersion 3"()6 (i!ital si!nal pac*et capture (i!ital si!nal preprocessin! Dncodin! .rotocol encapsulation Dncryption rans%ission &eception (ecryption (ecodin! &easse%-ly and -ufferin! Healin! .ost processin! .lay-ac* (i!ital2to2analo! con0ersion "nalo! audio render "s the audio si!nal !ets transfor%ed and %o0ed alon! the audio pipeline, the si!nal can -e su-:ected to certain for%s of distortion or attenuation, -ut can also -e i%%une to others7 Understandin! #hich types of distortions are possi-le at each sta!e can !reatly i%pro0e the speed -y #hich issues are isolated and dia!nosed7 he follo#in! topics descri-e each of these sta!es, ho# the audio can -e %odified, and #hat effects the 0arious sta!es ha0e on the su-:ecti0e quality of audio7
units, ).U fans, cars rollin! -y, and so on7 he ter% signal refers to the desired audio in any !i0en conte9t, and the ter% noise refers to e0erythin! else that coe9ists #ith the si!nal7 Cenerally, unless the spea*er is in a sound cha%-er, sounds in typical en0iron%ents are often a %i9 of si!nal and noise7 he ter% signal"to"noise# or $1&, refers to the a%ount of desired sound relati0e to un#anted noise7 If the $1& is lo#, itKs hard to distin!uish the preferred audio fro% the noise7 Jor e9a%ple, if a person is callin! fro% a cro#ded tradin! floor #ith %any other people tal*in! at the sa%e ti%e in close pro9i%ity, itKs hard to distin!uish and co%prehend the spea*erKs #ords7 Ho#e0er, if the spea*er is in a noisy ser0er roo% #ith loud fan noise, the speech %ay -e deciphera-le, and si!nal processin! ele%ents %ay -e a-le to clean up the si!nal to a certain de!ree7 Basically, the source audio should ha0e as hi!h an $1& as possi-le to help ensure !ood con0ersation quality7
FI
+.1.1 (ncryption
he encoded audio pac*et is encoded for pri0acy reasons7 Lync $er0er uses secure real2ti%e transport protocol 3$& .6, an encryption sche%e that helps to ensure a!ainst pac*et loss7 here should -e no quality de!radation associated #ith $& ., other than pac*ets that can -e discarded if the sender and recei0er ha0e -u!s in their i%ple%entation of the encryption process7
+.1.8 %ransmission
he trans%ission sta!e in0ol0es %any de0ices and indi0idual steps7 It is also the %ost si!nificant sta!e for this !uideKs intended audience, the net#or* ad%inistrator7 'ost of this !uide focuses on #ays to pre0ent issues in the trans%ission of audio and 0ideo, so the issues that can affect pac*ets in transit are not descri-ed here7 &ather, this section addresses the three #ays in #hich pac*et transit perfor%ance can -e de!raded8:itter, loss, and delay7
%$%@%$ Bitter
Jitter is the chan!e in delay fro% pac*et to pac*et7 he e9pected delay is equal to the pac*eti/ation ti%e, or p"time7 Jor e9a%ple, if 20%s of data is sent at a ti%e, a pac*et of data is sent e0ery 20%s7 "ny de0iation fro% the 20%s %ar* is considered :itter7 " :itter 0alue of E%s %eans, on a0era!e, that the pac*et #as early or late E%s fro% the e9pected arri0al ti%e7 Jitter can cause poor audio perfor%ance -ecause the recei0in! endpoint atte%pts to %ini%i/e delay -y playin! the audio as soon as it is recei0ed7 If a pac*et is delayed, the endpoint can either play a fra%e of /eros and !litch, or stretch out the pre0ious fra%e to -uy %ore ti%e7 $%art endpoints li*e Lync $er0er #ill also use an adapti0e :itter -uffer so that the first ti%e a lar!e !litch is e9perienced, the -uffer !ro#s to acco%%odate any additional :itter7 If no :itter is e9perienced for so%e ti%e, the -uffer slo#ly shrin*s7 his %eans sustained hi!h :itter is -etter than sporadic hi!h :itter7 Jor rans%ission )ontrol .rotocol 3 ).62-ased audio sessions, :itter is also the only i%pair%ent -ecause losses are re%o0ed -y retrans%ission7
%$%@%, Loss
.ac*et loss results directly in the recei0er atte%ptin! to reco0er fro% the loss -y usin! ad0anced correcti0e, or healing, al!orith%s7 $in!le pac*et losses can -e healed #ith %ini%al distortion7 Bac*2to2 -ac* pac*et losses %ay cause distortion7 Lar!er -ursts of loss result in speech cutout7 ;f course, the actual speech content plays a -i! role in ho# the listener percei0es the healed audio7 Jor e9a%ple, lost pac*ets containin! silence #ill not -e %issed, -ut lost pac*ets containin! i%portant sylla-les #ill -e %issed %uch %ore7 Jor#ard error correction al!orith%s pro0ide redundancy to help reco0er the lost pac*ets7 Ho#e0er, redundancy co%es at the e9pense of added -and#idth7 Jor#ard error correction 3JD)6 distance G0
!enerally does not !o !reater than one, so -ac*2to2-ac* pac*et losses are still hard to reco0er fro%7 >ouKll ha0e a hi!h pac*et loss rate and 0ery little noticea-le call quality de!radation if the losses are unifor%, or if JD) is ena-led7 In practice, losses are not unifor%, so a hi!h loss rate !enerally translates to poor audio e9perience7 In this !uide, #e discuss t#o different thresholds that are used in AoD reports7 " loss threshold of 10 percent is at a hi!h enou!h %ar* so that, %ost li*ely, the callers ha0e a poor e9perience7 his type of reportin! is used for !au!in! the a%ount of user listenin! dissatisfaction7 " threshold of 1 percent pac*et loss, on the other hand, is used to disco0er infrastructure issues -et#een #ell2connected endpoints on %ana!ed net#or*s7
%$%@%. 0elay
(elay is often %easured -y usin! the round2trip delay calculation 0ia the & ). channel7 (elay should -e directly correlated to the distance -et#een the callersQ therefore, a-solute thresholds are not useful for deter%inin! #hether an issue e9ists7 "lthou!h delay fi!ures in the usersK perception of o0erall quality, issues caused -y loss and :itter !enerally supersede those caused -y delay7 In so%e cases, lon! delays can cause Line Dcho )ancellers to fail #hen .$ 1 endpoints are in0ol0ed in calls7
+.1.1;
)eception
"s pac*ets arri0e on the recei0in! endpoint, they %ust -e read -y the Lync client or ser0er process in a ti%ely %anner7 If the Lync $er0er transport threads that are runnin! in user conte9t 3as opposed to *ernel6 are -loc*ed or delayed, the appearance of :itter, loss, or delay %ay e9ist in the end2to2end %etrics, such as AoD net#or* %etrics7
+.1.11
Decryption
(ecryptin! the pac*ets is the counterpart of encryptin! the%7 he only issue that can occur at this sta!e is the syste% fails to decrypt the pac*ets, #hich results in pac*ets -ein! discarded7 he result is no audio or audio loss %id#ay throu!h the call7
+.1.12
Deco in*
he decodin! sta!e is the counterpart of the encodin! sta!e7 $i%ilar to the decryption sta!e, if the #ron! codec is in use, it can result in audio loss7 In addition, -u!s in the encoder or decoder can cause %ath errors, #hich sound li*e !litches or other unnatural, %achine2%ade noises7 Jor e9a%ple, the C7G11 -it flip is a co%%on codin! %ista*e in C7G11 i%ple%entations, #hich produces a distincti0e distortion7
+.1.13
"fter decodin!, the audio is in unco%pressed di!ital for%7 he audio is stored in a lar!e -uffer and %ay contain spaces for %issin! pac*ets7 If the %issin! pac*ets arri0e in ti%e, they can -e inserted into the holes #ith no detri%ental effect on quality7 If they arri0e too late, the al!orith%ic healer e9trapolates the %issin! data -y usin! the surroundin! data7 he healin! process can produce %etallic soundin! artifacts, if pushed to e9tre%es7 $uch artifacts are sure indications that net#or* i%pair%ents e9ist7 hese are also the only types of artifacts introduced -y this processin! sta!e7
+.1.1/
0ost processin*
Before sendin! the healed audio to the sound de0ice to play -ac*, the audio is run throu!h di!ital si!nal processin! 3($.6 a!ain to i%pro0e the audio one last ti%e7 Cenerally, this in0ol0es applyin! !ain G1
al!orith%s -ecause the audio could ha0e co%e fro% non2Lync sources that donKt ha0e the -enefit of auto%atic !ain control 3"C)6 at the source7
+.1.15
0lay&ack
Lastly, the audio sa%ples are #ritten to the sound de0iceKs render -uffer at prescri-ed inter0als7 here is a chance that the Lync client can -e interrupted -y syste% e0ents or -ad dri0ers so that !litches are created7 Clitches on the render side can -e dia!nosed -y e9a%inin! a 'icrosoft 1et#or* 'onitor or +ireshar* capture to deter%ine if the audio arri0in! on the local endpoint is !litch2free7 here are also spea*er !litch counters in AoD for each client endpoint7
+.1.11
he di!ital2to2analo! con0ersion 3(")6 sta!e is strai!htfor#ard and does not ha0e any potential to de!rade the audio7 +e %ention it here for co%plete co0era!e of the sta!es7
+.1.17
+nalo* +u io )en er
he render sta!e can distort the audio if the spea*er de0ice is lo# quality7 Ho#e0er, %ost of these issues can -e easily disco0ered -y the user -ecause they affect all audio co%in! out of the de0ice7 he audio tunin! #i/ard in the Lync client ena-les users to test their audio de0ice, and can -e used to dia!nose spea*er issues7
G2
;%$
he Lync 2010 AoD data-ase is a relational data-ase that opti%i/es the a%ount of stora!e needed to house the call details7 "s such, there is usually one #ay to :oin the indi0idual ta-les -ac* to!ether to for% a full 0ie#7 he Lync 'onitorin! $er0er ships #ith se0eral 0ie#s created for the -undled reports7 hese 0ie#s can -e readily used for custo% queries7 he follo#in! dia!ra% sho#s sa%ple 2$AL code :oinin! so%e of the *ey ta-les to!ether into a flat 0ie#7
G3
;%,
he follo#in! query de%onstrates ho# the $ession, 'ediaLine, and User"!ent ta-les can -e :oined to!ether7 he :oin is ta!!ed #ith a na%e so that it can -e reused in the rest of the query7 6S$ 7o$#etrics8 9$C:AR$ ;begin"i0e 9ate"i0e < =20(1-(-( =8 9$C:AR$ ;end"i0e 9ate"i0e < =20(1-(-(5=8 >I"? #y:ync@oinVieA AS G4
B S$:$C" s/Conference9ate"i0e as Conference9ate"i0e .s/Start"i0e as Start"i0e .s/SessionSeC as SessionSeC .a/Strea0I9 as Strea0I9 .Caller6A/6A"ype AS Caller6A"ype .Callee6A/6A"ype AS Callee6A"ype .dbo/pIPInt"oStringB0/CallerSubnetD AS CallerSubnet .dbo/pIPInt"oStringB0/CalleeSubnetD AS CalleeSubnet !R,# ESessionF s >I"? BG,:,CHD IGG$R @,IG E#edia:ineF AS 0 >I"? BG,:,CHD ,G 0/Conference9ate"i0e < s/Conference9ate"i0e AG9 0/SessionSeC < s/SessionSeC IGG$R @,IG EAudioStrea0F AS a >I"? BG,:,CHD ,G a/#edia:ine:abel < 0/#edia:ine:abel and a/Conference9ate"i0e < 0/Conference9ate"i0e and a/SessionSeC < 0/SessionSeC IGG$R @,IG E6serAgentF AS Caller6A >I"? BG,:,CHD ,G Caller6A/6serAgentHey < s/Caller6serAgent IGG$R @,IG E6serAgentF AS Callee6A >I"? BG,:,CHD ,G Callee6A/6serAgentHey < s/Callee6serAgent >?$R$ s/Start"i0e I< B;begin"i0eD and s/Start"i0e J B;end"i0eD D S$:$C" K !R,# #y:ync@oinVieA
Note , best practice is highlighted in this &uery6 the use of the @+0%$ 3N!L!5A4B clause in the table -!0N statements /ecause most reports are run against the production Monitoring Server# using the @+0%$ 3N!L!5A4B clause prevents any unnecessary performance degradations on the server %here is no reason to expect updates to the records needed# so locking the tables should be avoided
;%.
M'icrosoft Lync $er0er 2010@ +or* $%art Cuide for 'onitorin! $er0er &eportsM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN301442 descri-es four cate!ories of infor%ation collected -y AoD@ end2to2end %etrics, endpoint %etrics, confi!uration para%eters, and e0ent ratios7 hese are functional cate!ories, %eanin! that they or!ani/e the %etrics into !roups -ased on ho# they can -e used for 0arious %onitorin! and reportin! #or*flo#s7
;%7
he follo#in! conceptual %odel descri-es ho# to %onitor the quality of a Lync $er0er deploy%ent7 $ee Lync "udio Auality 'odel for descriptions of %any of the Lync audio quality %onitorin! concepts that follo#7
he concept is that if any of these conditions are %et, the user is 0ery li*ely to e9perience poor audio7 "lthou!h such si%plification is useful for reportin! )""A, it is not helpful for reportin! infrastructure health7
o ans#er the pre0ious question of #hy there are so %any poor calls, youKll need to syste%atically define the poor call nu%-ers into different su-cate!ories, sho#in! -oth the quantity and percenta!e of poor calls7 )ertain distinct patterns e%er!e that can either reinforce your assu%ptions a-out audio quality or cause you to further refine the%7 " si%ple custo% query can shed %ore li!ht on the co%position of the )""A poor call nu%-er7 he follo#in! query e9a%ple defines poor calls -y cate!ory for .2. calls7
#5a/ple o' a custo/ =uery 'or poor calls by category o' P,P calls
6S$ 7oe#etrics 9$C:AR$ 9$C:AR$ ;S"AR"39A"$ 9A"$"I#$ < =(L2(L20(1 (('2('0M P#= ;$G939A"$ 9A"$"I#$ < =(L28L20(1 (('2('0M P#=8
>I"? P2P3Audio3!ull@oin AS GG
B S$:$C" CallerInside. CalleeInside. CallerGetAorNConnection"ype. CalleeGetAorNConnection"ype. CAS$ >?$G BCallerInside < ( AG9 CalleeInside < (D "?$G =OothInside= >?$G BCallerInside < 0 AG9 CalleeInside < 0D "?$G =Ooth,utside= $:S$ =Inside-,utside= $G9 AS :ocation. CAS$ >?$G BCallerGetAorNConnection"ype < 0 AG9 CalleeGetAorNConnection"ype < 0D "?$G =Ooth>ired= >?$G BCallerGetAorNConnection"ype < ( AG9 CalleeGetAorNConnection"ype < (D "?$G =Ooth>ireless= $:S$ =>ired->ireless= $G9 AS Connection"ype. CAS$ >?$G BSession/ClassifiedPoorCall < (D "?$G ( $:S$ G6:: $G9 AS IsPoorCall. Session/ClassifiedPoorCall !R,# Session IGG$R @,IG 6serAgent AS Caller6A >I"?BG,:,CHD ,G Session/Caller6serAgent < Caller6A/6serAgentHey IGG$R @,IG 6serAgent AS Callee6A >I"?BG,:,CHD ,G Session/Callee6serAgent < Callee6A/6serAgentHey IGG$R @,IG 6serAgent9ef AS Caller6A9ef >I"?BG,:,CHD ,G Caller6A9ef/6A"ype < Caller6A/6A"ype IGG$R @,IG 6serAgent9ef AS Callee6A9ef >I"?BG,:,CHD ,G Callee6A9ef/6A"ype < Callee6A/6A"ype IGG$R @,IG #edia:ine AS Audio:ine >I"?BG,:,CHD ,G Audio:ine/Conference9ate"i0e < Session/Conference9ate"i0e AG9 Audio:ine/SessionSeC < Session/SessionSeC AG9 Audio:ine/#edia:ine:abel < 0 >?$R$ Session/Start"i0e I< ;S"AR"39A"$ AG9 Session/$nd"i0e J ;$G939A"$ AG9 B Caller6A/6A"ype < ,R --,C Caller6A/6A"ype < 8 ,R --,CPhone Caller6A/6A"ype < (M ,R --:#C Caller6A/6A"ype < M ,R --#ac #essenger Caller6A/6A"ype < (28 ,R --Attendant Caller6A/6A"ype < 5(2 ,R --CAA Caller6A/6A"ype < (02 ,R --R)S Caller6A/6A"ype < (M18M ,R --Co0o Caller6A/6A"ype <(M185 --C>A D AG9 B Callee6A/6A"ype < ,R --,C Callee6A/6A"ype < 8 ,R --,CPhone Callee6A/6A"ype < (M ,R --:#C Callee6A/6A"ype < M ,R --#ac #essenger Callee6A/6A"ype < (28 ,R --Attendant GH
D D. "otals as B S$:$C" C,6G"BKD AS Gu0Sessions !R,# P2P3Audio3!ull@oin D S$:$C" 9IS"IGC" :ocation. Connection"ype. C,6G"BKD AS Gu0Sessions. C,6G"BIsPoorCallD AS PoorSessions !R,# P2P3Audio3!ull@oin )R,6P OP :ocation. Connection"ype ,R9$R OP :ocation. Connection"ype he sa%ple output is displayed in the follo#in! ta-le7
Sa/ple output o' a custo/ =uery 'or poor calls by category o' P,P calls
Location
BothInside BothInside BothInside Both;utside Both;utside Both;utside Inside2;utside Inside2;utside Inside2;utside Total Sessions
"onnectionType
Both+ired Both+ireless +ired2+ireless Both+ired Both+ireless +ired2+ireless Both+ired Both+ireless +ired2+ireless
Nu/Sessions
G4FH2 G0G2 230H0 4EG2 I2E4 I42I 1432I 103EF G023F ,,.,-$-
PoorSession s
442 43G 1202 FHG 1440 1330 1FE2 1330 EI12 $77.,
D poor
07FP F72P E72P 1E70P 1E7FP 1471P 117EP 127HP H74P
Jro% this query output, al%ost all the poor calls #ere due to at least one outside caller or one +i2Ji caller7 Jor quality reportin!, it is useful to include this le0el of detail in any report that contains quality %etrics, so that the <#hy= query can -e ans#ered i%%ediately7 he data also su!!ests that trac*in! )""A as a quality %etric %ay not -e appropriate for the net#or* operations tea% -ecause they %a*e not -e a-le to fi9 poor calls caused -y e9ternal net#or* i%pair%ents7 Ho#e0er, the su-set of calls that are BothInside and Both+ired do tra0erse infrastructure that is %ana!ed -y the net#or* operations tea%7 his query is desi!ned to ta*e an e9istin! report fro% Lync $er0er and further analy/e its co%ponents7 Jor trou-leshootin! #or*flo#s, you %ust further custo%i/e the report7 Jor e9a%ple, you need to start -y e9a%inin! the user2a!ent types that are included in the .2. scenario7 )urrently, -oth client and ser0er endpoints are in the %i97 " poor call, e0en on a #ired net#or*, can -e caused -y the client, or the ser0er, or -oth7 he clients are also spread !lo-ally in a lar!e Lync $er0er deploy%ent7 If there are issues #ith GI
the corporate infrastructure, the net#or* ad%inistrators #ill #ant to *no# #hat they are, and #here7 he follo#in! topic e9a%ines so%e syste%atic approaches to reportin!, analy/in!, and %ana!in! net#or* health7
;%8
Server9Server <eports
$er0er2$er0er &eports present the net#or* health of net#or* paths -et#een 0arious types of Lync %edia ser0ers7 ;nly certain Lync $er0er roles can ter%inate %edia7 hey include the "5')U, 'ediation $er0er, I.2.$ 1 Cate#ay, D9chan!e Unified 'essa!in! $er0er, )onference "uto "ttendant, )onference "nnounce%ent $er0ice, "udio est $er0ice, and others7 he %ost #idely used ser0ers that ter%inate %edia in a typical Lync $er0er deploy%ent are the "5')U, 'ediation $er0er, and I.2.$ 1 Cate#ay7 hese ser0ers also conduct %edia sessions #ith each other so theyKre perfect endpoints for $er0er2 H0
$er0er &eports7 "dditionally, these ser0er roles are usually not collocated on the sa%e physical -o9es, so the %edia traffic %ust tra0erse so%e part of the net#or* infrastructure7 he follo#in! topics descri-e the characteristics of each of the three ser0er roles and ho# they can -e used for %onitorin! your %ana!ed infrastructure health7
#./.1 +9 M!<
he "5')U is the heart of the audio20ideo conferencin! infrastructure7 he ser0er is desi!ned to hold thousands of si%ultaneous audio and 0ideo sessions, so any perfor%ance de!radation in the soft#are, hard#are, and associated net#or* infrastructure affects %any users7 he "5')U is !enerally the focus of capacity plannin! efforts in the predeploy%ent sta!es, and runs on so%e of the -est hard#are in a Lync $er0er deploy%ent7 he "5')U is inte!rated #ith $yste% )enter ;perations 'ana!er 3$);'6 alertin!, so certain issues that are not net#or*2related #ill -e disco0ered and resol0ed7 his is #hy net#or* perfor%ance can -e confir%ed #ith $er0er2$er0er and )lient2$er0er &eports #here the "5')U is one of the endpoints7 In lar!e enterprises, "5')Us are typically located centrally in data centers7 If the 'ediation $er0ers are located in the data center as #ell, the "5')U2'ediation $er0er 3'$6 3or "5')U2 '$6 &eports can confir% the path #ithin the data center7 If the 'ediation $er0ers are located at re%ote sites, you can o-tain a -roader 0ie# of the net#or* quality7
6S$ 7o$#etrics8 9$C:AR$ ;begin"i0e 9ate"i0e < =20(1-(-( =8 9$C:AR$ ;end"i0e 9ate"i0e < =20(1-(-(5=8 >I"? !ull:ync@oinVieA AS B S$:$C" s/Conference9ate"i0e AS Conference9ate"i0e .s/Start"i0e AS Start"i0e .s/SessionSeC AS SessionSeC H1
.a/Strea0I9 AS Strea0I9 .Caller6A/6A"ype AS Caller6A"ype .Callee6A/6A"ype AS Callee6A"ype .Caller$P/Ga0e AS Caller$ndpoint .Callee$P/Ga0e AS Callee$ndpoint .Bcase Ahen BPacNet:ossRate I /0( ,R PacNet:ossRate#aQ I /05D then ( else null endD AS IsOadStrea0 !R,# ESessionF s >I"? BG,:,CHD IGG$R @,IG E#edia:ineF AS 0 >I"? BG,:,CHD ,G 0/Conference9ate"i0e < s/Conference9ate"i0e AG9 0/SessionSeC < s/SessionSeC IGG$R @,IG EAudioStrea0F AS a >I"? BG,:,CHD ,G a/#edia:ine:abel < 0/#edia:ine:abel and a/Conference9ate"i0e < 0/Conference9ate"i0e and a/SessionSeC < 0/SessionSeC IGG$R @,IG E6serAgentF AS Caller6A >I"? BG,:,CHD ,G Caller6A/6serAgentHey < s/Caller6serAgent IGG$R @,IG E6serAgentF AS Callee6A >I"? BG,:,CHD ,G Callee6A/6serAgentHey < s/Callee6serAgent IGG$R @,IG E$ndpointF AS Caller$P >I"? BG,:,CHD ,G Caller$P/$ndpointHey < s/Caller$ndpoint IGG$R @,IG E$ndpointF AS Callee$P >I"? BG,:,CHD ,G Callee$P/$ndpointHey < s/Callee$ndpoint >?$R$ AG9 s/Start"i0e I< B;begin"i0eD AG9 s/Start"i0e J B;end"i0eD and Caller6A/6A"ype in B(. 2D and Callee6A/6A"ype in B(. 2D D .AllV,IPStrea0s AS B S$:$C" Caller$ndpoint AS AV#C63$ndpoint .Callee$ndpoint AS #S3$ndpoint .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 !R,# !ull:ync@oinVieA >?$R$ Caller6A"ype in B2D AG9 Callee6A"ype in B(D 6GI,G A:: S$:$C" Callee$ndpoint AS AV#C63$ndpoint .Caller$ndpoint as #S3$ndpoint .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 !R,# H2
!ull:ync@oinVieA >?$R$ Callee6A"ype in B2D AG9 Caller6A"ype in B(D D .PoorStrea0sSu00ary AS B S$:$C" 9IS"IGC" AV#C63$ndpoint .#S3$ndpoint .countBKD as AllStrea0s .countBIsOadStrea0D as OadStrea0s .castB(00/0 K castBcountBIsOadStrea0D as floatD L castBcountBKD floatD as deci0alB . (DD as OadStrea0sRatio !R,# AllV,IPStrea0s )R,6P OP AV#C63$ndpoint .#S3$ndpoint D S$:$C" K !R,# PoorStrea0sSu00ary ,R9$R OP AV#C63$ndpoint. #S3$ndpoint he reportKs e9a%ple output is displayed in the follo#in! ta-le7
Sa/ple output o' 2M"U9Mediation Server report
as
<eport0ate
14142013 14142013 14242013 14242013 " " " "
2M"UE#ndpoint
L>1)"51 L>1)"52 L>1)"51 L>1)"52
MSE#ndpoint
" " " " L>1)'$2 L>1)'$2 L>1)'$2 L>1)'$2
llStrea/s
3,21E 3,004 3,3I0 2,IF0
;adStrea/s
F 13 F 10
;adStrea/s<atio
0700 0700 0700 0700
(escriptions of the 0arious ele%ents of this query follo#7 he ele%ents are co%%on to all the $er0er2to2 $er0er queries and $u-net queries in this section7
fro% that "5')U, -ut it #onKt %atter #hether the call ori!inated fro% the "5')U7 Jor certain scenarios, call initiation direction does %atterQ for this report, it does not7 Lastly, the last 0ie#, PoorStreamsSummary, si%ply filters for those strea%s fro% the "ll5;I.$trea%s 0ie# that are poor7 his lets you co%pute the poor strea%s ratio -y :oinin! the t#o 0ie#s to!ether in the final query7
6S$ 7o$#etrics8 9$C:AR$ ;begin"i0e 9ate"i0e < R(-(-20(1=8 9$C:AR$ ;end"i0e 9ate"i0e < =2-(-20(1=8 >I"? !ull:ync@oinVieA AS B S$:$C" s/Conference9ate"i0e AS Conference9ate"i0e .s/Start"i0e AS Start"i0e .s/SessionSeC AS SessionSeC .a/Strea0I9 AS Strea0I9 .Caller6A/6A"ype AS Caller6A"ype .Callee6A/6A"ype AS Callee6A"ype .Caller$P/Ga0e AS Caller$ndpoint .Callee$P/Ga0e AS Callee$ndpoint .Bcase Ahen BPacNet:ossRate I /0( ,R PacNet:ossRate#aQ I /05D then ( else null endD AS IsOadStrea0 !R,# ESessionF s >I"? BG,:,CHD IGG$R @,IG E#edia:ineF AS 0 >I"? BG,:,CHD ,G 0/Conference9ate"i0e < s/Conference9ate"i0e AG9 0/SessionSeC < s/SessionSeC IGG$R @,IG EAudioStrea0F AS a >I"? BG,:,CHD ,G H4
a/#edia:ine:abel < 0/#edia:ine:abel and a/Conference9ate"i0e < 0/Conference9ate"i0e and a/SessionSeC < 0/SessionSeC @,IG E6serAgentF AS Caller6A >I"? BG,:,CHD ,G Caller6A/6serAgentHey < s/Caller6serAgent @,IG E6serAgentF AS Callee6A >I"? BG,:,CHD ,G Callee6A/6serAgentHey < s/Callee6serAgent @,IG E$ndpointF AS Caller$P >I"? BG,:,CHD ,G Caller$P/$ndpointHey < s/Caller$ndpoint @,IG E$ndpointF AS Callee$P >I"? BG,:,CHD ,G Callee$P/$ndpointHey < s/Callee$ndpoint
>?$R$ AG9 s/Start"i0e I< B;begin"i0eD AG9 s/Start"i0e J B;end"i0eD and Caller6A/6A"ype in B(. 125MSD and Callee6A/6A"ype in B(. 125MSD D .AllV,IPStrea0s AS B S$:$C" Caller$ndpoint AS #S3$ndpoint .Callee$ndpoint AS )>3$ndpoint .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 !R,# !ull:ync@oinVieA >?$R$ Caller6A"ype in B(D AG9 Callee6A"ype in B125MSD 6GI,G A:: S$:$C" Callee$ndpoint AS #S3$ndpoint .Caller$ndpoint as )>3$ndpoint .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 !R,# !ull:ync@oinVieA >?$R$ Callee6A"ype in B(D AG9 Caller6A"ype in B125MSD D .PoorStrea0sSu00ary AS B S$:$C" 9IS"IGC" #S3$ndpoint .)>3$ndpoint .countBKD as AllStrea0s .countBIsOadStrea0D as OadStrea0s HE
.castB(00/0 K castBcountBIsOadStrea0D as floatD L castBcountBKD floatD as deci0alB . (DD as OadStrea0sRatio !R,# AllV,IPStrea0s )R,6P OP #S3$ndpoint .)>3$ndpoint D S$:$C" K !R,# PoorStrea0sSu00ary ,R9$R OP #S3$ndpoint. )>3$ndpoint he reportKs e9a%ple output is displayed in the follo#in! ta-le7
Sa/ple output o' Mediation Server9 &P PSTN Gateway report
as
<eport0ate
14142013 14142013 14242013 14242013
MSE#ndpoint
" " " " L>1)'$2 L>1)'$2 L>1)'$2 L>1)'$2
G1E#ndpoin t
" " " " L>1)'$2 L>1)'$2 L>1)'$2 L>1)'$2
llStrea/s
1,2GI 1,04F 1,340 1,IF3
;adStrea/s
F 13 F 10
;adStrea/s<atio
0700 0701 0700 0701
;%>
Subnet <eports
"fter the net#or* and infrastructure health of the ser0ers in a Lync $er0er data center has -een confir%ed, you can %onitor the health of indi0idual user corporate su-nets that ter%inate Lync "45 traffic7 Loo* only at calls -et#een endpoints in a user su-net and a Lync %edia ser0er7 In other #ords, e9a%ine only the conference calls and .$ 1 call lo!s -et#een the client and the 'ediation $er0er7 "ny de!raded net#or* %etrics can -e attri-uted to the su-net or inter%ediaries in the path fro% the su-net to the Lync %edia ser0er7 he user su-nets can -e further di0ided into t#o types@ #ired su-nets and #ireless su-nets7 he di0ision is necessary -ecause -undlin! #ireless call %etrics #ith #ired call %etrics creates too %uch noise7 ItKs easy to assert that pac*et loss and :itter should -e lo# fro% a #ired client endpoint to a Lync $er0er endpoint7 "fter youK0e asserted #ired su-net health, you can %onitor any de!raded net#or* %etrics in #ireless calls fro% the su-net that can -e attri-uted to the #ireless infrastructure of the site7 his syste%atic approach can produce stron!, action2oriented trou-leshootin! #or*flo#s7
6S$ 7o$#etrics8 declare ;begin"i0e dateti0e < =2L(L20(1=8 declare ;end"i0e dateti0e < =(L(L20(1=8 >I"? !ull:ync@oinVieA AS HF
B S$:$C" s/Conference9ate"i0e as Conference9ate"i0e .s/Start"i0e as Start"i0e .s/SessionSeC as SessionSeC .a/Strea0I9 as Strea0I9 .Caller6A/6A"ype AS Caller6A"ype .Callee6A/6A"ype AS Callee6A"ype .0/CallerGetAorNConnection"ype AS CallerGetAorNConnection"ype .0/CalleeGetAorNConnection"ype AS CalleeGetAorNConnection"ype .dbo/pIPInt"oStringB0/CallerSubnetD AS CallerSubnet .dbo/pIPInt"oStringB0/CalleeSubnetD AS CalleeSubnet .Bcase Ahen BPacNet:ossRate I /0( ,R PacNet:ossRate#aQ I /05D then ( else null endD AS IsOadStrea0 !R,# Eser*erna0eF/E7o$#etricsF/dbo/ESessionF s >I"? BG,:,CHD IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/E#edia:ineF AS 0 >I"? BG,:,CHD ,G 0/Conference9ate"i0e < s/Conference9ate"i0e AG9 0/SessionSeC < s/SessionSeC IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/EAudioStrea0F AS A >I"? BG,:,CHD ,G a/#edia:ine:abel < 0/#edia:ine:abel and a/Conference9ate"i0e < 0/Conference9ate"i0e and a/SessionSeC < 0/SessionSeC IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/6serAgent AS Caller6A >I"? BG,:,CHD ,G Caller6A/6serAgentHey < s/Caller6serAgent IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/6serAgent AS Callee6A >I"? BG,:,CHD ,G Callee6A/6serAgentHey < s/Callee6serAgent >?$R$ s/Start"i0e I< B;begin"i0eD and s/Start"i0e J B;end"i0eD and 0/CallerInside < ( and 0/CalleeInside < ( D .AllV,IPStrea0s as B S$:$C" C,GV$R"B9A"$"I#$. C,GV$R"BVARC?AR.9A"$PAR"B#,G"?. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"B9AP. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"BP$AR. Start"i0eDDD AS Report9ate .CallerSubnet As Subnet .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 .Caller6A"ype as 6A( --for testing .Callee6A"ype as 6A2 !R,# !ull:ync@oinVieA >?$R$ Caller6A"ype < --,C AG9 Callee6A"ype in B(.2D --#S. AV#C6 HG
AG9 CallerGetAorNConnection"ype < 0 -->ired 6GI,G A:: S$:$C" C,GV$R"B9A"$"I#$. C,GV$R"BVARC?AR.9A"$PAR"B#,G"?. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"B9AP. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"BP$AR. Start"i0eDDD AS Report9ate .CalleeSubnet as Subnet .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 .Callee6A"ype as 6A( --for testing .Caller6A"ype as 6A2 !R,# !ull:ync@oinVieA >?$R$ Callee6A"ype < --,C AG9 Caller6A"ype in B(.2D --#S. AV#C6 AG9 CalleeGetAorNConnection"ype < 0 D .PoorStrea0sSu00ary AS B S$:$C" 9IS"IGC" Report9ate .Subnet .countBKD as AllStrea0s .countBIsOadStrea0D as OadStrea0s .castB(00/0 K castBcountBIsOadStrea0D as floatD L castBcountBKD as floatD as deci0alB . (DD as OadStrea0sRatio !R,# AllV,IPStrea0s )R,6P OP Report9ate .Subnet D S$:$C" Report9ate. PoorStrea0sSu00ary/Subnet. AllStrea0s. OadStrea0s. OadStrea0sRatio !R,# PoorStrea0sSu00ary )R,6P OP Report9ate. PoorStrea0sSu00ary/Subnet. AllStrea0s. OadStrea0s. OadStrea0sRatio ,R9$R OP HH
;adStrea/s F 13 F 10
;%?
;ccasionally, the $er0er2to2$er0er &eports and $u-net &eports are used -y %ore than :ust the net#or* en!ineerin! tea%7 he dotted2deci%al su-net I. addresses and ser0er na%es %ay -e cryptic for Lync ad%inistrators and pro:ect %ana!ers7 >ou can au!%ent the $er0er2to2$er0er &eports and $u-net &eports -y referencin! other corporate I assets, such as the location data of Lync ser0ers, and si%ple na%es of corporate su-nets7 >ou should construct a ta-le of su-nets2to2net#or* na%es or ser0er na%es2to2location na%es, as sho#n in the follo#in! ta-les7
Subnets9to9Network Na/es <e'erence
Subnet
1EG7EI7F371 1EG7EI7I072 1G27E7F3722
Network Na/e
"tlanta site 1 Houston sales flr2 &ed%ond &W(
Server Na/e
" L>1)"51 " L>1)'$2
Location
"tlanta, C" "tlanta, C"
his data can su-sequently -e co%-ined #ith the Lync $er0er AoD data to create a reada-le report7
he follo#in! ta-le sho#s a $u-net &eport e9a%pleKs output #ith si%ple net#or* na%es7 HI
Lync Server Networking Guide Sa/ple output o' Subnets9to9Network Na/es report
<eport0ate
14142013 14142013 14242013 14242013
SubnetNa/e
"tlanta site 1 Houston sales "tlanta site 1 Houston sales
llStrea/s
1,4EF 322 1,3I0 2E0
;adStrea/s
F 13 F 10
;adStrea/s<atio
0700 0704 0700 0704
;%A
he $er0er2to2$er0er &eports and $u-net &eports, sho#n in pre0ious sections, contain date infor%ation7 his infor%ation ena-les you to plot the data across se0eral days7 +hen youKre e9a%inin! the data for stran!e patterns, itKs useful to see the data o0er %ultiple days or e0en %onths7 If a spi*e in poor calls is detected, youKd #ant to *no# if the issue occurred :ust recently, or if itKs -een around for a #hile7 ;-0iously, the a%ount of historic quality %etrics that can -e pulled depends on ho# %uch data is a0aila-le on the production AoD ser0er7 ypically, due to the 0olu%e of call data that is !enerated, that a%ount is li%ited to only three %onths7 If lon!er trendin! ran!es are needed, se0eral additional solutions are possi-le7 Jor e9a%ple, rollin! out ne# Lync $er0er co%ponents or up!radin! e9istin! co%ponents can ta*e %onths7 he pro:ect %ana!er %ay #ant to trac* quality %etrics across %a:or infrastructure chan!e e0ents7 ;ne #ay to retain historic data is to si%ply sa0e the quality data on a re!ular -asis7 he pre0iously docu%ented queries produce data that can -e cached7 "s lon! as the queries donKt chan!e, there is no need to rerun the query a!ainst the production AoD ser0er a!ain7 he a%ount of data that needs to -e *ept is s%all, and the li%its to ho# %uch of the report data can -e *ept is li%itless7 If *eepin! :ust the report data is insufficient, a data #arehousin! solution is needed7 here are se0eral #ays of i%ple%entin! a #arehousin! solution, #ith one solution descri-ed later in this topic7
;%@
he AoD data-ase contains se0eral %etrics desi!ned to trac* user e9perience #ith %edia quality7 hese %etrics include audio healer %etrics, such as &atio)oncealed$a%ples, as #ell as 0arious %ean opinion score 3';$6 %etrics, such as ;0erall"0!1et#or*';$ and &ecei0eListen';$7 he follo#in! ta-le lists %ore e9a%ples of these %etrics7
User #5perience Metrics
Metric
&atio)oncealed$a%ples"0! &atio$tretched$a%ples"0! &atio)o%pressed$a%ples"0! ;0erall"0!1et#or*';$ ;0erall'in1et#or*';$ (e!radation"0! (e!radation'a9 (e!radationJitter"0! (e!ration.ac*etLoss"0!
Type
"udio Healer "udio Healer "udio Healer ';$ ';$ ';$ ';$ ';$ ';$
User e9perience %etrics can -e added to the $er0er2$er0er or $u-net rend queries to !i0e an additional 0ie# of the net#or* i%pair%ents7 Kno#in! ho# %uch net#or* i%pair%ent users are e9periencin! %ay help I ad%inistrators !ain additional insi!hts -ehind the ra# pac*et loss %etrics7 he follo#in! su-net trend query has -een %odified to include the 1et#or* 'ean ;pinion score 3';$6 %etric7 he 1et#or* ';$ is a0era!ed per su-net7 ItKs co%pletely feasi-le to loo* at 'ini%u% 1et#or* ';$ or use other a!!re!ation functions such as 'I136, and so on7 I0
Lync Server Networking Guide #5a/ple o' Subnet Trend =uery /odi'ied to include the Network Mean !pinion Score 3M!S4 /etric
6S$ 7o$#etrics8 declare ;begin"i0e dateti0e < =2L(L20(1=8 declare ;end"i0e dateti0e < =(L(L20(1=8 >I"? !ull:ync@oinVieA AS B S$:$C" s/Conference9ate"i0e as Conference9ate"i0e .s/Start"i0e as Start"i0e .s/SessionSeC as SessionSeC .a/Strea0I9 as Strea0I9 .Caller6A/6A"ype AS Caller6A"ype .Callee6A/6A"ype AS Callee6A"ype .0/CallerGetAorNConnection"ype AS CallerGetAorNConnection"ype .0/CalleeGetAorNConnection"ype AS CalleeGetAorNConnection"ype .dbo/pIPInt"oStringB0/CallerSubnetD AS CallerSubnet .dbo/pIPInt"oStringB0/CalleeSubnetD AS CalleeSubnet .Bcase Ahen BPacNet:ossRate I /0( ,R PacNet:ossRate#aQ I /05D then ( else null endD AS IsOadStrea0 .9egradationA*g !R,# Eser*erna0eF/E7o$#etricsF/dbo/ESessionF s >I"? BG,:,CHD IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/E#edia:ineF AS 0 >I"? BG,:,CHD ,G 0/Conference9ate"i0e < s/Conference9ate"i0e AG9 0/SessionSeC < s/SessionSeC IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/EAudioStrea0F AS a >I"? BG,:,CHD ,G a/#edia:ine:abel < 0/#edia:ine:abel and a/Conference9ate"i0e < 0/Conference9ate"i0e and a/SessionSeC < 0/SessionSeC IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/6serAgent AS Caller6A >I"? BG,:,CHD ,G Caller6A/6serAgentHey < s/Caller6serAgent IGG$R @,IG Eser*erna0eF/E7o$#etricsF/dbo/6serAgent AS Callee6A >I"? BG,:,CHD ,G Callee6A/6serAgentHey < s/Callee6serAgent >?$R$ s/Start"i0e I< B;begin"i0eD and s/Start"i0e J B;end"i0eD and 0/CallerInside < ( and 0/CalleeInside < ( D .AllV,IPStrea0s as B S$:$C" C,GV$R"B9A"$"I#$. C,GV$R"BVARC?AR.9A"$PAR"B#,G"?. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"B9AP. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"BP$AR. Start"i0eDDD AS Report9ate .CallerSubnet As Subnet .Conference9ate"i0e .SessionSeC I1
.Strea0I9 .IsOadStrea0 .9egradationA*g .Caller6A"ype as 6A( --for testing .Callee6A"ype as 6A2 !R,# !ull:ync@oinVieA >?$R$ Caller6A"ype < --,C AG9 Callee6A"ype in B(.2D --#S. AV#C6 AG9 CallerGetAorNConnection"ype < 0 -->ired 6GI,G A:: S$:$C" C,GV$R"B9A"$"I#$. C,GV$R"BVARC?AR.9A"$PAR"B#,G"?. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"B9AP. Start"i0eDD T =L= T C,GV$R"BVARC?AR.9A"$PAR"BP$AR. Start"i0eDDD AS Report9ate .CalleeSubnet as Subnet .Conference9ate"i0e .SessionSeC .Strea0I9 .IsOadStrea0 .9egradationA*g .Callee6A"ype as 6A( --for testing .Caller6A"ype as 6A2 !R,# !ull:ync@oinVieA >?$R$ Callee6A"ype < --,C AG9 Caller6A"ype in B(.2D --#S. AV#C6 AG9 CalleeGetAorNConnection"ype < 0 D .PoorStrea0sSu00ary AS B S$:$C" 9IS"IGC" Report9ate .Subnet .countBKD as AllStrea0s .countBIsOadStrea0D as OadStrea0s .castB(00/0 K castBcountBIsOadStrea0D as floatD L castBcountBKD as floatD as deci0alB . (DD as OadStrea0sRatio .a*gB9egradationA*gD as A*gG#,S9eg !R,# AllV,IPStrea0s )R,6P OP Report9ate .Subnet D S$:$C" Report9ate. PoorStrea0sSu00ary/Subnet. I2
I3
such as poorly perfor%in! audio de0ices, or co%pro%ised ho%e or pu-lic hotspots7 he follo#in! sections pro0ide e9a%ples of AoD queries that can fill that !ap7
#.1;.1
Device Queries1
he follo#in! query pulls all the de0ices used in calls in a 242hour period7 $i%ilar de0ices are !rouped to!ether, and the nu%-er of ti%es they #ere used is tallied7 he data is sorted -y the $endListen';$ %etric7 $endListen';$ is the payload ';$ of the audio -efore the audio is sent on the net#or*7 his %eans that the only factors that can contri-ute to the de!radation of the audio are en0iron%ental or de0ice issues7 +ith statistically lar!e sa%ples, you can rule out en0iron%ental effects, lea0in! de0ice issues as the %ain contri-utor of the de!radation7
#5a/ple 0evice =uery
9$C:AR$ ;Oegin"i0e as 9ate"i0e2 < =1L(0L20(1=8 9$C:AR$ ;$nd"i0e as 9ate"i0e2 < 9A"$A99B9AP. (. ;Oegin"i0eD8 6S$ 7o$#etrics8 >I"? !ull:ync9e*ice@oinVieA AS B S$:$C" CallerCapture9e*ice/9e*iceGa0e AS CallerCapture9e*iceGa0e. CalleeCapture9e*ice/9e*iceGa0e as CalleeCapture9e*iceGa0e. SendGoise:e*el. SendSignal:e*el. $choReturn. $choPercent#icIn. $choPercentSend. Audio#ic)litchRate. Send:isten#,S. Send:isten#,S#in. SenderIsCallerPAI !R,# ESessionF IGG$R @,IG #edia:ine AS Audio:ine >I"? BG,:,CHD ,G Audio:ine/Conference9ate"i0e < Session/Conference9ate"i0e AG9 Audio:ine/SessionSeC < Session/SessionSeC IGG$R @,IG AudioStrea0 >I"? BG,:,CHD ,G AudioStrea0/Conference9ate"i0e < Audio:ine/Conference9ate"i0e AG9 AudioStrea0/SessionSeC < Audio:ine/SessionSeC AG9 AudioStrea0/#edia:ine:abel < Audio:ine/#edia:ine:abel IGG$R @,IG AudioSignal >I"? BG,:,CHD ,G AudioSignal/Conference9ate"i0e < Session/Conference9ate"i0e AG9 AudioSignal/SessionSeC < Session/SessionSeC AG9 AudioSignal/#edia:ine:abel < Audio:ine/#edia:ine:abel IGG$R @,IG 9e*ice AS CallerCapture9e*ice >I"? BG,:,CHD ,G CallerCapture9e*ice/9e*iceHey < Audio:ine/CallerCapture9e* IGG$R @,IG 9e*ice AS CalleeCapture9e*ice >I"? BG,:,CHD ,G CalleeCapture9e*ice/9e*iceHey < Audio:ine/CalleeCapture9e* >?$R$ Session/Start"i0e I ;Oegin"i0e AG9 Session/Start"i0e J ;$nd"i0e AG9 Send:isten#,S IS G," G6:: 1 Jor a discussion on issues #ith de0ice na%in! and a potential solution please see <+or*in! #ith de0ice na%es in AoD data= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*I(N32GIH27 I4
D. AllV,IPStrea0s as B S$:$C" 9IS"IGC" CallerCapture9e*iceGa0e AS Capture9e*iceGa0e. SendGoise:e*el. SendSignal:e*el. $choReturn. $choPercent#icIn. $choPercentSend. Audio#ic)litchRate. Send:isten#,S. Send:isten#,S#in !R,# !ull:ync9e*ice@oinVieA >?$R$ SenderIsCallerPAI < ( 6GI,G S$:$C" 9IS"IGC" CalleeCapture9e*iceGa0e AS Capture9e*iceGa0e. SendGoise:e*el. SendSignal:e*el. $choReturn. $choPercent#icIn. $choPercentSend. Audio#ic)litchRate. Send:isten#,S. Send:isten#,S#in !R,# !ull:ync9e*ice@oinVieA >?$R$ SenderIsCallerPAI < 0 D S$:$C" 9IS"IGC" Capture9e*iceGa0e. A*gBSendGoise:e*elD AS A*gSendGoise:e*el. AV)BSendSignal:e*elD AS A*gSendSignal:e*el. AV)B$choReturnD AS A*g$choReturn. AV)B$choPercent#icInD AS A*g$choPercent#icIn. AV)B$choPercentSendD AS A*g$choPercentSend. AV)BAudio#ic)litchRateD AS A*gAudio#ic)litchRate. AV)BSend:isten#,SD AS A*gSend:isten#,S. AV)BSend:isten#,S#inD AS A*gSend:isten#,S#in. C,6G"BKD AS Gu0Strea0s !R,# AllV,IPStrea0s )R,6P OP Capture9e*iceGa0e ,R9$R by AV)BSend:isten#,SD he queryKs output is displayed in the follo#in! ta-le7
!utput o' device =uery
"apture0eviceNa/e
vgSendListenM!S
Nu/Strea/s
Internal Micro !one "Conexant #$%&% S'artAudio ()* Micro !one "SoundMA. Integrated )igital () Audio* Internal Micro !one "Conexant #$%2, S'artAudio ()*
,-$ ,#1 01
IE
"apture0eviceNa/e
vgSendListenM!S
Nu/Strea/s
Internal Micro !one "Conexant #$20# S'artAudio ()* Integrated Micro !one Array "I)3 (ig! )e4inition Audio C5)EC* Micro !one Array "I)3 (ig! )e4inition Audio C5)EC* Ec!o Cancelling S ea6er !one "7a8ra SPEA9 1,$ USB* Micro !one ":ealte6 (ig! )e4inition Audio* Internal Mic "I)3 (ig! )e4inition Audio C5)EC* Micro !one "(ig! )e4inition Audio )evice* Micro !one "#; (ig! )e4inition Audio )evice* (eadset Micro !one "Microso4t Li4eC!at L.;2$$$* (eadset Micro !one "#; Microso4t Li4eC!at L.;2$$$* (eadset Micro !one "7a8ra UC V5ICE %%$ MS USB* (eadset Micro !one "-; <N #$$$ USB 5C* (eadset Micro !one "<N #$$$ USB 5C* (eadset Micro !one "#; <N #$$$ USB 5C* (eadset Micro !one "1; <N #$$$ USB 5C* (eadset Micro !one "Microso4t Li4eC!at L.;1$$$* (eadset Micro !one "7a8ra BI= 2#$ USB*
-+## -+-% -+%-+2$ -+2-+0$ -+0, -+&2 -+// 1+$1 1+,1+,/ 1+#2 1+-2 1+-& 1+1# 1+1/
,&& 22 12 1& ,%# %2 1## ,21 ##$ ,#1 12 &# 1,2 ,-2 02 1$ -1
he %ost poorly perfor%in! de0ices are -uilt2in sound de0ices on laptops and des*tops7 he -est perfor%in! de0ices are headsets7 his is in line #ith e9pectations7 Ho#e0er, seein! the data firsthand can %oti0ate Lync $er0er ad%inistrators to tell users that their choice of de0ices can !reatly influence call quality7 Lync ad%inistrators should co%%unicate this fact e0en -efore they in0esti!ate net#or* i%pair%ents that could further de!rade the audio7 he data does ha0e so%e issues, such as sho#in! the de0ice ordinals assi!ned -y the operatin! syste%7 'ultiple instances of the sa%e de0ice are scattered -ut in different positions in the operatin! syste% nu%-erin! sche%e, and therefore appear as different de0ices7 his %a*es collatin! %etrics -y the sa%e actual de0ice %ore difficult7 >ou can resol0e this issue #ith so%e cle0er strin! parsin!7
IF
Int ernal
Internal
CAS
AV MC U
CAA
Mediation S erver
Call Leg
PSTN call8If an internal Lync user places a call to the .$ 1, there can -e t#o or three call le!s7 If the call is -ein! placed fro% a site to a re%ote Cate#ay, or in a scenario #here %edia -ypass is not possi-le or not ena-led, there #ill -e three call le!s@ one to a %ediation ser0er, a second to the !ate#ay and a third fro% the !ate#ay out to the .$ 17 If the !ate#ay is local and %edia -ypass is ena-led, there #ill -e t#o call le!s@ one fro% the client to the !ate#ay and a second fro% the !ate#ay out to the .$ 17 "on'erence call8Internal participants in a conference call #ill ha0e a sin!le le!@ fro% their client to the )onferencin! $er0er 3"5 ')U67 &e%ote participants #ill si%ilarly ha0e a sin!le le!, ho#e0er, it #ill tra0erse the internet and -e relayed 0ia the Dd!e ser0er7 .$ 1 participants #ill ha0e three call le!s@ one fro% the .$ 1 into a !ate#ay, a second fro% the !ate#ay into a %ediation ser0er and finally fro% the IG
%ediation ser0er into the )onferencin! $er0er 3"5 ')U67 In a conference call, there are other ele%ents that handle %edia includin! the )onferencin! "nnounce%ent $er0er 3)"$6 and the )onferencin! "uto "ttendant 3)""67 In )A' #e refer to audio streams, and, %ore specifically, deter%ine a percenta!e of poor strea%s across a particular call le!7 " stream represents a discrete & . %edia -itstrea% fro% one Lync co%ponent to another7 In the si%plest e9a%ple of a peer2to2peer Lync call there #ill -e t#o strea%s U one fro% the caller to the callee and another -ac* fro% the callee to the caller7 In the %ore in0ol0ed scenarios a-o0e, a call #ill -e co%posed of %ultiple strea%s tra0ersin! each respecti0e call le!7 &ead the article, <Ho# %any sessions and strea%s do #e see in AoD for a conferenceL= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIG1 for %ore detail on ho# #e cate!ori/e and store data a-out strea%s and further !roup the% into sessions@
(etailed quality infor%ation a-out each call le! is stored in the Lync Auality of D9perience 3AoD6 data-ase7 Dach Lync co%ponent that processes %edia #ill create and send a record into the AoD data-ase reportin! on the quality of the call le!7 his includes clients and "5 ')U and 'ediation ser0ers7 his rich set of call quality data in the AoD data-ase is the -asis of )A'7 hrou!hout )A' #e use a set of 2$AL queries to report on call paths and de0ices7 )A' esta-lishes quality tar!ets that are used to dri0e trou-leshootin! and operational procedures7 )A' assu%es you ha0e 0isi-ility into the net#or*, as #ell as the capa-ility to trou-leshoot pro-le%atic %edia strea%s across it7 he query approach is detailed in "ppendi9 B7
Note. %here are two set of &ueries in the C0P file with the &ueries6 one in the Lync '()( folder and one in the Lync '()* folder %he &ueries in the Lync '()( folder have filenames containing D'()( and should be used with a Lync '()( Monitoring 9atabase %he &ueries in the Lync '()* folder should be used with a Lync '()* Monitoring Store
he precedin! call type e9a%ples !i0e you an idea of ho# different call types tra0erse different Lync co%ponents7 )all quality is a co%-ination of all call le!s and de0ices U if any one le! or endpoint is causin! poor quality, the entire call #ill suffer and your users #ill hear it7 +hile the dia!ra% has a nu%-er of arro#s and ele%ents, it is a si%plified representation of a Lync deploy%ent7 D0en in a sin!le pool i%ple%entation, you #ill ha0e %ultiple instances of the )onferencin! $er0er 3"5 ')U6 for e9a%ple, and typically you #ill ha0e %ultiple pools as #ell7 In addition to the Lync ele%ents, the underlyin! net#or* that connects clients and ser0ers to!ether is typically co%ple9 as #ell7 $o%e Lync ser0ers %ay -e in a sin!le datacenter on a #ell2connected L"17 ;thers %ay -e connected across a +"17 Jor e9a%ple, in so%e deploy%ents the %ediation ser0er %ay -e in the sa%e datacenter as the "5 ')U7 Ho#e0er, in others, a %ediation ser0er %ay -e across the +"1 tra0ersin! %any additional net#or* ele%ents7 )A' is desi!ned to !i0e you tele%etry across your net#or*7 he dia!ra% -elo# sho#s an enterprise net#or* #ith Internet, .eri%eter, (atacenter and $ite co%ponents7 "5 ')U to 'ediation $er0er queries pro0ide -road co0era!e across this net#or* as sho#n in the !reen se!%ents in the dia!ra%@
IH
he 'ediation $er0er to Cate#ay queries pro0ide additional co0era!e, a!ain indicated -y the !reen se!%ents@
II
he AoD data-ase doesnKt ha0e infor%ation on your ed!e or peri%eter net#or*7 +eK0e recently released a tool called .re)all (ia!nostics 3.)(6 that #ill help you identify and dia!nose net#or* pro-le%s in your peri%eter net#or* per the dia!ra% -elo#7 >ou can do#nload the .)( tool fro% the follo#in! lin*s@ +indo#s H 'odern "pp@ http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIG2 +indo#s (es*top "pp@ http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GI14
Jor %ore infor%ation a-out the .)(, see <Lync .re)all (ia!nostics ool= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*I(N3241FF7
In this %anner, )A' pro0ides co0era!e across your net#or* and into your endpoints as #ell7 )A' -rea*s do#n call quality into three di%ensions@ Server Plant8usin! the analo!y of a po#er plant, $er0er .lant incorporates all Lync ser0er ele%ents that ter%inate or ori!inate %edia as descri-ed in the dia!ra% a-o0e7 #ndpoints8collection of quality considerations introduced or caused -y the endpoint %a*in! or recei0in! a Lync call7 Last Mile8si%ilar to the .$ 1 challen!e of !ettin! the phone line fro% the central office to distri-uted endpoints, Last 'ile loo*s at ho# each Lync endpoint is connected to the net#or*7 Dach di%ension is co%posed of a nu%-er of discrete ele%ents7 Dach ele%ent is so%ethin! #e can -oth %easure and control7 In %ost cases #e pull fro% the rich data collected in the AoD data-ase to deter%ine a -aseline for each ele%ent, and then trac* it #ith a !oal of reachin! and %aintainin! a stated quality tar!et7 Dach ele%ent in )A' is independent, ho#e0er, there is a natural priority to addressin! each7 Jor e9a%ple, in $er0er .lant, the first thin! you need to loo* at is the health of your Lync $er0ers to ensure they are not the source of poor quality7 It doesnKt %a*e sense to loo* at the net#or* underneath pro-le%atic call le!s until you can assert the health of your ser0ers7 " final )A' tenet@ "s discussed in other areas of this !uide U a *ey concept of quality is your %ana!ed net#or* 0ersus your un%ana!ed net#or*7 Jor e9a%ple, for call le!s that tra0erse the internet it is not possi-le to assert and %aintain a quality $L"7 >ou %ay decide other areas of your net#or*, li*e #ireless, are also currently -est effort or un%ana!ed7 "s you custo%i/e )A' for your uses, focus on the areas you consider %ana!ed U the ones that you control7 $ee $ections 171 and B7474 for additional thou!hts on 'ana!ed 0ersus Un%ana!ed7
$% Server *ealth8assurin! your Lync 'edia $er0ers 3"5 ')U and 'ediation6 are healthy and not contri-utin! to conditions that #ill cause poor quality, includin! pac*et loss and :itter7 ,% 2 M"U G9H Mediation Server8loo*in! at strea%s -et#een these t#o ser0er roles ser0icin! dial2in conferencin! users7
.% Mediation Server G9H Gateway8loo*in! at strea%s -et#een 'ediation ser0er and their !ate#ay peers ser0icin! dial2in conferencin! users7 7% Gateway to PSTN8loo*in! at the final le! fro% the !ate#ay out to the .$ 17 1ote that AoD has no tele%etry data into these sessions and you #ill need to #or* #ith your !ate#ay %anufacturer to deri0e a data dri0en approach here7 he follo#in! dia!ra% sho#s these ele%ents as #ell as the ser0ers and strea%s they correspond to7
CAS
AV MC U
CAA
Mediation S erver
PS3N <ateway
!.1.2 (n points
Dndpoints are co%posed of four ele%ents@ 17 0evice8this is the I. or U$B de0ice used to place or recei0e a call7 Unqualified de0ices are often the source of call quality pro-le%s7 27 Syste/8the .) used to place or recei0e a call7 " co%%on syste% pro-le% is !litch !eneration #hich causes quality de!radation7
101
37 Media Path8Ideally peer2to2peer calls !o directly -et#een t#o syste%s7 " co%%on issue is internal fire#alls causin! internal calls to relay across the internal interface of an ed!e ser0er7 his is non2opti%al and can cause quality and capacity issues7 47 Media Transport8U(. is the ideal transport for %edia, ho#e0er, if U(. cannot -e ne!otiated ). is used, #hich results in poor %edia quality7 he follo#in! dia!ra% sho#s these ele%ents, as #ell as the ser0ers and strea%s they correspond to7 "!ain, prioriti/e addressin! the easy issues first U start -y loo*in! at de0ices, and once you ha0e a handle on that #or* your #ay out7
Int ernal
Internal
AV MC U
102
Internal
Internal
AV MC U
Mediation S erver
PS3N <ateway
Dach of the 10 )A' ele%ents introduced a-o0e are descri-ed in detail in the re%ainder of this section7 +hat is not co0ered is a ser0ice %ana!e%ent approach to i%ple%entin! )A'7 his is critical and #ill 0ary dependin! on your e9istin! operational processes and tools7 he follo#in! ite%s #ill -e *ey to your success should you pursue i%ple%entin! )A' in your en0iron%ent@ 17 0e'ine daily:weekly:/onthly processes8'onitorin! rhyth% for each ne# ele%ent typically starts at a hi!her frequency 3daily6 and e0ol0es to lo#er frequency 3%onthly6 as area is re%ediated7 27 &denti'y tools8-oth to %easure and re%ediate7 +hile )A' is lar!ely dri0en -y data out of the AoD data-ase, it is -ased on custo% queries #hich %ay require tool and process approaches to run7 In addition, re%ediation %ay require additional net#or* le0el tools for e9a%ple to identify net#or* ele%ents causin! loss in a particular set of poor strea%s7 User e5perience8ulti%ately, this is your anchor7 &e%ediation acti0ities are not :ustified unless they sho# a %easura-le increase in user quality and satisfaction "ctiona-le end2user tic*ets4feed-ac* on quality issues .u-lish proacti0e quality %etrics )orrelate user e9perience #ith AoD %etrics Jor infor%ation on ho# 'icrosoft I deli0ers Lync $er0ice 'ana!e%ent, refer to this #hitepaper@ <;pti%i/in! Lync 2010 Dnterprise 5oice .erfor%ance= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIG37
103
strea%s in a conference #ill tra0erse these ser0ers7 he AoD data-ase has call quality infor%ation on e0ery one of these strea%s or!ani/ed -y the endpoints of each one7 +e ha0e de0eloped t#o custo% )A' queries to pull this infor%ation out of the AoD data-ase U PlantD)D,?M5UDMediation W PlantD'DMediationDGateway7 he queries loo* at pac*et loss to deter%ine quality of these strea%s7 In our internal testin!, #e ha0e found loss to -e the %ost co%%on source and o0erall indicator of net#or* pro-le%s leadin! to poor quality7 $pecifically, the follo#in! t#o conditions are used -y all the queries #hen a strea% is fla!!ed as poor 3parenthesis indicate the specific AoD attri-ute #e are chec*in!6@ 17 "0era!e pac*et loss !reater than 1P 3.ac*etLoss&ate T 7016 'a9i%u% pac*et loss !reater than EP 3.ac*etLoss&ate'a9 T 70E6 he ser0er2to2ser0er reports are descri-ed in additional detail in section B7E he query for "5 ')U to 'ediation operates o0er a date ran!e and #ill return infor%ation a-out all internal strea%s -et#een pairs of conferencin! and %ediation ser0ers li*e this 3in this e9a%ple top results are sho#n sorted -y hi!hest .oor$trea%s&atio6@
ReportDate %?&?#$,%?&?#$,%?-?#$,%?-?#$,-
>ou need to loo* at this initial -aseline and %a*e a deter%ination of the .oor$trea%s&atio you #ould li*e to achie0e in your en0iron%ent7 )onsider esta-lishin! a tar!et of EP or less7 "s you re%ediate top offenders 3for e9a%ple, in the a-o0e, the "5 ')U and 'ediation $er0er strea%s co%in! out of 'adrid ha0e hi!h poor strea%s ratio and need to -e re%ediated6 you #ill !et closer to achie0in! your tar!et7 he query for 'ediation to Cate#ay operates o0er a date ran!e and #ill return infor%ation a-out all internal strea%s -et#een pairs of %ediation ser0ers and .$ 1 !ate#ays li*e this 3in this e9a%ple, top results are sho#n sorted -y hi!hest .oor$trea%s&atio6@
ReportDate %?&?#$,%?&?#$,%?-?#$,%?-?#$,-
MS MA)L@NMS$,
GW
'adgw$,+contoso+co -A#,/ ' 'adgw$,+contoso+co MA)L@NMS$, -A%1& ' MA)L@NMS$, deugw$1+contoso+co' 1A$-MA)L@NMS$, deugw$%+contoso+co' 1A%$,
"!ain, deter%ine a .oor $trea%s &atio tar!et fro% this initial -aseline7 " tar!et of EP or under is opti%al7 he Cate#ay tar!et does not need to -e the sa%e as the "5 ')U tar!et7 Jor e9a%ple, if your 'ediation $er0ers are centrali/ed #hile your Cate#ays are decentrali/ed, you %ay decide to set the tar!et for 'ediation ser0er to Cate#ay strea%s hi!her than "5 ')U to 'ediation ser0er strea%s to account for hi!her loss as strea%s tra0erse +"1 lin*s7
ri!ht achie0a-le tar!et for -oth "5 ')U to 'ediation and 'ediation to Cate#ay strea%s7 >ou #ill achie0e your quality tar!ets #hen@ %he server"to"server &ueries results return PoorStreamsEatio F ' G for all combinations
your opti%al or [!oldenK !ate#ay confi!uration and re%ediate the%7 Jinally, %onitor capacity and e9pand it if the nu%-er of -loc*ed .$ 1 calls e9ceeds the threshold you esta-lished7
!.3.1 Device
"s you s#itch focus fro% your o0erall Lync .lant to endpoints, U$B de0ices are frequently the source of quality issues and su-sequently are the first place to loo*7 +e use the 'ean ;pinion $core 3';$6 0alues that Lync calculates and stores in the AoD data-ase to identify de0ices that are causin! poor audio quality7 Lync trac*s se0eral different ';$ scoresQ the specific ';$ 0alue #e loo* at for de0ices is the "0!$endListen';$ 0alue7 he )A' (e0ice query U 1ndpointD(D9evice H operates o0er a date ran!e and #ill return a list of de0ices alon! #ith the "0!$endListen';$ and the nu%-er of strea%s that de0ice #as used for7 In the e9a%ple -elo#, top results are sho# sorted -y the lo#est "0!$endListen';$ 0alue@ )apture(e0ice1a%e Internal 'icrophone 3)one9ant 20EHE $%art"udio H(6 'icrophone "rray 3I( Hi!h (efinition "udio );(D)6 Dcho )ancellin! $pea*erphone 3Ja-ra $.D"K 410 U$B6 Headset 'icrophone 3122 C1 2000 U$B ;)6 'icrophone sur casque 3H2 C1 2000 U$B ;)6 "0!$endListen';$ 27HH 37E3 37F0 37F3 37G0 1u%$trea%s 130 4F 32E 1E2 1HH
he first couple of entries a-o0e are usin! -uilt in %icrophones U typically these #ill -e lo#er quality than U$B de0ices -ut not al#ays7 he third entry is the first U$B de0ice 3Ja-ra spea*erphone67 he last t#o entries are actually the sa%e de0ice 3Ja-ra #ired headset6, :ust #ith different display na%es returned in the query7 he display na%e is -ased on the de0ice na%e in the endpoint operatin! syste%, and %ay contain locali/ed lan!ua!e as #ell as different U$B port infor%ation7 &efer to the follo#in! -lo! post for an approach to consolidate duplicate de0ice entries@ <+or*in! #ith de0ice na%es in AoD data= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIH2
"re the de0ices certified or *no#n to -e !ood in your en0iron%entL If the sa%e de0ice is returned in the query #ith a hi!her tar!et ';$ score than your -aseline than it %ay -e so%ethin! -esides the de0ice itself7 >ou can find a list of de0ices 'icrosoft has certified for use #ith Lync here@ <U$B "udio and 5ideo (e0ices= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIH3 >ou can identify users of a de0ice throu!h AoD U chec* to %a*e sure they ha0e the latest dri0ers and that the de0ice is not connected throu!h a U$B hu-7 Jinally chec* to see if there is a correlation -et#een -ad de0ices and particular syste% %a*es and %odels7 If so, there %ay -e an inco%pati-ility or dri0er up!rades needed7
!.3.2 'ystem
+hen #e loo* at the endpoints cate!ory, syste% %eans the de0ice or .) processin! the audio for a call7 here are t#o thin!s you need to loo* at here@ 17 "on'iguration Manage/ent8si%ilar to your Lync ser0ers, you need to ensure that your clients ha0e the latest dri0ers7 1et#or* card, BI;$, $ound W 5ideo dri0ers are *ey for Lync7 >ou also #ant to ensure that applications are #ell -eha0ed and donKt e9haust syste%s resources li*e %e%ory or processor that Lync needs to process audio7 Jinally ensure the appropriate anti0irus scannin! e9clusions are set@ 17 <'icrosoft "nti25irus D9clusion List= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GIGF 27 <"nti0irus $cannin! D9clusions for Lync $er0er 2013= at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN32GIGE Glitch <ate8#e call audio pro-le%s !enerated -y the .) [!litches,K and #e trac* the !litch rates in AoD7 By runnin! the )A' Clitch query you can see users #ith hi!h !litch rates and ta*e a loo* at their .)s to see #hat is causin! this7 he )A' Clitch query, 1ndpointD)DSystem, operates o0er a date ran!e and #ill return a list of strea%s fro% the caller #here the "udio'icClitch&ate is lar!er than 1, as #ell as the callerKs $I. address and the na%e of the de0ice used7 In the e9a%ple -elo#, top results are sho#n sorted -y the hi!hest )aller"udio'icClitch&ate 0alue@
ReportDate CallerAudioMicGlitchRat Caller DeviceName e %?&?#$,/& si Bwalter+!ar Ccontoso+co Micro !one "SoundMA. ' Integrated )igital () Audio* %?&?#$,/$ si Bwalter+!ar Ccontoso+co Micro !one "SoundMA. ' Integrated )igital () Audio* %?-?#$,/$ si B8en+s'it!Ccontoso+co' Internal Micro !one "Conexant #$%&% S'artAudio ()*
.lease note that conference calls donKt report !litch rate fro% the callee, #hich is the conferencin! ser0er or "5 ')U7 >ou should a!!re!ate entries #ith the sa%e )aller U&I as typically these #ill -e placed fro% the sa%e .)7 Be!in your in0esti!ation -y loo*in! at syste%s #ith hi!h caller !litch rates7
10H
II3
I4
44
o deter%ine the internal %edia sessions that relay throu!h an Dd!e ser0er, run the 1ndpointD'DEelay query7 he query operates #ith a date ran!e and reports on all strea%s #here -oth caller and callee are internal and one or -oth of the strea%s are 0ia the relay7 1ote that this query has a dependency on the Lync 2013 AoD sche%a, so it can only -e used in 2013 en0iron%ents7
Sa/ple results 'ro/ the <elay =uery:
$trea%(i rection Jro% )allee Jro% )aller Jro% )allee Jro% )aller Jro% )allee Jro% )aller
)allerU&I sip@:eff7harperYc ontoso7co% sip@:eff7harperYc ontoso7co% sip@:eff7harperYc ontoso7co% sip@:eff7harperYc ontoso7co% sip@ted7-re%erY contoso7co% sip@tu2FYcontos o7d*
)alleeU&I sip@:eff7s%ithYco ntoso7co% sip@:eff7s%ithYco ntoso7co% sip@ted7-re%erY contoso7co% sip@ted7-re%erY contoso7co% sip@:eff7harperYc ontoso7co% sip@:eff7harperYc ontoso7co%
110
111
!.4.1. 4ire
;f the t#o #ays clients connect to the net#or*, #ired is e9pected to deli0er the hi!hest quality, and correspondin!ly this %ust -e your initial focus7 he )A' +ired query 3 LastMileD(D+ired6 operates on a date ran!e and #ill return all internal #ired strea%s in your en0iron%ent fro% Lync clients to or fro% either )onferencin! ser0ers or 'ediation ser0ers7 Lync clients are, in this conte9t, defined as these user a!ent cate!ories@ ;), ;).H;1D, L'), 'ac 'essen!er, " D1("1 , L>1)I'', L+" and U)+"47 1ote that this query has a dependency on the Lync 2013 AoD sche%a, so can only -e used in Lync 2013 en0iron%ents7 he follo#in! sa%ple sho#s the top results sorted -y the ratio of poor to !ood strea%s@
CallerSubnet AllStreams ,%0+%/+2-+, ,%0+%/+/$+# ,%0+%/+21+, ,%0+%/+/,+# 202 1,$ 1$1 -11
PoorStreams #% ,,, /
Jor this data to -e %eanin!ful, you #ill need to %ap userKs corporate su-nets to your office locations7 ypically, your net#or* tea% #ill ha0e a data-ase you can cross reference and identify the locations #ith a hi!h percenta!e of poor strea%s7
4 Jor %ore infor%ation a-out the different client types used in the queries, see <5ie#in! net#or* health trends usin! AoD data= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN32GII37 112
!.4.2 4ireless
;nce you nor%ali/e the quality of your #ired client connections, #ireless -eco%es easier as the #ireless infrastructure sits atop the #ired core at each location7 .oor #ireless strea%s in a site #ith !ood #ired quality %ust -e attri-uted to the specific #ireless co%ponents7 he )A' +ireless query 3LastMileD)D+ireless6 operates on a date ran!e and #ill return all internal #ireless strea%s in your en0iron%ent fro% Lync clients to or fro% either conferencin! ser0ers or %ediation ser0ers7 Lync clients are, in this conte9t, defined as these user a!ent cate!ories@ ;), L'), 'ac 'essen!er, " D1("1 , +.Lync, i.honeLync, "ndroidLync, i.adLync, 1o*iaLync, L>1)I'', L+" and U)+"7 1ote that this query has a dependency on the Lync 2013 AoD sche%a so can only -e used in 2013 en0iron%ents7 he follo#in! sa%ple sho#s the top results sorted -y the ratio of poor to !ood strea%s@
PoorStreams 0% %0 12 -0
"!ain, to ta*e action on the data, you #ill #ant to %ap userKs corporate su-nets to your office locations7 ypically, your net#or* tea% #ill ha0e a data-ase you can cross reference and identify the locations #ith a hi!h percenta!e of poor strea%s7
113
$ince all audio strea%s are represented, you can easily render charts and include ho# %any of the strea%s in your en0iron%ent are on your %ana!ed net#or* 0ersus un%ana!ed7 >ou can see in the ta-le a-o0e the three ro#s 2 5.1, D9ternal, and all +ireless strea%s are considered un%ana!ed in this e9a%ple7 >ou can also see #hich type of strea%s %a*e up the %a:ority of your traffic7 In this e9a%ple, the data sho#s the %a:ority of strea%s are fro% users either dialin! into conferences 0ia .$ 1 or connectin! e9ternally7 Ci0en the un%ana!ed nature of e9ternal connections, this custo%er #ill need to thin* a-out creati0e #ays to educate their users on !ettin! the -est quality #hen connectin! 0ia e9ternal un%ana!ed net#or*s, and potentially :oinin! 0ia 5oI. on %o-ile de0ices to reduce .$ 1 usa!e7
he follo#in! 0ie# of this sa%e data focuses :ust on the %ana!ed strea%s, hi!hli!htin! the top contri-utors to poor strea%s on the %ana!ed net#or*7 In this case, #ired client2to2ser0er connections had the lar!est nu%-er of poor strea%s and, consequently, #ould -e the first place to focus for re%ediation7
>ou can also use the trendin! queries to sho# trends in a dash-oard 0ie#7 By reportin! su%%aries -y date and type, you #ill !et a ta-ular 0ie# li*e the follo#in!@
114
Un%ana!ed 3GP
" chart 0ie# of this data sho#s ho# %ana!ed strea%s are trendin! durin! a #ee*7 Here you see positi0e trends across the -oard in i%pro0in! strea% quality, -ut still sho#in! "5 ')U to 'ediation and +ired strea%s at poor strea% ratios that are too hi!h@
he natural pro!ression fro% these rollup 0ie#s is to deter%ine the ri!ht re%ediation focus areas7 Here is #here you could lin* -ac* to the detailed 0ie#s for a !i0en strea% type to -e!in that re%ediation7
"%> Su//ary
In this appendi9 #e ha0e sho#n ho# you can use )A' to i%pro0e the call quality across your Lync deploy%ent7 o su%%ari/e@ &un the trendin! queries to !et an idea #hich areas are pro-le%atic and prioriti/e #here you #ill focus first7 Dsta-lish an initial -aseline -y !oin! throu!h the three di%ensions and runnin! the related queries for the last t#o #ee*s7 "naly/e the results and create a prioriti/ed list of the ele%ents you need to focus on7 ypical priority areas #ill -e@ o o o o $er0er Health $er0er to $er0er (e0ices +ired $u-nets
Jor each of the ele%ents on your prioriti/ed list, run the related query and analy/e #hich ser0ers, su-nets or de0ices sho# the %ost poor strea%s7 )reate an action plan for re%ediation and i%ple%ent it7 )ontinue runnin! the query after each potential fi9, and see if the results sho# i%pro0e%ent7 +hen you ha0e %et the tar!et for this ele%ent, %o0e on to the ne9t one on the prioriti/ed list7 +hen all your di%ension ele%ents are #ithin the tar!ets, continue %onitorin! trends and start re%ediation as you see spi*es in quality7
11E
D.1.1 )%0
& . pro0ides end2to2end net#or* transport for real2ti%e applications7 & . contains infor%ation a-out the real2ti%e session so that applications can easily ad:ust for :itter, i%proper pac*et sequencin!, and dropped pac*ets7 'uch of this infor%ation is included in the & . header7 he structure of an & . pac*et is displayed in the follo#in! i%a!e@
0escription Identifies the 0ersion of & .7 +indo#s O. supports 0ersion 27 If set to 1, then one or %ore additional paddin! octets ha0e -een appended to the end of the payload7 he first padded octet indicates the nu%-er of additional octets that are included7 If the e9tension -it is set, then there is an e9tension header appended to the fi9ed & . header7 Lists the nu%-er of )ontri-utin! $ource 3)$&)6 identifiers that follo# the fi9ed & . header7 he & . profile deter%ines the definition and use of the 'ar*er -it7 (efines the & . payload type7 he initial sequence nu%-er starts #ith a rando% 0alue and increases -y incre%ents of one for each & . pac*et sent7 his 0alue can -e used -y real2ti%e applications to deter%ine pac*et loss and to restore proper pac*et sequencin!7 11F
i%esta%p
he ti%esta%p 0alue represents the sa%plin! instant of the first octet of the & . pac*et7 he sa%plin! frequency used depends upon the data type7 Jor e9a%ple, #hen +indo#s O. uses the C7G11 0oice codec, the sa%plin! frequency is set at H *H/7 he $$&) 0alue, #hich initiates as a rando%ly selected nu%-er, identifies the source of the & . strea% for each & . session7 he )$&) 0alue represents a source of %ultiple contri-utors to an & . session, #here the $$&) 0alue of each source is added to the )$&) 0alue -y an & . %i9er7
D.1.2 )%!0
& ). pac*ets contain infor%ation re!ardin! the quality of the & . session and the indi0iduals participatin! in the session7 Both sender3s6 and recei0er3s6 periodically trans%it & ). pac*ets to each participant in an & . session7 " real2ti%e application can use this infor%ation to %onitor the quality of the & . sessionQ for e9a%ple, to %onitor :itter and pac*et loss7 his allo#s the syste% to ne!otiate a different 3lo#er -and#idth codec for e9a%ple66 #hen pac*et loss or & is e9cessi0e7 here are fi0e & ). pac*et types7 +e #ill le0era!e $& 3$ender &eports6 and && 3&ecei0er &eports6 to identify #hether .ac*et Loss is -ein! reported7
& ). .ac*et ypes $& 3$ender &eport6 && 3&ecei0er &eport6 $(D$ 3$ource (escription6 B>D 3Cood-ye6 ".. 3"pplication2 defined6
(escription )ontains infor%ation re!ardin! the quality of the & . session7 )ontains infor%ation re!ardin! the quality of the & . session7 )ontains infor%ation re!ardin! the identity of each participant in the & . session7 Indicates that one or %ore sources are no lon!er acti0e in the & . session7 Jor e9peri%ental use -y ne# applications7
Dach .articipant in an & . session sends && pac*et types, and, if they are acti0e senders, they send $& pac*et types7 he && pac*et has t#o sections, the header and report -loc*s7 here is one report -loc* for each source7
11G
(escription Identifies the 0ersion of & .7 If set to 1, then one or %ore additional paddin! octets ha0e -een appended to the end of the payload7 he first padded octet indicates ho# %any additional padded octets are included7 Indicates the nu%-er of reception -loc*s contained in the & ). pac*et7 & ). pac*et type7 he 0alue for an &&N201 and for an $&N2007 )ontains the len!th of the & ). pac*et in 322-it #ords %inus 17 )ontains the synchroni/ation source identifier for the & ). pac*et7
0escription )ontains the 1et#or* i%e .rotocol 31 .6 ti%e sta%p or a-solute #all cloc* ti%e7 If #all cloc* ti%e is not a0aila-le, then the sender can use the elapsed ti%e since :oinin! the & . session for the 1 . i%esta%p 0alue7 If the elapsed ti%e is used, then the hi!h2 order -it is set to /ero7 If neither #all cloc* ti%e nor elapsed ti%e is a0aila-le, then the co%plete 1 . i%esta%p 0alue is set to /ero7 )ontains the sa%e ti%e as the 1 . i%esta%p, e9cept that the & . i%esta%p is !i0en in the sa%e units and #ith the sa%e rando% offset as the ti%e sta%p included in the header of the & . pac*ets7 )ontains the total nu%-er of & . pac*ets sent -y the sender fro% the -e!innin! of the & . session up to the sendin! of this $& pac*et7 his 0alue is reset if, for so%e reason, the $$&) 0alue of the sender has chan!ed7 )ontains the total nu%-er of octets sent -y the sender fro% the -e!innin! of the & . session up to the sendin! of this $& pac*et7 his 0alue is reset if, for so%e reason, the $$&) 0alue of the sender chan!es7
11H
<eport block structure $& and && pac*ets can contain /ero or %ore report -loc*s7 " report -loc*, #hich is appended directly after the & ). header, is recei0ed for each $$&) included in the & . data pac*ets recei0ed since the last report #as recei0ed -y the recei0er7 he structure of report -loc*s is the sa%e for -oth $& and && pac*ets7
0escription )ontains the synchroni/ation source identifier for each report -loc* included in the & ). pac*et7 )ontains the fraction of & . pac*ets lost fro% the source 3$$&)Bn6 since the last $& or && pac*et #as sent7 )ontains the total nu%-er of pac*ets lost fro% the source 3$$&)Bn6 since the initiation of the session7 his 0alue is deri0ed fro% the sequence nu%-ers found in & . pac*ets, #here the dropped & . pac*ets are indicated -y a !ap in sequence nu%-erin!7 his field is di0ided into t#o parts7 he least si!nificant 1F -its contain the hi!hest sequence nu%-er recei0ed in an & . pac*et fro% the source 3$$&)Bn67 he %ost si!nificant 1F -its contain the nu%-er of sequence nu%-er cycles7 )ontains an esti%ate of the 0ariance in the interarri0al ti%e of & . pac*ets7 his 0alue is %easured in & . ti%e sta%p units and is deri0ed fro% the difference -et#een pac*et spacin!, as %easured fro% -oth the recei0er and sender for t#o pac*ets7 )ontains the %iddle 32 -its of the F42-it 1 . ti%e sta%p ta*en fro% the %ost recent & ). $& fro% source $$&)Bn7 )ontains the ti%e difference -et#een the receipt of the last $& pac*et fro% the source $$&)Bn and sendin! this reception report -loc*, #here each tic* of this counter represents 14FEE3F seconds7
"lthou!h & . and & ). are specifically desi!ned for the needs of real2ti%e co%%unication o0er a pac*et2-ased net#or*, they do not pro0ide Ao$ %echanis%7 Instead, they lea0e quality of ser0ice issues to the underlyin! net#or* and data2lin* layers7 (72 rou-leshootin! .ac*et Loss he reco%%ended hi!h le0el steps to trou-leshoot pac*et loss are@ )apture si%ultaneous net#or* trace -et#een -oth ser0er endpoints7 $ee 1et%on details in "ppendi9 J
11I
Jilter net#or* capture -y & . or & ). .orts, )on0ersation I( or $$&) 3$ynchroni/ation $ource I(6 to correlate #ith AoD or $2$ Indi0idual strea%s query7 Jilter the trace for & ). Loss T 07 Identify & ). $ender4&ecei0er report -loc*s #here .ac*et Loss #as reported7 5erify $equence \Ks end to end to deter%ine net#or* loss 3sequence not arri0in!67 D0aluate & . .ayload ype for pac*ets i%%ediately precedin! the reported pac*et loss to deter%ine causality7
0%. #5a/ple Scenario F &nvestigate Packet Loss reported between Mediation Server and Gateway
17 )ollect a 1et%on trace -et#een the t#o ser0ers or endpoint and ser0er pair you are trou-leshootin!7 27 .ull the AoD data for that sa%e ti%e period to identify a poor strea%7 In this e9a%ple, #e can see that the loss is e9perienced pri%arily on the strea% -et#een 3'D(]Cate#ay 47I1P "0!7 .ac*et Loss W 24P 'a9 .ac*et Loss67
120
)orrelate the AoD strea% #ith the 1et%on race -y port pair and ti%esta%ps7 Jor e9a%ple, ta*e the ports #here & .4& ). #ere ne!otiated and co%pare the net#or* trace con0ersations7
In this e9a%ple #e can see that & . setup o0er U(. 3E22E221IG1H6 and & ). setup on the ne9t sequential U(. port co%-ination 3E22E321IG1I67 In net#or* %onitor, the follo#in! display filters can -e used for isolatin! the I.04WU(. con0ersations@ )on0ersation7I.047Id NN 1 )on0ersation7U(.7Id NN 2 )on0ersation7U(.7Id NN 3 (eri0e the & . $$&) or $ynchronous $ource I( of the call in 1et%on7 ;nce you ha0e identified the particular con0ersation, you can filter on the & . con0ersation 3)on0ersation7U(.7Id NN 26, you should then see t#o strea%s, one in each direction7 'ediation $er0er 2TCate#ay strea% $$&)@ 0922-a2IHa 3EH2F2EFG46
Cate#ay 2T'ediation $er0er strea% $$&)@ 09fF020dGd 3412G32IFF16 Jilter the trace to loo* at :ust & . pac*ets that %atch the $$&)7 121
'D(2TCate#ay filter@ & .7$ync$ourceId NN 0922-a2IHa Cate#ay 2T'D( filter@ & .7$ync$ourceId NN 09fF020dGd (eri0e the & ). $$&) of $ender W &ecei0er &eports of the call after filterin! 3)on0ersation7U(.7Id NN 367 'ediation $er0er 2TCate#ay strea% $$&)@ 0922-a2IHa 3EH2F2EFG46 & ).7.ac*ets7& )..ac*et7$r7$src NN 0922-a2IHa ;& & ).7.ac*ets7& )..ac*et7$r7$src NN 09fF020dGd & ).7.ac*ets7& )..ac*et7$r7&eportBloc*7$src1 NN 0922-a2IHa Cate#ay 2T'ediation $er0er strea% $$&)@ 09fF020dGd 3412G32IFF16 & ).7.ac*ets7& )..ac*et7$r7$src NN 0922-a2IHa ;& & ).7.ac*ets7& )..ac*et7$r7&eportBloc*7$src1 NN 09fF020dGd In this e9a%ple, #e are filterin! first on )allee2T)aller 3'ediation $er0er 2T Cate#ay $trea% 3$ender &eport66 & ).7.ac*ets7& )..ac*et7$r7&eportBloc*7$src1 NN 09fF020dGd ;& & ).7.ac*ets7& )..ac*et7$r7$src NN 0922-a2IHa )aller2T)allee 3Cate#ay2T'ediation $er0er $trea% 3$ender &eport66 & ).7.ac*ets7& )..ac*et7$r7&eportBloc*7$src1 NN 0922-a2IHa ;& & ).7.ac*ets7& )..ac*et7$r7$src NN 09fF020dGd
122
;ptionally, you can loo* at & ). pac*et loss reports fro% the %edia stac* & ).BLosses 3infor%ational6 in D L output file fro% Lync $er0er Lo!!in! tool7 +or* -ac*#ards fro% & ). Losses reportin! to understand #hat is causin! the -eha0ior7 In our e9a%ple, #e are no# a-le to pinpoint #hen the loss occurred7 Jilter@ & ).7.ac*ets7& )..ac*et7$r7&eportBloc*7$src1 NN 0922-a2IHa 1ote ti%e in trace #here loss occurs7 S,ero lossT .ac*ets lost 0Q 1F@43@3G7E124IE0 .ac*ets lost 10HQ 1F@43@447I14FHI0 .ac*ets lost 132Q 1F@43@E27403F2H0 .ac*ets lost 144Q 1F@44@147G041340 .ac*ets lost 1EFQ 1F@44@3F7HH221G0 .ac*ets lost 1FHQ 1F@44@EH7FF2I440 .ac*ets lost 1H0Q 1F@4E@0E7GE1F4E0 1ote@ .ac*et loss is incre%entin! at inter0als of 12 pac*ets -ein! reported lost each successi0e & ). $&67 &e2e0aluate the strea% payload and concurrent ti%in! #ith the lost pac*ets7 3e67 'D(2TCate#ay filter@ & .7$ync$ourceId NN 0922-a2IHa In this e9a%ple, #hen !oin! -ac* to the strea% fro% 'ediation $er0er #e can see %ultiple & . payloads7 In addition to & .7.ayload ype NN 090 3.)'U "udio6, there #as also & .7.ayload ype NN 09FE 3& . .ayload 101 or ( 'J6 :FC #&-- ; :3P Payload 4or )3MF )igitsA 3ele !ony 3ones and 3ele !ony Signals +hen filterin! on & .7.ayload ype NN 09FE, you are a-le to see in the net#or* trace 12 ( 'J pac*ets 3at a ti%e6 that #ere lost at 0arious inter0als7 "lso, #ith this filter, you can see the %ar*er -it is set on the first of these pac*ets7 3& .7'ar*er NN 0916 123
Jor e9a%ple, #hen #e see the & ). .ac*ets lost NN 1EF, i%%ediately prior, the follo#in! fra%es #ere ( 'J pac*ets 3correlated #ith pac*ets identified as lost67 SSJra%e 41E, 41G, 41I, 422, 42E, 42H, 431, 434, 43G, 440, 441, 442TT .ac*ets lost 1EFQ 1F@44@3F7HH221G0
12 pac*ets lost i%%ediately -efore the loss is reported in & ).7 <!!T " US#: Issue #ith !ate#ay sittin! in front of .BO7 he !ate#ay de0ice #as %is2reportin! loss for the ( 'J pac*ets7
124
12E
ppendi5 6% Tools
he follo#in!s sections pro0ide the Lync Server #$,$?Exc!ange Uni4ied Messaging "UM* #$,$
tools+
6%$
"ollect Logs
0escription@ " tool in Lync $er0er that adds a "ollect Logs -utton to the Lync client7 his ena-les users to collect lo!s #hen an issue is occurrin!7 his is an e9tre%ely useful tool and should -e used #hene0er possi-le #hen trou-leshootin! audio40ideo issues7 he tool is disa-led -y default, -ut can -e ena-led -y policy7 o ena-le4disa-le this feature on a per2client -asis, see the follo#in! t#o fi!ures7 ?H$P3:,CA:3#AC?IG$VS,!">AR$VPoliciesV#icrosoftVCo00unicator &$nable"racing&<dAord'0000000( &$nable$*ent:ogging&<dAord'0000000( &$nable9iagnostics:ogsCollection&<dAord'00000002
#nable J"ollect LogsJ
"fter the user has collected the lo!s, a )"B file is created in the GuserprofileGJ%racing folder7 he file has the follo#in! na%in! con0ention@ 'ediaLo!B22EHDI0)23IGI24I1E2""3D2I(IIF"F)H1D0220102122 10B0II20I2EHB4707GE3F700007ca-7 Jor details a-out this tool, see M)ollect Lo!s in 'icrosoft LyncM at http@44!o7%icrosoft7co%4f#lin*4p4L Lin*IdN2II3G2 on the Lync $er0er .o#er$hell ech1et -lo!7
6%,
0escription: he (e-u!!in! ools for +indo#s is a tool set used to de-u! dri0ers, applications, and ser0ices in +indo#s7 Jor details, see M(o#nload and Install (e-u!!in! ools for +indo#sM at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G37
6%.
err%e5e
0escription@ (eter%ine error 0alues fro% deci%al and he9adeci%al error codes in +indo#s operatin! syste%s7 Jor details, see <'icrosoft D9chan!e $er0er Drror )ode Loo*2up= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3G47
6%7
0escription@ he co%%and2line tool, )$Drror7e9e, helps to trou-leshoot e0ent lo! errors that do not display any descripti0e te9t7 he tool atte%pts to %ap the error code to a description of the error7 +hen possi-le, it prints the cause of the error and reco%%ends a resolution7 Jor details, see <'icrosoft Lync $er0er 2010 &esource Kit ools= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3GE7
12F
6%8
0escription@ he D9chan!e rou-leshootin! "ssistant 3see follo#in! fi!ure6 is a tool that is included #ithin the D9chan!e 'ana!e%ent )onsole and that lets ad%inistrators ena-le dia!nostics lo!!in!7
o launch the rou-leshootin! "ssistant to ena-le tracin!, do the follo#in!@ 17 Launch the D9chan!e 'ana!e%ent )onsole7 27 $elect Toolbo57 37 (ou-le2clic* Per'or/ance Troubleshooter7 47 )lic* Select a Task7 E7 )lic* Trace "ontrol7 F7 ;n the "on'igure Trace 6ile pa!e, accept the defaults for@ 3 4 E race Jile Location7 race Jile 1a%e7 'a9 trace file si/e7 G7 $elect Se=uential Logging7 H7 )lic* Set /anual trace tags7 he specific co%ponents to trace differ -y scenario7 hese steps create a -inary trace file called #5change0ebugTraces%#TL7 he default location for this file is JProgram 2ilesJMicrosoftJ1xchange ServerJ7
12G
6%>
Log Parser
0escription@ <Lo! parser= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3GF is a po#erful, 0ersatile tool that pro0ides uni0ersal query access to te9t2-ased data, such as lo! files, O'L files, and )$5 files, as #ell as *ey data sources on the +indo#s operatin! syste%, such as the D0ent Lo!, the &e!istry, the file syste%, and "cti0e (irectory (o%ain $er0ices7
6%?
0escription@ he <Lync $er0er 2013, Best .ractices "naly/er= at http@44!o7%icrosoft7co%4f#lin*4p4L lin*IdN2FFE3I is desi!ned for ad%inistrators #ho #ant to deter%ine the o0erall health of their Lync $er0er en0iron%ent7 " si%ilar 0ersion e9ists for <Lync $er0er 2010, Best .ractices "naly/er= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2EF3EH7
6%A
0escription@ <Lync )lient2side lo!!in!= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3GG is a 0alua-le trou-leshootin! tool that can -e ena-led #ith the follo#in! steps@ 17 In the upper ri!ht corner of the Lync %ain #indo#, clic* !ptions 3!ear icon67 In the Lync 9 !ptions dialo! -o9, clic* General7 27 Under Logging, select the Turn on logging in Lync and Turn on 1indows #vent logging 'or Lync chec* -o9es, and clic* !)7 37 &estart Lync, and then try to reproduce the issue7 he result produces a )o%%unicator2uccp7lo! file, as #ell as so%e +indo#s D L files, all located in usernameJtracing7
6%@
0escription@ he <Lync $er0er 2010 Lo!!in! ool= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3GH facilitates trou-leshootin! -y capturin! and lo!!in! tracin! infor%ation fro% Lync $er0er #hile it is runnin!7 he Lo!!in! ool alon! #ith the Lync $er0er ad%inistrati0e tools can -e used to trou-leshoot issues on any Lync $er0er role7 Lync $er0er 2010 Lo!!in! ool !enerates lo! files on a per2ser0er -asis, so it %ust -e acti0ely runnin! and tracin! on each co%puter for #hich you #ant to !enerate a lo!7
12H
Unless other#ise noted, use the follo#in! 0alues #hen !atherin! traces@ Le0el@ "ll Jla!s@ )hec* "ll ype@ 1e# Jile 'a9i%u% $i/e@ 100 'B
12I
6%$. !"Stracer%e5e
0escription@ <;)$ racer7e9e= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3H2 is co%%and2line tool that starts and stops trace sessions for 'icrosoft ;ffice )o%%unications $er0er 200G4'icrosoft Lync $er0er co%ponents7 his tool is %ost rele0ant in Unified 'essa!in!4Lync $er0er inte!rated en0iron%ents #here $I. traffic is encrypted7 o collect $4 lo!!in! on an D9chan!e Unified 'essa!in! $er0er@ 17 Jro% the co%%and pro%pt, -ro#se to 56Jprogram filesJMicrosoft U5M, ' (J5ore EuntimeJ%racing7 130
27
37 "fter the issue has -een reproduced, type the follo#in! to stop lo!!in!@ ocstracer stop 47 o for%at the trace@ !cstracer 'or/at :log'ilepath:c:KwindowsKtracingKS7%etl :!utput6ile:S7%t5t
6%$7 Port+ryU&
0escription@ <.ortAryUI= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3H3 is the !raphical 0ersion of portqry7e9e, #hich helps to trou-leshoot ).4I. connecti0ity issues7
6%$8 Proc0u/p
0escription@ <.roc(u%p= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3H4 is a co%%and2line utility #hose pri%ary dual purpose is to %onitor an application for ).U spi*es, and to !enerate crash du%ps durin! a spi*e that an ad%inistrator or de0eloper can use to deter%ine the cause of the spi*e7 .roc(u%p also includes unresponsi0e #indo# %onitorin! 3usin! the sa%e definition of a #indo# han! that +indo#s and as* 'ana!er use6 and unhandled e9ception %onitorin!, and can !enerate du%ps -ased on the 0alues of syste% perfor%ance counters7
6%$@ Snooper
0escription@ $nooper is a %ultipurpose de-u!!in! tool for Lync $er0er 2010 co%%unications soft#are7 It parses ser0er and client trace lo! files and %a*es protocol 3for e9a%ple, $I. and H .6 %essa!es and traces easier to read7 It can also read call details and stored procedure e9ecution reports for errors7 In addition, $nooper can display reports a-out users, conferences, and conferencin! ser0ers 3also *no#n as %ultipoint control units 3')Us667 Jor details, see the <'icrosoft Lync $er0er 2010 &esource Kit ools= docu%ent at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3GE7
JWQ0l *ersion<&(/0& encoding<&utf-8& standalone<&yes&WI J"eQtAnalysis"ool/G$" *ersion<&200M-(2-0 & shoA,nly!iltered:ines<&"rue&I JfiltersI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&":3$RR,R& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&":3>ARG& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&"RAC$3:$V$:3$RR,R& LI Jfilter enabled<&y& eQcluding<&n& color<&ffa500& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&"RAC$3:$V$:3>ARGIG)& LI JLfiltersI JL"eQtAnalysis"ool/G$"I
Te5t nalysisTool%N#T Sa/ple 6ilter 3#rror:1arnings4
JWQ0l *ersion<&(/0& encoding<&utf-8& standalone<&yes&WI J"eQtAnalysis"ool/G$" *ersion<&200M-(2-0 & shoA,nly!iltered:ines<&"rue&I JfiltersI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&":3$RR,R& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&":3>ARG& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&"RAC$3:$V$:3$RR,R& LI Jfilter enabled<&y& eQcluding<&n& color<&ffa500& type<&0atches3teQt& case3sensiti*e<&y& regeQ<&n& teQt<&"RAC$3:$V$:3>ARGIG)& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&n& regeQ<&n& teQt<& 00 Oad ReCuest& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&n& regeQ<&n& teQt<& 81 "oo #any ?ops& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&n& regeQ<&n& teQt<& 8M Ousy ?ere& LI Jfilter enabled<&y& eQcluding<&n& color<&b22222& type<&0atches3teQt& case3sensiti*e<&n& regeQ<&n& teQt<& 88 Got Acceptable ?ere& LI JLfiltersI JL"eQtAnalysis"ool/G$"I
Te5t nalysisTool%N#T Sa/ple 6ilter 3"o//on S&P #rror "odes4
132
6%,, LMLNotePad
0escription@ <O'L1ote.ad= at http@44!o7%icrosoft7co%4f#lin*4p4LLin*IdN2II3I0 pro0ides an intuiti0e interface for 0ie#in! and editin! O'L docu%ents7
133