Lync & Network Interaction Call Setup Bandwidth Usage Enemies on the Network What to do ?
Lars H. Sørensen Aarhus, Denmark Solution Architect 19+ years in IT 10+ years with Microsoft UC firstname.lastname@example.org +45 3078 0361 http://dk.linkedin.com/in/dotLars https://twitter.com/dotLars
Call Setup IP Candidate Discovery Invite & IP Candidate Exchange Connectivity Checks Candidate Promotion
IP Candidate Discovery c e a Allocate UDP Allocate TCPa b c d b d e
Invite & IP Candidate Exchange c e a a b c d b d e y z w SIP INVITE a,b,c,d,e 183 Session Progress w,y,z 200 OK w,y,z wyz a b c d e abcde w y z
Connectivity Checks Determine all possible UDP and TCP port pairings STUN packets sent between port pairs in order STUN packet response indicates connectivity Stop checks when candidate pair has bi-directional connectivity
Candidate Promotion Select highest order candidate with validated connectivity Send SIP invite, indicating only candidate is in SDP 200 OK also contains only one candidate in SDP Note there will be two candidates, one RTP and one RTCP Media is redirected to flow on optimal, validated path
Connectivity Checks & Candidate Promotion c e a b d y z w wyz a b c d e abcde w y z SIP INVITE b 200 OK y
NAT (Home) Network Address Translation Translates one or more internal addresses to one external address General NAT/Firewall behavior Allow connections from the private network Blocks connection from the Internet Security/usability tradeoff Blocks attackers from harming your system PROBLEM: Also blocks incoming signaling and media
NAT (Corporate) Though more scrutinized, goals are similar Sharing of IP addresses Controlling data traffic from the internet Two firewalls isolate via perimeter network PROBLEM: Also blocks incoming and outgoing signaling and media
SIP signaling over TCP uses Access Edge UDP media flows over separate channel Pre-ICE endpoints uses local IPs & ports No media can be sent between (a) and (w) aw INVITE m/c = a 200OK m/c = w Why is NAT Traversal a problem ?
Types of NAT Full Cone NAT IP Address Restricted NAT Port Restricted NAT Symmetric NAT
Full Cone, IP Address Restricted & Port Restricted STUN will be supported TypeInside Host (H1)NATOutside Host Full Cone10.10.10.10:111126.96.36.199:2222*:* IP Address Restricted10.10.10.10:111188.8.131.52:222184.108.40.206:* IP Address Restricted10.10.10.10:111220.127.116.11:222240.40.40.40:* Port Restricted10.10.10.10:11118.104.22.168:22222.214.171.124:3333 Port Restricted10.10.10.10:111126.96.36.199:222240.40.40.40:4444
Symmetri NAT Does not work with STUN, must use TURN TypeInside Host (H1)NATOutside Host Symmetri10.10.10.10:111188.8.131.52:1234184.108.40.206:3333 Symmetri10.10.10.10:111220.127.116.11:234518.104.22.168:4444
Add a Media Relay (aka A/V Edge Server) STUN reflects NAT addresses (b) and (e) TURN relays media packets (c) (d) (x) (y) ICE exchanges candidates (cand) and determines optimal media path STUN, TURN, ICE a INVITE m/c = a 200OK m/c = w d cb e y x w cand=a,b,c,d,e cand=w,x,y
P2P Call MediaCodec Typical stream bandwidth (Kbps) Maximum stream bandwidth without FEC Maximum stream bandwidth with FEC AudioRTAudio Wideband39.86291 Audio RTAudio Narrowband 29.344.856.6 Main video when calling Lync 2013 endpoints H.264460 4010 (for maximum resolution of 1920x1080) Not applicable Audio Video 62 Kbps 4010 Kbps
Latency Latency vs. Round Trip Time (RTT) Provision your network to ensure a maximum end-to-end delay (latency) of 150 milliseconds (ms) under peak load. When latency is high, users will likely hear the words, but there will be delays in sentences and words. Lync Monitoring Thresholds < 200 ms is good > 200 ms is poor > 500 ms is bad
Jitter Variability of packet delay. Results in a distorted or choppy experience. Jitter can increase total latency Lync Monitoring Thresholds < 20 ms is good > 30 ms is not good (but can be ‘ok’) > 45 ms is considered very bad
Packet Loss Represents the % of packets that did not make it to their destination. Packet loss will cause the media to be distorted or missing. Lync Monitoring Thresholds < 3% is considered good > 5% will impact audio > 7% is not good > 10% is very bad Divide by two when media is video.
Wi-Fi Usual built for data and fixed location Off-Channel Scanning Handover Performance Rate Adaption and TX Retries Lack of QoS Devices / BYOD
Optimal Media Path Direct before relay UDP before TCP
Optimal Media Path Port range openPort range closed 443 TCP 3478 UDP 50,000 port range 443 TCP 3478 UDP 50,000 port range 443 TCP 3478 UDP 50,000 port range 443 TCP 3478 UDP 50,000 port range
Quality of Service (QoS) What is QoS? Quality of Service (QoS) is a combination of networking technologies that enables organizations to optimize the end-user experience for real time audio and video communications When is QoS needed? QoS is commonly used when network bandwidth is limited QoS is needed when there is a possibility of network congestion
Lync Server 2013 enables both defined port ranges and DSCP marking WMM-capable wireless access points translate DSCP markings into the equivalent WMM tag value Validating QoS on Lync Endpoints
Quality of Service (QoS) Lync Monitoring Server and Reports is your best friend.
A word or two on Wi-Fi Delivering Lync 2013 Real-Time Communications over Wi-Fi: http://www.microsoft.com/en-us/download/details.aspx?id=36494
Resources Lync Deep Dive: Edge Media Connectivity with ICE http://channel9.msdn.com/Events/TechEd/Europe/2012/EXL412 Network Bandwidth Requirements for Media Traffic http://technet.microsoft.com/en-us/library/jj688118.aspx Lync 2010 and 2013 Bandwidth Calculator http://www.microsoft.com/download/en/details.aspx?id=19011 Network Planning, Monitoring, and Troubleshooting with Lync Server http://www.microsoft.com/en-us/download/details.aspx?id=39084 Delivering Lync 2013 Real-Time Communications over Wi-Fi http://www.microsoft.com/en-us/download/details.aspx?id=36494
Evaluation Create a Text message on your phone and send it to 1919 with the content: UC403 5 5 5 I liked it a lot Session Code Lars Performance (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional) Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: Speaker Performance Relevance according to your work Match of technical level according to published level Comments