Unified Communications in Virtual Environment
Organizations have many benefits of adopting virtualization.Server virtualization offers benefits like increased ROI, infra consolidation (storage, network ports, cabling etc.), faster hardware replacement, enhanced disaster recovery etc. and desktop virtualization offers benefits like simplified high availability, data protection etc.
Traditionally, Unified Communications (UC) systems have been deployed in a non-virtualised environment. However, it has changed in last few years with more and more adoption of virtualization by enterprises. Many UC vendors have started supporting virtualized hardware platform. Which aligns with the vision of realizing better value with a unified and virtualized infrastructure.
UC vendors, however, are required to deal with two types of virtualization in this journey;Server and desktop. Most of the vendors have done commendable job in terms of supporting server virtualization. While they are still making required progress on desktop virtualization (virtual desktop infrastructure) part.
Modalities like enterprise voice, data conferencing, dial-in conferencing deal with real time media packets. These payloads were not supported (fully or partially) by virtualized environment few years ago because of factors like packet loss, delay, jitter etc. These factors impact the quality and performance of real-time media when virtualized. However, these factors do not impact other payloads such as IM and presence because these are less susceptible to delay and can use the natural retry mechanisms in the SIP protocol and the underlying TCP transport.
In today’s time, things have changed a lot in the space of server virtualization. UC vendors collaborated closely with the vendors providing virtualization solutions to handle media packets in smarter and reliable ways. As a result, majority of communication and collaboration products are supported on virtual servers now.
You can connect an audio or video device to your local computer and then connect to a virtual machine that is running UC end point (SfB, Jabber etc.). Once you connect to the virtual machine and sign-in to the UC end point, you can then make and receive audio or video calls. But, how do we handle the media packet, is the greatest question in a VDI Setup.
In an ideal scenario, media packets need to be offloaded from the virtual machine to the local one. Thus, enabling the local network to be used for voice and video. Thus, enhancing the voice and video experience of an end user.
Let’s look at following example in order to understand this in detail. In this example, there are two users UserA and UserB making an audio call in a VDI environment.
Reference diagram of UC sessions in a VDI environment.
UserA & UserB log on local machine, access virtual machine & log in to their communication applications (SfB, Jabber etc.) respectively.
Communication application registers with a communication server (Call manager, Skype for Business server etc.).
Communication client knows if local machine has media engine (HDX\VXMEetc.) installed and authenticated or not.
UserA initiates a call with UserB. UserB receives the call on virtual machine.
Signalling session is established between Virtual machine of Users and communication server.
Communication application in co-ordination with media engine (seamlessly) offloads the media session to the local machine.
A media session is established between the local machines of UserA and UserB.
These protocols offer high-resolution sessions between local and virtual machine. They offer multimedia stream remoting, multi-monitor support, dynamic object compression, USB redirection, drive mapping and more features between local and virtual machine. Examples; RDP (Microsoft), PCoIP (VMWare) and HDX (Citrix) etc.
Media engines deliver the core media processing experience and support clear, crisp high-definition audio-video calls offloaded on local machine from the virtual one. Examples; HDX RealTime Media Engine, Cisco Virtualization Experience Media Edition etc.
The Media Engine running on local machine must successfully authenticate with communication server in order to enable optimized calling. Based on virtualization vendor solution you may need a connector for communication app running in the virtual machine to collect the user credentials and send them (encrypted) to the Media Engine.
Media Engine usually supports two authentication methods; Client Certificate and NTLM.
Many of the vendors still expect users to pass credential on local machine under following circumstances;
- If NTLM is used as auth mechanism
- If local machine is not joined to the domain.
A reference diagram of how Citrix RealTime Media Engine (RTME) gets authenticated in citrix + Lync scenario.
- Lync authenticates to the front end server directly
- RTCL (virtual server components) passes these to the RealTime Media Engine (installed on local machine) so it can sign in
- If save password is disabled\expired, the user will be asked to login again (virtual server)
On a separate note, I noticed that most of the virtualization and UC vendors are working together on a roadmap to get rid of additional auth prompt.
Most of the UC vendors do support media offloading to local computer, but, with many limitations around these payloads. You need to assess following features during the PoC.
- Is recording supported?
- What about High Definition (HD) support?
- Is multi view video supported?
- What about call delegation type of features?
- Do I need to supply additional authentication at local machine?
- What about Quality of Experience (QoE)?
- Does VDI solution support Windows\Linux etc. client (thin or thick)?
You can have more questions to ask based on the environment.
Seamless hand-off of combined unified communications and virtual desktop infrastructure sessions : http://www.google.com/patents/US8966093