Reference14r1:MyApps Plugin for Virtual Desktops

From innovaphone wiki
Jump to navigation Jump to search


Description

A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.

Received audio from remote peer at the server must be transmitted to the local client for playback and audio delivered by the audio device must be also transmitted from the local client to the server for transmission to remote peer.
This transmission of the audio stream between server and client adds a delay which makes the communication impossible.
Video suffers from the same limitations.

Innovaphone provides a solution for this problem with the RCC-App but there are still some limitations:

- Admin must configure a Softphone and a RCC-App for the user.

- myApps must be installed at the terminal client for the Softphone App which the RCC-App will control and the user must log in at the terminal client too.

- Configuration of the Softphone (Call-Waiting, Video, ...) happens at the terminal client.

- Management of the audio devices takes place at the terminal client.

- RCC-App does not support video. The Softphone App does. If the user wants video, he starts or receives the call with the RCC-App but he must switch to the Softphone App.

- RCC-App does not support appSharing. User could share a local application with the Softphone App or even the local desktop in order to show the remote desktop.

A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client and to offer a solution for the limitations of the RCC-App.

Applies To

  • innovaphone PBX from version 14r1
  • Windows or MacOS operating systems
  • Citrix or Windows Terminal Server environments (VMWare is not available but it is planed for future versions)

Requirements

  • innovaphone PBX
  • innovaphone myApps V14r1
  • innovaphone myApps Plugin V14r1
  • Firmware V14r1 final

Concept

The myApps Plugin at the client is in charge of all tasks related to the media streams and the management of the Audio/Video devices. For instance:

- start or stop an audio/video device

- gathering of the ICE candidates

- connect to a remote peer with the ICE protocol

- start a ringing device

- rendering of video

But we now need a way of communicating between the myApps running at the terminal server and the myApps plugin running at the terminal client in order to carry out all these actions.

Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:

https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview

https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels

Configuration

The myApps Plugin must be installed or deployed at the terminal client but it does not require any configuration.

The Softphone App at the terminal server does not require any additional configuration.

How it works

User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server.

This software automatically starts the myApps Plugin. No user action required.

The user starts myApps at the server for the Softphone App. myApps discovers that it is running in terminal server environment and will connect to the plugin which was already started by the VDI software.

The user does not need to have any knowledge about the myApps Plugin.

Licensing

Known issues

- Webcam and remote videos must be rendered over the Softphone App but for the time being a native window is opened at the terminal client.

- Connecting to a conference or 3rd party conference does not transmit video as video starts in the Javascript code of the Softphone App and Javascript has no access to the local webcam at the remote server. Video is displayed but with delay due to the rendering process.
Citrix may provide access to the local webcam internally and the webcam may be available but remote peer will probably experience delay of the received video.

- Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.
We need to implement an exception for appSharing in the future as the transmission must happen at the server.
For the time being the appSharing is transmitted to the client and forwarded to the remote peer adding some delay due to this tranmission between server and client.

Troubleshooting

If the problem still exists after trying the OS-specific hints below, open a support ticket and send a trace from the myApps client (remote) with App,Browser option. Please send also all myAppsPlugin-x.txt and myAppsRemote-x.txt trace files from the myApps-plugin on the local PC.

Troubleshooting Windows

If Citrix is used as a terminal server environment:

1) Citrix must be installed BEFORE the plugin

2) Check in "C:/program files/Citrix/ICA Client" folder, there is the .dll myAppscitrixremoteserviesvc.dll

3) Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there.

"VirtualDriverEx" must be there with the value: InnovaphoneCitrixPlugin

4) In Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\InnovaphoneCitrixPlugin as Drivename and DrivenameWin32 you should find the .dll as value and as innovaphone path the path of the plugin for the file myAppsplugin

Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.

Remote desktop (Windows)

After installing the plugin, check this registry folder:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64

and check as "Name" the path of the .dll <--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll

check that the .dll exist in the mentioned direcotry and the plugin.

Troubleshooting MacOS

​Citrix Workspace App must be installed before the myAppsPlugin

In /Library/Application Support/Citrix/PlugIns

must exist ​myAppsCitrixPlugin.plugin -> /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin

​under:​

​/Users/.../Library/Application Support/Citrix Receiver

​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​

- ​VirtualDriver entry must contain myAppsCitrixPlugin

- a line with myAppsCitrixPlugin=On must exist

- and another line with [myAppsCitrixPlugin] too

​both things are done during the installation. In case something is not working must check that the link to the plugin exists and that the modules file contains these entries.

​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r1/Data/Documentsa log file is created: myAppsPlugin.txt

Troubleshooting Citrix

A Virtual Channel Policy must be added to the Registry at the Citrix Server:

- Create VCPolicies folder under HKLM/Software/Policies/Citrix if it does not exist.

- Create a REG_MULTI_SZ entry with the name VirtualChannelWhiteList. This entry must contain als value: INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe

Related Articles