There’s been a big wave of popularity within the usage of Skype for Business (formerly Lync). Recent stats indicate that there are millions of Lync users migrating to Skype, others looking to implement it, and 79% of US businesses are looking to make it their infrastructure for PBX going forward. With this comes the need to assure it’s fully optimized, especially when running in a Citrix virtualized app and/or VDI environment. I can’t tell you how often I’ve seen optimizations missing with Skype on Citrix, mostly due to the knowledge not having been widespread and known.
This was one challenge, but there were others with delivering Skype in a virtualized environment:
Previously, Microsoft promoted a v1 solution called the “VDI Plug-in“, to help with some of these challenges, but it was limited to Windows Desktop OS endpoints, and didn’t support XenApp to mention a few.
For Server side XenApp, Citrix promoted its v1 solution called “HDX RealTime Optimization Pack 1.x”, which included a RealTime Media Engine install for the endpoints, and a Connector install for the VDAs, but this wasn’t widely spread, which is why Citrix and Microsoft jointly worked together on further optimizing Skype for Business.
This joint approach resulted in development of the v2 architecture:
Why does v2 make sense?
Coming within June-July 2016 timeframe:
Understanding the v2 Architecture
In this architecture, XenApp or XenDesktop and the Skype for Business client are running in the datacenter. HDX Connector is installed there as well, interfacing to the APIs and translating them into commands that go over the ICA Virtual Channels down to the media engine. So in essense, the user interface is at the top, business logic in the middle, and the media engine with codecs in the bottom where offload is achieved. The only info going thru the Virtual Channels are command & control, things like: make a call, hang up a call, etc. The audio-video media is going out of band over secure RTP (Real-time Transport) and UDP (User Datagram) protocols.
Other cool aspects
The RealTime Media Engine doesn’t need to handle any authentication to the backend Skype for Business infrastructure, it’s all done by the Skype for Business client in the virtual OS (a single point of authentication).
SIP signaling (Session Initiation Protocol), which is the protocol Skype for Business uses for call setup, authentication, in-band provisioning, instant messaging, presense updates, and etc. is now handled exclusively by the Skype for Business client and not the VDA.
A Closer Look:
In v1, when an ICA connection is established, the RealTime Media Engine on the user device initializes and registers with the Microsoft Lync Session Initiation Protocol
(SIP) server. When using SIP to place a call, only signaling info is sent over the ICA protocol. When the call is established, audio-video traffic flows directly point to point or out of band of the ICA connection.
In v2, when an ICA connection is established, the Skype for Business client on the XenApp or XenDesktop now makes the SIP connection back to the Skype for Business Server (whether on premise or on O365). When the call is established, the audio-video traffic is point to point or out of band of the ICA connection.
In the picture above both users are on ICA, but this doesn’t have to be the case.
Ethernet throughput on the VDA: Ethernet throughput on the Endpoint:
The bandwidth is coming in via the Endpoint – therefore no hairpinning!
In telecommunication, hairpinning returns a message from an original point back in the direction it came from. If you are accessing a XenApp or XenDesktop with Skype or Lync in it and you don’t have the optimization pack, you are hairpinning AND most likely experiencing processor utilization and network penalties in the host. Therefore, avoid hairpinning and use the optimized method.
Here the user interface lives inside the virtual host, and is seen completely in the virtual desktop or app display. However, the media rendering, or engine is separated off to run on the endpoint. This allows for a very rich rendering of the audio and video experience.
In an event you can’t run in optimized mode you can, there is fallback mode.
Other Performance Considerations
To get started and to obtain further info, please be sure to check out the deployment guide here.
Anexinet is a leading professional consulting and services company, providing a broad range of services and solutions around digital disruption, analytics (and big data), and hybrid and private cloud strategies. Anexinet brings insight into how technology will impact how business decisions will be made and how our clients interact with their customers in the future.
Josue Molina, [email protected]
Architect, End User Computing at Anexinet
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
|cookielawinfo-checbox-analytics||11 months||This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".|
|cookielawinfo-checbox-functional||11 months||The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".|
|cookielawinfo-checbox-others||11 months||This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.|
|cookielawinfo-checkbox-necessary||11 months||This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".|
|cookielawinfo-checkbox-performance||11 months||This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".|
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.