Frame Remoting Protocol
Frame Remoting Protocol (FRP) defines the communication between an end user's device with a browser or Frame App and the remote virtual machine running the Frame Guest Agent (FGA).
Frame Remoting Protocol (FRP) 7
FRP7 is a TCP-based, H.264 protocol for communicating between the end user's device and the remote virtual machine. It consists of audio and video streams from the remote virtual machine to the end user's device and keyboard/mouse events and input audio (if microphone is enabled under Session Settings) from the end user's device to the remote virtual machine. All traffic between the user's device and the remote virtual machine occurs over a Secure WebSocket (WSS), tcp-based connection.
Frame Remoting Protocol (FRP) 8 Early Access
Frame Remoting Protocol 8 (FRP8) is the latest remoting protocol for, based on WebRTC. FRP8, by default, uses UDP as its transport layer. FRP8 provides customers with an extensive list of new features that were previously unavailable with FRP7.
Once FRP8 is enabled for a Frame Account, the following features/enhancements become available:
Improved audio/video synchronization which better adapts to poor network conditions (packet loss, network jitter) by utilizing UDP instead of TCP for transport
High-quality microphone redirection from the endpoint device to the session.
Generic USB Redirection support in Frame App for Windows (requires Frame Virtual USB Driver to be installed on Frame Sandbox/workload VMs) allows local USB devices to be passed into the Frame session using an USB Filter Driver included with Frame App for Windows.
App Mode 2.0 for Application Launchpads, which delivers a more intuitive user experience by providing a Windows desktop with default lockdowns to the Desktop, Start Menu, Taskbar, Notification Area/System Tray, etc.
USB redirection (not USB HID redirection) requires Frame App for Windows at this time. Starting with Frame App for Windows 6.6 installer, Nutanix includes Frame USB Filter Driver 1.0.0. The driver requires a reboot after the Frame USB Filter Driver is installed to take effect.
Each new feature of FRP8 is documented below. Administrators may wish to provide their end users with the Session Features End User Guide to understand how they can use these features in a session.
Since FRP8 is considered an Early Access Feature, all features documented below are also in Early Access. You can find more details by reading Frame product release stages.
Webcam Support and Microphone Enhancement
FRP8 sessions utilize WebRTC technology, which enables Frame to efficiently capture audio/video data from the endpoint device and stream it to the VM in real time. WebRTC provides a seamless webcam and microphone experience to those using applications such as Zoom, Microsoft Teams, Slack, Google Meet, Cisco Webex, or any other audio/video telephony solutions running natively within a Frame session.
Webcam and microphone support can be enabled by administrators from the Session Settings page in the account's Dashboard. Multiple webcams are supported in the session, end users need simply to select the desired device. End user instructions for these features can be found here.
User experience with audio and video-conferencing solutions within a Frame session depends significantly on the networking conditions (bandwidth, latency, packet loss, network jitter, packet shaping, QoS, etc.) between the user and the Frame VM and from the Frame VM to the Internet. POC testing at scale is strongly recommended to ensure satisfactory user experience.
Generic USB Redirection
End users connecting USB devices to Frame via Frame App for Windows (6.3 or above) will enjoy a seamless experience in FRP8 sessions.
Generic USB redirection enables customers to provide their end users with access to locally attached USB devices such as printers, scanners, biometric devices, mass storage devices, etc., from the Frame session.
Generic USB Redirection is not required for most USB Human Input Devices (HID) such as keyboards, mice, microphones, speakers, webcams, etc. Advanced HID that have specialty buttons/functionality may require Generic USB Redirection to fully function properly.
- This feature currently requires the use of Frame App for Windows 6.3 (or higher) or Frame App for Linux 6.10 (or higher). MacOS end-user devices are not supported today.
- Frame Generic USB Driver 2.5.0 must be installed on the Windows workload VM and available from
https://portal.nutanix.com/, if not present in the Sandbox. Note: USB redirection is only supported on Windows endpoints at this time. Support for MacOS and Linux endpoints is planned.
- USB devices requiring isochronous transfers (devices that support video and audio stream, bluetooth devices) are currently not supported.
- This Early Access Feature does not support all USB devices. Customers are responsible for testing any USB devices they are planning to use in a Frame session.
- If a customer has a requirement to allow/disallow specific USB devices from being accessible from the remote VM, they must implement their own solution within the remote VMs to allow/disallow USB devices.
Use of FRP8 requires the following prerequisites:
- Networking configuration, as described in our Network Requirements documentation for FRP8 and your specific deployment model.
- Use of Frame Guest Agent 8.1 or greater, as discussed in our Frame Guest Agent 8 documentation in all Frame-managed workload VMs (Sandbox, Utility Server, test/production instances).
- OS firewall (e.g., Windows Firewall or third-party firewall) configuration changes to support the required TCP/UDP ports.
- Streaming Gateway Appliance (SGA) 3.3 or greater, if required, as discussed in our Streaming Gateway Appliance documentation.
Once the prerequisites have been met for FRP8, Administrators can enable FRP8 in Session Settings (Dashboard > Settings > Session).
If the Frame Account was created in public cloud using Frame-managed networking and the FRP8-required ports are not enabled, you will need to first enable the ports and then enable use of FRP8. FRP8 cannot be enabled until the required ports have been opened, as shown in the image above.
Enabling FRP8 on a Frame account using Frame-managed networking results in the following:
For Frame accounts using public cloud infrastructure:
- Inbound protocols/ports udp/4503-4509 and tcp/4503-4509 on the workload VPC/VNET and udp/3478 on the SGA VPC/VNET (if SGA is auto-deployed during account creation) are enabled through security group updates.
FRP 8.0 protocol is enabled for Frame sessions.
For Frame accounts using customer-managed networking (AHV or public cloud), the Frame administrator is responsible for ensuring the required FRP8 network requirements are satisfied before FRP8 is enabled in Session Settings.
Identifying an FRP7 versus FRP8 Session
Visually, FRP8 does not materially change the remote desktop or virtualized applications in Frame Terminal. However, an end user can determine which version of FRP they are using while in a session.
- Ensure Session Stats is displayed in the Frame status bar. If Session Stats is not displayed, go to the Frame Gear Menu and click on "Show/Hide Stats".
- Click on the Session Stats to display the Advanced Session Stats. The “protocol” detail displays which version of FRP is being used:
Additionally, end users may notice a new behavior with the Bandwidth Indicator in a FRP8 session:
- In FRP7 sessions, users can force a bandwidth test to recalibrate the session's performance capabilities by clicking on the bandwidth indicator at the bottom left.
- In FRP8 sessions, clicking the bandwidth indicator does nothing. That's because FRP8 continuously tests bandwidth throughout a session, making adjustments to the video/audio streams in real-time.