Reference14r2:MyApps Plugin for Virtual Desktops

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference14r1 | Reference14r2 (this version)
Tools clipart.png FIXME: This product is in the beta phase and is not yet finished


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.
A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client.

Applies To

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


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


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:


Citrix Workspace app must first be installed on all platforms. This is necessary because the myApps plugin must copy a .dll (Windows) / .so (MacOS/Linux) into the Citrix installation directory.


The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.


Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.


Update your Linux PC first:

sudo apt-get update

Download latest Citrix Workspace App (Mar 7, 2024) for Debian and x86_64 platform:

Citrix Workspace app needs libwebkit2gtk-4.0-37 packet and this packet is not available in Ubuntu-24.04 version.

Install it at your Linux PC:

sudo apt install -f ./icaclient_<version>._amd64.deb

Install (or update) now the myApps Plugin:

sudo apt install -f ./myAppsPlugin.deb

No additional configuration required.

Configuration on the Terminalserver

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.


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 (only for the Windows Plugin)
  • 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 (only for the Windows Plugin)


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 and 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 Linux

​Citrix Workspace App must be installed before the myAppsPlugin

Innovaphone Plugin is installed under /opt/innovaphone/myAppsPlugin and in /opt/Citrix/ICAClient/ library is called by the Citrix Workspace App and this library opens the myAppsPlugin.

There is a file in the Citrix installation called module.ini (/opt/Citrix/ICAClient/config/module.ini). ​Inside this file the myApps Citrix Plugin library is included:​

- ​VirtualDriver entry must contain myAppsCitrixPlugin

- a line with ​myAppsCitrixPlugin=On​ must exist and

Following directory /var/log/apps/myAppsPlugin/ must also exist for the log files with write permission for everyone (drwxrwxrwx)

Troubleshooting MacOS

​Citrix Workspace App must be installed before the myAppsPlugin

In /Library/Application Support/Citrix/PlugIns

must exist ​myAppsCitrixPlugin.plugin -> /Application/


​/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 as value: INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe

Related Articles