<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.innovaphone.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sga</id>
	<title>innovaphone wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.innovaphone.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sga"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Sga"/>
	<updated>2026-04-14T21:28:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_Reconnect_Calls&amp;diff=79440</id>
		<title>Reference16r1:Concept Reconnect Calls</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_Reconnect_Calls&amp;diff=79440"/>
		<updated>2026-04-13T14:51:41Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Restoring calls can be necessary for various reasons:&lt;br /&gt;
&lt;br /&gt;
* Restart of the PBX. Calls are lost during the PBX restart.&lt;br /&gt;
* Loss of network connectivity, for example due to a coverage gap or when leaving a Wi-Fi network and transitioning to 5G or PC switching between ETH and WiFi.&lt;br /&gt;
* Audio/video problems in a conference, as an attempt to repair the session.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
innovaphone PBX and Clients from version 16r1&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
Version 16r1 (not compatible with older versions of PBX or clients)&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
No configuration needed&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
=== PBX Registration ===&lt;br /&gt;
A registration with the PBX is needed in order to establish a call.&lt;br /&gt;
&lt;br /&gt;
In older version (15r1 and below) calls were automatically dropped when the clients lost the registration with the PBX.&lt;br /&gt;
&lt;br /&gt;
Calls now remain in the endpoints and once the registration is restablished with the PBX the reconnect call will be started replacing the old call.&lt;br /&gt;
&lt;br /&gt;
There is an important different between a PBX Reboot or a switching in the network interface:&lt;br /&gt;
&lt;br /&gt;
During a PBX reboot the registration is lost but the RTP Path for audio and video may remain and the user will not notice the reboot while during a switching the user temporarily loses all internet connections experiencing no audio until registration with the PBX and reconnect call are restablished.&lt;br /&gt;
&lt;br /&gt;
=== Mechanism ===&lt;br /&gt;
The idea of this new feature is that all endpoints involved in a connection store the information required to restablish the connection.&lt;br /&gt;
&lt;br /&gt;
To indicate that this mechanism is supported, the Facility &#039;&#039;&#039;FTY_RECONNECT_INIT&#039;&#039;&#039; is sent during call setup.&lt;br /&gt;
&lt;br /&gt;
An endpoint that supports this mechanism responds with &#039;&#039;&#039;FTY_RECONNECT_INFO&#039;&#039;&#039; Facility which contains an &#039;&#039;&#039;id&#039;&#039;&#039; for the call (the user could have two calls simultaneosly or start a second one later on) and also a &#039;&#039;&#039;hardware&#039;&#039;&#039; id (since the user could have several Softphone instances running)&lt;br /&gt;
&lt;br /&gt;
Restoring the connection is performed by establishing a new call that replaces the old one.&lt;br /&gt;
&lt;br /&gt;
This new call is always initiated by the endpoint that received FTY_RECONNECT_INFO which is typically the side that originally established the call.&lt;br /&gt;
&lt;br /&gt;
The reconnect call setup contains the Facility &#039;&#039;&#039;FTY_RECONNECT_SETUP&#039;&#039;&#039; which contains the &#039;&#039;&#039;id&#039;&#039;&#039; and &#039;&#039;&#039;hardware&#039;&#039;&#039; provided in the &#039;&#039;&#039;FTY_RECONNECT_INFO&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once this call is transparently connected (user is not aware of the reconnect process) the old call is cleared up.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
* not supported for IP73 Wifi-endpoints and IP-DECT endpoints&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
* Reconnect calls is still not working for external calls initiated by the external participant&lt;br /&gt;
* iOS clients take long to detect switching between network interfaces (5G &amp;lt;-&amp;gt; WiFi). That means that there could be a long period without Audio until the registration with the PBX is restablished and the reconnect call can be started.&lt;br /&gt;
* myApps may crash if the call is on Hold.&lt;br /&gt;
* Calls in a conference are not reconnected at the moment.&lt;br /&gt;
* Non successfully Reconnect Calls will be shown in the call list.&lt;br /&gt;
* Reconnect calls don&#039;t work for calls to/from analog interfaces&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_Fax&amp;diff=79366</id>
		<title>Reference15r1:Concept App Service Fax</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_Fax&amp;diff=79366"/>
		<updated>2026-04-01T09:53:15Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* App Service Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&amp;lt;!-- Keywords: fax faxserver faxtomail fax2mail  --&amp;gt;&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 15r1&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The App Service Fax is an app service which can be installed on an innovaphone App Platform. It provides sending or receiving FAX documents with the innovaphone PBX and a user app to manage the documents.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* The App Service Fax sends PDF documents as FAX documents and converts received FAX documents to PDF.&lt;br /&gt;
* Cover page with user content for outgoing FAX documents.&lt;br /&gt;
* The Fax app can forward the received [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|fax documents by mail]], as notification only or with the document in PDF.&lt;br /&gt;
* Transmission reports and error notifications&lt;br /&gt;
* Contact search by using myApps search API providers, inclusive removing number decorations&lt;br /&gt;
* PBX node support&lt;br /&gt;
* Using several fax interfaces&lt;br /&gt;
* Group fax accounts&lt;br /&gt;
* Automatic deletion of older fax documents&lt;br /&gt;
* Customized email texts&lt;br /&gt;
* Mail2Fax&lt;br /&gt;
* [[{{NAMESPACE}}:Apps/PbxManager/App_Fax#Default_settings_for_mail_notifications|Centralized setup]] of mailing notifications&lt;br /&gt;
* App API (HTTP Post)&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone App Platform &lt;br /&gt;
* Device with a [[{{NAMESPACE}}:Gateway/Interfaces#FAX_interface|FAX interface]]&lt;br /&gt;
* One port license to register the fax interface towards the fax object&lt;br /&gt;
* A UC or fax license for each PBX user which is allowed to receive or send personal fax documents&lt;br /&gt;
* A fax (or UC) license for each group fax account&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&#039;&#039;&#039;Fax App (innovaphone-fax)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
This app is provided for the users to send fax documents and view or download received documents. The app reads the argument mailbox=&amp;lt;sip name&amp;gt; to work with the given account instead of the user logged in. It uses the com.innovaphone.search API to search for contacts with FAX numbers.&lt;br /&gt;
&lt;br /&gt;
== Technical Overview ==&lt;br /&gt;
[[Image:Concept fax.png|concept_fax.png/]]&lt;br /&gt;
&lt;br /&gt;
== Technical Concept ==&lt;br /&gt;
The innovaphone fax feature needs three parts:&lt;br /&gt;
* An innovaphone PBX with one or more fax objects&lt;br /&gt;
* One or more FAX interface registered to fax objects&lt;br /&gt;
* The Fax app on the App Platform (AP)&lt;br /&gt;
&lt;br /&gt;
The app service on the AP provides a user app. Users can upload and download PDF documents. The app service converts them from and to a fax protocol compatible file (SFF).&lt;br /&gt;
The app service controls calls between the FAX interface and an external remote party. To do this, it requires a websocket connection to the PBX. The FAX interface accesses the file with authenticated WebDAV.&lt;br /&gt;
The documents saved in the app service are available with WebDAV with the app instance name as user name and the app instance password as password and in the directories&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/sff for the SFF files&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/doc for the PDF files&lt;br /&gt;
&lt;br /&gt;
==== Additional Information ====&lt;br /&gt;
* Files of deleted fax jobs are permanently deleted after two weeks.&lt;br /&gt;
* The myApps background picture (myapps.png) is also included in all HTML mail bodies with customized mail texts, if these texts contain the string &amp;quot;url(cid:myapps.png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
==== PBX Manager Plugin ====&lt;br /&gt;
All possible configurations can be done with the [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] of the Fax App. The app service options can be set as well as the corresponding app objects in the PBX can be added, modified or deleted. Additionally, available devices with a fax interface can be found and configured.&amp;lt;br&amp;gt;&lt;br /&gt;
As with any app, the Fax App needs to be assigned to users and [[#Requirements| licensed accordingly]].&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration (SMTP Server) ====&lt;br /&gt;
The fax service has a built-in SMTP server, which is needed for Mail2Fax. Here, you activate the mail reception for the fax service, enter the fax domain and configure the credentials for the authentication against the SMTP server. The mails can contain a subject and body for the cover page, and &#039;&#039;&#039;one PDF document can be appended as attachment&#039;&#039;&#039;. No cover page is added if both the subject and the mail content are empty. The destination number must be included in the recipient mail address in this format: &amp;lt;destination number&amp;gt;@&amp;lt;fax server domain&amp;gt;. The fax server domain is the app service domain or the configured domain if different. Recipient addresses do not match are discarded.&lt;br /&gt;
&lt;br /&gt;
The supported charsets are UTF-8 and ISO 8859-1 (Latin 1).&lt;br /&gt;
&lt;br /&gt;
As of 14r2 the SMTP server only listens on port 25. STARTTLS is possible.&lt;br /&gt;
&lt;br /&gt;
For the Fax service to receive the mails in the first place, the mailserver needs to forward mails for the fax-domain to the APs IP address.&lt;br /&gt;
&lt;br /&gt;
An example for an Exchange configuration can be found [[Howto14r2:Fax App - Mail2Fax with Exchange 2019|here]]&lt;br /&gt;
&lt;br /&gt;
Starting with 16r1 you also can configure OAuth2 Authentications. You can have a look into our HowTo Article for assistance: [[Howto16r1:Configure OAuth2 E-Mail]]&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration (SMTP Client) ====&lt;br /&gt;
The SMTP configuration is to be set in the Fax App PBX Manager plugin to make mail forwarding, transmission reports and notifications available. Only email addresses of the user configured in his PBX object are used and each user has to enable the several mails in the burger menu of the Fax app.&lt;br /&gt;
Available types of mails:&lt;br /&gt;
* Forwarding of a received document as PDF&lt;br /&gt;
* Incoming notifications without a document&lt;br /&gt;
* Error notifications for outgoing fax jobs&lt;br /&gt;
* Transmission confirmations&lt;br /&gt;
* Transmission reports for outgoing fax jobs as PDF&lt;br /&gt;
&lt;br /&gt;
The mails are sent in the language the user set in myApps when the Fax app was last used, unless the language for mails was explicitly set within the app.&lt;br /&gt;
&lt;br /&gt;
If a failure occurs and mails cannot be sent, the app service retries the mail transmission of a mail every 30 minutes, but no longer than two days.&lt;br /&gt;
&lt;br /&gt;
==== PBX Node Configuration ====&lt;br /&gt;
The Fax app object can be assigned to a certain PBX node. If so, the node number is included within the user&#039;s fax number.&lt;br /&gt;
&lt;br /&gt;
==== Group Fax Account ====&lt;br /&gt;
If a Group Fax app is configured, all users have the same group account with this app, and the same jobs. The mail addresses configured in this Group app are available and used instead of the user&#039;s mail addresses.&lt;br /&gt;
&lt;br /&gt;
==== Sharing FAX Interfaces ====&lt;br /&gt;
FAX interfaces are normally registered to one app object. Other PBX Fax objects use these fax resources for calls if they are configured as external resource in the objects.&lt;br /&gt;
&lt;br /&gt;
== App API ==&lt;br /&gt;
A document to be sent can be uploaded with the HTTP post command. The arguments within the HTTP URL sets the data of the new fax job. The job is created in the context of a user and is shown in the app. If the file is successfully saved, the job is directly queued for sending.&lt;br /&gt;
&lt;br /&gt;
An API key must be configured to enable this feature and to authenticate the command.&lt;br /&gt;
&lt;br /&gt;
Arguments of the HTTP post command in the URL:&lt;br /&gt;
* api-key: The configured authentication key. Mandatory.&lt;br /&gt;
* user-sip: The SIP of the user which sends the document. Mandatory.&lt;br /&gt;
* contact-name: An optional contact name shown in the app as contact (must be url-encoded).&lt;br /&gt;
* contact-number: The contact number used for sending the document. Mandatory.&lt;br /&gt;
* cover-page-subject: The subject of an optional cover page if should be created (must be url-encoded).&lt;br /&gt;
* cover-page-content: The content of an optional cover page if should be created (must be url-encoded).&lt;br /&gt;
* cover-page-content-html: If set to true, the cover page content is in HTML.&lt;br /&gt;
* app-object: The app object of the PBX used for sending. If not set, any is used.&lt;br /&gt;
* file-name: An optional file name of the uploaded file. Not used in the app.&lt;br /&gt;
&lt;br /&gt;
Here an example:&lt;br /&gt;
&lt;br /&gt;
 curl -X POST &amp;quot;http://AP-DNS-name/DOMAIN/fax/?api-key=1234&amp;amp;user-sip=vgr&amp;amp;contact-number=00049703173009&amp;amp;cover-page-subject=Hello%20World&amp;amp;app-object=fax&amp;quot; -T testfax.pdf&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
==== Log Files ====&lt;br /&gt;
The progress of fax jobs is reported in the log file:&lt;br /&gt;
&lt;br /&gt;
 Info job id 58, &amp;lt;b&amp;gt;direction&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;progress&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;result&amp;lt;/b&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
;direction &lt;br /&gt;
:0: incoming job&lt;br /&gt;
:1: outgoing job&lt;br /&gt;
&lt;br /&gt;
;progress&lt;br /&gt;
:0: job created&lt;br /&gt;
:1: job queued&lt;br /&gt;
:2: job converted&lt;br /&gt;
:3: job finished&lt;br /&gt;
&lt;br /&gt;
;result&lt;br /&gt;
:0: no error or successfully completed&lt;br /&gt;
:1: call aborted, repeating&lt;br /&gt;
:2: job stopped with an error&lt;br /&gt;
:3: job stopped caused by a conversion failure&lt;br /&gt;
&lt;br /&gt;
==== App Service Log ====&lt;br /&gt;
*App&lt;br /&gt;
*App WebSocket&lt;br /&gt;
*SMTP (only if the problem is related to mail forwarding etc.)&lt;br /&gt;
&lt;br /&gt;
==== App Service Logs for Mail2Fax ====&lt;br /&gt;
*App&lt;br /&gt;
*SMTP&lt;br /&gt;
*TLS&lt;br /&gt;
*TCP&lt;br /&gt;
*DB files&lt;br /&gt;
&lt;br /&gt;
As &amp;lt;u&amp;gt;these options generate extensive logs&amp;lt;/u&amp;gt;, please &#039;&#039;&#039;only enable them to track a current problem and disable them again afterwards&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Known Issues == &lt;br /&gt;
* &#039;&#039;&#039;Important:&#039;&#039;&#039; If using Mail2Fax, only &#039;&#039;&#039;ONE&#039;&#039;&#039; PDF attachment is allowed and can be handled by the Fax service. If multiple attachments are added the first PDF is used and all other attachments like more PDFs, pictures etc. are ignored.&lt;br /&gt;
* Since the Fax-Interface currently offers &#039;&#039;&#039;only&#039;&#039;&#039; support for 200 dpi and 400 dpi faxes, the same dpi is required on the remote party.&lt;br /&gt;
* Enabling of non-T.38 coder (audio-fax) is also possible for T.38-only capable devices.&lt;br /&gt;
: Has to be judged by the user himself, if selected fax interface features audio-fax.&lt;br /&gt;
* An IPVA is not capable of sending faxes with a non-T.38 coder (audio-fax coder, e.g. G.711A), because it has no DSPs which are needed for an audio-fax. Therefore, &#039;&#039;only&#039;&#039; T.38 faxes work on an IPVA FAX interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; T.38 is to be enabled on &#039;&#039;all&#039;&#039; interfaces are used in the call flow, e.g. FAX, GW, SIP interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; Often &amp;quot;exclusive&amp;quot; is activated on SIP interfaces. This prevents the renegotiation with the provider and T.38 can not be used. Therefore, the &amp;quot;exclusive&amp;quot; flag is to be disabled for such configurations.&lt;br /&gt;
* If the name (H.323) of an user is changed in the PBX, the data in the fax service are not accessible for this user and a new account is created for him in the service.&lt;br /&gt;
* With 14r1, faxes will be sent with 400dpi per default, and tried with a lower resolution again, if the remote side doesn&#039;t support 400dpi faxes. In a 13r3 fax app (no 400dpi support), you will see the first - non working - try, which is the normal behavior, since all faxes (working and non working) are shown in the fax app.&lt;br /&gt;
* Fax Fallback from T.38 to G.711 passthrough (AudioFax) is not supported by FaxAPP when a SIP Trunk with media-relay is used, which is often the case. The solution in such a scenario is to disable T.38 on the SIP Interface with media-relay and only use Audio-Fax.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* For a more detailed description about the configuration, please refer to [[Courseware:IT_Plus_-_Fax|the book about fax application setup]] as part of our IT Plus Training.&lt;br /&gt;
* [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] for the Fax App&lt;br /&gt;
* [[Howto: Mail2Fax with Exchange 2019]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Service_Fax&amp;diff=79365</id>
		<title>Reference13r3:Concept App Service Fax</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Service_Fax&amp;diff=79365"/>
		<updated>2026-04-01T09:52:58Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* App Service Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&amp;lt;!-- Keywords: fax faxserver faxtomail fax2mail --&amp;gt;&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 13r3&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The App Service Fax is an app service which can be installed on an innovaphone App Platform. It provides sending or receiving FAX documents with the innovaphone PBX and a user app to manage the documents.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* The App Service Fax sends PDF documents as FAX documents and converts received FAX documents to PDF.&lt;br /&gt;
* The Fax app can forward the received [[Reference13r3:Apps/PbxManager/App_Fax|fax documents by mail]], as notification only or with the document in PDF.&lt;br /&gt;
* Transmission reports and error notifications&lt;br /&gt;
* Contact search by using myApps search API providers, inclusive removing number decorations&lt;br /&gt;
* PBX node support&lt;br /&gt;
* Using several fax interfaces&lt;br /&gt;
* Group fax accounts&lt;br /&gt;
* Automatic deletion of older fax documents&lt;br /&gt;
* Customized email texts&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone App Platform&lt;br /&gt;
* Device with a FAX interface&lt;br /&gt;
* One port license to register the fax interface towards the fax object&lt;br /&gt;
* A UC or fax license for each PBX user which is allowed to receive or send personal fax documents&lt;br /&gt;
* A fax (or UC) license for each group fax account&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&#039;&#039;&#039;Fax App (innovaphone-fax)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
This app is provided for the users to send fax documents and view or download received documents. The app reads the argument mailbox=&amp;lt;sip name&amp;gt; to work with the given account instead of the user logged in. It uses the com.innovaphone.search API to search for contacts with FAX numbers.&lt;br /&gt;
&lt;br /&gt;
== Technical Overview ==&lt;br /&gt;
[[Image:Concept fax.png]]&lt;br /&gt;
&lt;br /&gt;
== Technical Concept ==&lt;br /&gt;
The innovaphone fax feature needs three parts:&lt;br /&gt;
* An innovaphone PBX with one or more fax objects&lt;br /&gt;
* One or more FAX interface registered to fax objects&lt;br /&gt;
* The Fax app on the App Platform (AP)&lt;br /&gt;
&lt;br /&gt;
The app service on the AP provides a user app. Users can upload and download PDF documents. The app service converts them from and to a fax protocol compatible file (SFF).&lt;br /&gt;
The app service controls calls between the FAX interface and an external remote party. To do this, it requires a websocket connection to the PBX. The FAX interface accesses the file with authenticated WebDAV.&lt;br /&gt;
The documents saved in the app service are available with WebDAV with the app instance name as user name and the app instance password as password and in the directories&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/sff for the SFF files&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/doc for the PDF files&lt;br /&gt;
&lt;br /&gt;
==== Additional Information ====&lt;br /&gt;
* Files of deleted fax jobs are permanently deleted after two weeks.&lt;br /&gt;
* The myApps background picture (myapps.png) is also included in all HTML mail bodies with customized mail texts, if these texts contain the string &amp;quot;url(cid:myapps.png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
==== PBX Manager Plugin ====&lt;br /&gt;
All possible configurations can be done with the [[Reference13r3:Apps/PbxManager/App_Fax|PBX Manager plugin]] of the Fax App. The app service options can be set as well as the corresponding app objects in the PBX can be added, modified or deleted. Additionally, available devices with a fax interface can be found and configured.&amp;lt;br&amp;gt;&lt;br /&gt;
As with any app, the Fax App needs to be assigned to users and [[#Requirements | licensed accordingly]].&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration ====&lt;br /&gt;
The SMTP configuration is to be set in the Fax App PBX Manager plugin to make mail forwarding, transmission reports and notifications available. Only email addresses of the user configured in his PBX object are used and each user has to enable the several mails in the burger menu of the Fax app.&lt;br /&gt;
Available types of mails:&lt;br /&gt;
* Forwarding of a received document as PDF&lt;br /&gt;
* Incoming notifications without a document&lt;br /&gt;
* Error notifications for outgoing fax jobs&lt;br /&gt;
* Transmission confirmations&lt;br /&gt;
* Transmission reports for outgoing fax jobs as PDF&lt;br /&gt;
&lt;br /&gt;
The mails are sent in the language the user set in myApps when the Fax app was last used, unless the language for mails was explicitly set within the app.&lt;br /&gt;
&lt;br /&gt;
If a failure occurs and mails cannot be sent, the app service retries the mail transmission of a mail every 30 minutes, but no longer than two days.&lt;br /&gt;
&lt;br /&gt;
==== PBX Node Configuration ====&lt;br /&gt;
The Fax app object can be assigned to a certain PBX node. If so, the node number is included within the user&#039;s fax number.&lt;br /&gt;
&lt;br /&gt;
==== Group Fax Account ====&lt;br /&gt;
If a Group Fax app is configured, all users have the same group account with this app, and the same jobs. The mail addresses configured in this Group app are available and used instead of the user&#039;s mail addresses.&lt;br /&gt;
&lt;br /&gt;
==== Sharing FAX Interfaces ====&lt;br /&gt;
FAX interfaces are normally registered to one app object. Other PBX Fax objects use these fax resources for calls if they are configured as external resource in the objects.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
==== Log Files ====&lt;br /&gt;
The progress of fax jobs is reported in the log file:&lt;br /&gt;
&lt;br /&gt;
 Info job id 58, &amp;lt;b&amp;gt;direction&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;progress&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;result&amp;lt;/b&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
;direction &lt;br /&gt;
:0: incoming job&lt;br /&gt;
:1: outgoing job&lt;br /&gt;
&lt;br /&gt;
;progress&lt;br /&gt;
:0: job created&lt;br /&gt;
:1: job queued&lt;br /&gt;
:2: job converted&lt;br /&gt;
:3: job finished&lt;br /&gt;
&lt;br /&gt;
;result&lt;br /&gt;
:0: no error or successfully completed&lt;br /&gt;
:1: call aborted, repeating&lt;br /&gt;
:2: job stopped with an error&lt;br /&gt;
:3: job stopped caused by a conversion failure&lt;br /&gt;
&lt;br /&gt;
==== App Service Log ====&lt;br /&gt;
*App&lt;br /&gt;
*App WebSocket&lt;br /&gt;
*SMTP (only if the problem is related to mail forwarding etc.)&lt;br /&gt;
&lt;br /&gt;
== Known Issues == &lt;br /&gt;
* Since the Fax-Interface currently offers &#039;&#039;&#039;only&#039;&#039;&#039; support for 200 dpi and 400 dpi faxes, the same dpi is required on the remote party.&lt;br /&gt;
* Enabling of non-T.38 coder (audio-fax) is also possible for T.38-only capable devices.&lt;br /&gt;
: Has to be judged by the user himself, if selected fax interface features audio-fax.&lt;br /&gt;
* An IPVA is not capable of sending faxes with a non-T.38 coder (audio-fax coder, e.g. G.711A), because it has no DSPs which are needed for an audio-fax. Therefore, &#039;&#039;only&#039;&#039; T.38 faxes work on an IPVA FAX interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; T.38 is to be enabled on &#039;&#039;all&#039;&#039; interfaces are used in the call flow, e.g. FAX, GW, SIP interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; Often &amp;quot;exclusive&amp;quot; is activated on SIP interfaces. This prevents the renegotiation with the provider and T.38 can not be used. Therefore, the &amp;quot;exclusive&amp;quot; flag is to be disabled for such configurations.&lt;br /&gt;
* If the name (H.323) of an user is changed in the PBX, the data in the fax service are not accessible for this user and a new account is created for him in the service.&lt;br /&gt;
* If you enter a number in the input field and click on it, this number will be stored inside the fax database as a contact. Currently, these contacts can&#039;t be deleted, so be aware to not click and thus save wrong numbers.&lt;br /&gt;
** This behavior has changed in 14r1: If a contact no longer has any jobs, it is deleted at night. Deleted jobs are removed after two weeks, only then is a contact empty.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* For a more detailed description about the configuration, please refer to our [[Courseware:IT_Plus_-_Fax | IT Connect Training]].&lt;br /&gt;
* [[Reference13r3:Apps/PbxManager/App_Fax|PBX Manager plugin]] for the Fax App&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:Concept_App_Service_Fax&amp;diff=79364</id>
		<title>Reference14r1:Concept App Service Fax</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r1:Concept_App_Service_Fax&amp;diff=79364"/>
		<updated>2026-04-01T09:52:43Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* App Service Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&amp;lt;!-- Keywords: fax faxserver faxtomail fax2mail --&amp;gt;&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r1&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The App Service Fax is an app service which can be installed on an innovaphone App Platform. It provides sending or receiving FAX documents with the innovaphone PBX and a user app to manage the documents.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* The App Service Fax sends PDF documents as FAX documents and converts received FAX documents to PDF.&lt;br /&gt;
* Cover page with user content for outgoing FAX documents.&lt;br /&gt;
* The Fax app can forward the received [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|fax documents by mail]], as notification only or with the document in PDF.&lt;br /&gt;
* Transmission reports and error notifications&lt;br /&gt;
* Contact search by using myApps search API providers, inclusive removing number decorations&lt;br /&gt;
* PBX node support&lt;br /&gt;
* Using several fax interfaces&lt;br /&gt;
* Group fax accounts&lt;br /&gt;
* Automatic deletion of older fax documents&lt;br /&gt;
* Customized email texts&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone App Platform&lt;br /&gt;
* Device with a FAX interface&lt;br /&gt;
* One port license to register the fax interface towards the fax object&lt;br /&gt;
* A UC or fax license for each PBX user which is allowed to receive or send personal fax documents&lt;br /&gt;
* A fax (or UC) license for each group fax account&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&#039;&#039;&#039;Fax App (innovaphone-fax)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
This app is provided for the users to send fax documents and view or download received documents. The app reads the argument mailbox=&amp;lt;sip name&amp;gt; to work with the given account instead of the user logged in. It uses the com.innovaphone.search API to search for contacts with FAX numbers.&lt;br /&gt;
&lt;br /&gt;
== Technical Overview ==&lt;br /&gt;
[[Image:Concept fax.png]]&lt;br /&gt;
&lt;br /&gt;
== Technical Concept ==&lt;br /&gt;
The innovaphone fax feature needs three parts:&lt;br /&gt;
* An innovaphone PBX with one or more fax objects&lt;br /&gt;
* One or more FAX interface registered to fax objects&lt;br /&gt;
* The Fax app on the App Platform (AP)&lt;br /&gt;
&lt;br /&gt;
The app service on the AP provides a user app. Users can upload and download PDF documents. The app service converts them from and to a fax protocol compatible file (SFF).&lt;br /&gt;
The app service controls calls between the FAX interface and an external remote party. To do this, it requires a websocket connection to the PBX. The FAX interface accesses the file with authenticated WebDAV.&lt;br /&gt;
The documents saved in the app service are available with WebDAV with the app instance name as user name and the app instance password as password and in the directories&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/sff for the SFF files&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/doc for the PDF files&lt;br /&gt;
&lt;br /&gt;
==== Additional Information ====&lt;br /&gt;
* Files of deleted fax jobs are permanently deleted after two weeks.&lt;br /&gt;
* The myApps background picture (myapps.png) is also included in all HTML mail bodies with customized mail texts, if these texts contain the string &amp;quot;url(cid:myapps.png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
==== PBX Manager Plugin ====&lt;br /&gt;
All possible configurations can be done with the [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] of the Fax App. The app service options can be set as well as the corresponding app objects in the PBX can be added, modified or deleted. Additionally, available devices with a fax interface can be found and configured.&amp;lt;br&amp;gt;&lt;br /&gt;
As with any app, the Fax App needs to be assigned to users and [[#Requirements | licensed accordingly]].&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration ====&lt;br /&gt;
The SMTP configuration is to be set in the Fax App PBX Manager plugin to make mail forwarding, transmission reports and notifications available. Only email addresses of the user configured in his PBX object are used and each user has to enable the several mails in the burger menu of the Fax app.&lt;br /&gt;
Available types of mails:&lt;br /&gt;
* Forwarding of a received document as PDF&lt;br /&gt;
* Incoming notifications without a document&lt;br /&gt;
* Error notifications for outgoing fax jobs&lt;br /&gt;
* Transmission confirmations&lt;br /&gt;
* Transmission reports for outgoing fax jobs as PDF&lt;br /&gt;
&lt;br /&gt;
The mails are sent in the language the user set in myApps when the Fax app was last used, unless the language for mails was explicitly set within the app.&lt;br /&gt;
&lt;br /&gt;
If a failure occurs and mails cannot be sent, the app service retries the mail transmission of a mail every 30 minutes, but no longer than two days.&lt;br /&gt;
&lt;br /&gt;
==== PBX Node Configuration ====&lt;br /&gt;
The Fax app object can be assigned to a certain PBX node. If so, the node number is included within the user&#039;s fax number.&lt;br /&gt;
&lt;br /&gt;
==== Group Fax Account ====&lt;br /&gt;
If a Group Fax app is configured, all users have the same group account with this app, and the same jobs. The mail addresses configured in this Group app are available and used instead of the user&#039;s mail addresses.&lt;br /&gt;
&lt;br /&gt;
==== Sharing FAX Interfaces ====&lt;br /&gt;
FAX interfaces are normally registered to one app object. Other PBX Fax objects use these fax resources for calls if they are configured as external resource in the objects.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
==== Log Files ====&lt;br /&gt;
The progress of fax jobs is reported in the log file:&lt;br /&gt;
&lt;br /&gt;
 Info job id 58, &amp;lt;b&amp;gt;direction&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;progress&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;result&amp;lt;/b&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
;direction &lt;br /&gt;
:0: incoming job&lt;br /&gt;
:1: outgoing job&lt;br /&gt;
&lt;br /&gt;
;progress&lt;br /&gt;
:0: job created&lt;br /&gt;
:1: job queued&lt;br /&gt;
:2: job converted&lt;br /&gt;
:3: job finished&lt;br /&gt;
&lt;br /&gt;
;result&lt;br /&gt;
:0: no error or successfully completed&lt;br /&gt;
:1: call aborted, repeating&lt;br /&gt;
:2: job stopped with an error&lt;br /&gt;
:3: job stopped caused by a conversion failure&lt;br /&gt;
&lt;br /&gt;
==== App Service Log ====&lt;br /&gt;
*App&lt;br /&gt;
*App WebSocket&lt;br /&gt;
*SMTP (only if the problem is related to mail forwarding etc.)&lt;br /&gt;
&lt;br /&gt;
== Known Issues == &lt;br /&gt;
* Enabling of non-T.38 coder (audio-fax) is also possible for T.38-only capable devices.&lt;br /&gt;
: Has to be judged by the user himself, if selected fax interface features audio-fax.&lt;br /&gt;
* An IPVA is not capable of sending faxes with a non-T.38 coder (audio-fax coder, e.g. G.711A), because it has no DSPs which are needed for an audio-fax. Therefore, &#039;&#039;only&#039;&#039; T.38 faxes work on an IPVA FAX interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; T.38 is to be enabled on &#039;&#039;all&#039;&#039; interfaces are used in the call flow, e.g. FAX, GW, SIP interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; Often &amp;quot;exclusive&amp;quot; is activated on SIP interfaces. This prevents the renegotiation with the provider and T.38 can not be used. Therefore, the &amp;quot;exclusive&amp;quot; flag is to be disabled for such configurations.&lt;br /&gt;
* If the name (H.323) of an user is changed in the PBX, the data in the fax service are not accessible for this user and a new account is created for him in the service.&lt;br /&gt;
* With 14r1, faxes will be sent with 400dpi per default, and tried with a lower resolution again (by means of a new call attempt), if the remote side doesn&#039;t support 400dpi faxes. In a 13r3 fax app (no 400dpi support), you will see the first - non working - try, which is the normal behavior, since all faxes (working and non working) are shown in the fax app.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* For a more detailed description about the configuration, please refer to our [[Courseware:IT_Plus_-_Fax | IT Connect Training]].&lt;br /&gt;
* [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] for the Fax App&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_Service_Fax&amp;diff=79363</id>
		<title>Reference14r2:Concept App Service Fax</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_Service_Fax&amp;diff=79363"/>
		<updated>2026-04-01T09:52:26Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* App Service Log */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&amp;lt;!-- Keywords: fax faxserver faxtomail fax2mail  --&amp;gt;&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r2&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The App Service Fax is an app service which can be installed on an innovaphone App Platform. It provides sending or receiving FAX documents with the innovaphone PBX and a user app to manage the documents.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* The App Service Fax sends PDF documents as FAX documents and converts received FAX documents to PDF.&lt;br /&gt;
* Cover page with user content for outgoing FAX documents.&lt;br /&gt;
* The Fax app can forward the received [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|fax documents by mail]], as notification only or with the document in PDF.&lt;br /&gt;
* Transmission reports and error notifications&lt;br /&gt;
* Contact search by using myApps search API providers, inclusive removing number decorations&lt;br /&gt;
* PBX node support&lt;br /&gt;
* Using several fax interfaces&lt;br /&gt;
* Group fax accounts&lt;br /&gt;
* Automatic deletion of older fax documents&lt;br /&gt;
* Customized email texts&lt;br /&gt;
* Mail2Fax&lt;br /&gt;
* App API (HTTP Post)&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone App Platform &lt;br /&gt;
* Device with a [[{{NAMESPACE}}:Gateway/Interfaces#FAX_interface|FAX interface]]&lt;br /&gt;
* One port license to register the fax interface towards the fax object&lt;br /&gt;
* A UC or fax license for each PBX user which is allowed to receive or send personal fax documents&lt;br /&gt;
* A fax (or UC) license for each group fax account&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&#039;&#039;&#039;Fax App (innovaphone-fax)&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
This app is provided for the users to send fax documents and view or download received documents. The app reads the argument mailbox=&amp;lt;sip name&amp;gt; to work with the given account instead of the user logged in. It uses the com.innovaphone.search API to search for contacts with FAX numbers.&lt;br /&gt;
&lt;br /&gt;
== Technical Overview ==&lt;br /&gt;
[[Image:Concept fax.png|concept_fax.png/]]&lt;br /&gt;
&lt;br /&gt;
== Technical Concept ==&lt;br /&gt;
The innovaphone fax feature needs three parts:&lt;br /&gt;
* An innovaphone PBX with one or more fax objects&lt;br /&gt;
* One or more FAX interface registered to fax objects&lt;br /&gt;
* The Fax app on the App Platform (AP)&lt;br /&gt;
&lt;br /&gt;
The app service on the AP provides a user app. Users can upload and download PDF documents. The app service converts them from and to a fax protocol compatible file (SFF).&lt;br /&gt;
The app service controls calls between the FAX interface and an external remote party. To do this, it requires a websocket connection to the PBX. The FAX interface accesses the file with authenticated WebDAV.&lt;br /&gt;
The documents saved in the app service are available with WebDAV with the app instance name as user name and the app instance password as password and in the directories&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/sff for the SFF files&lt;br /&gt;
* &amp;lt;app-web-path&amp;gt;/doc for the PDF files&lt;br /&gt;
&lt;br /&gt;
==== Additional Information ====&lt;br /&gt;
* Files of deleted fax jobs are permanently deleted after two weeks.&lt;br /&gt;
* The myApps background picture (myapps.png) is also included in all HTML mail bodies with customized mail texts, if these texts contain the string &amp;quot;url(cid:myapps.png)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
==== PBX Manager Plugin ====&lt;br /&gt;
All possible configurations can be done with the [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] of the Fax App. The app service options can be set as well as the corresponding app objects in the PBX can be added, modified or deleted. Additionally, available devices with a fax interface can be found and configured.&amp;lt;br&amp;gt;&lt;br /&gt;
As with any app, the Fax App needs to be assigned to users and [[#Requirements| licensed accordingly]].&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration (SMTP Server) ====&lt;br /&gt;
The fax service has a built-in SMTP server, which is needed for Mail2Fax. Here, you activate the mail reception for the fax service, enter the fax domain and configure the credentials for the authentication against the SMTP server. The mails can contain a subject and body for the cover page, and &#039;&#039;&#039;one PDF document can be appended as attachment&#039;&#039;&#039;. No cover page is added if both the subject and the mail content are empty. The destination number must be included in the recipient mail address in this format: &amp;lt;destination number&amp;gt;@&amp;lt;fax server domain&amp;gt;. The fax server domain is the app service domain or the configured domain if different. Recipient addresses do not match are discarded.&lt;br /&gt;
&lt;br /&gt;
The supported charsets are UTF-8 and ISO 8859-1 (Latin 1).&lt;br /&gt;
&lt;br /&gt;
As of 14r2 the SMTP server only listens on port 25. STARTTLS is possible.&lt;br /&gt;
&lt;br /&gt;
For the Fax service to receive the mails in the first place, the mailserver needs to forward mails for the fax-domain to the APs IP address.&lt;br /&gt;
&lt;br /&gt;
An example for an Exchange configuration can be found [[Howto14r2:Fax App - Mail2Fax with Exchange 2019|here]]&lt;br /&gt;
&lt;br /&gt;
==== Mail Configuration (SMTP Client) ====&lt;br /&gt;
The SMTP configuration is to be set in the Fax App PBX Manager plugin to make mail forwarding, transmission reports and notifications available. Only email addresses of the user configured in his PBX object are used and each user has to enable the several mails in the burger menu of the Fax app.&lt;br /&gt;
Available types of mails:&lt;br /&gt;
* Forwarding of a received document as PDF&lt;br /&gt;
* Incoming notifications without a document&lt;br /&gt;
* Error notifications for outgoing fax jobs&lt;br /&gt;
* Transmission confirmations&lt;br /&gt;
* Transmission reports for outgoing fax jobs as PDF&lt;br /&gt;
&lt;br /&gt;
The mails are sent in the language the user set in myApps when the Fax app was last used, unless the language for mails was explicitly set within the app.&lt;br /&gt;
&lt;br /&gt;
If a failure occurs and mails cannot be sent, the app service retries the mail transmission of a mail every 30 minutes, but no longer than two days.&lt;br /&gt;
&lt;br /&gt;
==== PBX Node Configuration ====&lt;br /&gt;
The Fax app object can be assigned to a certain PBX node. If so, the node number is included within the user&#039;s fax number.&lt;br /&gt;
&lt;br /&gt;
==== Group Fax Account ====&lt;br /&gt;
If a Group Fax app is configured, all users have the same group account with this app, and the same jobs. The mail addresses configured in this Group app are available and used instead of the user&#039;s mail addresses.&lt;br /&gt;
&lt;br /&gt;
==== Sharing FAX Interfaces ====&lt;br /&gt;
FAX interfaces are normally registered to one app object. Other PBX Fax objects use these fax resources for calls if they are configured as external resource in the objects.&lt;br /&gt;
&lt;br /&gt;
== App API ==&lt;br /&gt;
A document to be sent can be uploaded with the HTTP post command. The arguments within the HTTP URL sets the data of the new fax job. The job is created in the context of a user and is shown in the app. If the file is successfully saved, the job is directly queued for sending.&lt;br /&gt;
&lt;br /&gt;
An API key must be configured to enable this feature and to authenticate the command.&lt;br /&gt;
&lt;br /&gt;
Arguments of the HTTP post command in the URL:&lt;br /&gt;
* api-key: The configured authentication key. Mandatory.&lt;br /&gt;
* user-sip: The SIP of the user which sends the document. Mandatory.&lt;br /&gt;
* contact-name: An optional contact name shown in the app as contact (must be url-encoded).&lt;br /&gt;
* contact-number: The contact number used for sending the document. Mandatory.&lt;br /&gt;
* cover-page-subject: The subject of an optional cover page if should be created (must be url-encoded).&lt;br /&gt;
* cover-page-content: The content of an optional cover page if should be created (must be url-encoded).&lt;br /&gt;
* cover-page-content-html: If set to true, the cover page content is in HTML.&lt;br /&gt;
* app-object: The app object of the PBX used for sending. If not set, any is used.&lt;br /&gt;
* file-name: An optional file name of the uploaded file. Not used in the app.&lt;br /&gt;
&lt;br /&gt;
Here an example:&lt;br /&gt;
&lt;br /&gt;
 curl -X POST &amp;quot;http://AP-DNS-name/DOMAIN/fax/?api-key=1234&amp;amp;user-sip=vgr&amp;amp;contact-number=00049703173009&amp;amp;cover-page-subject=Hello%20World&amp;amp;app-object=fax&amp;quot; -T testfax.pdf&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
==== Log Files ====&lt;br /&gt;
The progress of fax jobs is reported in the log file:&lt;br /&gt;
&lt;br /&gt;
 Info job id 58, &amp;lt;b&amp;gt;direction&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;progress&amp;lt;/b&amp;gt; 0, &amp;lt;b&amp;gt;result&amp;lt;/b&amp;gt; 0&lt;br /&gt;
&lt;br /&gt;
;direction &lt;br /&gt;
:0: incoming job&lt;br /&gt;
:1: outgoing job&lt;br /&gt;
&lt;br /&gt;
;progress&lt;br /&gt;
:0: job created&lt;br /&gt;
:1: job queued&lt;br /&gt;
:2: job converted&lt;br /&gt;
:3: job finished&lt;br /&gt;
&lt;br /&gt;
;result&lt;br /&gt;
:0: no error or successfully completed&lt;br /&gt;
:1: call aborted, repeating&lt;br /&gt;
:2: job stopped with an error&lt;br /&gt;
:3: job stopped caused by a conversion failure&lt;br /&gt;
&lt;br /&gt;
==== App Service Log ====&lt;br /&gt;
*App&lt;br /&gt;
*App WebSocket&lt;br /&gt;
*SMTP (only if the problem is related to mail forwarding etc.)&lt;br /&gt;
&lt;br /&gt;
==== App Service Logs for Mail2Fax ====&lt;br /&gt;
*App&lt;br /&gt;
*Smtp&lt;br /&gt;
*TLS&lt;br /&gt;
*TCP&lt;br /&gt;
*DB files&lt;br /&gt;
-&amp;gt; Since these options creates huge logs, please just enable for tracing a current problem and deactivate afterward&lt;br /&gt;
&lt;br /&gt;
== Known Issues == &lt;br /&gt;
* &#039;&#039;&#039;Important:&#039;&#039;&#039; If using Mail2Fax, only &#039;&#039;&#039;ONE&#039;&#039;&#039; PDF attachment is allowed and can be handled by the Fax service. If multiple attachments are added to an E-Mail, the Faxservice will get in a broken status.&lt;br /&gt;
* Since the Fax-Interface currently offers &#039;&#039;&#039;only&#039;&#039;&#039; support for 200 dpi and 400 dpi faxes, the same dpi is required on the remote party.&lt;br /&gt;
* Enabling of non-T.38 coder (audio-fax) is also possible for T.38-only capable devices.&lt;br /&gt;
: Has to be judged by the user himself, if selected fax interface features audio-fax.&lt;br /&gt;
* An IPVA is not capable of sending faxes with a non-T.38 coder (audio-fax coder, e.g. G.711A), because it has no DSPs which are needed for an audio-fax. Therefore, &#039;&#039;only&#039;&#039; T.38 faxes work on an IPVA FAX interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; T.38 is to be enabled on &#039;&#039;all&#039;&#039; interfaces are used in the call flow, e.g. FAX, GW, SIP interface.&lt;br /&gt;
** &#039;&#039;&#039;Important:&#039;&#039;&#039; Often &amp;quot;exclusive&amp;quot; is activated on SIP interfaces. This prevents the renegotiation with the provider and T.38 can not be used. Therefore, the &amp;quot;exclusive&amp;quot; flag is to be disabled for such configurations.&lt;br /&gt;
* If the name (H.323) of an user is changed in the PBX, the data in the fax service are not accessible for this user and a new account is created for him in the service.&lt;br /&gt;
* With 14r1, faxes will be sent with 400dpi per default, and tried with a lower resolution again, if the remote side doesn&#039;t support 400dpi faxes. In a 13r3 fax app (no 400dpi support), you will see the first - non working - try, which is the normal behavior, since all faxes (working and non working) are shown in the fax app.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* For a more detailed description about the configuration, please refer to [https://class.innovaphone.com/moodle2/course/view.php?id=1705&amp;amp;topic=0#section-2 the book about fax application setup] as part of our IT Plus Training.&lt;br /&gt;
* [[{{NAMESPACE}}:Apps/PbxManager/App_Fax|PBX Manager plugin]] for the Fax App&lt;br /&gt;
* [[Howto: Mail2Fax with Exchange 2019]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_myApps_Redundancy&amp;diff=79245</id>
		<title>Reference16r1:Concept myApps Redundancy</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_myApps_Redundancy&amp;diff=79245"/>
		<updated>2026-03-24T11:35:46Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* General concept */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myApps Redundancy]]&lt;br /&gt;
[[Category:Concept_myApps]]&lt;br /&gt;
&lt;br /&gt;
The myApps client handles the failure of a single PBX by failover to a secondary PBX.&lt;br /&gt;
&lt;br /&gt;
== Applies to ==&lt;br /&gt;
* innovaphone devices with a PBX from version 16r1&lt;br /&gt;
* innovaphone myApps (all platforms)&lt;br /&gt;
&lt;br /&gt;
== General concept ==&lt;br /&gt;
The innovaphone PBX has implemented a mechanism, that by adding a single PBX to an installation, from the failure of any single PBX can be recovered.&lt;br /&gt;
* For a single PBX a standby PBX can be configured&lt;br /&gt;
* For a slave PBX a standby-slave PBX or otherwise the master can act as standby&lt;br /&gt;
* For a master PBX any slave PBX can act as standby&lt;br /&gt;
&lt;br /&gt;
The myApps client can connect to any PBX in the system. If it does not match the PBX on which the user is configured on, the client follows a number of redirects until it ends up at the user&#039;s PBX.&lt;br /&gt;
* Slave PBXes redirect to their master PBX.&lt;br /&gt;
* The master PBX redirects to the slave PBX of the user.&lt;br /&gt;
&lt;br /&gt;
=== Handling of standby cases ===&lt;br /&gt;
&lt;br /&gt;
If the current PBX has no registration to the PBX it would redirect to, it acts as a standby and keeps the myApps connection.&lt;br /&gt;
&lt;br /&gt;
If a slave should act as a standby for the master, the myApps client must be logged on to the slave. This forwards the login to the master. In the event of a failover, the slave takes over.&lt;br /&gt;
&lt;br /&gt;
For cases in which the initial PBX is unavailable the myApps client tries to connect to two PBXes in an alternating manner:&lt;br /&gt;
;Primary PBX: This is the PBX where the client tries to connect first.&lt;br /&gt;
;Secondary PBX: This is the PBX, where the client tries to connect, when the connection to the primary PBX failed.&lt;br /&gt;
&lt;br /&gt;
=== Handling of connection loss ===&lt;br /&gt;
If the connection to the current PBX is lost:&lt;br /&gt;
* myApps tries to re-connect to the current PBX first.&lt;br /&gt;
* If the current PBX is unavailable it restarts connecting to the primary and secondary PBX in an alternating manner.&lt;br /&gt;
&lt;br /&gt;
== Determination of primary and secondary PBX ==&lt;br /&gt;
On each successful connection in a non-standby case, myApps determines the primary and secondary PBX automatically and stores the information for handling standby cases.&lt;br /&gt;
&lt;br /&gt;
=== Primary PBX ===&lt;br /&gt;
&lt;br /&gt;
The PBX configured in the myApps client is used as the primary PBX.&lt;br /&gt;
&lt;br /&gt;
=== Secondary PBX ===&lt;br /&gt;
&lt;br /&gt;
There are different cases to be considered to determine the secondary PBX:&lt;br /&gt;
* In case the client was redirected to the PBX the user is configured on&lt;br /&gt;
** the explicit standby of this PBX is used as secondary PBX (if existing)&lt;br /&gt;
** this PBX is used as secondary PBX (otherwise)&lt;br /&gt;
* In case the client was not redirected but stayed on the primary PBX&lt;br /&gt;
** the explicit standby of the primary PBX is used as secondary PBX (if existing)&lt;br /&gt;
** the implicit standby of the primary PBX (the master for slave PBXes) is used as secondary PBX (if exisiting)&lt;br /&gt;
** no secondary PBX is used (otherwise)&lt;br /&gt;
&lt;br /&gt;
== Published information for the softphone app ==&lt;br /&gt;
The myApps client publishes the determined configuration along with other connection details in the API model of com.innovaphone.client inside the &amp;lt;code&amp;gt;connInfo&amp;lt;/code&amp;gt; object. &lt;br /&gt;
&lt;br /&gt;
This information is used by the softphone app. See [[{{NAMESPACE}}:Concept_Softphone_Redundancy]] for details.&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 &amp;quot;connInfo&amp;quot;: {&lt;br /&gt;
    &amp;quot;up&amp;quot;: true,&lt;br /&gt;
    &amp;quot;standby&amp;quot;: false,&lt;br /&gt;
    &amp;quot;cur&amp;quot;: &amp;quot;slave.example.com/PBX0&amp;quot;,&lt;br /&gt;
    &amp;quot;pri&amp;quot;: &amp;quot;master.example.com/PBX0&amp;quot;,&lt;br /&gt;
    &amp;quot;sec&amp;quot;: &amp;quot;slave.example.com/PBX0&amp;quot;,&lt;br /&gt;
    &amp;quot;phys&amp;quot;: &amp;quot;master&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Values:&lt;br /&gt;
;up: true, if the connection is up. false if myApps is offline.&lt;br /&gt;
;standby: true, if the myApps client is connected to a standby PBX. false, if the myApps client is connected to the user&#039;s PBX.&lt;br /&gt;
;cur: the current PBX in the format host/pbx-module&lt;br /&gt;
;pri: the primary PBX in the format host/pbx-module&lt;br /&gt;
;sec: the secondary PBX in the format host/pbx-module&lt;br /&gt;
;phys: the physical location, if configured explicitly&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
For configuration in the myApps launcher, see [[{{NAMESPACE}}:Concept_myApps_platform_services#Server_configuration]].&lt;br /&gt;
&lt;br /&gt;
In the browser the PBX specified by the URL is used as the primary PBX. An explicit physical location can be set using a URL parameter, see [[{{NAMESPACE}}:Concept_myApps#Supported_URL_Parameters]].&lt;br /&gt;
&lt;br /&gt;
== Tracing ==&lt;br /&gt;
Trace flags&lt;br /&gt;
;Browser Console&lt;br /&gt;
: to see the connection flow including redirects and determined configuration&lt;br /&gt;
&lt;br /&gt;
For trace flags for the softphone app see [[{{NAMESPACE}}:Concept_Softphone_Redundancy#Tracing]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=78806</id>
		<title>Reference14r2:MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=78806"/>
		<updated>2026-01-28T12:32:27Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Recommendation for Linux Administrators (Audio) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.&lt;br /&gt;
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.&lt;br /&gt;
This transmission of the audio stream between server and client adds a delay which makes the communication impossible.&lt;br /&gt;
Video suffers from the same limitations. &lt;br /&gt;
&lt;br /&gt;
The myApps Virtual Desktop Plugin enables media data to be transferred to the local client in terminal server environments.&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r2&lt;br /&gt;
* Client OS: Windows, Linux (Ubuntu 22 or 23, RangeeOS&amp;lt;ref&amp;gt;RangeeOS is listed due to a customer testimonial. No tests have been conducted by innovaphone. Tests were done using myapps 14r2sr3, RangeeOS Firmware 12.00 build 203 ff and Citrix Workspace 2311. (Workspace version 2402 &amp;amp; 2405 have a bug with USB redirection and 2408 is not starting reliably)&amp;lt;/ref&amp;gt;, IGEL OS&amp;lt;ref&amp;gt;IGEL OS: available at [https://app.igel.com/myAppsPlugin/15.1.455+1 IGEL App Portal]&amp;lt;/ref&amp;gt;) or MacOS operating systems&lt;br /&gt;
* Hypervisor OS: Citrix, Windows Terminal Server environments and VMWare Horizon&amp;lt;ref&amp;gt;VMWare Horizon OS is listed due to a customer testimonial. No tests have been conducted by innovaphone.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone myApps V14r2&lt;br /&gt;
* innovaphone myApps Plugin V14r2&lt;br /&gt;
* Firmware V14r2 final&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
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: &lt;br /&gt;
* start or stop an audio/video device&lt;br /&gt;
* gathering of the ICE candidates&lt;br /&gt;
* connect to a remote peer with the ICE protocol&lt;br /&gt;
* start a ringing device&lt;br /&gt;
* rendering of video&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 &lt;br /&gt;
Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:&lt;br /&gt;
&amp;lt;!-- no more accessible https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview --&amp;gt;&lt;br /&gt;
* [https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/technical-overview/virtual-channels Citrix technical overview]&lt;br /&gt;
* [https://support.citrix.com/support-home/kbsearch/article?articleNumber=CTX691230 Citrix support article summary]&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels Microsoft Remote Desktop Services virtual channels]&lt;br /&gt;
&lt;br /&gt;
=== Call signaling ===&lt;br /&gt;
The VDI Plugin has no connection to the PBX. Signaling is still done at the terminal server by the myApps client.&lt;br /&gt;
&lt;br /&gt;
=== Audio transmission ===&lt;br /&gt;
The plugin connects Audio, ICE and DTLS directly to the other endpoint.&amp;lt;br&amp;gt;Since Audio itself does not use virtual channels, the plugin on the client must be able [[Howto:What_Ports_are_used_for_Signaling_and_Voice_Traffic_in_SIP_and_H.323%3F#ICE_STUN_TURN|to reach the TURN/STUN server via port 3478]].&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&#039;&#039;&#039;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.&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
For this to work, the Citrix installation directory must be in the %ProgramFiles(x86)% or %ProgramFiles% directory.&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
Update your Linux PC first:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt-get update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download latest Citrix Workspace App (Mar 7, 2024) for Debian and x86_64 platform: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Citrix Workspace app needs &#039;&#039;&#039;libwebkit2gtk-4.0-37&#039;&#039;&#039; packet and this packet is not available in Ubuntu-24.04 version.&lt;br /&gt;
&lt;br /&gt;
Install it at your Linux PC:&lt;br /&gt;
&lt;br /&gt;
https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/install.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./icaclient_&amp;lt;version&amp;gt;._amd64.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install (or update) now the myApps Plugin:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./myAppsPlugin.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Headset Buttons:&lt;br /&gt;
&lt;br /&gt;
*Jabra: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-java.rules&lt;br /&gt;
**Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;0b0e&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
*Epos: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-epos.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;1395&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*Plantronics: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-plantronics.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;047f&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
* Snom: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-snom.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;251c&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*  Yealink: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-yealink.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;6993&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
No additional configuration required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the Terminalserver ===&lt;br /&gt;
The Softphone App at the terminal server does not require any additional configuration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server. &lt;br /&gt;
&lt;br /&gt;
This software automatically starts the myApps Plugin. No user action required.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The user does not need to have any knowledge about the myApps Plugin.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* The audio module in the MyApps Plugin for Linux/IgelOS has no echo cancellation. It is therefore recommended to use a headset, as headsets usually have their own echo cancellers.&lt;br /&gt;
* 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)&lt;br /&gt;
* 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. &lt;br /&gt;
**Video is displayed but with delay due to the rendering process. &lt;br /&gt;
**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.&lt;br /&gt;
* When MyApps is used as a Citrix Published App, notification pop-ups cannot be displayed. This is because Citrix does not recognize the notifications as part of MyApps and therefore does not show them as part of the published app. If the full desktop is used in Citrix, the notifications function correctly.&lt;br /&gt;
* Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.&lt;br /&gt;
* The MyApps Plugin for macOS supports only Citrix Workspace, the &amp;quot;Windows-App&amp;quot; from Microsoft is currently not supported&lt;br /&gt;
&amp;lt;br/&amp;gt;We need to implement an exception for appSharing in the future as the transmission must happen at the server.&lt;br /&gt;
&amp;lt;br/&amp;gt;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)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Windows ===&lt;br /&gt;
If Citrix is used as a terminal server environment:&lt;br /&gt;
#Citrix must be installed &#039;&#039;&#039;BEFORE&#039;&#039;&#039; the plugin&lt;br /&gt;
#Check in &amp;quot;C:/program files/Citrix/ICA Client&amp;quot; folder, there is the .dll myAppscitrixremoteserviesvc.dll&lt;br /&gt;
#Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there.&amp;lt;br /&amp;gt;&amp;quot;VirtualDriverEx&amp;quot; must be there with the value: InnovaphoneCitrixPlugin&lt;br /&gt;
#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&lt;br /&gt;
&lt;br /&gt;
Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote desktop (Windows)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After installing the plugin, check this registry folder:&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64&lt;br /&gt;
&lt;br /&gt;
and check as &amp;quot;Name&amp;quot; the path of the .dll &amp;lt;--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll&lt;br /&gt;
&lt;br /&gt;
check that the .dll exist in the mentioned direcotry and the plugin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disable Echo Canceler (Windows PC)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\innovaphone\myApps einen neuen Eintrag erstellen:&lt;br /&gt;
&lt;br /&gt;
Type: DWORD (REG_DWORD)&lt;br /&gt;
&lt;br /&gt;
Name: disableEchoCanceller&lt;br /&gt;
&lt;br /&gt;
Value: 1      ( or use, Value: 0 to enable the Echo Canceller)&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Linux ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Innovaphone Plugin is installed under /opt/innovaphone/&#039;&#039;&#039;myAppsPlugin&#039;&#039;&#039; and in /opt/Citrix/ICAClient/&#039;&#039;&#039;myAppsCitrixPlugin.so&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myAppsCitrixPlugin.so library is called by the Citrix Workspace App and this library opens the myAppsPlugin.&lt;br /&gt;
&lt;br /&gt;
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:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with &#039;&#039;&#039;​myAppsCitrixPlugin=On&#039;&#039;&#039;​ must exist and &lt;br /&gt;
&lt;br /&gt;
Following directory &#039;&#039;&#039;/var/log/apps/myAppsPlugin/&#039;&#039;&#039; must also exist for the log files with write permission for everyone (drwxrwxrwx)&lt;br /&gt;
&lt;br /&gt;
====Audio Quality issues (e.g. choppy audio)====&lt;br /&gt;
If you run into audio quality when using myapps on Linux, the following configuration is recommended:&lt;br /&gt;
&lt;br /&gt;
*  Use PulseAudio as the audio server&lt;br /&gt;
* Set the system-wide sample rate (default 44.1 kHz) to 48 kHz, since most USB headsets (e.g. Jabra) operate at 48 kHz.&lt;br /&gt;
&lt;br /&gt;
You need to apply settings on OS level, since the audio backend and sample rate are operating system settings and cannot be controlled by the application.&lt;br /&gt;
&lt;br /&gt;
You can check the Active audio server and sample rate with the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;pactl info&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on your language-settings you will get a different output.&lt;br /&gt;
But you want to look for something like &amp;quot;Server Name&amp;quot; and &amp;quot;Default-Sample-Specification&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The expected results are (Language set to English):&lt;br /&gt;
&lt;br /&gt;
 Server Name: pulseaudio&lt;br /&gt;
 Default Sample Specification: s16le 2ch 48000Hz&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting MacOS ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In /Library/Application Support/Citrix/PlugIns&lt;br /&gt;
&lt;br /&gt;
must exist ​myAppsCitrixPlugin.plugin -&amp;gt; /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin&lt;br /&gt;
&lt;br /&gt;
​under:​&lt;br /&gt;
&lt;br /&gt;
​/Users/.../Library/Application Support/Citrix Receiver&lt;br /&gt;
&lt;br /&gt;
​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with myAppsCitrixPlugin=On must exist&lt;br /&gt;
&lt;br /&gt;
- and another line with [myAppsCitrixPlugin]  too&lt;br /&gt;
&lt;br /&gt;
​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.&lt;br /&gt;
&lt;br /&gt;
​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r2/Data/Documents a log file is created: myAppsPlugin.txt&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Citrix ===&lt;br /&gt;
A Virtual Channel Policy must be added to the Registry at the &#039;&#039;&#039;Citrix Server&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/WOW6432Node/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create a REG_MULTI_SZ entry with the name &#039;&#039;&#039;VirtualChannelWhiteList&#039;&#039;&#039;. This entry must contain as value: &#039;&#039;&#039;INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting RTP Stream ===&lt;br /&gt;
&lt;br /&gt;
You can analyze the RTP stream with the switch &amp;quot;--record-rtp-stream&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* RTP reception after Echo Canceller and JitterBuffer&lt;br /&gt;
* Audio from microphone and send to RTP&lt;br /&gt;
&lt;br /&gt;
You have to start the myApps client as follows: myApps.exe --record-rtp-stream&lt;br /&gt;
&lt;br /&gt;
After the call, you can find the audio files in the folder: C:\Users\...\AppData\Local\innovaphone\myApps&lt;br /&gt;
&lt;br /&gt;
Tool to listen to the RTP stream: Audacity&lt;br /&gt;
&lt;br /&gt;
Go to: File / Import / Raw Data and open the Folder with the Rtp stream and select the file.&lt;br /&gt;
&lt;br /&gt;
For RTP-Send and RTP-Recv Data, use the Audio Codec G711 -&amp;gt; A-Law and 8000 &lt;br /&gt;
&lt;br /&gt;
For the Wave-in (out) Data Use Signed 16-bit PCM and 8000 Abtastrate&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_App_Service_Transcriptions&amp;diff=78796</id>
		<title>Reference16r1:Concept App Service Transcriptions</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_App_Service_Transcriptions&amp;diff=78796"/>
		<updated>2026-01-27T15:14:22Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Transcriptions - App Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FIXME|reason=This article is still work in progress}}&lt;br /&gt;
[[Category:Concept|Apps]]&lt;br /&gt;
[[Category:Concept App Service Transcriptions]]&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone from version 16r1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Go to the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) and open the &#039;&#039;&#039;&amp;quot;AP app installer&amp;quot;&#039;&#039;&#039; plugin. On the right panel, the App Store will be shown. &#039;&#039;Hint : if you access it for the first time, you will need to accept the &amp;quot;Terms of Use of the innovaphone App Store&amp;quot;&#039;&#039;&lt;br /&gt;
* In the search field located on the top right corner of the store, search for &#039;&#039;&#039;&amp;quot;Transcriptions&amp;quot;&#039;&#039;&#039; and click on it&lt;br /&gt;
* Select the proper firmware version, for example &#039;&#039;&#039;&amp;quot;Version 16r1&amp;quot;&#039;&#039;&#039; and click on install&lt;br /&gt;
* Tick &amp;quot;I accept the terms of use&amp;quot; and continue by clicking on the install yellow button&lt;br /&gt;
* Wait until the install has been finished&lt;br /&gt;
* Close and reopen the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) again in order to refresh the list of the available colored AP plugin&lt;br /&gt;
* Click on the &#039;&#039;&#039;&amp;quot;AP transcriptions&amp;quot;&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot; + Add an App&amp;quot;&#039;&#039;&#039; and then on the &#039;&#039;&#039;&amp;quot;Transcriptions API&amp;quot;&#039;&#039;&#039; button.&lt;br /&gt;
* Enter a &#039;&#039;&#039;&amp;quot;Name&amp;quot;&#039;&#039;&#039; that is used as display name &#039;&#039;(all character allowed)&#039;&#039; for it and the &#039;&#039;&#039;&amp;quot;SIP&amp;quot;&#039;&#039;&#039; name that is the administrative field &#039;&#039;(no space, no capital letters)&#039;&#039;. &#039;&#039;e.g : Name: Transcriptions API, SIP: transcriptions-api&#039;&#039;&lt;br /&gt;
* Choose a LLM (model) from the dropdown&lt;br /&gt;
* Tick the appropriate template to distribute the App (the app is needed at every user object from any user who wants to use the assistant API)&lt;br /&gt;
* Click OK to save the settings and a green check mark will be shown to inform you that the configuration is good&lt;br /&gt;
&lt;br /&gt;
== Transcriptions - App Service ==&lt;br /&gt;
The App Service performs tasks in the following areas:&lt;br /&gt;
* Implements the API to a remote transcription server (e.g. whisper)&lt;br /&gt;
&lt;br /&gt;
It can be configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX Manager App) [[Reference16r1:Apps/PbxManager/App_myApps_Transcriptions]]&lt;br /&gt;
&lt;br /&gt;
== Transcriptions App ==&lt;br /&gt;
Apart from offering the transcriptions API the service also offers the Transcriptions App. Here you may upload audio files and receive the transcript of it.&lt;br /&gt;
&lt;br /&gt;
You may also create a simple summary for the transcript and print it as PDF (very simple version)&lt;br /&gt;
[[File:ReferenceConceptTranscriptionsAppServiceTranscriptionsApp.png|thumb|Transcriptions App|/ReferenceConceptTranscriptionsAppServiceTranscriptionsApp.png]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
To troubleshoot this App Service, you need the traceflags &#039;&#039;App&#039;&#039;, &#039;&#039;Database&#039;&#039;, &#039;&#039;HTTP-Client&#039;&#039; in your App instance.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [https://sdk.innovaphone.com/16r1/web1/com.innovaphone.transcriptions/com.innovaphone.transcriptions.htm SDK Documentation - Transcriptions API]&lt;br /&gt;
* [[Reference16r1:Apps/PbxManager/App_myApps_Transcriptions]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_App_Service_Transcriptions&amp;diff=78692</id>
		<title>Reference16r1:Concept App Service Transcriptions</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference16r1:Concept_App_Service_Transcriptions&amp;diff=78692"/>
		<updated>2026-01-12T16:56:38Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FIXME|reason=This article is still work in progress}}&lt;br /&gt;
[[Category:Concept|Apps]]&lt;br /&gt;
[[Category:Concept App Service Transcriptions]]&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone from version 16r1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Go to the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) and open the &#039;&#039;&#039;&amp;quot;AP app installer&amp;quot;&#039;&#039;&#039; plugin. On the right panel, the App Store will be shown. &#039;&#039;Hint : if you access it for the first time, you will need to accept the &amp;quot;Terms of Use of the innovaphone App Store&amp;quot;&#039;&#039;&lt;br /&gt;
* In the search field located on the top right corner of the store, search for &#039;&#039;&#039;&amp;quot;Transcriptions&amp;quot;&#039;&#039;&#039; and click on it&lt;br /&gt;
* Select the proper firmware version, for example &#039;&#039;&#039;&amp;quot;Version 16r1&amp;quot;&#039;&#039;&#039; and click on install&lt;br /&gt;
* Tick &amp;quot;I accept the terms of use&amp;quot; and continue by clicking on the install yellow button&lt;br /&gt;
* Wait until the install has been finished&lt;br /&gt;
* Close and reopen the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) again in order to refresh the list of the available colored AP plugin&lt;br /&gt;
* Click on the &#039;&#039;&#039;&amp;quot;AP transcriptions&amp;quot;&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot; + Add an App&amp;quot;&#039;&#039;&#039; and then on the &#039;&#039;&#039;&amp;quot;Transcriptions API&amp;quot;&#039;&#039;&#039; button.&lt;br /&gt;
* Enter a &#039;&#039;&#039;&amp;quot;Name&amp;quot;&#039;&#039;&#039; that is used as display name &#039;&#039;(all character allowed)&#039;&#039; for it and the &#039;&#039;&#039;&amp;quot;SIP&amp;quot;&#039;&#039;&#039; name that is the administrative field &#039;&#039;(no space, no capital letters)&#039;&#039;. &#039;&#039;e.g : Name: Transcriptions API, SIP: transcriptions-api&#039;&#039;&lt;br /&gt;
* Choose a LLM (model) from the dropdown&lt;br /&gt;
* Tick the appropriate template to distribute the App (the app is needed at every user object from any user who wants to use the assistant API)&lt;br /&gt;
* Click OK to save the settings and a green check mark will be shown to inform you that the configuration is good&lt;br /&gt;
&lt;br /&gt;
== Transcriptions - App Service ==&lt;br /&gt;
The App Service performs tasks in the following areas:&lt;br /&gt;
* Implements the API to a remote transcription server (e.g. whipser)&lt;br /&gt;
&lt;br /&gt;
It can be configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX Manager App) [[Reference16r1:Apps/PbxManager/App_myApps_Transcriptions]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
To troubleshoot this App Service, you need the traceflags &#039;&#039;App&#039;&#039;, &#039;&#039;Database&#039;&#039;, &#039;&#039;HTTP-Client&#039;&#039; in your App instance.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [https://sdk.innovaphone.com/16r1/web1/com.innovaphone.transcriptions/com.innovaphone.transcriptions.htm SDK Documentation - Transcriptions API]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Gateway/Interfaces/SIP&amp;diff=78392</id>
		<title>Reference13r2:Gateway/Interfaces/SIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Gateway/Interfaces/SIP&amp;diff=78392"/>
		<updated>2025-10-29T12:50:04Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* More frequently used Advanced Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== SIP Registration section ==&lt;br /&gt;
The entry fields for a &#039;&#039;&#039;SIP registration&#039;&#039;&#039; are:&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|Descriptive name for this registration.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Disable&#039;&#039;&#039;&lt;br /&gt;
|A switch to temporarily disable this interface without deleting the configuration.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
*Provider: Creates a registration at a remote SIP server (of a SIP provider)&lt;br /&gt;
*Open Federation: SIP/TLS interface without registration used to send and receive calls to federation partners.&lt;br /&gt;
*Closed Federation: Like &#039;Open Federation&#039; but even more restricted to pre-configured set of federation partners. In the &#039;Closed Federation&#039; mode, the DNS queries for resolving the domain name of the federation partner are made without the &#039;&#039;&#039;Recursion Desired&#039;&#039;&#039; (RD) Flag. This means only DNS entries configured on the local DNS server are resolved, so the list of the partners for &#039;Closed Federation&#039; must be maintained on the local DNS server.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Transport&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
*UDP: SIP signaling using UDP as transport protocol (RFC 3261).&lt;br /&gt;
*TCP: SIP signaling using TCP as transport protocol (RFC 3261).&lt;br /&gt;
*TLS: SIP signaling using TLS as transport protocol (RFC 3261). [[Howto:Security works with innovaphone]]&lt;br /&gt;
*Without registration: By default sip trunks are using with registration. Can be disabled here.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;AOR&#039;&#039;&#039;&lt;br /&gt;
|Address of Record: SIP-URI used to register. Enter the registration ID followed by the SIP provider domain name (for example 8111111e0@sipgate.de or 8111111e0@x.x.x.x:5080 if you need to use the IP-address and a different Port number).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Local Hostname&#039;&#039;&#039;&lt;br /&gt;
|The Local Domain for SIP Federation enables to select the TLS Certificate according to the Domain Name. On the incoming SIP calls the host part of the URI is removed if equals with the Local Domain configured here, and the user part is used as Name (H323-ID) or Number (E164).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Local Port&#039;&#039;&#039;&lt;br /&gt;
|The local source port for SIP signalling can be configured here. If its empty a random port will be used. &#039;&#039;Dont use the same static port on multiple SIP Accounts!&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Proxy&#039;&#039;&#039;&lt;br /&gt;
|DNS name or IP address of the SIP proxy where SIP messages (REGISTER,INVITE,etc) are to be sent to. Proxy can be omitted if domain part of AOR can be used as remote signaling destination. (append &amp;quot;:&amp;lt;port&amp;gt;&amp;quot; if you need a different destination Port)&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;STUN Server&#039;&#039;&#039;&lt;br /&gt;
|The STUN servers to use.  See [[{{NAMESPACE}}:IP4/General/STUN | STUN]] for details regarding the format. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Authorization ==&lt;br /&gt;
Username and password for authorization. Username can be omitted if equal to userpart of AOR.&lt;br /&gt;
&lt;br /&gt;
== Media Properties ==&lt;br /&gt;
&lt;br /&gt;
The configuration of the media properties is evaluated for calls from/to this interface to/from a physical (ISDN, analog, TEST, ...) only. If media relay is active for a call using this interface an &#039;exclusive&#039; coder config is used to prohibit the use of any other coder. This &#039;exclusive code media-relay&#039; config can be used to solve interop problems with other equipment which does not support media renegotiation, because with this config no media renegotiation will be performed.&lt;br /&gt;
&lt;br /&gt;
For more information see [[{{NAMESPACE}}:Gateway/Interfaces/Media_Properties | Media Properties]] and [[Howto:Security works with innovaphone]]&lt;br /&gt;
&lt;br /&gt;
== SIP Interop Tweaks ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Proposed Registration Interval&#039;&#039;&#039;&lt;br /&gt;
|Set in seconds, default is 120 seconds&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Accept INVITE&#039;s from Anywhere&#039;&#039;&#039;&lt;br /&gt;
|If disabled, registered interfaces will reject INVITE&#039;s not coming from the SIP server with &amp;quot;305 Use Proxy&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Enforce Sending Complete&#039;&#039;&#039;&lt;br /&gt;
|Affects handling of &amp;quot;484 Address Incomplete&amp;quot; responses. If enabled and &amp;quot;484 Address Incomplete&amp;quot; is received, the call is cleared. If not enabled and &amp;quot;484 Address Incomplete&amp;quot; is received, the call is retained and re-initiated in case of new dialing digits.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Video&#039;&#039;&#039;&lt;br /&gt;
|Removes Video Capabilities from outgoing media offer.&lt;br /&gt;
|-&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Early Media&#039;&#039;&#039;&lt;br /&gt;
|Ignore any SDP answer received before final connect response.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Inband Information on Error&#039;&#039;&#039;&lt;br /&gt;
|Controls interworking of Q.931 DISC message. If this option is set, DISC message is always interworked into BYE request.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Inband Disconnect&#039;&#039;&#039;&lt;br /&gt;
|TBD.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No Remote Hold Signaling&#039;&#039;&#039;&lt;br /&gt;
|Disables interworking of &amp;quot;inactive&amp;quot; into RemoteHold (affects connected SIP calls only).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Take Refer-To URI as Remote Target URI&#039;&#039;&#039;&lt;br /&gt;
|TBD.&lt;br /&gt;
|-&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;To Header when Sending INVITE&#039;&#039;&#039;&lt;br /&gt;
|Affects only outgoing diverted calls . &lt;br /&gt;
*&#039;&#039;&#039;Called Party&#039;&#039;&#039;: If set we write CDPN into To header of outgoing INVITE (and DGPN into History-Info header). &lt;br /&gt;
*&#039;&#039;&#039;Original Called Party&#039;&#039;&#039;: If set we write the DGPN into To header of outgoing INVITE (and CDPN into Request-URI).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;From Header when Sending INVITE&#039;&#039;&#039;&lt;br /&gt;
|Controls the local URI (From header) of outgoing calls. Applys to registered interfaces only. &lt;br /&gt;
*&#039;&#039;&#039;Fixed AOR&#039;&#039;&#039;: Fixed AOR is used as From-URI regardless of the actual calling party number. &lt;br /&gt;
*&#039;&#039;&#039;AOR with CGPN as Display&#039;&#039;&#039;: Fixed AOR is used as From-URI and calling party number is added as display string. &lt;br /&gt;
*&#039;&#039;&#039;CGPN in user part of URI&#039;&#039;&#039;: Variable From-URI with actual calling party number.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Identity Header when Sending INVITE&#039;&#039;&#039;&lt;br /&gt;
|Controls the identity header (P-Preferred-Identity, P-Asserted-Identity and Remote-Party-Id) sent on outgoing calls&lt;br /&gt;
*&#039;&#039;&#039;CGPN in user part of URI&#039;&#039;&#039;: Variable Identity-URI with actual calling party number &lt;br /&gt;
*&#039;&#039;&#039;Fixed AOR&#039;&#039;&#039;: Fixed AOR is used as Identity-URI regardless of the actual calling party number&lt;br /&gt;
*&#039;&#039;&#039;UUI&#039;&#039;&#039;: the relayed call must include &#039;&#039;user-to-user-info&#039;&#039; (UUI). This UUI is used as Identity-URI. [[Howto:How_to_customize_the_From/Identity_header_value_at_SIP_interfaces|In the UUI]], the string &amp;lt;code&amp;gt;{initiator}&amp;lt;/code&amp;gt; is replaced by the the call&#039;s &#039;&#039;diversion-info&#039;&#039; (a.k.a. &#039;&#039;leg-2-info&#039;&#039;) if available or the calling party number otherwise&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Reliability of Provisional Responses&#039;&#039;&#039;&lt;br /&gt;
|Controls the support of PRACK (RFC-3262). &lt;br /&gt;
*&#039;&#039;&#039;Supported&#039;&#039;&#039;: Supported as optional extension. &lt;br /&gt;
*&#039;&#039;&#039;Required&#039;&#039;&#039;: Required as mandatory extension. &lt;br /&gt;
*&#039;&#039;&#039;Disabled&#039;&#039;&#039;: Hide support for PRACK extension.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Advanced&#039;&#039;&#039;&lt;br /&gt;
|Allows the configuration of additional, not further documented, interop tweaks(e.g. /pai on). The same tweaks can be configured also globally(i.e. not for this SIP-Interface) at the SIP(or TSIP/SIPS)-module. Any tweaks configured at the SIP-Interface will overwrite globally configured tweaks.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== More frequently used &#039;&#039;Advanced&#039;&#039; Parameters ===&lt;br /&gt;
There are some options which influence the stack behaviour to handle ambiguities in the SIP standard:&lt;br /&gt;
&lt;br /&gt;
; /pai on  : send identity URI in &amp;lt;code&amp;gt;P-Asserted-Identity&amp;lt;/code&amp;gt; header. By default, it is sent in the &amp;lt;code&amp;gt;P-Asserted-Identity&amp;lt;/code&amp;gt; header for calls from the PBX to the endpoint, in the &amp;lt;code&amp;gt;P-Preferred-Identity&amp;lt;/code&amp;gt; header otherwise&lt;br /&gt;
; /ppi on : send identity URI in &amp;lt;code&amp;gt;P-Preferred-Identity&amp;lt;/code&amp;gt; header &lt;br /&gt;
&lt;br /&gt;
Other options are available which instruct the stack to use non-standard or deprecated behaviour.  Note that this should only be used in rare cases.  Better have the vendor of your 3rd party SIP equipment fix its stack implementation:&lt;br /&gt;
&lt;br /&gt;
; /send-deprecated-diversion-header on : send call history information in the deprecated &amp;lt;code&amp;gt;Diversion&amp;lt;/code&amp;gt; header in addition to the &amp;lt;code&amp;gt;History-Info&amp;lt;/code&amp;gt; header &lt;br /&gt;
; /single-audio-description : don&#039;t send SAVP+AVP, but SAVP or AVP media description in SDP&lt;br /&gt;
; /no-authentication-info : don&#039;t send &amp;lt;code&amp;gt;Authentication-Info&amp;lt;/code&amp;gt; header in REGISTER response&lt;br /&gt;
; /send-no-historyinfo : don&#039;t send call history information (i.e. call forward) in outgoing Invite&lt;br /&gt;
; /contact-addr [option] : adjust the Contact header to a fixed value necessary in scenarios of SIP Provider trunk without registration using TCP/TLS and uses Contact Header for Authentication. Example /contact-addr x.x.x.x:5061;user=phone;transport=TLS&lt;br /&gt;
; /options-interval n : Send SIP options every &amp;quot;n&amp;quot; seconds to the configured remote SIP Address configured on the Interface.&lt;br /&gt;
; /get-cdpn-from-to-uri : get CDPN of incoming provider-calls from To-URI instead of Request-URI&lt;br /&gt;
; /prefer-pai : get CGPN from PAI/PPI/RPID if present&lt;br /&gt;
; /no-diverting-name: don&#039;t add display name to diverting party URI&lt;br /&gt;
; /installed-certificate: for SIP/TLS trunks  where the installed certificate should be used instead of the build-in device certificate&lt;br /&gt;
&lt;br /&gt;
=== Extra Options ===&lt;br /&gt;
{{3rd_Party_Input}}&lt;br /&gt;
&lt;br /&gt;
==== Disable Interworking of Hold Notifications to SIP Provider ====&lt;br /&gt;
&lt;br /&gt;
During the tests we concluded that when interworking the hold-notify message to SIP and sending to the SIP Provider two consecutive Re-Invites with &amp;quot;send-only&amp;quot; attributes, the IMS platform replies to the second re-invite with &amp;quot;inactive&amp;quot;. By doing so this call is put on hold without any Music on Hold - just silence.&lt;br /&gt;
To avoid this behaviour we need to disable the interworking of the hold-notify message by this setting: &lt;br /&gt;
&lt;br /&gt;
 !config add SIP /no-hr-notify  (Alternative: TSIP / SIPS)&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
==== SIP Options Interval (Optional) ====&lt;br /&gt;
&lt;br /&gt;
Some Provider uses SIP Options to monitor the SIP Trunks, so it&#039;s mandatory that Innovaphone replies to incoming SIP Options received. This is done by default. Additionally we can also send SIP Options to the SIP Proxy and have similar mechanism for redundancy. If the remote Proxy doesn&#039;t reply to outgoing SIP Options, the Innovaphone Gateway will send the call to the next interface. To enable sending of Options - messages, the following setting must be done:&lt;br /&gt;
&lt;br /&gt;
 !config add SIP /options-interval 30  (Alternative: TSIP / SIPS)&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
This option will only take effect on connections &amp;quot;without registration&amp;quot;. In connections with a registration there already exist a keep alive.&lt;br /&gt;
&lt;br /&gt;
==== Remove Comfort Noise (CN) Capability from SDP ====&lt;br /&gt;
&lt;br /&gt;
During the tests we found out that some specific 3rd party devices connected to the IMS network support only a single coder/payload in the offer. When doing the coder negotiation, this devices repeat the coder negotiation until they have only 1 coder in the offer or until they reach a specific number of retries. Since Innovaphone by default always include the payload 13 (Comfort Noise) in addition to the used voice coder/payload, this would make the remote device to do multiple re-invites to try to reach the single coder/payload in the offer.&lt;br /&gt;
To avoid unnecessary signalling, we should disable the sending of Comfort Noise capability.&lt;br /&gt;
&lt;br /&gt;
 !config add SIP /rem-cn-capability  (Alternative: TSIP / SIPS)&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
==== Setting of P-Asserted ID instead of P-Preferred ID ====&lt;br /&gt;
&lt;br /&gt;
When using the feature of ReRouting the call (SIP 302 Move Temporary) to the SIP Trunk, the IMS platform checks the P-Asserted ID setting. By default we send as P-Preferred ID instead, so that will not work. As a result, we need to configure the following setting:&lt;br /&gt;
&lt;br /&gt;
 !config add SIP /pai  (Alternative: TSIP / SIPS)&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78334</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78334"/>
		<updated>2025-10-21T15:12:27Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* After update endpoint no longer registers to the PBX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt; Before you begin, be sure that your Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead..&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference9:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
===App Platform doesn&#039;t boot after Upgrade===&lt;br /&gt;
If you didn&#039;t upgrade the AP Image before upgrading the apps like describe [[#AP_Upgrade_to_Image_130006|here]] and the AP isn&#039;t reachable via http(s), but still via ssh, please follow these [[Reference14r2:Concept_App_Platform#It_still_doesn&#039;t_start|instructions]] to get the AP work correct again.&lt;br /&gt;
&lt;br /&gt;
===Downgrade of Devices App from 15r1 to 14r2===&lt;br /&gt;
The database schema for update jobs in the Devices App has changed between versions 14r2 and 15r1. If you need to downgrade from 15r1 back to 14r2, you must delete all 15r1 update jobs before.&lt;br /&gt;
&lt;br /&gt;
Failing to do so will cause the 14r2 Devices App to crash on startup. In that case, you will need to restore a 14r2 backup of the Devices App.&lt;br /&gt;
&lt;br /&gt;
===After update endpoint no longer registers to the PBX ===&lt;br /&gt;
An incoming registration to a PBX is incorrectly identified as coming from/over the reverse proxy when the certificate sent by the registering endpoint matches a certificate mentioned in the reverse proxy addresses of the PBX, regardless of the IP address associated with this certificate in the &#039;PBX/Config/General/Reverse Proxy Addresses&#039; list. The registration is rejected then, if the device at the PBX-object has no &#039;&#039;Reverse Proxy&#039;&#039; Flag.&lt;br /&gt;
&lt;br /&gt;
For example, this often occurs with slave/standby PBXs if a wildcard certificate is used for registration and this wildcard certificate is also mentioned in the &#039;PBX/Config/General/Reverse Proxy Addresses&#039; list. &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution 1&#039;&#039;&#039;: Remove the wildcard-certificate from the Reverse Proxy-list &#039;&#039;&#039;or&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Solution 2&#039;&#039;&#039;: Configure a strong password on the PBX-object and change the endpoint registration from &#039;H323/TLS&#039; to &#039;H323/TCP&#039; (and so with password).&lt;br /&gt;
&#039;&#039;&#039;or&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Solution 3&#039;&#039;&#039;: Activate the &#039;&#039;Reverse Proxy&#039;&#039; Flag at the PBX-object&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
* [[Howto16r1:Firmware_Upgrade_V15r1_V16r1]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78333</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78333"/>
		<updated>2025-10-21T15:02:37Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Slave/Standby-PBXs no longer register to the Master-PBX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt; Before you begin, be sure that your Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead..&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference9:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
===App Platform doesn&#039;t boot after Upgrade===&lt;br /&gt;
If you didn&#039;t upgrade the AP Image before upgrading the apps like describe [[#AP_Upgrade_to_Image_130006|here]] and the AP isn&#039;t reachable via http(s), but still via ssh, please follow these [[Reference14r2:Concept_App_Platform#It_still_doesn&#039;t_start|instructions]] to get the AP work correct again.&lt;br /&gt;
&lt;br /&gt;
===Downgrade of Devices App from 15r1 to 14r2===&lt;br /&gt;
The database schema for update jobs in the Devices App has changed between versions 14r2 and 15r1. If you need to downgrade from 15r1 back to 14r2, you must delete all 15r1 update jobs before.&lt;br /&gt;
&lt;br /&gt;
Failing to do so will cause the 14r2 Devices App to crash on startup. In that case, you will need to restore a 14r2 backup of the Devices App.&lt;br /&gt;
&lt;br /&gt;
===After update endpoint no longer registers to the PBX ===&lt;br /&gt;
An incoming registration to a PBX is incorrectly identified as coming from/over the reverse proxy when the certificate sent by the registering endpoint matches a certificate mentioned in the reverse proxy addresses of the PBX. For example, this often occurs with slave/standby PBXs if a wildcard certificate is used for registration and this wildcard certificate is also mentioned in the &#039;PBX/Config/General/Reverse Proxy Addresses&#039; list. &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution 1&#039;&#039;&#039;: Remove the wildcard-certificate from the Reverse Proxy-list &#039;&#039;&#039;or&#039;&#039;&#039; &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Solution 2&#039;&#039;&#039;: Configure a strong password on the PBX-object and change the endpoint registration from &#039;H323/TLS&#039; to &#039;H323/TCP&#039; (and so with password).&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
* [[Howto16r1:Firmware_Upgrade_V15r1_V16r1]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78327</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=78327"/>
		<updated>2025-10-20T12:20:27Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
* &amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt; Before you begin, be sure that your Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead..&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference9:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
===App Platform doesn&#039;t boot after Upgrade===&lt;br /&gt;
If you didn&#039;t upgrade the AP Image before upgrading the apps like describe [[#AP_Upgrade_to_Image_130006|here]] and the AP isn&#039;t reachable via http(s), but still via ssh, please follow these [[Reference14r2:Concept_App_Platform#It_still_doesn&#039;t_start|instructions]] to get the AP work correct again.&lt;br /&gt;
&lt;br /&gt;
===Downgrade of Devices App from 15r1 to 14r2===&lt;br /&gt;
The database schema for update jobs in the Devices App has changed between versions 14r2 and 15r1. If you need to downgrade from 15r1 back to 14r2, you must delete all 15r1 update jobs before.&lt;br /&gt;
&lt;br /&gt;
Failing to do so will cause the 14r2 Devices App to crash on startup. In that case, you will need to restore a 14r2 backup of the Devices App.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
* [[Howto16r1:Firmware_Upgrade_V15r1_V16r1]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=78183</id>
		<title>Reference14r2:MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=78183"/>
		<updated>2025-10-08T09:35:55Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.&lt;br /&gt;
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.&lt;br /&gt;
This transmission of the audio stream between server and client adds a delay which makes the communication impossible.&lt;br /&gt;
Video suffers from the same limitations. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r2&lt;br /&gt;
* Client OS: Windows, Linux (Ubuntu 22 or 23, RangeeOS&amp;lt;ref&amp;gt;RangeeOS is listed due to a customer testimonial. No tests have been conducted by innovaphone. Tests were done using myapps 14r2sr3, RangeeOS Firmware 12.00 build 203 ff and Citrix Workspace 2311. (Workspace version 2402 &amp;amp; 2405 have a bug with USB redirection and 2408 is not starting reliably)&amp;lt;/ref&amp;gt;, IGEL OS&amp;lt;ref&amp;gt;IGEL OS: available at [https://app.igel.com/myAppsPlugin/15.1.455+1 IGEL App Portal]&amp;lt;/ref&amp;gt;) or MacOS operating systems&lt;br /&gt;
* Hypervisor OS: Citrix, Windows Terminal Server environments and VMWare Horizon&amp;lt;ref&amp;gt;VMWare Horizon OS is listed due to a customer testimonial. No tests have been conducted by innovaphone.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone myApps V14r2&lt;br /&gt;
* innovaphone myApps Plugin V14r2&lt;br /&gt;
* Firmware V14r2 final&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
* start or stop an audio/video device&lt;br /&gt;
* gathering of the ICE candidates&lt;br /&gt;
* connect to a remote peer with the ICE protocol&lt;br /&gt;
* start a ringing device&lt;br /&gt;
* rendering of video&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 &lt;br /&gt;
Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:&lt;br /&gt;
&lt;br /&gt;
https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview&lt;br /&gt;
&lt;br /&gt;
https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels&lt;br /&gt;
&lt;br /&gt;
=== Call signaling ===&lt;br /&gt;
&lt;br /&gt;
The VDI Plugin has no connection to the PBX. Signaling is still done at the terminal server by the myApps client.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;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.&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
For this to work, the Citrix installation directory must be in the %ProgramFiles(x86)% or %ProgramFiles% directory.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Update your Linux PC first:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt-get update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download latest Citrix Workspace App (Mar 7, 2024) for Debian and x86_64 platform: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Citrix Workspace app needs &#039;&#039;&#039;libwebkit2gtk-4.0-37&#039;&#039;&#039; packet and this packet is not available in Ubuntu-24.04 version.&lt;br /&gt;
&lt;br /&gt;
Install it at your Linux PC:&lt;br /&gt;
&lt;br /&gt;
https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/install.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./icaclient_&amp;lt;version&amp;gt;._amd64.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install (or update) now the myApps Plugin:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./myAppsPlugin.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Headset Buttons:&lt;br /&gt;
&lt;br /&gt;
*Jabra: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-java.rules&lt;br /&gt;
**Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;0b0e&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
*Epos: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-epos.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;1395&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*Plantronics: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-plantronics.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;047f&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
* Snom: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-snom.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;251c&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*  Yealink: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-yealink.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;6993&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
No additional configuration required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the Terminalserver ===&lt;br /&gt;
The Softphone App at the terminal server does not require any additional configuration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server. &lt;br /&gt;
&lt;br /&gt;
This software automatically starts the myApps Plugin. No user action required.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The user does not need to have any knowledge about the myApps Plugin.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* The audio module in the MyApps Plugin for Linux/IgelOS has no echo cancellation. It is therefore recommended to use a headset, as headsets usually have their own echo cancellers.&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
* 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. &lt;br /&gt;
**Video is displayed but with delay due to the rendering process. &lt;br /&gt;
**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.&lt;br /&gt;
* When MyApps is used as a Citrix Published App, notification pop-ups cannot be displayed. This is because Citrix does not recognize the notifications as part of MyApps and therefore does not show them as part of the published app. If the full desktop is used in Citrix, the notifications function correctly.&lt;br /&gt;
* Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.&lt;br /&gt;
* The MyApps Plugin for macOS supports only Citrix Workspace, the &amp;quot;Windows-App&amp;quot; from Microsoft is currently not supported&lt;br /&gt;
&amp;lt;br/&amp;gt;We need to implement an exception for appSharing in the future as the transmission must happen at the server.&lt;br /&gt;
&amp;lt;br/&amp;gt;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)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Windows ===&lt;br /&gt;
&lt;br /&gt;
If Citrix is used as a terminal server environment:&lt;br /&gt;
&lt;br /&gt;
1) Citrix must be installed &#039;&#039;&#039;BEFORE&#039;&#039;&#039; the plugin&lt;br /&gt;
&lt;br /&gt;
2) Check in &amp;quot;C:/program files/Citrix/ICA Client&amp;quot; folder, there is the .dll myAppscitrixremoteserviesvc.dll&lt;br /&gt;
&lt;br /&gt;
3) Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;VirtualDriverEx&amp;quot; must be there with the value: InnovaphoneCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote desktop (Windows)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After installing the plugin, check this registry folder:&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64&lt;br /&gt;
&lt;br /&gt;
and check as &amp;quot;Name&amp;quot; the path of the .dll &amp;lt;--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll&lt;br /&gt;
&lt;br /&gt;
check that the .dll exist in the mentioned direcotry and the plugin.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Linux ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Innovaphone Plugin is installed under /opt/innovaphone/&#039;&#039;&#039;myAppsPlugin&#039;&#039;&#039; and in /opt/Citrix/ICAClient/&#039;&#039;&#039;myAppsCitrixPlugin.so&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myAppsCitrixPlugin.so library is called by the Citrix Workspace App and this library opens the myAppsPlugin.&lt;br /&gt;
&lt;br /&gt;
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:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with &#039;&#039;&#039;​myAppsCitrixPlugin=On&#039;&#039;&#039;​ must exist and &lt;br /&gt;
&lt;br /&gt;
Following directory &#039;&#039;&#039;/var/log/apps/myAppsPlugin/&#039;&#039;&#039; must also exist for the log files with write permission for everyone (drwxrwxrwx)&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting MacOS ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In /Library/Application Support/Citrix/PlugIns&lt;br /&gt;
&lt;br /&gt;
must exist ​myAppsCitrixPlugin.plugin -&amp;gt; /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin&lt;br /&gt;
&lt;br /&gt;
​under:​&lt;br /&gt;
&lt;br /&gt;
​/Users/.../Library/Application Support/Citrix Receiver&lt;br /&gt;
&lt;br /&gt;
​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with myAppsCitrixPlugin=On must exist&lt;br /&gt;
&lt;br /&gt;
- and another line with [myAppsCitrixPlugin]  too&lt;br /&gt;
&lt;br /&gt;
​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.&lt;br /&gt;
&lt;br /&gt;
​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r2/Data/Documents a log file is created: myAppsPlugin.txt&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Citrix ===&lt;br /&gt;
A Virtual Channel Policy must be added to the Registry at the &#039;&#039;&#039;Citrix Server&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/WOW6432Node/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create a REG_MULTI_SZ entry with the name &#039;&#039;&#039;VirtualChannelWhiteList&#039;&#039;&#039;. This entry must contain as value: &#039;&#039;&#039;INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:MyApps_Plugin_for_Virtual_Desktops&amp;diff=77940</id>
		<title>Reference14r1:MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r1:MyApps_Plugin_for_Virtual_Desktops&amp;diff=77940"/>
		<updated>2025-10-01T13:11:56Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br/&amp;gt;This transmission of the audio stream between server and client adds a delay which makes the communication impossible.&lt;br /&gt;
&amp;lt;br/&amp;gt;Video suffers from the same limitations.&lt;br /&gt;
&lt;br /&gt;
A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r1&lt;br /&gt;
* Windows or MacOS operating systems&lt;br /&gt;
* Citrix, Windows Terminal Server environments and VMWare Horizon&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone myApps V14r1&lt;br /&gt;
* innovaphone myApps Plugin V14r1&lt;br /&gt;
* Firmware V14r1 final&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
- start or stop an audio/video device&lt;br /&gt;
&lt;br /&gt;
- gathering of the ICE candidates&lt;br /&gt;
&lt;br /&gt;
- connect to a remote peer with the ICE protocol&lt;br /&gt;
&lt;br /&gt;
- start a ringing device&lt;br /&gt;
&lt;br /&gt;
- rendering of video&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 &lt;br /&gt;
Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:&lt;br /&gt;
&lt;br /&gt;
https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview&lt;br /&gt;
&lt;br /&gt;
https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&#039;&#039;&#039;Citrix Workspace app must first be installed on all platforms. This is necessary because the myApps plugin must copy a .dll (Windows) / .so (MacOS) into the Citrix installation directory.&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
For this to work, the Citrix installation directory must be in the %ProgramFiles(x86)% or %ProgramFiles% directory.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the Terminalserver ===&lt;br /&gt;
The Softphone App at the terminal server does not require any additional configuration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server. &lt;br /&gt;
&lt;br /&gt;
This software automatically starts the myApps Plugin. No user action required.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The user does not need to have any knowledge about the myApps Plugin.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
- 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.&lt;br /&gt;
&lt;br /&gt;
- When MyApps is used as a Citrix Published App, notification pop-ups cannot be displayed. This is because Citrix does not recognize the notifications as part of MyApps and therefore does not show them as part of the published app. If the full desktop is used in Citrix, the notifications function correctly.&lt;br /&gt;
&lt;br /&gt;
- 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. &lt;br /&gt;
Video is displayed but with delay due to the rendering process. &lt;br /&gt;
&amp;lt;br/&amp;gt;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.&lt;br /&gt;
&lt;br /&gt;
- Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.&lt;br /&gt;
&amp;lt;br/&amp;gt;We need to implement an exception for appSharing in the future as the transmission must happen at the server.&lt;br /&gt;
&amp;lt;br/&amp;gt;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.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Windows===&lt;br /&gt;
&lt;br /&gt;
If Citrix is used as a terminal server environment:&lt;br /&gt;
&lt;br /&gt;
1) Citrix must be installed &#039;&#039;&#039;BEFORE&#039;&#039;&#039; the plugin&lt;br /&gt;
&lt;br /&gt;
2) Check in &amp;quot;C:/program files/Citrix/ICA Client&amp;quot; folder, there is the .dll myAppscitrixremoteserviesvc.dll&lt;br /&gt;
&lt;br /&gt;
3) Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;VirtualDriverEx&amp;quot; must be there with the value: InnovaphoneCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote desktop (Windows)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After installing the plugin, check this registry folder:&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64&lt;br /&gt;
&lt;br /&gt;
and check as &amp;quot;Name&amp;quot; the path of the .dll &amp;lt;--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll&lt;br /&gt;
&lt;br /&gt;
check that the .dll exist in the mentioned direcotry and the plugin.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting MacOS===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In /Library/Application Support/Citrix/PlugIns&lt;br /&gt;
&lt;br /&gt;
must exist ​myAppsCitrixPlugin.plugin -&amp;gt; /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin&lt;br /&gt;
&lt;br /&gt;
​under:​&lt;br /&gt;
&lt;br /&gt;
​/Users/.../Library/Application Support/Citrix Receiver&lt;br /&gt;
&lt;br /&gt;
​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with myAppsCitrixPlugin=On must exist&lt;br /&gt;
&lt;br /&gt;
- and another line with [myAppsCitrixPlugin]  too&lt;br /&gt;
&lt;br /&gt;
​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.&lt;br /&gt;
&lt;br /&gt;
​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r1/Data/Documentsa log file is created: myAppsPlugin.txt&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Citrix===&lt;br /&gt;
&lt;br /&gt;
A Virtual Channel Policy must be added to the Registry at the &#039;&#039;&#039;Citrix Server&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
- Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
- Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/WOW6432Node/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
- Create a REG_MULTI_SZ entry with the name &#039;&#039;&#039;VirtualChannelWhiteList&#039;&#039;&#039;. This entry must contain als value: &#039;&#039;&#039;INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_App_SoftphoneApp]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=77939</id>
		<title>Reference14r2:MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=77939"/>
		<updated>2025-10-01T13:10:55Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.&lt;br /&gt;
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.&lt;br /&gt;
This transmission of the audio stream between server and client adds a delay which makes the communication impossible.&lt;br /&gt;
Video suffers from the same limitations. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r2&lt;br /&gt;
* Client OS: Windows, Linux (Ubuntu 22 or 23, RangeeOS&amp;lt;ref&amp;gt;RangeeOS is listed due to a customer testimonial. No tests have been conducted by innovaphone. Tests were done using myapps 14r2sr3, RangeeOS Firmware 12.00 build 203 ff and Citrix Workspace 2311. (Workspace version 2402 &amp;amp; 2405 have a bug with USB redirection and 2408 is not starting reliably)&amp;lt;/ref&amp;gt;, IGEL OS&amp;lt;ref&amp;gt;IGEL OS: available at [https://app.igel.com/myAppsPlugin/15.1.455+1 IGEL App Portal]&amp;lt;/ref&amp;gt;) or MacOS operating systems&lt;br /&gt;
* Hypervisor OS: Citrix, Windows Terminal Server environments and VMWare Horizon&amp;lt;ref&amp;gt;VMWare Horizon OS is listed due to a customer testimonial. No tests have been conducted by innovaphone.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone myApps V14r2&lt;br /&gt;
* innovaphone myApps Plugin V14r2&lt;br /&gt;
* Firmware V14r2 final&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
* start or stop an audio/video device&lt;br /&gt;
* gathering of the ICE candidates&lt;br /&gt;
* connect to a remote peer with the ICE protocol&lt;br /&gt;
* start a ringing device&lt;br /&gt;
* rendering of video&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 &lt;br /&gt;
Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:&lt;br /&gt;
&lt;br /&gt;
https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview&lt;br /&gt;
&lt;br /&gt;
https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels&lt;br /&gt;
&lt;br /&gt;
=== Call signaling ===&lt;br /&gt;
&lt;br /&gt;
The VDI Plugin has no connection to the PBX. Signaling is still done at the terminal server by the myApps client.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;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.&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
For this to work, the Citrix installation directory must be in the %ProgramFiles(x86)% or %ProgramFiles% directory.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Update your Linux PC first:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt-get update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download latest Citrix Workspace App (Mar 7, 2024) for Debian and x86_64 platform: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Citrix Workspace app needs &#039;&#039;&#039;libwebkit2gtk-4.0-37&#039;&#039;&#039; packet and this packet is not available in Ubuntu-24.04 version.&lt;br /&gt;
&lt;br /&gt;
Install it at your Linux PC:&lt;br /&gt;
&lt;br /&gt;
https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/install.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./icaclient_&amp;lt;version&amp;gt;._amd64.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install (or update) now the myApps Plugin:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./myAppsPlugin.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Headset Buttons:&lt;br /&gt;
&lt;br /&gt;
*Jabra: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-java.rules&lt;br /&gt;
**Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;0b0e&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
*Epos: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-epos.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;1395&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*Plantronics: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-plantronics.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;047f&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
* Snom: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-snom.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;251c&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*  Yealink: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-yealink.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;6993&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
No additional configuration required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the Terminalserver ===&lt;br /&gt;
The Softphone App at the terminal server does not require any additional configuration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server. &lt;br /&gt;
&lt;br /&gt;
This software automatically starts the myApps Plugin. No user action required.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The user does not need to have any knowledge about the myApps Plugin.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
* 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. &lt;br /&gt;
**Video is displayed but with delay due to the rendering process. &lt;br /&gt;
**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.&lt;br /&gt;
* When MyApps is used as a Citrix Published App, notification pop-ups cannot be displayed. This is because Citrix does not recognize the notifications as part of MyApps and therefore does not show them as part of the published app. If the full desktop is used in Citrix, the notifications function correctly.&lt;br /&gt;
* Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.&lt;br /&gt;
* The MyApps Plugin for macOS supports only Citrix Workspace, the &amp;quot;Windows-App&amp;quot; from Microsoft is currently not supported&lt;br /&gt;
&amp;lt;br/&amp;gt;We need to implement an exception for appSharing in the future as the transmission must happen at the server.&lt;br /&gt;
&amp;lt;br/&amp;gt;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)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Windows ===&lt;br /&gt;
&lt;br /&gt;
If Citrix is used as a terminal server environment:&lt;br /&gt;
&lt;br /&gt;
1) Citrix must be installed &#039;&#039;&#039;BEFORE&#039;&#039;&#039; the plugin&lt;br /&gt;
&lt;br /&gt;
2) Check in &amp;quot;C:/program files/Citrix/ICA Client&amp;quot; folder, there is the .dll myAppscitrixremoteserviesvc.dll&lt;br /&gt;
&lt;br /&gt;
3) Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;VirtualDriverEx&amp;quot; must be there with the value: InnovaphoneCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote desktop (Windows)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After installing the plugin, check this registry folder:&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64&lt;br /&gt;
&lt;br /&gt;
and check as &amp;quot;Name&amp;quot; the path of the .dll &amp;lt;--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll&lt;br /&gt;
&lt;br /&gt;
check that the .dll exist in the mentioned direcotry and the plugin.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Linux ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Innovaphone Plugin is installed under /opt/innovaphone/&#039;&#039;&#039;myAppsPlugin&#039;&#039;&#039; and in /opt/Citrix/ICAClient/&#039;&#039;&#039;myAppsCitrixPlugin.so&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myAppsCitrixPlugin.so library is called by the Citrix Workspace App and this library opens the myAppsPlugin.&lt;br /&gt;
&lt;br /&gt;
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:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with &#039;&#039;&#039;​myAppsCitrixPlugin=On&#039;&#039;&#039;​ must exist and &lt;br /&gt;
&lt;br /&gt;
Following directory &#039;&#039;&#039;/var/log/apps/myAppsPlugin/&#039;&#039;&#039; must also exist for the log files with write permission for everyone (drwxrwxrwx)&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting MacOS ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In /Library/Application Support/Citrix/PlugIns&lt;br /&gt;
&lt;br /&gt;
must exist ​myAppsCitrixPlugin.plugin -&amp;gt; /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin&lt;br /&gt;
&lt;br /&gt;
​under:​&lt;br /&gt;
&lt;br /&gt;
​/Users/.../Library/Application Support/Citrix Receiver&lt;br /&gt;
&lt;br /&gt;
​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with myAppsCitrixPlugin=On must exist&lt;br /&gt;
&lt;br /&gt;
- and another line with [myAppsCitrixPlugin]  too&lt;br /&gt;
&lt;br /&gt;
​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.&lt;br /&gt;
&lt;br /&gt;
​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r2/Data/Documents a log file is created: myAppsPlugin.txt&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Citrix ===&lt;br /&gt;
A Virtual Channel Policy must be added to the Registry at the &#039;&#039;&#039;Citrix Server&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/WOW6432Node/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create a REG_MULTI_SZ entry with the name &#039;&#039;&#039;VirtualChannelWhiteList&#039;&#039;&#039;. This entry must contain as value: &#039;&#039;&#039;INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Setup_new_push.innovaphone.com_certificate&amp;diff=77505</id>
		<title>Howto:Setup new push.innovaphone.com certificate</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Setup_new_push.innovaphone.com_certificate&amp;diff=77505"/>
		<updated>2025-08-12T07:28:22Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
* All innovaphone PBXs from V12 which use the Push service&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
On 01.09.2025 we will change the certificate used in our push infrastructure. Currently, we use &amp;lt;code&amp;gt;*.innovaphone.com&amp;lt;/code&amp;gt; which expires annually and requires updating. This certificate is used in the PBX trust list to establish an encrypted connection between your PBX and the innovaphone push service. To simplify this process in the future, we will replace the certificate with one signed by our &amp;lt;code&amp;gt;innovaphone Device Certification Authority 2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To ensure that push will continues to work for your customers after 01.09.2025, please verify that either the CA-Certificate &amp;lt;code&amp;gt;innovaphone Device Certification Authority 2&amp;lt;/code&amp;gt; or the single certificate &amp;lt;code&amp;gt;push.innovaphone.com&amp;lt;/code&amp;gt; is present in the trust list of the relevant PBXes.&lt;br /&gt;
This certificate is only relevant on PBXes with a Push Object. &lt;br /&gt;
During the transition period up to and including 02.09.2025, both &amp;lt;code&amp;gt;*.innovaphone.com&amp;lt;/code&amp;gt; and one of the above named certificates are required in the trustlist.&lt;br /&gt;
&lt;br /&gt;
The CA certificate &amp;lt;code&amp;gt;innovaphone Device Certification Authority 2&amp;lt;/code&amp;gt; is included in the trust list of new devices (gateways and IPVAs) by default, so unless you removed it, no action should be needed.&lt;br /&gt;
&lt;br /&gt;
===Resolution===&lt;br /&gt;
Use the [[Reference15r1:Concept App Service Devices#Certificates configuration|Devices - certificate trustlist concept]] and the certificate will be installed automatically.&lt;br /&gt;
&lt;br /&gt;
==== manually ====&lt;br /&gt;
If you cannot do this and want to do it manually, you can use one of these ways:&lt;br /&gt;
&lt;br /&gt;
1. The certificate can be added manually on the PBX. It can be downloaded [https://download.innovaphone.com/certificates/innovaphone.pem here] and then be uploaded on the PBX under [[Reference15r1:General/Certificates|General/Certificates/Trust list]]. &lt;br /&gt;
&lt;br /&gt;
2. The new certificate can be added via commands (which can be sent using an update server or the [[Reference15r1:Concept App Service Devices#Expert configuration| Expert configuration]] in &#039;&#039;Devices&#039;&#039;). This needs a reboot of the device. &lt;br /&gt;
Save the new certificate in the trust list:&lt;br /&gt;
 !vars create X509/TRUSTED pba 6239515b5008c67cbcd66f07a539f4107dc48348e69a0382aabe640a5a2b62b5b63079bcb9a826819bb71518c8cd9d5e365f6a1059d6b6854781e61239108fb0eacacba6166843ed1973e0b268c3b5ba44b8efcd243032999af9a7f8cd375915b854ceca843a340f60be747a66200abb9eddbfd5ba204a1e1dabbc6fceb61e05243e4f191e7ff20bcc6cb29852f568437eeeb51d7657da1f9b245441a72dd42b4e8e80f916154b009c564ba3b79c9e20f40bef8cd84317bd0a9ceccd3ce312ec5fd350f9d366dd5f6f09119669383efbf580cdca3f7524da153984cec62f14e372d8324256302b7e567c0ca051d4c30023ee5bbd241ddfd6e75711a6018d12d7&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto14r1:Firmware_Upgrade_V13r3_V14r1&amp;diff=77457</id>
		<title>Howto14r1:Firmware Upgrade V13r3 V14r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto14r1:Firmware_Upgrade_V13r3_V14r1&amp;diff=77457"/>
		<updated>2025-08-04T08:37:02Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Licenses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 14r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 14r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
&lt;br /&gt;
: If possible after you finish upgrading to v14r1 you should proceed the update to next version v14r2 according the [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
&lt;br /&gt;
== Licenses ==&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V14 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
An existing myPBX license is counted by the PBX as one PhoneApp license and one SoftphoneApp license. See also [[Howto14r1:Firmware_Upgrade_V13r3_V14r1#myPBX | section on mypbx]].&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system to 13r3 from 14r1.&lt;br /&gt;
&lt;br /&gt;
=== Single AP/Single PBX===&lt;br /&gt;
* Create a new update job in devices and select 14r1 as major version&lt;br /&gt;
&lt;br /&gt;
===Shared AP/Several PBX&#039;es===&lt;br /&gt;
We generally recommend upgrading the entire system (endpoints, PBXs, AP) in &#039;&#039;one shot&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If this is not possible for any reason, the recommended sequence is:&lt;br /&gt;
# update the master PBX&lt;br /&gt;
# update the slave PBX and all its endpoints location by location&lt;br /&gt;
# &#039;&#039;&#039;update the Apps to the last 13r3 SR&#039;&#039;&#039;&lt;br /&gt;
# update the App Platform to the latest build&lt;br /&gt;
# update all Apps to the last 14r1 SR&lt;br /&gt;
# perform the configuration changes described below&lt;br /&gt;
&lt;br /&gt;
Note that during the update time frame, some App data such as Reporting and Recording may be incomplete.&lt;br /&gt;
&lt;br /&gt;
We recommend reviewing all the configuration changes described below &#039;&#039;&#039;before&#039;&#039;&#039; you begin the update.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: If you upgrade the App Platform image before updating the ManagerAPP to the latest version of v13r3 you can run into issues.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a 14r1 upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
=== Softphone/Phone App UI changes === &lt;br /&gt;
* Dial-pad is now a new tab in the navigation.&lt;br /&gt;
* On Smartphones, the Navigation is in the bottom.&lt;br /&gt;
* Call button is removed from the searchbar. Calling only via the search results.&lt;br /&gt;
=== IP-Phone Call-Screen ===&lt;br /&gt;
* [[ReleaseNotes14r1:Firmware#154045 - New symbols unencrypted, encrypted and verified calls| New symbols for unencrypted, encrypted and verified calls]]&lt;br /&gt;
&amp;lt;abbr title=&amp;quot;Select active call on phone, check displayed keys with connected party and confirm with green key symbol&amp;quot;&amp;gt;Possibility&amp;lt;/abbr&amp;gt; to verify and confirm secured end-to-end media encryption through mutual key matching.&lt;br /&gt;
&lt;br /&gt;
=== Configuration of Logo URI ===&lt;br /&gt;
* In 13r3 this configuration was done in the advanced UI on the page PBX / Config / myPBX / Logo URI.&lt;br /&gt;
* But in 14r1 it can be found on the page PBX / Config / General / Logo URL.&lt;br /&gt;
=== Voicemail App ===&lt;br /&gt;
Extra features for the users:&lt;br /&gt;
* Call the voicemailbox directly from the app.&lt;br /&gt;
* PIN-code can be checked (hidden by default; visible with a click) and changed/set back to default.&lt;br /&gt;
* Call Forwards to the Voicemailbox can be activated/removed (CFU/CFB/CFNR).&lt;br /&gt;
* Number Resolution via the Search Provider.&lt;br /&gt;
&lt;br /&gt;
=== Fax App ===&lt;br /&gt;
* While sending an outgoing fax via the fax app, you now can select and configure a fax cover page before sending.&lt;br /&gt;
* While configuring a fax app or groupfax via the PBX Manager plugin, you can customize the header line of fax pages and select a language.&lt;br /&gt;
* After updating from 13r3 or setting up your device with 14r1, the Fax object has 4 new options, which are enabled by default:&lt;br /&gt;
** Modem capability: the supported modem class can be changed if necessary.&lt;br /&gt;
** Append user number: if checked, the user number will be appended to the object number.&lt;br /&gt;
** ECM: that allows the T.30 connection to use error correction mode.&lt;br /&gt;
** Receiving with 400dpi allowed: which allows you to receive 400*400dpi documents.&lt;br /&gt;
===AP Manager===&lt;br /&gt;
* The AP Manager UI has been reworked. It is now responsive design, improved view of all app services and instance. Rework of statistic of CPU/RAM/used disk. This change is for the IT administrator, not relevant for end users&lt;br /&gt;
&lt;br /&gt;
== Changed Apps ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== Devices App ===&lt;br /&gt;
New Device Configurations option to roll out certificates to the trust list of your devices. [[Reference14r1:Concept_App_Service_Devices#Certificates_configuration]]&lt;br /&gt;
&lt;br /&gt;
=== Recordings App ===&lt;br /&gt;
New option to add WebDav credentials in RecordingsAdmin. [[Howto14r1:RecordingsApp#Configuring_WebDav_credentials_in_RecordingsAdmin]]&lt;br /&gt;
&lt;br /&gt;
=== Voicemail App ===&lt;br /&gt;
* New Setting to configure the automatic deletion of old(er) voicemail-messages per app. [[Reference14r1:Concept_App_Service_Voicemail#Settings]]&lt;br /&gt;
* New Option to configure the default PIN per voicemail system. [[Reference14r1:Concept_App_Service_Voicemail#add_voicemail]]&lt;br /&gt;
: By configuring a PIN code from a different length, you also configure the length of the PIN code used by the system.&lt;br /&gt;
&lt;br /&gt;
=== Conference App ===&lt;br /&gt;
* A new settings is now available under [[Reference14r1:Apps/PbxManager/Conference]] to allow the users within his Conference App to access to the Meetings panel or not. By default Conference room set the Meeting option to &#039;&#039;&#039;not allowed&#039;&#039;&#039;. &lt;br /&gt;
* {{ConferenceRoomPanelRights}}&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the 13r3 to 14r1 upgrade. The installation description of new 14r1 apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Calculator ===&lt;br /&gt;
*Although already released in 13r3 sr11, this app is now part of the 14r1 install. This app is explained in [[Reference13r3:Concept App Service Calculator App| the concept article]] and [[Howto14r1:Set up the calculator app| the how to article]].&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
* A microblogging tool. This app is explained in [[Reference14r1:Concept App Service Messages| the concept article]] and [[Howto14r1:Set up Connect| the how to article]].&lt;br /&gt;
&lt;br /&gt;
=== Connector for Let&#039;s Encrypt ===&lt;br /&gt;
* Automatically creates &amp;amp; renews Let&#039;s Encrypt certificates, the App is included in the Install process - however when doing an upgrade it needs to be [[Reference14r1:Concept Let&#039;s Encrypt#Configuration| setup manually]].&lt;br /&gt;
&lt;br /&gt;
=== Contact Widgets App ===&lt;br /&gt;
* A Contact Widget (or Website Widget) is an element that can be added to a website. It offers to website visitors a way to get in contact with agents (e.g. help-desk). Website visitors can start chat sessions (asking questions, getting answers) or can start voice or even video calls. &lt;br /&gt;
&lt;br /&gt;
For more details have a look at [[Reference14r1:Concept Contact Widgets| the concept article]].&lt;br /&gt;
&lt;br /&gt;
Customers using the previous Widgets, should change to the new [[#Widgets| Contact Widgets App]]&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
*Digital notes can be managed with the innovaphone app Notes. The app has a minimalistic feature set and is easy to use. The notes are saved on the server and available on all devices of the users. More infos available in the [[Reference14r1:Concept App Service Notes App| Reference article]]&lt;br /&gt;
&lt;br /&gt;
===PBX Manager - AP app installer===&lt;br /&gt;
*in the PBX manager you will find a new coloured plugin. this new plugin give access to the App store in order to ease the installation of an App service and its instance. You basically do not need to go to the AP platform when you want to install a new application. Idea is to have the further installed app done by this plugin, this also ease the way to discover new applications. More infos available in the [[Reference14r1:Concept App Platform#App Installer PBX Manager Plugin| Reference article]]&lt;br /&gt;
&lt;br /&gt;
=== Search App ===&lt;br /&gt;
* The app is immediately available on the PBX (no configuration is needed). In a new V14r1 configuration the Install provides all Users with this Search App via the &amp;quot;Config User&amp;quot;-Template. If the same configuration is required on an upgraded config, the Search App (&amp;quot;search&amp;quot;) can be ticked in the &amp;quot;Config User&amp;quot; template. For details refer to [[Reference14r1:Concept App Search| the concept article]].&lt;br /&gt;
&lt;br /&gt;
=== TechAssist ===&lt;br /&gt;
* Application for quality assurance and improvement of systems by collecting static and runtime information. For details refer to [[Reference14r1:Concept App Service TechAssist| the concept article]].&lt;br /&gt;
&lt;br /&gt;
== Needed configuration changes ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== EchoCanceller of myApps Client for Windows ===&lt;br /&gt;
In 14r1 the Windows client uses by default a Windows provided EchoCanceller. To switch back to the default Echocanceller used in 13r3, create a Windows registry entry in Computer\HKEY_CURRENT_USER\Software\innovaphone\myApps with the following values:&lt;br /&gt;
 Type: DWORD (REG_DWORD)&lt;br /&gt;
 Name: webrtcEchoCanceller&lt;br /&gt;
 Value: 1&lt;br /&gt;
&lt;br /&gt;
If the 13r3 echo-canceller is used, the myApps trace of a call will contain a line &#039;&#039;[AC] echo canceller is WebRTC aec3&#039;&#039;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Virtual Appliance on VMWare ===&lt;br /&gt;
After deploying the new firmware modify the guest configuration file (stemming from ipva.vmx) for all network cards as such:&lt;br /&gt;
Modify e.g. &amp;lt;code&amp;gt;ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&amp;lt;/code&amp;gt; to become &amp;lt;code&amp;gt;ethernet0.virtualDev = &amp;quot;vmxnet3&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IPVA certificates ==&lt;br /&gt;
IPVA certificates are no longer signed by &#039;&#039;&#039;innovaphone Device Certification Authority 2&#039;&#039;&#039;.&lt;br /&gt;
Instead they will be now signed by &#039;&#039;&#039;innovaphone Unverified Device CA&#039;&#039;&#039;, as innovaphone cannot control the serial numbers and thus the certificate creation of IPVAs.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a 14r1 install you&#039;ll be asked whether you want to always trust this new CA or not. If you decide not to trust this CA, you have to manually trust newly created IPVA certificates.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that this is not neccessary for local registrations inside the IPVA itself and doesn&#039;t affect hardware phone registrations.&lt;br /&gt;
&lt;br /&gt;
You can download the innovaphone Unverified Device CA here: https://download.innovaphone.com/certificates/ca-unverified.pem &amp;lt;br/&amp;gt;&lt;br /&gt;
If you want to trust this new CA or your own IPVA certificates, you can use the Devices App to roll out certificates to the trust list of your devices.&lt;br /&gt;
&lt;br /&gt;
== Removed in 14r1 ==&lt;br /&gt;
The following software is no longer included in 14r1.&lt;br /&gt;
=== myPBX ===&lt;br /&gt;
This includes the following components&lt;br /&gt;
* myPBX webclient&lt;br /&gt;
* myPBX for Windows&lt;br /&gt;
* myPBX for iOS&lt;br /&gt;
* myPBX for Android&lt;br /&gt;
Please migrate to &#039;&#039;&#039;innovaphone myApps&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Widgets===&lt;br /&gt;
The Widgets were based on the myPBX interfaces that have been removed. Please migrate to the [[Reference14r1:Concept Contact Widgets| the Contacts Widget App]].&lt;br /&gt;
&lt;br /&gt;
===WebRTC toolkit===&lt;br /&gt;
The WebRTC toolkit was based on the myPBX interfaces that have been removed.&lt;br /&gt;
Please use the current interfaces and libraries described in the &#039;&#039;&#039;[https://sdk.innovaphone.com innovaphone SDK]&#039;&#039;&#039;.&lt;br /&gt;
=== Windows Softwarephone ===&lt;br /&gt;
Please migrate to &#039;&#039;&#039;innovaphone myApps for Windows&#039;&#039;&#039; and the &#039;&#039;&#039;Softphone App&#039;&#039;&#039;.&lt;br /&gt;
===PBX Object Settings ===&lt;br /&gt;
The object provided the PBX Settings App that was used to configure dynamic group memberships in myPBX.&lt;br /&gt;
Please use the &#039;&#039;&#039;Profile App&#039;&#039;&#039; instead.&lt;br /&gt;
&lt;br /&gt;
===PBX Object ICP ===&lt;br /&gt;
Please use the integrated presence features of the &#039;&#039;&#039;innovaphone PBX&#039;&#039;&#039; instead.&lt;br /&gt;
&lt;br /&gt;
 The ICP object will be restored since 14r1 SR5 and can be then used again!&lt;br /&gt;
&lt;br /&gt;
===Service Call-Lists ===&lt;br /&gt;
This service implemented call lists for myPBX on the local CF card.&lt;br /&gt;
Please use the &#039;&#039;&#039;Reports App&#039;&#039;&#039; instead.&lt;br /&gt;
&lt;br /&gt;
== Deprecated in 14r1 ==&lt;br /&gt;
The following software is based on legacy technology with no further development and limited maintenance and support.&lt;br /&gt;
We strongly recommend migrating to our successor products that are fully compatible with 14r1 and myApps technology.&lt;br /&gt;
&lt;br /&gt;
=== Linux Application Platform (v10) ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;innovaphone App Platform&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
&lt;br /&gt;
=== innovaphone Faxserver (v10) ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;Fax App&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
=== innovaphone Reporting (v10) ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;Reports App&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
=== innovaphone Exchange (v10) ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;Calendar App&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
=== Operator (v9) ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;Switchboard App&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
=== innovaphone Voice Recording 2014 ===&lt;br /&gt;
Please migrate to the &#039;&#039;&#039;Recordings App&#039;&#039;&#039; for 14r1 installations.&lt;br /&gt;
=== PBX Object External UC ===&lt;br /&gt;
Existing configurations still work. But new configurations can&#039;t be done using the advanced UI anymore.&lt;br /&gt;
&lt;br /&gt;
Please use the integrated &#039;&#039;&#039;UC&#039;&#039;&#039; and &#039;&#039;&#039;federation&#039;&#039;&#039; features of the &#039;&#039;&#039;innovaphone PBX&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
For presence synchronization with other systems we recommend using&lt;br /&gt;
* &#039;&#039;&#039;innovaphone myApps Connector for Microsoft 365&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Connector for kuando®&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Calendar App&#039;&#039;&#039;&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
===Fax from 14r1 to 13r3 App===&lt;br /&gt;
14r1 faxes are sent with 400dpi by default, which the 13r3 app doesn&#039;t support and you will see a [[Reference14r1:Concept App Service Fax#Known Issues|non working incoming fax]]. The second try with lower resolution will work.&lt;br /&gt;
===new Connect App shows false Badgecount===&lt;br /&gt;
If you&#039;ve upgraded from a V13 Installation and Install Connect, it could be, that there is a high Badgecount even if Connect is empty.&amp;lt;br /&amp;gt;&lt;br /&gt;
This Badgecount comes from old chats stored in the Messages App. To get rid of it, the user have to open connect, click on the tree dots in the personal feed and click on &amp;quot;complete all messages&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 14r1 release will consume the same amount of RAM compared to a v13r3 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v14r1 release will consume ~ 1.8 MB more flash memory compared to a v13r3 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v14r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto:V13 Firmware Upgrade V13r2 V13r3]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 13r3 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 13r3, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system to 13r3 from 13r2.  For hints on upgrading a system to 13r2 see [[Howto:V13_Firmware_Upgrade_V13r1_V13r2]].&lt;br /&gt;
&lt;br /&gt;
=== Single AP/Single PBX===&lt;br /&gt;
* Create a new update job in devices and select 13r3 as major version&lt;br /&gt;
&lt;br /&gt;
===Shared AP/Several PBX&#039;es===&lt;br /&gt;
We generally recommend to upgrade the entire system (endpoints, PBXs, AP) in &#039;&#039;one shot&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If this is not possible for any reason, the recommended sequence is:&lt;br /&gt;
# update the master PBX&lt;br /&gt;
# update the slave PBX and all its endpoints location by location&lt;br /&gt;
# update the App Platform to the latest build&lt;br /&gt;
# update all Apps&lt;br /&gt;
# perform the configuration changes described below&lt;br /&gt;
&lt;br /&gt;
Note that during the update time frame, some App data such as Reporting and Recording may be incomplete.&lt;br /&gt;
&lt;br /&gt;
We recommend to review all the configuration changes described below before you begin the update.&lt;br /&gt;
&lt;br /&gt;
== Configuration Changes ==&lt;br /&gt;
In 13r3 we have introduced some new features which are automatically configured if you use the installer to setup your new 13r3 from scratch. If you upgrade an existing installation, you have to configure the following settings manually.&lt;br /&gt;
&lt;br /&gt;
=== Default SRTP key exchange value in device configuration of Phones/Interfaces ===&lt;br /&gt;
Before v13r3, the default value for SRTP key exchange was SDES-DTLS - with v13r3 it changes to the more secure DTLS-SDES. Therefore innovaphone devices now use DTLS instead - if the called endpoint has this preference. To make sure the more secure key exchange is used, we recommend adjusting the &#039;&#039;SRTP key exchange setting&#039;&#039; in the Devices App, &#039;&#039;Device Configuration&#039;&#039; for &#039;&#039;[Phone]&#039;&#039; and &#039;&#039;[Analog phone/fax]&#039;&#039;. An exception to this recommendation is if you are using old phone models (IP110A, IP240A) or gateway models (IP24, IP22) in your setup - as these may have CPU performance issues in the connection setup phase. In that case, use &#039;&#039;&#039;SDES-DTLS&#039;&#039;&#039; as value for the &#039;&#039;SRTP key exchange&#039;&#039; for all devices, not only for the old phone models.&lt;br /&gt;
&lt;br /&gt;
===Group Fax===&lt;br /&gt;
The fax object has to be configured as external resource of a group fax object in 13r3. It is therefore &#039;&#039;&#039;mandatory&#039;&#039;&#039; to assign the fax object as an external resource to all group fax objects after the upgrade - via PBX Manager .&lt;br /&gt;
&lt;br /&gt;
In the Advanced UI, you have to enter the h323/sip name of the fax object in the field &#039;&#039;&#039;External Resource Destination&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Also, with 13r3, group faxes can have their own international fax number and company name, so you should fill in these fields, or else the fax header will be empty.&lt;br /&gt;
&lt;br /&gt;
===Contacts App | User drop-down menu for sharing address books===&lt;br /&gt;
With 13r3, personal address books can be created and shared with users/groups. To have a search and drop-down menu in the sharing step, you have to activate the &amp;quot;Admin&amp;quot; option at the &amp;quot;ContactsApi&amp;quot; app object (tab &amp;quot;App&amp;quot;) over the Advanced UI. Otherwise, no results will be shown, and you have to enter the correct h323 name of a user.&lt;br /&gt;
&lt;br /&gt;
===Improved Conference Rooms===&lt;br /&gt;
* The &#039;&#039;Web Access allowed&#039;&#039; checkbox in the conference app has to be set in order to access the Conference Web Access UI.&lt;br /&gt;
: To be able create HTTP links for external participants, the conferencing App is required.&lt;br /&gt;
* Update the [[Reference13r3:PBX/Objects/Conference/Announcement_types#Sample_Announcement_Files | announcements]] for your conference rooms, to include also the &#039;&#039;Web Access announcements&#039;&#039;. &lt;br /&gt;
* it is recommended to use a second Turn-Server listening on TCP port 443 as a fallback option for external conference participants, with local firewalls not allowing access to your standard Turn-server. Configure this second Turn-Server in [[Reference13r3:IP4/General/STUN#TURN_Extern | IP4/General/STUN -&amp;gt; Turn Extern]] [[User:Sga|Sga]] TBD: info zu inno Turn Fallback server&lt;br /&gt;
* 13r3 adds a search-API for the Conference Rooms, allowing users to search for Conference room names from their Phone, Softphone or RCC App. Each conference object provides its own search API which is named like &#039;&#039;&amp;lt;Name-of-conference-object&amp;gt;.search&#039;&#039; and access to it can be granted using the App-Section of a PBX-object. The PBX-Manager Plugin for Conferences offers also an option to add the rights for all conference rooms and their search-APIs to the Config-User and/or Config-Admin template.&lt;br /&gt;
&lt;br /&gt;
=== NTLM/OAuth===&lt;br /&gt;
13r3 introduces OAuth2 Windows Authentication for myApps. If your are currently using NTLM/Netlogon for authentication, you might want to consider upgrading it OAuth2, since this authentication mechanisms is more secure. See [[Reference13r3:Concept OAuth2 Windows Authentication]] for details. &lt;br /&gt;
In 13r3 only Microsoft AD FS is supported as OpenID Server.&lt;br /&gt;
&lt;br /&gt;
===HTTP-Proxy===&lt;br /&gt;
13r3 introduces [[Reference13r3:Concept_myApps_platform_services#HTTP_proxy_support | HTTP-Proxy]] support for myApps. Now, myApps follows by default the OS-settings regarding HTTP-Proxy. This might affect existing setups when updating from 13r2 to 13r3. We recommend to check before a 13r3 update if an HTTP-Proxy is used and if so, test before the update for interop problems between myApps and the used HTTP-Proxy.&lt;br /&gt;
&lt;br /&gt;
===Physical Location===&lt;br /&gt;
The Softphone App supports in 13r3 the determination of the Physical Location. Similar to an IP-Phone, this is determined automatically based on HTTP-Redirects of the myApps PBX-login process. If you use PBX-objects with activated &amp;quot;Local&amp;quot; option (often this is a Trunk Line object), the determined physical location might lead to a different behavior when calling these objects. If this leads to unwanted call flows, you can either adjust the initial myApps registration PBX or configure the Physical location manually at the Softphone.&lt;br /&gt;
&lt;br /&gt;
== Application Platform and its applications ==&lt;br /&gt;
===App Platform image===&lt;br /&gt;
&lt;br /&gt;
It is not mandatory but recommended to [[Reference13r3:Concept_App_Platform#Update_of_the_App_Platform_itself | update the App Platform image]] to the latest version to receive a newer kernel and updated Linux packages.&lt;br /&gt;
&lt;br /&gt;
===Recordings App===&lt;br /&gt;
Please follow the procedure described in the [[Reference13r3:Concept_App_Service_Recordings#Upgrade_from_V13r2_to_V13r3_Recordings_App | Recordings App concept article]].&lt;br /&gt;
&lt;br /&gt;
===Reports App===&lt;br /&gt;
The Reports App will improve missed calls queries by adding a new database index during the first start after an update. Depending on the size of the reporting database, this database adjustment can take some minutes and results also in high CPU-load and missed CDRs during that time.&lt;br /&gt;
&lt;br /&gt;
=== App Service Queues, Switchboard App ===&lt;br /&gt;
To allow monitoring of all queues by all switchboard users, configure a group (e.g. with the name &#039;&#039;queues&#039;&#039;) in the PBX and assign it as &#039;&#039;&#039;Static&#039;&#039;&#039; to all Waiting Queues used by the Switchboard App and assign it also as &#039;&#039;&#039;Static&#039;&#039;&#039; and &#039;&#039;&#039;Active&#039;&#039;&#039; to all Switchboard Users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Apps new in 13r3===&lt;br /&gt;
New Apps will not be installed automatically by the 13r2 to 13r3 upgrade. The installation description of new 13r3 apps is usually in the concept article. New apps are:&lt;br /&gt;
* [[Reference13r3:Concept_App_Service_Connector_for_kuando®#Configuration | Connector for kuando®]]&lt;br /&gt;
* [[Reference13r3:Concept_App_Service_Connector_for_Microsoft_365 | innovaphone myApps Connector for Microsoft 365]]&lt;br /&gt;
&lt;br /&gt;
== Changes visible to end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a 13r3 upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
===Rework of Phone &amp;amp; Softphone UI===&lt;br /&gt;
Several feature and UI improvements, see &#039;Features&#039; in [[Reference13r3:Concept_App_SoftphoneApp#Features | Reference13r3:Concept App SoftphoneApp ]] and [[Reference13r3:Concept Multi-Video-Conference]].&lt;br /&gt;
&lt;br /&gt;
===CallForwarding in Profile App===&lt;br /&gt;
Added configuration option on call diversions: call forwardings depending on &#039;&#039;myApps online&#039;&#039; and &#039;&#039;Presence&#039;&#039; state. This can be switched on or off by the user in the Profile App.&lt;br /&gt;
&lt;br /&gt;
===Focus App===&lt;br /&gt;
The &amp;quot;App focus&amp;quot; can be used to define a default app for the user. It is started and shown automatically when myApps is loaded. When closing other apps, the app is shown instead of the home screen. Users can activate (default) or deactivate the Focus function in their myApps Client settings (hamburger menu). See &#039;Features&#039; in [[Reference13r3:Concept_myApps#Features | Reference13r3:Concept myApps]]&lt;br /&gt;
&lt;br /&gt;
===Pin Apps===&lt;br /&gt;
Apps can be pinned to the main window. Pinned apps are always running and can&#039;t be closed. They are also started automatically when the myApps client is loaded. This setting is locally stored per-client. So you can pin different apps on your computer and your smartphone.  See &#039;Features&#039; in [[Reference13r3:Concept_myApps#Features | Reference13r3:Concept myApps]]&lt;br /&gt;
&lt;br /&gt;
=== Fax App ===&lt;br /&gt;
The [[Reference13r3:Concept_App_Service_Fax#Mail_Configuration | Mail Configuration]] section of the Fax App offers in 13r3 additional options:&lt;br /&gt;
* Transmission confirmations&lt;br /&gt;
* Transmission reports for outgoing fax jobs as PDF&lt;br /&gt;
* Error notifications for outgoing fax jobs&lt;br /&gt;
&lt;br /&gt;
==Hardware Restrictions==&lt;br /&gt;
For a list of devices with no/restricted support in 13r3, see the [[Howto:Firmware_Upgrade#Version_13r3 | Firmware Upgrade article]].&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
&lt;br /&gt;
===Boolean App===&lt;br /&gt;
Following the update to 13r3, it is not possible to edit Boolean Apps using the myApps client (except when using the myApps client in a web browser). To resolve this issue, you will need to delete the approxy folder for all users who use the boolean app. You can locate this folder in the following directory: %USERPROFILE%\AppData\Local\innovaphone\myApps.&lt;br /&gt;
Reload or restart myApps afterwards.&lt;br /&gt;
&lt;br /&gt;
This behavior can also occur under Mac OS. Here the problem can be solved by uninstalling the app and then reinstalling it again.&lt;br /&gt;
&lt;br /&gt;
===Current major issues that will be fixed with upcoming 13r3SR1 release===&lt;br /&gt;
* [[Support:PBX_13r3_final_trap_with_Unknown_Registrations | PBX 13r3 Final trap with Unknown Registrations]]&lt;br /&gt;
* [[Support:13r3final_App_Platform_-_SMTP_delivery_may_fail_due_to_IPv6_DNS_results | 13r3final App Platform - SMTP delivery may fail due to IPv6 DNS results]]&lt;br /&gt;
* [[Support:13r3final PBX randomly does not execute CFU | 13r3final PBX randomly does not execute CFU]]&lt;br /&gt;
&lt;br /&gt;
More info on other 13r3 SR1 changes can be found in the [[Reference13r3:Release_Notes_Firmware#13r3_Service_Release_1 | Release Notes]].&lt;br /&gt;
&lt;br /&gt;
===Regex Expression===&lt;br /&gt;
We updated the regular expression syntax which is used for the AD replication. A &#039;\&#039; followed by a non-special character is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according [[Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported | the specs ]] will run on all supported hardware.  However, unusual configurations may not.  It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade.  Please find details in [[Reference:Device Health Check]].&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 13r3 release will consume the same amount of RAM compared to a v13r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory ===&lt;br /&gt;
As a rough rule of thumb, a v13r3 release will consume ~ 0.5 MB flash more compared to a v13r2 firmware.&lt;br /&gt;
&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v13r3.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Conferences ===&lt;br /&gt;
Since Conferences now use [[Reference13r3:Concept_Multi-Video-Conference | multiple video streams]] to display each conference participant (in 13r1 &amp;amp; 13r2 only the video stream of the speaker was shown), the number of concurrent video streams used in a single conference increased. Please review this [[Reference13r3:Concept_Multi-Video-Conference#Bandwidth_Consideration | bandwidth considerations]]. As a result, a device hosting a multivideo conference on its CONF or SCNF interface has a higher CPU load in 13r3 than in 13r2.&lt;br /&gt;
&lt;br /&gt;
[[Image:13r3_conference_bandwidth.png|700px|Estimated Conference bandwidth requirements]]&lt;br /&gt;
&lt;br /&gt;
The graph shows the bandwidth needed for a device running the CONF interface to participate in a conference. The values shown are for when all participants are in gallery mode (which is the worst case scenario) and in fullscreen presentation mode (which is the best case scenario). In general, the actual bandwidth needed will fall somewhere between these two extremes. &lt;br /&gt;
&lt;br /&gt;
To calculate the CPU requirements for the device, you can use the following formula: &amp;lt;code&amp;gt;CPU% = Bandwidth (in Mbps) / x&amp;lt;/code&amp;gt;, where x is&lt;br /&gt;
* 0.42 for a xx10 device &lt;br /&gt;
* 0.18 for IP311 and IP411 devices&lt;br /&gt;
* 0.56 for a xx11 device&lt;br /&gt;
* 3.6 for a xx13 device &lt;br /&gt;
&lt;br /&gt;
For example, if you are hosting a conference with 10 participants on a xx11 device in gallery mode, the upstream and downstream bandwidth would be 25 Mbps. Using the formula, you can calculate the CPU requirements as follows: CPU% = 25 Mbps / 0.56 = 44.64%. This means that the device should have at least 45% free CPU capacity to handle the conference.&lt;br /&gt;
&lt;br /&gt;
From the client&#039;s perspective, the worst case values for upstream bandwidth (when presenting) would be 1 Mbps, and for downstream bandwidth (when in a gallery mode conference with 20 participants) would be 5 Mbps.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Main_Page&amp;diff=77456</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Main_Page&amp;diff=77456"/>
		<updated>2025-08-04T07:14:09Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Remote Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;!-- Message of the day --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
== Remote Support ==&lt;br /&gt;
[[Image:RemoteControl-click.png|left|60px|RemoteControl.png/|Download Remote Control|link=https://store.innovaphone.com/alpha/download/software/remotecontrolwindowsportable/16r1/remoteControl.exe]]&lt;br /&gt;
innovaphone only carries out scheduled remote maintenance via our ticket system by prior consultation.&amp;lt;br/&amp;gt;&lt;br /&gt;
As Remote Support Tool, we use our own product Remote Control ([https://www.innovaphone.com/en/all-apps/apps-to-work-with/remote-control-app.html more info]).&lt;br /&gt;
&lt;br /&gt;
You can &#039;&#039;&#039;[https://store.innovaphone.com/alpha/download/software/remotecontrolwindowsportable/16r1/remoteControl.exe download]&#039;&#039;&#039; the Remote Control client already or use the support link received from our support team.&amp;lt;br/&amp;gt;&lt;br /&gt;
After installing and opening the client you can &#039;&#039;&#039;pass the shown ID&#039;&#039;&#039; or &#039;&#039;&#039;use the received link&#039;&#039;&#039; to request the support session.&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
Searching in wiki works, but is sometimes cumbersome.  However, you can have Google do the job for you.  Try [https://www.google.de/search?q=site%3Ainnovaphone.com+xml+documentation &amp;lt;code&amp;gt;site:innovaphone.com your search terms&amp;lt;/code&amp;gt;] to search the innovaphone sites for matches!&lt;br /&gt;
&lt;br /&gt;
If you still don&#039;t find what you are looking for, [mailto:presales@innovaphone.com drop us a message]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- latest news commented out, may be reactivated once there are new really --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- please insert new message ON TOP and remove extraneous (more than 5) old messages --&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;nowiki&amp;gt; ~~~~ is replaced by your name and date automatically &amp;lt;/nowiki&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Latest News ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V15r1 product/15r1/firmware 1510536 (sr 4) available | Version 15r1 Service Release 4]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V14r2 product/14r2/firmware 1420530 (sr 12) available | Version 14r2 Service Release 12]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V13r3 product/13r3/firmware 138029 (sr 29) available | Version 13r3 Service Release 29]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Tfu|Tfu]] ([[User talk:Tfu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:28, 13 March 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP73 1012 (6.1.13) released| Wireless Handset Firmware IP73 1012 (6.1.13) released]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Msu|Msu]] ([[User talk:Msu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:54, 18 February 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP64 10317 (4.3.2)/IP65 10122 (4.3.2) released| Wireless Handset Firmware IP64 10317 (4.3.2)/IP65 10122 (4.3.2)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Msu|Msu]] ([[User talk:Msu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:54, 18 February 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware D83 10002 (2.0.5) released| Wireless Handset Firmware D83 10002 (2.0.5)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 15:38, 6 February 2023 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP62 3040621 (6.2.7) released| Wireless Handset Firmware IP62 3040621 (6.2.7)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 13:13, 6 February 2023 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:WinPDM Software 3130113 (4.1.8) released| WinPDM Software 3130113 (4.1.8)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 12:46, 16 June 2021 (CEST))&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:TAPI Service Provider 8188 (hotfix21) available|TAPI Service Provider 8188 (hotfix21)]] is now available from [https://store.innovaphone.com/release/download.htm the Software download area].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 18:21, 12 October 2020 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP61 3022811 (4.7.8)/IP63 3022912 (4.7.8) released| Wireless Handset Firmware IP61 3022811 (4.7.8)/IP63 3022912 (4.7.8)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 21:30, 27 March 2020 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware and Management Software product/9.00/wireless 100037 (hotfix19) available| Wireless Package hotfix 19]] is now available from the [http://download.innovaphone.com/ice/9.00#wireless V9 download area].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Articles ==&lt;br /&gt;
&amp;lt;!-- https://www.mediawiki.org/wiki/Extension:Newest_Pages --&amp;gt;&lt;br /&gt;
{{Special:Newestpages/all/20}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em; font-size:1&amp;quot;&amp;gt;&lt;br /&gt;
== More innovaphone Ressources ==&lt;br /&gt;
* [http://www.innovaphone.com Home Page]&lt;br /&gt;
* [http://download.innovaphone.com Download Site ]&lt;br /&gt;
* [http://my.innovaphone.com my.innovaphone ]&lt;br /&gt;
* [http://mantis.innovaphone.com/ Ticketing System ]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:RemoteControl-click.png&amp;diff=77455</id>
		<title>File:RemoteControl-click.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:RemoteControl-click.png&amp;diff=77455"/>
		<updated>2025-08-04T07:12:57Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Main_Page&amp;diff=77454</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Main_Page&amp;diff=77454"/>
		<updated>2025-08-04T06:48:21Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Remote Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;!-- Message of the day --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
== Remote Support ==&lt;br /&gt;
[[Image:RemoteControl.png|left|60px|RemoteControl.png/|Remote Control|link=https://store.innovaphone.com/alpha/download/software/remotecontrolwindowsportable/16r1/remoteControl.exe]]&lt;br /&gt;
innovaphone only carries out scheduled remote maintenance via our ticket system by prior consultation.&amp;lt;br/&amp;gt;&lt;br /&gt;
As Remote Support Tool, we use our own product Remote Control ([https://www.innovaphone.com/en/all-apps/apps-to-work-with/remote-control-app.html more info]).&lt;br /&gt;
&lt;br /&gt;
You can &#039;&#039;&#039;[https://store.innovaphone.com/alpha/download/software/remotecontrolwindowsportable/16r1/remoteControl.exe download]&#039;&#039;&#039; the Remote Control client already or use the support link received from our support team.&amp;lt;br/&amp;gt;&lt;br /&gt;
After installing and opening the client you can &#039;&#039;&#039;pass the shown ID&#039;&#039;&#039; or &#039;&#039;&#039;use the received link&#039;&#039;&#039; to request the support session.&lt;br /&gt;
&lt;br /&gt;
== Searching ==&lt;br /&gt;
Searching in wiki works, but is sometimes cumbersome.  However, you can have Google do the job for you.  Try [https://www.google.de/search?q=site%3Ainnovaphone.com+xml+documentation &amp;lt;code&amp;gt;site:innovaphone.com your search terms&amp;lt;/code&amp;gt;] to search the innovaphone sites for matches!&lt;br /&gt;
&lt;br /&gt;
If you still don&#039;t find what you are looking for, [mailto:presales@innovaphone.com drop us a message]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- latest news commented out, may be reactivated once there are new really --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- please insert new message ON TOP and remove extraneous (more than 5) old messages --&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;nowiki&amp;gt; ~~~~ is replaced by your name and date automatically &amp;lt;/nowiki&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Latest News ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V15r1 product/15r1/firmware 1510536 (sr 4) available | Version 15r1 Service Release 4]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V14r2 product/14r2/firmware 1420530 (sr 12) available | Version 14r2 Service Release 12]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Kse|Kse]] ([[User talk:Kse|talk]]) 08:36, 23 July 2025 (CEST)&amp;lt;/p&amp;gt;[[Support:Firmware V13r3 product/13r3/firmware 138029 (sr 29) available | Version 13r3 Service Release 29]] is now available from the [http://store.innovaphone.com/release/download.htm App Store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Tfu|Tfu]] ([[User talk:Tfu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:28, 13 March 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP73 1012 (6.1.13) released| Wireless Handset Firmware IP73 1012 (6.1.13) released]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Msu|Msu]] ([[User talk:Msu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:54, 18 February 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP64 10317 (4.3.2)/IP65 10122 (4.3.2) released| Wireless Handset Firmware IP64 10317 (4.3.2)/IP65 10122 (4.3.2)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Msu|Msu]] ([[User talk:Msu&amp;amp;action=edit&amp;amp;redlink=1|talk]]) 15:54, 18 February 2025 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware D83 10002 (2.0.5) released| Wireless Handset Firmware D83 10002 (2.0.5)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 15:38, 6 February 2023 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP62 3040621 (6.2.7) released| Wireless Handset Firmware IP62 3040621 (6.2.7)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 13:13, 6 February 2023 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:WinPDM Software 3130113 (4.1.8) released| WinPDM Software 3130113 (4.1.8)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 12:46, 16 June 2021 (CEST))&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:TAPI Service Provider 8188 (hotfix21) available|TAPI Service Provider 8188 (hotfix21)]] is now available from [https://store.innovaphone.com/release/download.htm the Software download area].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 18:21, 12 October 2020 (CEST)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware IP61 3022811 (4.7.8)/IP63 3022912 (4.7.8) released| Wireless Handset Firmware IP61 3022811 (4.7.8)/IP63 3022912 (4.7.8)]] is now available from the [https://store.innovaphone.com/release/download.htm App store].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;right&amp;quot;&amp;gt;[[User:Afi|Afi]] 21:30, 27 March 2020 (CET)&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Support:Wireless Handset Firmware and Management Software product/9.00/wireless 100037 (hotfix19) available| Wireless Package hotfix 19]] is now available from the [http://download.innovaphone.com/ice/9.00#wireless V9 download area].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== New Articles ==&lt;br /&gt;
&amp;lt;!-- https://www.mediawiki.org/wiki/Extension:Newest_Pages --&amp;gt;&lt;br /&gt;
{{Special:Newestpages/all/20}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0px; margin-right:10px; margin-top:15px; border:1px solid #58C4C3; background-color:#F4F4F4; padding:0em 1em 0.5em 1em; font-size:1&amp;quot;&amp;gt;&lt;br /&gt;
== More innovaphone Ressources ==&lt;br /&gt;
* [http://www.innovaphone.com Home Page]&lt;br /&gt;
* [http://download.innovaphone.com Download Site ]&lt;br /&gt;
* [http://my.innovaphone.com my.innovaphone ]&lt;br /&gt;
* [http://mantis.innovaphone.com/ Ticketing System ]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Template:IP-DECT_External_Antennas&amp;diff=76887</id>
		<title>Template:IP-DECT External Antennas</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Template:IP-DECT_External_Antennas&amp;diff=76887"/>
		<updated>2025-06-11T11:59:05Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;IP1202e/IP1203e&#039;&#039;&#039; includes two dipole omni directional antennas. &lt;br /&gt;
For special use cases, optionally different directional antenna types are offered for separate order. They are connected to the external MCX-connectors of IP1202e/IP1203e:&lt;br /&gt;
*[https://www.innovaphone.com/content/downloads/DualDirectionalAntenna.pdf Directional dual antenna] (50-01202-004)&lt;br /&gt;
*[https://www.innovaphone.com/content/downloads/DirectionalSingleAntenna.pdf Directional single antenna] (50-01202-005)&lt;br /&gt;
*[https://www.innovaphone.com/content/downloads/OmniDirectionalSingleAntenna.pdf Omnidirectional single antenna] (50-01202-006)&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=76834</id>
		<title>Reference14r2:MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r2:MyApps_Plugin_for_Virtual_Desktops&amp;diff=76834"/>
		<updated>2025-06-04T10:02:21Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Applies To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
A softphone running at a terminal server (Citrix, Windows, ...) has the problem that audio and video streams start and terminate at the server.&lt;br /&gt;
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.&lt;br /&gt;
This transmission of the audio stream between server and client adds a delay which makes the communication impossible.&lt;br /&gt;
Video suffers from the same limitations. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A new innovaphone product called myApps Plugin is being developed to provide offloading of the media data to the local client.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r2&lt;br /&gt;
* Client OS: Windows, Linux (Ubuntu 22 or 23, RangeeOS&amp;lt;ref&amp;gt;RangeeOS is listed due to a customer testimonial. No tests have been conducted by innovaphone. Tests were done using myapps 14r2sr3, RangeeOS Firmware 12.00 build 203 ff and Citrix Workspace 2311. (Workspace version 2402 &amp;amp; 2405 have a bug with USB redirection and 2408 is not starting reliably)&amp;lt;/ref&amp;gt;, IGEL OS&amp;lt;ref&amp;gt;IGEL OS: available at [https://app.igel.com/myAppsPlugin/15.1.455+1 IGEL App Portal]&amp;lt;/ref&amp;gt;) or MacOS operating systems&lt;br /&gt;
* Hypervisor OS: Citrix, Windows Terminal Server environments and VMWare Horizon&amp;lt;ref&amp;gt;VMWare Horizon OS is listed due to a customer testimonial. No tests have been conducted by innovaphone.&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone myApps V14r2&lt;br /&gt;
* innovaphone myApps Plugin V14r2&lt;br /&gt;
* Firmware V14r2 final&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
* start or stop an audio/video device&lt;br /&gt;
* gathering of the ICE candidates&lt;br /&gt;
* connect to a remote peer with the ICE protocol&lt;br /&gt;
* start a ringing device&lt;br /&gt;
* rendering of video&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 &lt;br /&gt;
Main VDI Platforms (Citrix, Windows, VMware) provide a way of communicating between server and client through Virtual Channels:&lt;br /&gt;
&lt;br /&gt;
https://support.citrix.com/article/CTX116890/citrix-ica-virtual-channels-overview&lt;br /&gt;
&lt;br /&gt;
https://learn.microsoft.com/en-us/windows/win32/termserv/using-terminal-services-virtual-channels&lt;br /&gt;
&lt;br /&gt;
=== Call signaling ===&lt;br /&gt;
&lt;br /&gt;
The VDI Plugin has no connection to the PBX. Signaling is still done at the terminal server by the myApps client.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;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.&amp;lt;br&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
&lt;br /&gt;
The myApps Plugin .msi must be installed or deployed at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== MacOS ===&lt;br /&gt;
&lt;br /&gt;
Install the myAppsPlugin.dmg or .pkg at the Thin-Client and does not require any configuration.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&lt;br /&gt;
Update your Linux PC first:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt-get update&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Download latest Citrix Workspace App (Mar 7, 2024) for Debian and x86_64 platform: &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Citrix Workspace app needs &#039;&#039;&#039;libwebkit2gtk-4.0-37&#039;&#039;&#039; packet and this packet is not available in Ubuntu-24.04 version.&lt;br /&gt;
&lt;br /&gt;
Install it at your Linux PC:&lt;br /&gt;
&lt;br /&gt;
https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/install.html&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./icaclient_&amp;lt;version&amp;gt;._amd64.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install (or update) now the myApps Plugin:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sudo apt install -f ./myAppsPlugin.deb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Headset Buttons:&lt;br /&gt;
&lt;br /&gt;
*Jabra: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-java.rules&lt;br /&gt;
**Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;0b0e&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt;&lt;br /&gt;
*Epos: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-epos.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;1395&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*Plantronics: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-plantronics.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;047f&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
* Snom: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-snom.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;251c&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
*  Yealink: Create a file sudo &amp;lt;your-favorite-text-editor&amp;gt; /etc/udev/rules.d/50-udev-yealink.rules&lt;br /&gt;
** Add &amp;lt;code&amp;gt;ATTRS{idVendor}==&amp;quot;6993&amp;quot;, MODE=&amp;quot;0666&amp;quot;, GROUP=&amp;quot;users&amp;quot;&amp;lt;/code&amp;gt; as content. After creating the udev file (as root), reload the udev rules using: &amp;lt;code&amp;gt;sudo udevadm control --reload&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
No additional configuration required.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the Terminalserver ===&lt;br /&gt;
The Softphone App at the terminal server does not require any additional configuration.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
User starts the VDI software (Citrix Workspace App or Windows Remotedesktop) needed to connect to a remote server. &lt;br /&gt;
&lt;br /&gt;
This software automatically starts the myApps Plugin. No user action required.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The user does not need to have any knowledge about the myApps Plugin.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* 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)&lt;br /&gt;
&lt;br /&gt;
* 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. &lt;br /&gt;
**Video is displayed but with delay due to the rendering process. &lt;br /&gt;
**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.&lt;br /&gt;
* When MyApps is used as a Citrix Published App, notification pop-ups cannot be displayed. This is because Citrix does not recognize the notifications as part of MyApps and therefore does not show them as part of the published app. If the full desktop is used in Citrix, the notifications function correctly.&lt;br /&gt;
* Start of AppSharing remains at the terminal server but the transmission of the media now starts at the local client.&lt;br /&gt;
&amp;lt;br/&amp;gt;We need to implement an exception for appSharing in the future as the transmission must happen at the server.&lt;br /&gt;
&amp;lt;br/&amp;gt;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)&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Windows ===&lt;br /&gt;
&lt;br /&gt;
If Citrix is used as a terminal server environment:&lt;br /&gt;
&lt;br /&gt;
1) Citrix must be installed &#039;&#039;&#039;BEFORE&#039;&#039;&#039; the plugin&lt;br /&gt;
&lt;br /&gt;
2) Check in &amp;quot;C:/program files/Citrix/ICA Client&amp;quot; folder, there is the .dll myAppscitrixremoteserviesvc.dll&lt;br /&gt;
&lt;br /&gt;
3) Check in the registry, that: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 is there. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;VirtualDriverEx&amp;quot; must be there with the value: InnovaphoneCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
Dump files are in the trace folder c:\users\$user\Appdata\local\innovaphone\myAppsPlugin if client crash at start.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote desktop (Windows)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After installing the plugin, check this registry folder:&lt;br /&gt;
&lt;br /&gt;
Computer\HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns\innovaphoneRemoteServicesSvc64&lt;br /&gt;
&lt;br /&gt;
and check as &amp;quot;Name&amp;quot; the path of the .dll &amp;lt;--- c:\program files(x86)\iinnovaphone\myAppsPlugin\myAppsRemoteServiceSvc64.dll&lt;br /&gt;
&lt;br /&gt;
check that the .dll exist in the mentioned direcotry and the plugin.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Linux ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Innovaphone Plugin is installed under /opt/innovaphone/&#039;&#039;&#039;myAppsPlugin&#039;&#039;&#039; and in /opt/Citrix/ICAClient/&#039;&#039;&#039;myAppsCitrixPlugin.so&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myAppsCitrixPlugin.so library is called by the Citrix Workspace App and this library opens the myAppsPlugin.&lt;br /&gt;
&lt;br /&gt;
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:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with &#039;&#039;&#039;​myAppsCitrixPlugin=On&#039;&#039;&#039;​ must exist and &lt;br /&gt;
&lt;br /&gt;
Following directory &#039;&#039;&#039;/var/log/apps/myAppsPlugin/&#039;&#039;&#039; must also exist for the log files with write permission for everyone (drwxrwxrwx)&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting MacOS ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;​Citrix Workspace App must be installed before the myAppsPlugin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In /Library/Application Support/Citrix/PlugIns&lt;br /&gt;
&lt;br /&gt;
must exist ​myAppsCitrixPlugin.plugin -&amp;gt; /Application/myappsPlugin.app/Contents/PlugIns/myapps_citrix_plugin.plugin&lt;br /&gt;
&lt;br /&gt;
​under:​&lt;br /&gt;
&lt;br /&gt;
​/Users/.../Library/Application Support/Citrix Receiver&lt;br /&gt;
&lt;br /&gt;
​​there is a file called Modules. ​Inside this file the myApps Plugin is included:​&lt;br /&gt;
&lt;br /&gt;
- ​VirtualDriver entry must contain myAppsCitrixPlugin&lt;br /&gt;
&lt;br /&gt;
- a line with myAppsCitrixPlugin=On must exist&lt;br /&gt;
&lt;br /&gt;
- and another line with [myAppsCitrixPlugin]  too&lt;br /&gt;
&lt;br /&gt;
​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.&lt;br /&gt;
&lt;br /&gt;
​​And under /Users/.../Library/Containers/com.innovaphone.myapps-plugin-14r2/Data/Documents a log file is created: myAppsPlugin.txt&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting Citrix ===&lt;br /&gt;
A Virtual Channel Policy must be added to the Registry at the &#039;&#039;&#039;Citrix Server&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create &#039;&#039;&#039;VCPolicies&#039;&#039;&#039; folder under &#039;&#039;&#039;HKLM/Software/WOW6432Node/Policies/Citrix&#039;&#039;&#039; if it does not exist.&lt;br /&gt;
&lt;br /&gt;
Create a REG_MULTI_SZ entry with the name &#039;&#039;&#039;VirtualChannelWhiteList&#039;&#039;&#039;. This entry must contain as value: &#039;&#039;&#039;INNOHDX,C:\Program Files (x86)\innovaphone\myApps\myApps.exe&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Gateway/Interfaces/Media_Properties&amp;diff=76762</id>
		<title>Reference15r1:Gateway/Interfaces/Media Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Gateway/Interfaces/Media_Properties&amp;diff=76762"/>
		<updated>2025-05-22T10:00:54Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Media Properties ===&lt;br /&gt;
&lt;br /&gt;
The physical interface may be registered using H.323 or SIP. For the VOIP call the media properties can be configured.&lt;br /&gt;
&lt;br /&gt;
;General Coder Preference: The coder preference (Coder, Framesize, Silence Compression) to be used if a non-local media address is detected. If the preference is marked as exclusive no other coder is offered.&lt;br /&gt;
&lt;br /&gt;
;Local Network Coder: The coder preference if a local media address is detected.&lt;br /&gt;
&lt;br /&gt;
;Enable T.38: Switches on Fax detection and switchover to T.38&lt;br /&gt;
&lt;br /&gt;
;Audio FAX support: Switches on voice coder e.g. G.711 for the FAX interface. This feature requires two free DSP channels and is &#039;&#039;&#039;not available&#039;&#039;&#039; on IP2x, IP302, IP305, IP800, IP0011, IP311 gateways and IPVA.&lt;br /&gt;
&lt;br /&gt;
;No DTMF Detection: Special mode to switch off DTMF detection during a call. If checked DTMF is transferred inband during a call. Use G711 coder and a link with no packet loss to transfer DTMF inband. This option can be used to transfer continuous DTMF tones for some special applications. Out of band DTMF tones have a fixed length of approx 150ms. &lt;br /&gt;
&lt;br /&gt;
;Enable PCM: Enable the media to be connected using the local timeslot switch if the call is between physical interfaces of the same gateway.&lt;br /&gt;
&lt;br /&gt;
;Media-Relay:&lt;br /&gt;
:;Off: No Media Relay is performed for calls thru this interface&lt;br /&gt;
:;On: If the interface of one call leg is set to Media-Relay On, Media relay is performed&lt;br /&gt;
:;Auto: If the interfaces of both call legs are set to Media-Relay Auto, Media Relay is performed if the call is between a private an a public network, based on the private network configurations under IP4/General/Settings&lt;br /&gt;
&lt;br /&gt;
;Video: If this checkmark is set, Video Media Relay is also done.&lt;br /&gt;
&lt;br /&gt;
;RTT: If this checkmark is set, RealTime-Text(RTT) Media Relay is also done.&lt;br /&gt;
&lt;br /&gt;
;No ICE: ICE is turned off for calls routed through this interface&lt;br /&gt;
&lt;br /&gt;
;No RTCP-MUX: RTCP-MUX(RTP and RTCP share the same port/connection, instead of using two separate connections) is turned off for calls routed through this interface&lt;br /&gt;
&lt;br /&gt;
;TURN Only: Do not offer real local RTP address (a.k.a. HOST candidate). Offer remote RTP address only (a.k.a. RELAY candidate). You may enable this option for &amp;quot;Topology Hiding&amp;quot; purposes. &#039;&#039;&#039;Note: This can cause &#039;no-audio&#039; calls if the remote peer does not support ICE (RFC 5245)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;MOH Mode: Special mode to use a physical interface as Music on Hold Source. The media is one way only and multiple calls are connected to the same channel on the physical interface. In this case the configured coder is used exclusively, even if not marked as exclusive.&lt;br /&gt;
&lt;br /&gt;
;Record to (URL): HTTP URL where the recording file is to be stored. HTTP server must allow write access (PUT) at this location. One PCAP file is written for every call via this interface containing both RTP streams. Audio streams can be played using Wireshark. PCAP file can be converted into WAV file using pcap2wav tool. The filename of the recording file has the form &amp;lt;conference ID&amp;gt;-&amp;lt;mac&amp;gt;-&amp;lt;seq&amp;gt;.pcap&lt;br /&gt;
:;conference ID: A guid identifying the call across different hops. It is forwarded within the signaling. The CDRs generated by the PBX contain this conference ID.&lt;br /&gt;
:;mac: The Mac address of the device recording the call. Together with &#039;&#039;&#039;seq&#039;&#039;&#039; it is used to make sure the filename is unique if seperate devices record the same call.&lt;br /&gt;
:;seq: A sequence number of the record starting with 0 after power up of the recording device. Together with &#039;&#039;&#039;mac&#039;&#039;&#039; it is used to make shure the filename is unique, especially to cover the case, that one device records the same call multiple times (e.g. incoming and outgoing)&lt;br /&gt;
&lt;br /&gt;
;SRTP Cipher: The encryption mode for RTP&lt;br /&gt;
&lt;br /&gt;
;SRTP Key Exchange:&lt;br /&gt;
:;SDES-DTLS: SDES and DTLS are supported. The preference is SDES&lt;br /&gt;
:;DTLS-SDES: SDES and DTLS are supported. The preference is DTLS&lt;br /&gt;
:;SDES: SDES only&lt;br /&gt;
:;DTLS: DTLS only&lt;br /&gt;
:;None: No encryption&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Gateway/Interfaces/Media_Properties&amp;diff=76761</id>
		<title>Reference15r1:Gateway/Interfaces/Media Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Gateway/Interfaces/Media_Properties&amp;diff=76761"/>
		<updated>2025-05-22T09:59:49Z</updated>

		<summary type="html">&lt;p&gt;Sga: same version as 13r1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Media Properties ===&lt;br /&gt;
&lt;br /&gt;
The physical interface may be registered using H.323 or SIP. For the VOIP call the media properties can be configured.&lt;br /&gt;
&lt;br /&gt;
;General Coder Preference: The coder preference (Coder, Framesize, Silence Compression) to be used if a non-local media address is detected. If the preference is marked as exclusive no other coder is offered.&lt;br /&gt;
&lt;br /&gt;
;Local Network Coder: The coder preference if a local media address is detected.&lt;br /&gt;
&lt;br /&gt;
;Enable T.38: Switches on Fax detection and switchover to T.38&lt;br /&gt;
&lt;br /&gt;
;Audio FAX support: Switches on voice coder e.g. G.711 for the FAX interface. This feature requires two free DSP channels and is &#039;&#039;&#039;not available&#039;&#039;&#039; on IP2x, IP302, IP305, IP800, IP0011, IP311 gateways and IPVA.&lt;br /&gt;
&lt;br /&gt;
;No DTMF Detection: Special mode to switch off DTMF detection during a call. If checked DTMF is transferred inband during a call. Use G711 coder and a link with no packet loss to transfer DTMF inband. This option can be used to transfer continuous DTMF tones for some special applications. Out of band DTMF tones have a fixed length of approx 150ms. &lt;br /&gt;
&lt;br /&gt;
;Enable PCM: Enable the media to be connected using the local timeslot switch if the call is between physical interfaces of the same gateway.&lt;br /&gt;
&lt;br /&gt;
;Media-Relay:&lt;br /&gt;
:;Off: No Media Relay is performed for calls thru this interface&lt;br /&gt;
:;On: If the interface of one call leg is set to Media-Relay On, Media relay is performed&lt;br /&gt;
:;Auto: If the interfaces of both call legs are set to Media-Relay Auto, Media Relay is performed if the call is between a private an a public network, based on the private network configurations under IP4/General/Settings&lt;br /&gt;
&lt;br /&gt;
;Video: If this checkmark is set, Video Media Relay is also done.&lt;br /&gt;
&lt;br /&gt;
;No ICE: ICE is turned off for calls routed through this interface&lt;br /&gt;
&lt;br /&gt;
;No RTCP-MUX: RTCP-MUX(RTP and RTCP share the same port/connection, instead of using two separate connections) is turned off for calls routed through this interface&lt;br /&gt;
&lt;br /&gt;
;TURN Only: Do not offer real local RTP address (a.k.a. HOST candidate). Offer remote RTP address only (a.k.a. RELAY candidate). You may enable this option for &amp;quot;Topology Hiding&amp;quot; purposes. &#039;&#039;&#039;Note: This can cause &#039;no-audio&#039; calls if the remote peer does not support ICE (RFC 5245)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
;MOH Mode: Special mode to use a physical interface as Music on Hold Source. The media is one way only and multiple calls are connected to the same channel on the physical interface. In this case the configured coder is used exclusively, even if not marked as exclusive.&lt;br /&gt;
&lt;br /&gt;
;Record to (URL): HTTP URL where the recording file is to be stored. HTTP server must allow write access (PUT) at this location. One PCAP file is written for every call via this interface containing both RTP streams. Audio streams can be played using Wireshark. PCAP file can be converted into WAV file using pcap2wav tool. The filename of the recording file has the form &amp;lt;conference ID&amp;gt;-&amp;lt;mac&amp;gt;-&amp;lt;seq&amp;gt;.pcap&lt;br /&gt;
:;conference ID: A guid identifying the call across different hops. It is forwarded within the signaling. The CDRs generated by the PBX contain this conference ID.&lt;br /&gt;
:;mac: The Mac address of the device recording the call. Together with &#039;&#039;&#039;seq&#039;&#039;&#039; it is used to make sure the filename is unique if seperate devices record the same call.&lt;br /&gt;
:;seq: A sequence number of the record starting with 0 after power up of the recording device. Together with &#039;&#039;&#039;mac&#039;&#039;&#039; it is used to make shure the filename is unique, especially to cover the case, that one device records the same call multiple times (e.g. incoming and outgoing)&lt;br /&gt;
&lt;br /&gt;
;SRTP Cipher: The encryption mode for RTP&lt;br /&gt;
&lt;br /&gt;
;SRTP Key Exchange:&lt;br /&gt;
:;SDES-DTLS: SDES and DTLS are supported. The preference is SDES&lt;br /&gt;
:;DTLS-SDES: SDES and DTLS are supported. The preference is DTLS&lt;br /&gt;
:;SDES: SDES only&lt;br /&gt;
:;DTLS: DTLS only&lt;br /&gt;
:;None: No encryption&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76647</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76647"/>
		<updated>2025-05-09T08:56:19Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Devices App: Evaluation of PBX User Rights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference9:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76646</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76646"/>
		<updated>2025-05-09T08:55:11Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Devices App: Evaluation of PBX User Rights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference15:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76645</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76645"/>
		<updated>2025-05-09T08:54:40Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Devices App: Evaluation of PBX User Rights */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[Reference16:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76644</id>
		<title>Howto15r1:Firmware Upgrade V14r2 V15r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto15r1:Firmware_Upgrade_V14r2_V15r1&amp;diff=76644"/>
		<updated>2025-05-09T08:42:28Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Good2Know */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
* All 15r1 capable innovaphone devices&lt;br /&gt;
: For a general overview of the upgrade process and a list of supported devices with 15r1, see [[Howto:Firmware Upgrade]]&lt;br /&gt;
== Licenses ==&lt;br /&gt;
In case of cloud or rental model, don&#039;t worry about licenses.&lt;br /&gt;
&lt;br /&gt;
If the system is licensed on premise, you&#039;ll need to regenerate the license file for V15 in https://portal.innovaphone.com/ and load into the system before upgrade (The system needs to have the SSC up to date).&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
Here is how you upgrade a system from 14r2 to 15r1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red; font-weight: bold&amp;quot;&amp;gt;Before you begin, be sure that your whole installation is running the latest 14r2 service release.&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AP Upgrade to Image 130006 ===&lt;br /&gt;
* Please Upgrade as first your Application Platform to Image Version 130006. After that you can go ahead.&lt;br /&gt;
&lt;br /&gt;
=== TechAssist Upgrade Helper ===&lt;br /&gt;
* Before you start, make sure that all TechAssist tests (you will receive the required tests in the last update in the previous major version) labelled &amp;lt;code&amp;gt;Pre Upgrade: xy&amp;lt;/code&amp;gt; are positive, if available&lt;br /&gt;
* When you are finished, make sure that all TechAssist tests (you will receive new tests with the upgrade) are positive&lt;br /&gt;
&lt;br /&gt;
===  App Platform on CF card (IPxx10) ===&lt;br /&gt;
Make sure that no App Platform is installed on a CF card, as this function is removed with the update.&lt;br /&gt;
Migrate the App Platform to a gateway with SSD or as a virtual machine before the update.&lt;br /&gt;
&lt;br /&gt;
== Changes visible to the end customers ==&lt;br /&gt;
Listed here are changes that should be communicated by resellers to end users prior to a upgrade, as the change will be visible/audible in the behaviour of the application/device.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;myApps&#039;&#039;&#039;: New UI design. In new installations users will see an intro video when logging in the first time.&lt;br /&gt;
* &#039;&#039;&#039;myApps iOS/Android&#039;&#039;&#039;: You will find a new Version without the Major Version in the icon. Starting with V15, the client no longer needs to be replaced in the future.&lt;br /&gt;
* &#039;&#039;&#039;Phone App and Softphone App&#039;&#039;&#039;: [[ReleaseNotes15r1:Firmware#192745 - Phone App and Softphone App: New UI design|New UI design]]&lt;br /&gt;
* &#039;&#039;&#039;Switchboard App&#039;&#039;&#039;: See list of improvements in the [[Reference15r1:Concept App Service Queues#V15 Improvements|Concept App Service Queues Article]]&lt;br /&gt;
* &#039;&#039;&#039;Connect App&#039;&#039;&#039;: New version with many new features. See list of improvements in the [[Reference15r1:Concept App Connect|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Chat App&#039;&#039;&#039;: The chat app for persistent chat is now integrated in the connect app. More information in the [[Reference15r1:Concept App Connect#Chat|connect article]].&lt;br /&gt;
* &#039;&#039;&#039;Fax App settings plugin&#039;&#039;&#039;: The admin can now set [[Reference15r1:Apps/PbxManager/App Fax#Default settings for mail notifications|default settings for mail notifications]] for the user specific/group fax app.&lt;br /&gt;
* &#039;&#039;&#039;Contacts App&#039;&#039;&#039;: Contacts now has a new start screen, vCard Files can now be imported and exported, as well as there were made some User-Interface improvements. For more information, see [[Reference15r1:Concept App Service Contacts#15r1 Features|here]].&lt;br /&gt;
* &#039;&#039;&#039;Devices App&#039;&#039;&#039;:OTA (Over the Air) Features for dect systems can now be [[Reference15r1:IP1202/IP1203 DECT System#OTA (Over the Air) Features|configured]].&lt;br /&gt;
&lt;br /&gt;
== Manual steps needed after upgrade ==&lt;br /&gt;
If the installer is not used for a new installation, some new default settings are not set. Please evaluate per app whether you want to configure the new default settings manually.&lt;br /&gt;
&lt;br /&gt;
=== myApps ===&lt;br /&gt;
* To configure an optional intro that is shown when user login the first time, see: [[Reference15r1:Concept_myApps#Onboarding]]&lt;br /&gt;
&lt;br /&gt;
=== Techassist App ===&lt;br /&gt;
* You have to enable the API &amp;quot;PbxSignal&amp;quot; in the APP Objects &amp;quot;App&amp;quot; Tab&lt;br /&gt;
&lt;br /&gt;
=== myApps iOS/Android ===&lt;br /&gt;
* You must install the new app without the major version in the icon. (Starting with V15, the client no longer needs to be replaced in future).&lt;br /&gt;
** iOS: https://apps.apple.com/us/app/innovaphone-myapps/id6739562892&lt;br /&gt;
** Android: https://play.google.com/store/apps/details?id=com.innovaphone.myapps&lt;br /&gt;
&lt;br /&gt;
=== IPVA VMWare Fault Tolerance ===&lt;br /&gt;
* With 15r1 you can use again the VMWare Fault Tolerance Feature. If you want to re-enable this feature you have to [[Howto15r1:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance|setup a new IPVA-SCSI]] and export/import your configuration to the new machine.&lt;br /&gt;
&lt;br /&gt;
=== Working App ===&lt;br /&gt;
&lt;br /&gt;
* With 15r1, it is necessary to specify the master PBX in the Settings plugin under &amp;quot;Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Connect ===&lt;br /&gt;
&lt;br /&gt;
* You need to enable &amp;quot;impersonation&amp;quot; at all Connect app objects in order to make chat work correctly. Otherwise, chat messages will not be received from the target user.&lt;br /&gt;
* A new mode &amp;quot;admin-service&amp;quot; needs to be add in order to allow other apps (like Projects) to create posts in connect.&lt;br /&gt;
&lt;br /&gt;
== New Apps ==&lt;br /&gt;
New Apps will not be installed automatically by the upgrade. The installation description of new apps is usually in the concept article. Please rate per app whether you want to install/use the new app and configure it manually.&lt;br /&gt;
&lt;br /&gt;
=== Projects App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept App Service Projects|Concept App Service Projects]]&lt;br /&gt;
&lt;br /&gt;
=== Virtual Background App ===&lt;br /&gt;
* Concept Article: [[Reference15r1:Concept Virtual Background App|Concept Virtual Background App]]&lt;br /&gt;
&lt;br /&gt;
=== Remote Control Client msi application for external participants ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Remote Control|Concept App Remote Control]]&lt;br /&gt;
&lt;br /&gt;
=== Assistant App ===&lt;br /&gt;
* Concept Article [[Reference15r1:Concept App Service myApps Assistant#Assistant App|Concept Assistant App]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Good2Know ==&lt;br /&gt;
&lt;br /&gt;
=== PBXManager ===&lt;br /&gt;
“PBX Manager” is now called “Settings”&lt;br /&gt;
&lt;br /&gt;
=== Exchange Online calendar integration — Calendar App / Connector for Microsoft 365 ===&lt;br /&gt;
In the past, Microsoft has announced the end of support for Exchange Online EWS support in 2026:&lt;br /&gt;
&lt;br /&gt;
https://techcommunity.microsoft.com/blog/exchange/retirement-of-exchange-web-services-in-exchange-online/3924440&lt;br /&gt;
&lt;br /&gt;
Since the Calendar App uses EWS to synchronize calendar events from Exchange Online to the PBX, this feature will stop working from then on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Microsoft suggests switching to the Graph API for this functionality and since we already have an app that works with the Graph API, we have extended the feature set of the Connector for Microsoft 365.&lt;br /&gt;
&lt;br /&gt;
In addition to the initial functionality of synchronizing line states and presences bi-directionally between the Azure Portal (Teams) and the PBX, the Connector for Microsoft 365 can now also retrieve calendar events and integrate them into the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Connector for Microsoft 365 requires a valid licence for each user.&lt;br /&gt;
&lt;br /&gt;
The Exchange Online functionality of the Calendar App will no longer be enhanced or improved, but the current functionality will be included for as long as Microsoft continues to support EWS for Exchange Online.&lt;br /&gt;
&lt;br /&gt;
The on-premise functionality is not affected by this and will remain in the Calendar App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;As both apps integrate Exchange Online calendar events in the same way, it is not recommended or supported to use both calendar integrations at the same time.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;However, you can use the Connector for Microsoft 365 for presence and line state synchronization and the Calendar App for calendar event integration.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Federation ===&lt;br /&gt;
Beginning with 15r1 the certificate or CA of the certificate of the client device &#039;&#039;&#039;must&#039;&#039;&#039; be in the trust list of the RP/gateway or else, federation doesn&#039;t work anymore.&lt;br /&gt;
&lt;br /&gt;
=== Devices App: Evaluation of PBX User Rights ===&lt;br /&gt;
When a PBX user with [[{{NAMESPACE}}:PBX/Objects/Edit_Rights|administrative rights]] accesses the Devices App, their PBX rights are enforced. As a result, only the PBX-related pages permitted by the user&#039;s rights can be modified.&lt;br /&gt;
However, PBX rights do not apply to other modules (e.g. IP configuration). This means that users retain full administrative access to non-PBX-related functions within the Devices App, regardless of their PBX rights.&lt;br /&gt;
Additionally, in the syslog the administrative changes now also contain a user ID and the remote IP address if the Devices App is used.&lt;br /&gt;
‎&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Removed ==&lt;br /&gt;
The following software is no longer included.&lt;br /&gt;
&lt;br /&gt;
* running an App Platform on the CF card of an IPxx10 gateway (Removed, migrate to a gateway with an SSD or a Virtual Machine to run the App Platform)&lt;br /&gt;
* Audio codec software transcoding to G.729 removed on: IP11x, IP10x, myApps, DECT-Radios. Only the conversion to G.729 has been removed, not the playback of already converted g.729 audio files such as an MOH or voicemail announcements. These can still be played.&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
The following software is based on legacy technology, with no further development and limited maintenance and support.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;Nothing&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Previously deprecated and now no longer supported == &lt;br /&gt;
The following software is based on legacy technology, with no further development and no more maintenance and support.&amp;lt;br&amp;gt;&lt;br /&gt;
See: [[Howto14r2:Firmware_Upgrade_V14r1_V14r2#Deprecated]]&amp;lt;br&amp;gt;&lt;br /&gt;
We strongly recommend migrating to our successor products.&lt;br /&gt;
&lt;br /&gt;
* iQM (innovaphone Queue Monitor) - Migrate to the [[Howto:Queueboard - MediaRunway - Partner App|Queueboard App]]. For existing innovaphone QueueMonitor licences, the corresponding MediaRunway Queueboard licences can be downloaded via portal.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Long Update-duration===&lt;br /&gt;
When you update, it can be up to 10 minutes before you have access to your app platform again.&lt;br /&gt;
&lt;br /&gt;
== Resources Considerations ==&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure. A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according the specs will run on all supported hardware. However, unusual configurations may not. It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade. Please find details in Reference:Device Health Check.&lt;br /&gt;
&lt;br /&gt;
=== RAM ===&lt;br /&gt;
As a rough rule of thumb, a 15r1 release will consume the same amount of RAM compared to a v14r2 firmware.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory  ===&lt;br /&gt;
As a rough rule of thumb, a v15r1 release will consume ~ 64KB flash memory compared to a v14r2 firmware.&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, devices may run out of flash memory during upgrade to v15r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize the flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware (Web GUI ends up in a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; / Update client end in a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event) please open a support case with your current configuration file.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Firmware_Upgrade]]&lt;br /&gt;
* [[Howto14r2:Firmware_Upgrade_V14r1_V14r2]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_myApps_platform_services&amp;diff=76622</id>
		<title>Reference15r1:Concept myApps platform services</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_myApps_platform_services&amp;diff=76622"/>
		<updated>2025-05-07T14:27:25Z</updated>

		<summary type="html">&lt;p&gt;Sga: Created page with &amp;quot;myApps  myApps platform services provide various operating system specific services which can be used by other &amp;#039;&amp;#039;Apps&amp;#039;&amp;#039; running in the myApps client. Those services typically are not available in the browser&amp;#039;s JavaScript environment and hence must be implemented in native platform code. Therefore, the platform services are installed as native executable on the respective platform.  When myApps is started in a web brow...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myApps]]&lt;br /&gt;
&lt;br /&gt;
myApps platform services provide various operating system specific services which can be used by other &#039;&#039;Apps&#039;&#039; running in the [[{{NAMESPACE}}:Concept myApps|myApps client]]. Those services typically are not available in the browser&#039;s JavaScript environment and hence must be implemented in native platform code. Therefore, the platform services are installed as native executable on the respective platform.&lt;br /&gt;
&lt;br /&gt;
When myApps is started in a web browser (and hence has no access to the platform services), some Apps will use [https://en.wikipedia.org/wiki/WebRTC WebRTC] services implemented by the browser instead.  For ease of reference, features available in this scenario are also described here.&lt;br /&gt;
&lt;br /&gt;
On windows, the platform services also come with their own web browser in which the myApps web App will be started then.  This browser is based on google&#039;s [https://en.wikipedia.org/wiki/Chromium_(web_browser) Chromium] open source software.&lt;br /&gt;
= Applies To =&lt;br /&gt;
&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myApps|myApps]]&lt;br /&gt;
* myApps for Windows&lt;br /&gt;
* myApps for macOS&lt;br /&gt;
* myApps for iOS&lt;br /&gt;
* myApps for Android&lt;br /&gt;
&lt;br /&gt;
* myApps Web App (WebRTC)&lt;br /&gt;
version 14r2&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
Not all features are available or required on all platforms.&lt;br /&gt;
 {|&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Feature&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot;| Availability&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| || || Windows || iOS || Android || macOS || Browser&amp;lt;ref&amp;gt;This refers to the myApps web application running in a browser with no platform services available&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| audio || manage local audio devices to record and playback audio conversations || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; (audio available but devices managed by web browser)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| video || manage local displays and cameras to capture and render video live stream || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; (video available but devices managed by web browser)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ringer || manage local ringing device || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| application sharing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| &amp;amp;nbsp; presenter || share an application || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| &amp;amp;nbsp; consumer  || view an application shared by the peer || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| hot keys || capture key presses for quick invocation of phone apps (e.g. dial selected number) || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
| tel: and sip: URI handler || intercept clicks on tel: and sip: links in web sites to invoke phone apps || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user activity || set presence state according to user activity ||  &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&amp;lt;ref&amp;gt;limited, see [[#User activity|User activity]] below&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| docking || myApps can be docked persistently to the right or left edge of your screens ||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| multi-windowing|| Apps can be launched in separate windows||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| recording|| Calls can be recorded to recording app||  &amp;amp;#10004;  || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notifications || ||&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; display notifications || display notifications with OS standard mechanism ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; push notifications || receive push notifications while myApps is not running  ||  &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&amp;lt;ref&amp;gt;The browser needs to be running in order to receive push notifications.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; chat and apps || display notifications for chat and other apps  ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;amp;nbsp; calls || display notifications for incoming calls  ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&amp;lt;ref&amp;gt;Call notifications are only displayed locally while the phone or softphone app is started.&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| phone book access || access local phone book ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
| office presence provider || maps PBX presence state to Microsoft office presence state ||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| external application start || start arbitrary external applications for calls || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| app proxy|| a caching proxy that provides app persistence  || &amp;amp;#10004;  || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| auto update || automatically updates myApps platform services to the same version the PBX has || &amp;amp;#10004;  || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&amp;lt;ref&amp;gt;The then-current web app is always loaded from the PBX upon startup and hence up-to-date by definition&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| three party conference || initiate 3-pty-conference using Softphone-App || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| exclude VPN || disable use of VPN connections for audio/video/appsharing || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
* innovaphone PBX 14r2 and up&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
Recommended hardware requirements&lt;br /&gt;
* Processor: Dual-core 2Ghz or higher&lt;br /&gt;
* RAM: 4 Gb&lt;br /&gt;
&lt;br /&gt;
== myApps for Windows ==&lt;br /&gt;
* Windows 10 and up&lt;br /&gt;
* Windows Server 2016 and later versions&lt;br /&gt;
&lt;br /&gt;
=== 32 &amp;amp; 64 bit Windows ===&lt;br /&gt;
* 32 bit Windows: install the myAppsSetup32.msi from the App Store&lt;br /&gt;
* 64 bit Windows: install the myAppsSetup.msi from the App Store&lt;br /&gt;
** the 64 bit variant still installs into Program Files (x86), as the main myApps.exe is still a 32bit application&lt;br /&gt;
** the 64 bit variant just contains an additional 64 bit binary for the outlook search&lt;br /&gt;
&lt;br /&gt;
=== Windows N editions ===&lt;br /&gt;
&lt;br /&gt;
Windows N editions are missing the &#039;&#039;Media Feature Pack&#039;&#039; which is pre installed on other Windows versions.&lt;br /&gt;
&lt;br /&gt;
Please install the pack from [https://www.microsoft.com/en-us/software-download/mediafeaturepack Microsoft (Windows 10 pack)] before you install myApps. The installer will check if the file &amp;lt;code&amp;gt;C:\Windows\SysWOW64\mfplat.dll&amp;lt;/code&amp;gt; exist on your system.&lt;br /&gt;
&lt;br /&gt;
Make sure to install the correct pack depending on your Windows version! There are different packs for Windows 10 1703, 1803, 1809 and 32bit or 64bit etc.&lt;br /&gt;
&lt;br /&gt;
NB: Sometimes the myApps installation will not work even though the media pack is already installed. This is because the installer has no read access to check if the package is already installed. If the above-mentioned file exists and the installer asks to install the Windows Media Feature Pack nevertheless, you have to start the myApps install with administrative rights.&lt;br /&gt;
&lt;br /&gt;
=== Terminal Server environments ===&lt;br /&gt;
&lt;br /&gt;
Audio driver was removed if myApps discovers that it is running in a terminal server environment like Citrix.&lt;br /&gt;
&lt;br /&gt;
The audio driver is needed for the Softphone App but the Softphone App should not use an audio driver at the server side because the audio devices are plugged locally and there would be a delay sending and receiving audio data with the server.&lt;br /&gt;
&lt;br /&gt;
If a customer wants to use the Softphone App at the server side he needs to make use of the myApps Plugin for virtual desktops solution:&lt;br /&gt;
&lt;br /&gt;
[[{{NAMESPACE}}:MyApps_Plugin_for_Virtual_Desktops]]&lt;br /&gt;
&lt;br /&gt;
== myApps for macOS ==&lt;br /&gt;
* macOS 10.13 or higher&lt;br /&gt;
&lt;br /&gt;
== myApps for iOS ==&lt;br /&gt;
* iOS 12 or higher&lt;br /&gt;
&lt;br /&gt;
== myApps for Android ==&lt;br /&gt;
* Android 6.0 or higher. Android 6.x may need an update of the Chrome browser.&lt;br /&gt;
&lt;br /&gt;
= Licenses =&lt;br /&gt;
* No license needed for myApps platform services&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
myApps platform services is a native executable that is installed using the standard mechanisms on the respective operating system. It provides various advanced services which can be used by the myApps web client code as well as the Apps running in the myApps context. &lt;br /&gt;
&lt;br /&gt;
Also, on Windows, the platform services come with their own, dedicated browser to run myApps in.  This browser is based on [https://en.wikipedia.org/wiki/Chromium_(web_browser) Chromium].  On iOS, macOS and Android, it is based upon native embedded web view facilities (such as WKWebView) instead.&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== RTP service for audio, video and data ===&lt;br /&gt;
The RTP service provides audio, video and data (app sharing) VoIP RTP endpoints (e.g. for softphones).  It supports STUN, TURN, ICE, SRTP, DTLS. Note however that unlike WebRTC, these endpoints do not &#039;&#039;require&#039;&#039; ICE and DTLS. In other words, they can communicate also with non-compliant (i.e. older) VoIP devices.&lt;br /&gt;
&lt;br /&gt;
Note that the available capabilities when not running the myApps platform services depend on the used browser&#039;s WebRTC implementation. See your browser documentation for details.&lt;br /&gt;
&lt;br /&gt;
Apps can request RTP channels using the [https://sdk.innovaphone.com/doc/launcher/Media.htm Media Protocol]&#039;s &#039;&#039;AllocChannel&#039;&#039; message.&lt;br /&gt;
&lt;br /&gt;
===== RTP ports=====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  audio || 50000 -&amp;gt; 50099&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| video || 50100 -&amp;gt; 50199&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| data || 50200 -&amp;gt; 50299&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The RTP service will enumerate all local interfaces and create local HOST candidates for ICE.  There is an option however to disregard VPN interfaces (more precisely such interfaces with type of &#039;&#039;IF_TYPE_PPP&#039;&#039; or &#039;&#039;IF_TYPE_TUNNEL&#039;&#039;).  This can eliminate quality issues when RTP data is transmitted through TCP based VPN tunnels.&lt;br /&gt;
&lt;br /&gt;
SRFLX and RELAY candidates are obtained using the STUN and TURN server configuration passed by the App (e.g the &#039;&#039;softphone&#039;&#039; App) as part of the &#039;&#039;AllocChannel&#039;&#039; request.&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;AllocChannel&amp;quot;,&amp;quot;channel&amp;quot;:&amp;quot;81429cba-396d-43de-8a76-ec020ba8796e&amp;quot;,&amp;quot;iceServers&amp;quot;:[{&amp;quot;urls&amp;quot;:&amp;quot;turn:myturn.domaincom:4077?transport=udp&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;turnuser&amp;quot;,&amp;quot;credential&amp;quot;:&amp;quot;pwd&amp;quot;,&amp;quot;credentialType&amp;quot;:&amp;quot;password&amp;quot;},{&amp;quot;urls&amp;quot;:&amp;quot;stun:mystun.domain.com:4077&amp;quot;}],&amp;quot;dn&amp;quot;:&amp;quot;Foo Bar&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;RemoteRtp&amp;quot;,&amp;quot;kind&amp;quot;:&amp;quot;video&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Codecs =====&lt;br /&gt;
&lt;br /&gt;
The installed myApps launchers provide codecs that can be used by softphone apps for media streams. When running in a web browser the codecs depend on the browser version and operating system. See the documentation of your browser for details.&lt;br /&gt;
&lt;br /&gt;
The following codecs are supported:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!style=&amp;quot;text-align:left;width:100px;&amp;quot;|Codec&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Windows-Launcher&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Android&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|iOS&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|macOS&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Firefox (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Chrome (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Edge (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Safari (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Opera (Browser)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Audio&lt;br /&gt;
|-&lt;br /&gt;
|G711A&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G711u&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G722&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G729&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729A&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729B&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729AB&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=Opus OPUS-NB]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=Opus OPUS-WB]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Video&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=VP8 VP8]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=VP9 VP9]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=H264 H264]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔**&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Application Sharing&lt;br /&gt;
|-&lt;br /&gt;
|Share&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|Watch&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔*&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔*&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;* small presentation only&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;** only for 1:1 calls, not for conferences&lt;br /&gt;
&lt;br /&gt;
===== Video capture =====&lt;br /&gt;
&lt;br /&gt;
The default resolution for video capture is 1280x720 if available.  Otherwise, 640x480, 352x288 or 320x240 will be used.  The frame rate is 30 fps if available, otherwise 15 fps. The resulting average bandwidth could reach 1 Mbps.&lt;br /&gt;
&lt;br /&gt;
===== Application sharing =====&lt;br /&gt;
&lt;br /&gt;
Screen content will be transmitted by the presenter.&lt;br /&gt;
&lt;br /&gt;
===== Device handling =====&lt;br /&gt;
&lt;br /&gt;
The RTP service enumerates microphones, loudspeaker, cameras and ringing devices and notifies apps when devices come and go. It is up to the apps using the devices to store preferences.&lt;br /&gt;
&lt;br /&gt;
The RTP service also enables some extended features (such as hook switch or volume control) for supported USB headsets or Bluetooth headsets connected to myApps.&lt;br /&gt;
The supported headset-SDKs determine which headset vendors are recommended to be used with the myApps softphone app. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For this to work, the following vendor specific development kits are integrated in our myApps client. Be aware that the SDK are updated within our Service release :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SDK Vendor !! Supported OS !! SDK Version !! innovaphone Service Release&lt;br /&gt;
|-&lt;br /&gt;
| Jabra|| MacOS || 1.12.2.0 || 13r3sr9&lt;br /&gt;
|-&lt;br /&gt;
||| Windows || 1.12.2.0 || 13r3sr10&lt;br /&gt;
|-&lt;br /&gt;
| Epos &#039;&#039;(formerly Sennheiser)&#039;&#039; || MacOS || 12.4.0.5478 || 14r1sr3&lt;br /&gt;
|-&lt;br /&gt;
||| Windows || n.a. - [[Support:13r3 sr10 MyApps Windows Client - Epos/Sennheiser-Headsets require installed Epos-Connect Software|to be installed separately]]|| 13r3sr10&lt;br /&gt;
|-&lt;br /&gt;
| Poly &#039;&#039;(formerly Plantronics)&#039;&#039; || MacOS || 3.25.53799.37131 || 13r3sr9&lt;br /&gt;
|-&lt;br /&gt;
||| Windows || 3.25.53800.37131 || 13r3sr10&lt;br /&gt;
|-&lt;br /&gt;
| Yealink || MacOS || 3.1.1.20 || 14r1sr3&lt;br /&gt;
|-&lt;br /&gt;
||| Windows || 3.1.1.20 || 14r1sr3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
* It is possible to inhibit the start of the Sennheiser SDK (SenncomSDK.exe) using the &amp;lt;code&amp;gt;DISABLEHEADSETS&amp;lt;/code&amp;gt; directive of the installer (see [[#MSI Parameters and install options|  MSI parameters]]  below).&lt;br /&gt;
&lt;br /&gt;
* Starting with V13r3sr10, the Epos-SDK needs to be installed separately using the Epos Connect software to ensure full compatibility between current Epos headset models and native myApps-Windows client. For details [[Support:13r3 sr10 MyApps Windows Client - Epos/Sennheiser-Headsets require installed Epos-Connect Software|refer to this article]].&lt;br /&gt;
&amp;lt;!--Keywords: myapps softphone supported headsets sdk--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Ring tones =====&lt;br /&gt;
&lt;br /&gt;
Ring tones can be played. Apps can choose the tone from a pre-defined list of ring tones.&lt;br /&gt;
&lt;br /&gt;
On Windows, custom ring tones can be uploaded as .mp3 files to the &amp;lt;code&amp;gt;ringtones&amp;lt;/code&amp;gt; sub-directory of myApps&#039; roaming directory (which usually is in &amp;lt;code&amp;gt;C:\Users\...\AppData\Roaming\innovaphone\myApps\ringtones&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
On Android, custom ring tones can be added to the system via Android settings.&lt;br /&gt;
&lt;br /&gt;
On iOS, custom ring tones can be uploaded as .mp3 files to the &amp;lt;code&amp;gt;Ringtones&amp;lt;/code&amp;gt; subdirectory of the myApps file share that is available in iTunes if the iPhone has been connected via USB.&lt;br /&gt;
&lt;br /&gt;
On macOS, custom ring tones can be uploaded as .mp3 files to &amp;lt;code&amp;gt;~/Library/Containers/com.innovaphone.client-macos/Data/Documents/Ringtones&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===== Debugging =====&lt;br /&gt;
For extended debugging, turn on the &#039;&#039;Audio&#039;&#039;, &#039;&#039;Media&#039;&#039; and &#039;&#039;AppSharing&#039;&#039; traces in myApps.&lt;br /&gt;
&lt;br /&gt;
=== Hot keys ===&lt;br /&gt;
On Windows and macOS systems, myApps platform services can listen for hot keys and invoke certain functions. Invocation is done by sending API messages to myApps which passes it to an appropriate API provider (in the cases described here, this will be a &#039;&#039;phone&#039;&#039; or &#039;&#039;softphone&#039;&#039; or &#039;&#039;rcc&#039;&#039; App typically.  See [[{{NAMESPACE}}:Concept_myApps#Client_APIs_and_default_apps | Client APIs and default apps]] for more details about this mechanism.&lt;br /&gt;
&lt;br /&gt;
The hot keys can be specified using the &#039;&#039;advanced settings&#039;&#039; user interface (see [[#UI elements| UI elements]] below. Any of the function keys F1 to F11 (optionally combined with up to two modifier keys &#039;&#039;alt&#039;&#039;, &#039;&#039;ctrl&#039;&#039;, &#039;&#039;shift&#039;&#039; or &#039;&#039;win&#039;&#039;) can be chosen for each function. If you do not want to start the call with &amp;quot;Hotkey+Enter&amp;quot; because you would have to wait for the focus, the hotkey can also be pressed twice and the number is dialled directly.&lt;br /&gt;
&lt;br /&gt;
; dial selected number : Initiates a call using the currently selected text as target.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;text&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:&amp;quot;mt&amp;quot;:&amp;quot;PrepareCall&amp;quot;,&amp;quot;text&amp;quot;:&amp;quot;13&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; accept call : Accepts a currently alerting call.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;ConnectCall&#039;&#039; message will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;ConnectCall&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; reject/disconnect call : Rejects a currently alerting call or disconnects an active call.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;DisconnectCall&#039;&#039; message will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;DisconnectCall&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL Handler ===&lt;br /&gt;
&lt;br /&gt;
On Windows systems, two URI-handler are installed with the myApps platform services.  Windows will call up this URI handler when a user clicks on an appropriate link, for example in a web site.&lt;br /&gt;
&lt;br /&gt;
The handler will the send an API message to myApps which passes it to an appropriate API provider (in the cases described here, this will be a &#039;&#039;phone&#039;&#039; or &#039;&#039;softphone&#039;&#039; or &#039;&#039;rcc&#039;&#039; App typically.  See [[{{NAMESPACE}}:Concept_myApps#Client_APIs_and_default_apps | Client APIs and default apps]] for more details about this mechanism.&lt;br /&gt;
&lt;br /&gt;
; tel URI : call a number, e.g. &amp;lt;code&amp;gt;tel:4711&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;num&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;StartCall&amp;quot;,&amp;quot;num&amp;quot;:&amp;quot;4711&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
; sip URI : call a SIP name, e.g. &amp;lt;code&amp;gt;sip:zkl@innovaphone.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;sip&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;StartCall&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;zkl@innovaphone.com&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
; im URI : start chat with SIP name, e.g. &amp;lt;code&amp;gt;im:zkl@innovaphone.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;StartChat&#039;&#039; message with the &#039;&#039;sip&#039;&#039; argument set to the selected text will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.chat/com.innovaphone.chat.htm &#039;&#039;com.innovaphone.chat&#039;&#039; API].&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.chat&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;StartChat&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;zkl@innovaphone.com&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On macOS systems myApps might be made the default application to handle tel URI e.g. &amp;lt;code&amp;gt;tel:4711&amp;lt;/code&amp;gt; via Apple FaceTime. Open the &amp;quot;FaceTime&amp;quot; menu &amp;quot;Settings...&amp;quot; and select myApps as &amp;quot;Default for phone calls&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
On iOS &#039;&#039;tel&#039;&#039; URIs are always dialed via GSM. Therefore myApps iOS also reacts to URI schemes &#039;&#039;com.innovaphone.tel&#039;&#039;, &#039;&#039;com.innovaphone.sip&#039;&#039; and &#039;&#039;com.innovaphone.im&#039;&#039;, e.g. &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;com.innovaphone.tel:4711&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;com.innovaphone.sip:zkl@innovaphone.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;com.innovaphone.im:zkl@innovaphone.com&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== User activity ===&lt;br /&gt;
On Windows and macOS systems, the myApps platform services can monitor user keyboard/mouse activity and change the user&#039;s presence state after a certain amount of inactivity.  The timeout can be specified using the &#039;&#039;advanced settings&#039;&#039; user interface (see [[#UI elements| UI elements]] below.&lt;br /&gt;
&lt;br /&gt;
myApps will then send a [https://sdk.innovaphone.com/doc/appwebsocket/myApps.htm#SetUserActivity&#039;&#039;SetUserActivity&#039;&#039;] message to the PBX using the &#039;&#039;myApps&#039;&#039; protocol.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;SetUserActivity&amp;quot;,&amp;quot;inactive&amp;quot;:true}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will change the &#039;&#039;status&#039;&#039; property of the &#039;&#039;im:&#039;&#039; contact for the user&#039;s own presence and hence result in a presence update from the PBX to myApps&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;UpdateOwnPresence&amp;quot;,&amp;quot;presence&amp;quot;:[{...},{&amp;quot;contact&amp;quot;:&amp;quot;im:&amp;quot;,&amp;quot;activity&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;status&amp;quot;:&amp;quot;closed&amp;quot;}]}&amp;lt;/code&amp;gt;&lt;br /&gt;
The &#039;&#039;closed&#039;&#039; status is reflected in the grey status color when displaying a contact [[Image:myapps-inactive.png|myapps-inactive.png/]].&lt;br /&gt;
&lt;br /&gt;
On iOS and Android, the state is set to &#039;&#039;inactive&#039;&#039; as soon as the App is brought to background.&lt;br /&gt;
When myApps platform services are not available (i.e. when running the web application in a browser solely) a limited user activity monitoring is available: the state is set to active when the web page is not used for more than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Recording ===&lt;br /&gt;
&lt;br /&gt;
The new launcher offers the possibility to record the audio of incoming and outgoing calls. In order to activate that functionality the URL of the recording instance must be configured in either the PBX (PBX-&amp;gt;myApps-&amp;gt;Config: Recording URL) or the softphone App (Settings-&amp;gt;Audio Recording (URL)) &lt;br /&gt;
&lt;br /&gt;
[[Image:PBX-Recording-Settings.png|pbx-recording-settings.png/]] [[Image:Recording-Softphone-Settings.png|recording-softphone-settings.png/]]. &lt;br /&gt;
&lt;br /&gt;
As long as that URL is configured the audio data of all calls are stored as pcap-files under that URL.&lt;br /&gt;
If the URL points to a CF device in the PBX, write access must be granted for that URL (PBX-&amp;gt;Services-&amp;gt;HTTP-&amp;gt;Server:Public compact flash access) and if the URL points to the recording app, the files can be accessed via the recording app [[{{NAMESPACE}}:Concept_App_Service_Recordings|recording]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under PBX-&amp;gt;myApps the administrator can set a certain default behaviour of the audio recording like whether or not the recording should start automatically at the beginning of the call (Recording by Default ON/OFF), only calls with external numbers should be recorded (Record external calls only) or whether or not the user should be able to start/stop the recording himself (Allow user incall recording control). Except for the last parameter these parameters can also be modified by the user in its softphone settings if the administrator doesn&#039;t set the FORCE flag.&lt;br /&gt;
&lt;br /&gt;
If the user was allowed by the admin to control the recording a recording switch is active during the call when the &amp;quot;Media&amp;quot; Panel is opened. There the audio recording may be stopped and continued at will. A red recording notice is shown in the top right corner when the recording actually takes place.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Recording-incall-switch.png|recording-incall-switch.png/]]&lt;br /&gt;
&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
&lt;br /&gt;
The myApps platform services can use the OS specific notification mechanism (e.g. &#039;&#039;desktop notifications&#039;&#039; on Windows) to display messages (e.g. &#039;&#039;incoming new chat message&#039;&#039;) to the user.&lt;br /&gt;
&lt;br /&gt;
Note that the actual rendering of the notification is under control of the OS.  Therefore, myApps must be allowed to show notifications and its appearance can be restricted by OS native settings.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Windows Notifications ====&lt;br /&gt;
&lt;br /&gt;
Microsoft Windows Server editions (2016, 2019, 2022) are just capable of showing a single &#039;&#039;IncomingCall&#039;&#039; notification at the same time (we couldn&#039;t find a workaround for this limitation).&amp;lt;br/&amp;gt;&lt;br /&gt;
An &#039;&#039;IncomingCall&#039;&#039; notification is visible the whole time instead of being moved to the action center after a certain time.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
A notification about a missed call uses the &#039;&#039;IncomingCall&#039;&#039; type so that this notification is visible until the user returns.&amp;lt;br/&amp;gt;&lt;br /&gt;
Due to the above limitation, on a new arriving call such a missed call notification is transformed to a default notification which will be moved to the action center automatically.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
On non server editions, you can have multiple IncomingCall notifications at the same time (so two parallel incoming calls will be indeed notified at the same time), but the missed call notification handling is the same on both platforms!&lt;br /&gt;
&lt;br /&gt;
 Thus there will be always just &#039;&#039;&#039;one&#039;&#039;&#039; missed call notification visible and previous missed calls can be found inside your action center!&lt;br /&gt;
&lt;br /&gt;
To see myApps notifications, ensure:&lt;br /&gt;
* System -&amp;gt; Notifications &lt;br /&gt;
** enable notifications&lt;br /&gt;
** disable &amp;quot;Do not disturb&amp;quot; or allow myApps as priority application while &amp;quot;Do not disturb&amp;quot; is active&lt;br /&gt;
** enable notifications for myApps in the list of applications&lt;br /&gt;
* System -&amp;gt; Focus &lt;br /&gt;
** if a focus session is active and the &amp;quot;Do not disturb&amp;quot; is activated during a focus session, make sure that myApps is a priority application (see above)&lt;br /&gt;
&lt;br /&gt;
==== macOS Notifications ====&lt;br /&gt;
Notifications are the same as on Windows.&lt;br /&gt;
The difference is, that for macOS, notifications need to be allowed in the system settings.&lt;br /&gt;
Go to Notifications - myApps, select Banner and enable all check marks.&lt;br /&gt;
&lt;br /&gt;
=== Local phonebook access ===&lt;br /&gt;
&#039;&#039;&#039;Contact Search:&#039;&#039;&#039; The myApps platform services implement an &#039;&#039;API provider&#039;&#039; for the [http://sdk.innovaphone.com/web1/com.innovaphone.search/lib1_api_search.htm &#039;&#039;com.innovaphone.search&#039;&#039; API]]. They perform search capabilities on the OS&#039; local phone books which can be used by Apps like the &#039;&#039;phoneapp&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Apps would send a &#039;&#039;Search&#039;&#039; request to the API:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;4&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;john doe&amp;quot;},&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Search results are delivered as &#039;&#039;SearchInfo&#039;&#039; messages:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;3&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;@local-8125d22e37-519d-4056-bfe5-c52ef2ae8fabb0&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;client&amp;quot;:&amp;quot;@client-f62702dd86-be3f-47fc-b4bc-7a21627b75b2ea&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;relevance&amp;quot;:2000,&amp;quot;adjust&amp;quot;:true,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;ACME&amp;quot;,&amp;quot;position&amp;quot;:&amp;quot;Head of everything&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;11111&amp;quot;,&amp;quot;22222&amp;quot;],&amp;quot;homephone&amp;quot;:[&amp;quot;+4944444&amp;quot;,&amp;quot;33333&amp;quot;],&amp;quot;mobile&amp;quot;:[&amp;quot;+49 (123) 55555&amp;quot;]}},&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reverse Lookup:&#039;&#039;&#039; The myApps platform services implement an &#039;&#039;API provider&#039;&#039; for the [http://sdk.innovaphone.com/web1/com.innovaphone.phonelookup/lib1_api_phonelookup.htm &#039;&#039;com.innovaphone.phonelookup&#039;&#039; API]. They perform search capabilities on the OS&#039; local phone books which can be used by Apps like the &#039;&#039;phoneapp&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Apps would send a &#039;&#039;Lookup&#039;&#039; request to the API: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;4&amp;quot;,&amp;quot;msg&amp;quot;:{ mt: &amp;quot;Lookup&amp;quot;, prefixIntl: &amp;quot;000&amp;quot;, prefixNtl: &amp;quot;00&amp;quot;, prefixExt:&amp;quot;0&amp;quot;, area: &amp;quot;7031&amp;quot;, country: &amp;quot;49&amp;quot;, lookup: &amp;quot;0004970311234567&amp;quot; },&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.lookup&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search results are delivered as &#039;&#039;LookupInfo&#039;&#039; messages:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;3&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;@local-8125d22e37-519d-4056-bfe5-c52ef2ae8fabb0&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;client&amp;quot;:&amp;quot;@client-f62702dd86-be3f-47fc-b4bc-7a21627b75b2ea&amp;quot;,&amp;quot;msg&amp;quot;:{mt: &amp;quot;LookupInfo&amp;quot;, dn: &amp;quot;Jake Blues&amp;quot;, contact: { telephonenumber: [&amp;quot;0004970311234567&amp;quot;], givenname: &amp;quot;Jake&amp;quot;, sn: &amp;quot;Blues&amp;quot;, company: &amp;quot;Blues Brothers&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
On Windows, the search and lookup are performed in all of the user&#039;s Outlook contact folders.  As opposed to the search implemented in the &#039;&#039;Contacts&#039;&#039; and &#039;&#039;Users&#039;&#039; App, all items are returned which match any of the search words (i.e. searching for &#039;&#039;a b&#039;&#039; will return items matching either &#039;&#039;a&#039;&#039; or &#039;&#039;b&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
; searched properties : firstname, lastname&lt;br /&gt;
; returned properties : Following Outlook contact phone number properties are returned  (if available):&lt;br /&gt;
&lt;br /&gt;
:* OFFICE_TELEPHONE_NUMBER as &#039;&#039;telephonenumber&#039;&#039;&lt;br /&gt;
:* OFFICE2_TELEPHONE_NUMBER as &#039;&#039;telephonenumber&#039;&#039;&lt;br /&gt;
:* HOME_TELEPHONE_NUMBER as &#039;&#039;homephone&#039;&#039;&lt;br /&gt;
:* HOME2_TELEPHONE_NUMBER as &#039;&#039;homephone&#039;&#039;&lt;br /&gt;
:* MOBILE_TELEPHONE_NUMBER as &#039;&#039;mobile&#039;&#039;&lt;br /&gt;
:* BUSINESS_FAX_NUMBER as &#039;&#039;facsimiletelephonenumber&#039;&#039;&lt;br /&gt;
Note that contact information is cached in the search provider.  Updated contacts may therefore become effective after a while only.&lt;br /&gt;
Outlook search will create its own trace file &amp;lt;code&amp;gt;myAppsOutlookSearch-&amp;lt;/code&amp;gt;&#039;&#039;date-time&#039;&#039;&amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; in the standard trace directory.&lt;br /&gt;
&lt;br /&gt;
This search provider is always installed and can be disabled.  There is no need (nor possibility) to enable it in the &#039;&#039;Apps&#039;&#039; tab of the PBX&#039;s user object.  Also, no &#039;&#039;App&#039;&#039; object needs to be created for it.&lt;br /&gt;
&lt;br /&gt;
==== Android/iOS ====&lt;br /&gt;
The search and lookup are performed in the contacts.&lt;br /&gt;
&lt;br /&gt;
==== macOS ====&lt;br /&gt;
The search and lookup are performed in the contacts. If you wish to disable local contact lookup, go to system settings - Security &amp;amp; Privacy and disable the access to contacts for myapps.&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Office integration ===&lt;br /&gt;
&lt;br /&gt;
The myApps platform services has a &#039;&#039;office presence provider&#039;&#039; that can provide the user&#039;s presence state to Office applications.  See [[{{NAMESPACE}}:Concept_myApps_Office_Integration|myApps Office Integration]] for details.&lt;br /&gt;
&lt;br /&gt;
This feature is installed by default.  However, it can be disabled using the &#039;&#039;OFFICEPRESENCE&#039;&#039; MSI Parameter.  Also, a check-mark is available in the setup dialog.&lt;br /&gt;
&lt;br /&gt;
=== Call an external application for calls ===&lt;br /&gt;
&lt;br /&gt;
Phone Apps (such as the phoneapp or softphone) can initiate the start of an external application when a new call appears (either incoming or outgoing).  The actual spawning of the application is done by the myApps platform service.  Also, the application properties (such as e.g. the executable&#039;s path) is configured in the myApps platform services (see [[#UI elements|Advanced settings]] in the &#039;&#039;UI elements&#039;&#039; section below).&lt;br /&gt;
&lt;br /&gt;
A number of arguments can be passed to the application by substituting $-variables in the &#039;&#039;Parameter&#039;&#039; field:&lt;br /&gt;
&lt;br /&gt;
; $n : phone number as dialed (called party number for outgoing calls) or received (calling party number for incoming calls)&lt;br /&gt;
&lt;br /&gt;
; $N : called or calling party number in &#039;&#039;national&#039;&#039; format (e.g. 07031730090)&lt;br /&gt;
&lt;br /&gt;
; $I : called or calling party number in &#039;&#039;international&#039;&#039; format (e.g. +497031730090)&lt;br /&gt;
&lt;br /&gt;
: note that both $N and $I only work if $n includes both subscriber number and area code (e.g. 07031730090). Otherwise they are equal to $n&lt;br /&gt;
&lt;br /&gt;
; $d : display name of peer (if known)&lt;br /&gt;
&lt;br /&gt;
; $u : URI name of the peer (if available eg with a federation call)&lt;br /&gt;
&lt;br /&gt;
; $c : conference id&lt;br /&gt;
&lt;br /&gt;
: this is a globally unique ID for this call and may be used to relate the call to the &#039;&#039;guid&#039;&#039; found in the CallInfo structure in the [http://wiki.innovaphone.com/index.php?title=Reference10:SOAP_API#CallInfo SOAP-API] and [http://sdk.innovaphone.com/doc/appwebsocket/RCC.htm RCC-API ].  Also, corresponding [[Reference10:Call Detail Record CDR PBX|CDRs]] can be related using the &#039;&#039;event&#039;&#039; tag&#039;s &#039;&#039;conf&#039;&#039; attribute.&lt;br /&gt;
The start of an external application can be requested using the &#039;&#039;com.innovaphone.externalapps&#039;&#039; API.&lt;br /&gt;
&lt;br /&gt;
Some setup examples are [[Howto:Integrate External Apps in innovaphone UC clients|shown here]].&lt;br /&gt;
&lt;br /&gt;
=== Push ===&lt;br /&gt;
&lt;br /&gt;
Mobile operating systems usually inhibit network operation of apps which run in the background or are closed by the user.  This is done in order to reduce battery consumption.  Unfortunately, this also stops such apps to maintain a registration by regularly sending &#039;&#039;keep alive&#039;&#039; messages to a server (in our case to the PBX).  As a result, myApps will be disconnected from the PBX.   When the PBX determines that there is an event for the application which needs a response, it needs to wake up the app using a dedicated channel provided by the operating system.  This mechanism is know as &#039;&#039;push&#039;&#039;. When running on iOS or Android, myApps supports &#039;&#039;push&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
For &#039;&#039;push&#039;&#039; to work, a [[{{NAMESPACE}}:PBX/Objects/Push|&#039;&#039;push object&#039;&#039;]] needs to be configured in the PBX .  Also, it needs to be enabled on the mobile phone for the myApps app.&lt;br /&gt;
This mechanism is quite similar in v12 and v13, so you can refer to [[{{NAMESPACE}}:Concept_Push_Notifications_for_iOS_and_Android|Reference14r2:Concept_Push_Notifications_for_iOS_and_Android]] for more details. &lt;br /&gt;
&lt;br /&gt;
Also, helpful hints can be found in [[Howto:Troubleshoot v13 Push with myApps for Android and iOS]].&lt;br /&gt;
&lt;br /&gt;
=== App Proxy ===&lt;br /&gt;
&lt;br /&gt;
myApps runs further &#039;&#039;Apps&#039;&#039; (such as e.g. the &#039;&#039;phoneapp&#039;&#039;) as a web page in an IFRAME of the browser myApps is running in.  The App&#039;s page code is loaded either from the PBX or from an &#039;&#039;application platform&#039;&#039; (AP).   This however would mean that the App&#039;s IFRAME would remain empty (a dead white screen) when the PBX or AP is not available. To make sure the App can start-up anyway, the myApps platform services feature the so-called &#039;&#039;App Proxy&#039;&#039;.  This is a caching proxy that caches all the App code so it is available even in case of network failure. When myApps runs in the context of the platform services, Apps are therefore not loaded from the App source directly, but from the local App proxy. &lt;br /&gt;
&lt;br /&gt;
The cached files are stored in the PCs local file system in the &amp;lt;code&amp;gt;C:\Users\...\AppData\Local\innovaphone\myApps\appproxy&amp;lt;/path&amp;gt;&amp;lt;/code&amp;gt;.  There is no configuration required.  However, if myApps seems to run with outdated or corrupt cached copies of the App, you can safely delete the entire directory.&lt;br /&gt;
&lt;br /&gt;
=== Auto update ===&lt;br /&gt;
&lt;br /&gt;
On Windows and on macOS, the myApps platform services can auto-update themselves to a common version.  This is controlled by the [[{{NAMESPACE}}:PBX/Config/myApps#Launcher_Software_Update | &#039;&#039;Launcher Software Update&#039;&#039;]] settings under &#039;&#039;PBX/Config/myApps&#039;&#039; in the PBX. &lt;br /&gt;
&lt;br /&gt;
When myApps is started or the user logs in or myApps needs to re-connect to the PBX, the platform services will use the [http://sdk.innovaphone.com/web1/com.innovaphone.client/lib1_api_client.htm com.innovaphone.client API] to learn the desired version (&#039;&#039;launcherUpdateBuild&#039;&#039;, which is part of the API&#039;s &#039;&#039;model&#039;&#039;). If this differs from the current version, the platform services will try to download the respective new version. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
    &amp;quot;mt&amp;quot;: &amp;quot;ApiUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;apis&amp;quot;: {&lt;br /&gt;
        &amp;quot;com.innovaphone.client&amp;quot;: {&lt;br /&gt;
            &amp;quot;@client&amp;quot;: {&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;innovaphone myApps&amp;quot;,&lt;br /&gt;
                &amp;quot;model&amp;quot;: {&lt;br /&gt;
                    &amp;quot;launcher&amp;quot;: true,&lt;br /&gt;
                    &amp;quot;launcherUpdateBuild&amp;quot;: &amp;quot;134906&amp;quot;,&lt;br /&gt;
                    &amp;quot;appStoreUrl&amp;quot;: &amp;quot;http://store.innovaphone.com/release/download/&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation of the downloaded version is done by the &#039;&#039;innovaphonemyAppsUpdateService&#039;&#039;. This service is installed and enabled during the initial installation of the myApps platform services.  To disable auto-update, either leave the &#039;&#039;Launcher Software Update&#039;&#039; settings empty or set the service&#039;s start mode to &#039;&#039;disabled&#039;&#039; in the Windows &#039;&#039;services control panel&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the update service does not work on terminal servers. Administrators must do myApps base services updates using standard windows mechanisms.&lt;br /&gt;
&lt;br /&gt;
Note that on macOS if myApps has been installed from the Apple Store it is assumed that auto update from the PBX is not desired and disabled therefore.&lt;br /&gt;
&lt;br /&gt;
On Android/iOS/macOS updates can be downloaded from the respective app store.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Devices&#039;&#039; app can not update software installed on Windows PCs directly. However, when the PBX is updated using an &#039;&#039;update job&#039;&#039; in the &#039;&#039;Devices&#039;&#039; App, the &#039;&#039;Launcher Software Update&#039;&#039; settings will be updated accordingly and hence the myApps base services will ultimately also be updated to the same version.&lt;br /&gt;
&lt;br /&gt;
==== Auto update flow on Windows ====&lt;br /&gt;
&lt;br /&gt;
* On start of myApps, myApps checks if an update is available and ready for installation&lt;br /&gt;
** if yes, the update is installed directly, without user interaction (a popup is shown during the installation)&lt;br /&gt;
** if not, myApps starts&lt;br /&gt;
* if an update is available while myApps is already running, an update notification will be shown which let&#039;s the user choose to install the update now or later (the notification will then popup again after one hour)&lt;br /&gt;
&lt;br /&gt;
==UI elements ==&lt;br /&gt;
There are a few user interfaces provided by the platform services:&lt;br /&gt;
===tray-icon (Windows only) ===&lt;br /&gt;
::[[Image:myapps-tray.png|myapps-tray.png/]]&lt;br /&gt;
:Allows to&lt;br /&gt;
:* terminate myApps&lt;br /&gt;
:* toggle the &#039;&#039;autostart&#039;&#039; state&lt;br /&gt;
:* toggle the &#039;&#039;show in task bar&#039;&#039; state&lt;br /&gt;
:* open the trace folder&lt;br /&gt;
:&lt;br /&gt;
=== PBX connect form===&lt;br /&gt;
:: [[Image:myapps-connect.png|myapps-connect.png/]]&lt;br /&gt;
: Allows the user to specify the connect data for the PBX (i.e. IP address or DNS name)&lt;br /&gt;
:&lt;br /&gt;
=== Advanced settings===&lt;br /&gt;
::[[Image:myapps-settings0.png|myapps-settings0.png/]]&lt;br /&gt;
::[[Image:myapps-settings.png|myapps-settings.png/]] [[Image:myapps-settings2.png|myapps-settings2.png/]] [[Image:myapps-settings3.png|myapps-settings3.png/]]&lt;br /&gt;
&lt;br /&gt;
: Allows to modify various platform dependant settings (such as e.g. the hotkey selection on Windows)&lt;br /&gt;
&lt;br /&gt;
== Interfaces ==&lt;br /&gt;
=== Provided APIs ===&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.search/lib1_api_search.htm com.innovaphone.search] : access to local phone book entries by the [[#Local phonebook access|Local phonebook access]] component.&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.launcher/com.innovaphone.launcher.htm com.innovaphone.launcher] : display of OS specific user notifications and receipt of related user actions&lt;br /&gt;
; com.innovaphone.notificationhandler : reports back click on a notification.&lt;br /&gt;
; com.innovaphone.externalapps : to start external applications, see [[#Call an external application for calls|Call an external application for calls]]  above&lt;br /&gt;
&lt;br /&gt;
=== Used APIs ===&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm com.innovaphone.phone] : used to initiate new or manipulate existing calls by the [[#Hot keys|Hot keys]] and [[#URL handler|URL handler]] components.&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.chat/com.innovaphone.chat.htm com.innovaphone.chat] : used to start a new chat by the [[#URL handler|URL handler]] component.&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.client/lib1_api_client.htm com.innovaphone.client] : the model is used to learn the update settings, see [[#Auto update|Auto update]] above&lt;br /&gt;
&lt;br /&gt;
=== Protocols ===&lt;br /&gt;
&lt;br /&gt;
; [https://sdk.innovaphone.com/doc/launcher/Media.htm Media Protocol] : used by apps to allocate RTP channels, see [[#RTP service for audio.2C video and data|RTP service for audio, video and data]] above&lt;br /&gt;
&lt;br /&gt;
== Related App Services ==&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
; Incoming call as banner on myApps for iOS : Since iOS 14 the iOS CallKit presents incoming calls as a banner leaving the original green answer button of myApps visible. Use only the blue button of the banner to accept the call or change iPhone Settings, App &amp;quot;Phone&amp;quot;, &amp;quot;Incoming Calls&amp;quot; to &amp;quot;Full Screen&amp;quot; to hide the myApps user interface again during call answering.&lt;br /&gt;
&lt;br /&gt;
; Call answer in speakerphone mode even with active Bluetooth headset on myApps for iOS : This causes unwanted speakerphone operation if the smartphone is used with a Bluetooth car audio system. The behaviour can be changed by selecting &#039;&#039;Bluetooth Headset&#039;&#039; in this setting:&lt;br /&gt;
:&#039;&#039;iOS Settings-&amp;gt;Accessibility-&amp;gt;Touch-&amp;gt;Call Audio Routing: Automatic / Bluetooth Headset / Speaker&#039;&#039;&lt;br /&gt;
:&#039;&#039;iOS Einstellungen-&amp;gt;Bedienungshilfen-&amp;gt;Tippen-&amp;gt;Anrufaudioausgabe: Automatisch / Bluetooth-Headset / Lautsprecher&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Windows Server 2016 (Windows 10 Build 1607) : windows just shows the first notification. Further notifications aren&#039;t displayed until the previous ones are removed from the notification center. Current windows builds do not show this behaviour anymore.&lt;br /&gt;
&lt;br /&gt;
; Problems on Mac computers with Yealink USB headsets&lt;br /&gt;
: we have received reports that myApps quits unexpectedly on some Mac computers when a Yealink headset is plugged in.  Unfortunately, we could not find out the cause yet.  If you use Yealink USB headsets and have a similar issue, please open a support ticket and send myApps traces.&lt;br /&gt;
&lt;br /&gt;
; Poly / Plantronics headset buttons only functional if myApps is started with Rosetta&lt;br /&gt;
: myApps macOS supports Apple M1/M2 hardware natively. However, the Poly / Plantronics headset SDK is only available for Intel platform and thus myApps needs to be started via Apple&#039;s Intel emulator Rosetta if a Poly / Plantronics headset is used. This is done with right-click on the myApps executable, &#039;&#039;Information&#039;&#039;, &#039;&#039;Open with Rosetta&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
; Windows surface devices may not work correctly&lt;br /&gt;
: Chromium does not get touch keyboard events. USB Keyboards may not be recognized either.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on Windows using the .msi file found in the &#039;&#039;myApps Windows&#039;&#039; package from [https://store.innovaphone.com/release/download.htm store.innovaphone.com].&lt;br /&gt;
&lt;br /&gt;
myApps can update itself automatically, see [[#Auto update|Auto update]] above.&lt;br /&gt;
&lt;br /&gt;
=== MSI Parameters and install options ===&lt;br /&gt;
&lt;br /&gt;
The MSI installer of myApps for Windows supports the following parameters and can be edited with [https://docs.microsoft.com/en-us/windows/win32/msi/orca-exe Microsoft Orca]. You can add your parameters in the table &#039;&#039;property&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
; SERVER (REG_SZ): the PBX&#039;s server URL&lt;br /&gt;
; OFFICEPRESENCE (REG_DWORD): &#039;&#039;&#039;false&#039;&#039;&#039; to disable presence integration in Microsoft Office&lt;br /&gt;
: this is also available as a check-mark when running the install manually&lt;br /&gt;
&lt;br /&gt;
; DISABLEHEADSETS (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; to disable headsets support, see [[#Device handling|Device handling]] above&lt;br /&gt;
&lt;br /&gt;
; EXTERNALAPPS (REG_SZ): pre-define external applications, see [[#Call an external application for calls|Call an external application for calls]] above&lt;br /&gt;
: e.g. &amp;lt;code&amp;gt;&amp;quot;{&amp;quot;&amp;quot;externalApps&amp;quot;&amp;quot;:[{&amp;quot;&amp;quot;id&amp;quot;&amp;quot;:0,&amp;quot;&amp;quot;name&amp;quot;&amp;quot;:&amp;quot;&amp;quot;Wireshark&amp;quot;&amp;quot;,&amp;quot;&amp;quot;path&amp;quot;&amp;quot;:&amp;quot;&amp;quot;C:\\Program Files\\Wireshark\\Wireshark.exe&amp;quot;&amp;quot;,&amp;quot;&amp;quot;param&amp;quot;&amp;quot;:&amp;quot;&amp;quot;test $I&amp;quot;&amp;quot;}]}&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; FORCERESTART (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; (or any string ...) kills myApps during the installation and restarts it for the currently logged in user, if it was running&lt;br /&gt;
&lt;br /&gt;
; DISABLELOCALHOST (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; to disable use of &#039;&#039;&#039;localhost&#039;&#039;&#039; string to access the local webserver. Use &#039;&#039;&#039;127.0.0.1&#039;&#039;&#039; instead&lt;br /&gt;
&lt;br /&gt;
; EXCLUDEINTERFACES (REG_SZ): some VPN interfaces are not detected by Windows as IF_TYPE_PPP or IF_TYPE_TUNNEL and therefore the &#039;&#039;&#039;media outside VPN&#039;&#039;&#039; setting is not taking effect. With this option interfaces can be pre-defined that will not be used for media. Interfaces must be comma separated&lt;br /&gt;
: e.g. &amp;lt;code&amp;gt;EXCLUDEINTERFACES=&amp;quot;172,192.168,10.10&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current settings are stored in the registry at &amp;lt;code&amp;gt;Computer\HKEY_CURRENT_USER\Software\innovaphone\myApps&amp;lt;/code&amp;gt; or at &amp;lt;code&amp;gt;Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\innovaphone\myApps&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boolean values like OfficePresence are stored in registry entries with type REG_DWORD and values 1 or 0. 0 disables the setting and 1 enables it.&lt;br /&gt;
&lt;br /&gt;
== iOS ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on iOS by loading &#039;&#039;innovaphone myApps&#039;&#039; from the &#039;&#039;App Store&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Configuration via MDM ===&lt;br /&gt;
&lt;br /&gt;
the PBX&#039;s server URL can be pre-configured by specifying this dictionary in the MDM&lt;br /&gt;
    &amp;lt;code&amp;gt;&amp;lt;plist&amp;gt;&lt;br /&gt;
        &amp;lt;dict&amp;gt;&lt;br /&gt;
            &amp;lt;key&amp;gt;server&amp;lt;/key&amp;gt;&lt;br /&gt;
            &amp;lt;string&amp;gt;pbx.example.com&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;/dict&amp;gt;&lt;br /&gt;
    &amp;lt;/plist&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== macOS ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services might be installed directly from the Apple store. An installer package &amp;lt;code&amp;gt;myapps.pkg&amp;lt;/code&amp;gt; and a disk image &amp;lt;code&amp;gt;myapps.dmg&amp;lt;/code&amp;gt; is also available from the innovaphone app store. Install &amp;lt;code&amp;gt;myapps.pkg&amp;lt;/code&amp;gt; by double-click on the file and follow the instructions of the installer. myApps becomes available in the Applications folder and can be opened by double-click. Or download and open &amp;lt;code&amp;gt;myapps.dmg&amp;lt;/code&amp;gt; and double klick myApps. If desired integrate it into the app dock by right click, &#039;&#039;Options, Keep in the dock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If installed from the innovaphone app store, myApps can update itself automatically, see [[#Auto update|Auto update]] above.&lt;br /&gt;
&lt;br /&gt;
If installed from the Apple store, macOS notifies about updates on the Apple store. myApps [[#Auto update|Auto update]] is disabled then.&lt;br /&gt;
&lt;br /&gt;
If a clean-install of the client is necessary, the folder &amp;quot;/Users/username/Library/Containers/myapps&amp;quot; needs to be deleted. To be on the safe side also delete it from the trash bin.&lt;br /&gt;
&lt;br /&gt;
=== Configuration via MDM ===&lt;br /&gt;
&lt;br /&gt;
the PBX&#039;s server URL can be pre-configured by specifying this dictionary in the MDM&lt;br /&gt;
    &amp;lt;code&amp;gt;&amp;lt;plist&amp;gt;&lt;br /&gt;
        &amp;lt;dict&amp;gt;&lt;br /&gt;
            &amp;lt;key&amp;gt;server&amp;lt;/key&amp;gt;&lt;br /&gt;
            &amp;lt;string&amp;gt;pbx.example.com&amp;lt;/string&amp;gt;&lt;br /&gt;
        &amp;lt;/dict&amp;gt;&lt;br /&gt;
    &amp;lt;/plist&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
&lt;br /&gt;
macOS supports preference settings that can be set via a shell command or via Mac remote management&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;gt; defaults write com.innovaphone.client-ios-14r1 server &amp;quot;PBX-server-URL&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following parameters and can be set through this method:&lt;br /&gt;
&lt;br /&gt;
; server: the PBX&#039;s server URL&lt;br /&gt;
&lt;br /&gt;
=== Setting myApps as Default App for SIP-URLs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|defaults write com.apple.LaunchServices/com.apple.launchservices.secure LSHandlers -array-add &#039;{&lt;br /&gt;
   LSHandlerURLScheme = sip;&lt;br /&gt;
   LSHandlerRoleAll = &amp;quot;&amp;lt;CFBundleIdentifier&amp;gt;&amp;quot;;&lt;br /&gt;
}&#039;&lt;br /&gt;
|}&lt;br /&gt;
To find the “CFBundleIdentifier”, proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* In the Finder under “Applications”, search for the desired myApps client that you want to set as the default app.&lt;br /&gt;
&lt;br /&gt;
* Right-click on “Show package contents” -&amp;gt; you will find the “CFBundleIdentifier” in the Info.plist file.&lt;br /&gt;
&lt;br /&gt;
A restart of the MAC is required.&lt;br /&gt;
&lt;br /&gt;
=== Using Sennheiser headsets ===&lt;br /&gt;
If you use Sennheiser headsets, you should also install the then-current &amp;lt;code&amp;gt;DSEA_SDK_v&amp;lt;/code&amp;gt;&#039;&#039;version&#039;&#039;&amp;lt;code&amp;gt;.pkg&amp;lt;/code&amp;gt; package, after you installed the myApps client.  Without that, audio will still work, but not the controls on the headset.  You will need to keep that up-to-date yourself, as it is not updated by myApps&#039;s auto-update function.&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on Android by loading &#039;&#039;innovaphone myApps&#039;&#039; from the &#039;&#039;Play Store&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Configuration via MDM ===&lt;br /&gt;
&lt;br /&gt;
the PBX&#039;s server URL can be pre-configured by specifying a property &amp;quot;server&amp;quot; with string value &amp;quot;pbx.example.com&amp;quot; in the MDM.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== Server configuration ==&lt;br /&gt;
When opening myApps for the first time, the user is prompted for the Server. Usually only the hostname (DNS host name or IP address) needs to be configured.&lt;br /&gt;
&lt;br /&gt;
But there are more options for special PBX configurations.&lt;br /&gt;
&lt;br /&gt;
; Non-standard HTTPS port&lt;br /&gt;
: If the PBX uses a non-standard HTTPS port, it must be appended to the host name separated by a colon (&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;).&lt;br /&gt;
: Example: &amp;lt;code&amp;gt;pbx.example.com:4444&amp;lt;/code&amp;gt; (expands to &amp;lt;code&amp;gt;https://pbx.example.com:4444/PBX0/APPCLIENT/appclient.htm&amp;lt;/code&amp;gt;)&lt;br /&gt;
; DynPBX module name&lt;br /&gt;
: If the PBX is a DynPBX, the module id must be appended to PBX0 separated - (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;).&lt;br /&gt;
: Example: &amp;lt;code&amp;gt;pbx.example.com/PBX0-1&amp;lt;/code&amp;gt; (expands to &amp;lt;code&amp;gt;https://pbx.example.com/PBX0-1/APPCLIENT/appclient.htm&amp;lt;/code&amp;gt;)&lt;br /&gt;
; Softphone physical location&lt;br /&gt;
: If user defined physical location shall be used for softphone, you can append it using a parameter &amp;lt;code&amp;gt;#phys=&amp;lt;/code&amp;gt;.&lt;br /&gt;
: Example: &amp;lt;code&amp;gt;pbx.example.com#phys=slave&amp;lt;/code&amp;gt; (expands to &amp;lt;code&amp;gt;https://pbx.example.com/PBX0/APPCLIENT/appclient.htm#phys=slave&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Example 1: PBX pbx.example.com with standard configuration&lt;br /&gt;
 pbx.example.com&lt;br /&gt;
&lt;br /&gt;
Example 2: PBX slave.example with DynPBX module ID 1, HTTPS port 4444 and physical location master&lt;br /&gt;
 slave.example.com:4444/PBX0-1#phys=master&lt;br /&gt;
&lt;br /&gt;
=== HTTP proxy support ===&lt;br /&gt;
&lt;br /&gt;
myApps platform services do support operation via HTTP proxy now. If one or more proxies have been configured in the network settings of the operating system for the active network connection, HTTP CONNECT tunnels are established.&lt;br /&gt;
&lt;br /&gt;
On Windows user name and password can be specified for the tunnel servers as generic credentials in the credentials manager (Anmeldeinformationsverwaltung). The name of the credentials must be the tunnel server hostname.&lt;br /&gt;
&lt;br /&gt;
On Android user name and password can be specified through Android &#039;&#039;Settings, Accounts&#039;&#039; by adding a myApps &#039;&#039;HTTP Proxy Credentials&#039;&#039; account. The name of the account must be the tunnel server hostname.&lt;br /&gt;
&lt;br /&gt;
== Platform specific settings ==&lt;br /&gt;
When myApps runs under the myApps platform services, it will show various platform specific settings as part of its &#039;&#039;burger menu&#039;&#039;, so the user can set them.  See &#039;&#039;Advanced settings&#039;&#039; in [[#UI elements|UI elements]] above.&lt;br /&gt;
&lt;br /&gt;
Some options can also be set globally for all myApps clients in the PBX&#039;s [[{{NAMESPACE}}:PBX/Config/myApps#Client_Settings|PBX/Config/myApps &#039;&#039;Client Settings&#039;&#039;]]&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Option&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Where to set&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot;| Availability&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| || || User menu || PBX &#039;&#039;Client Settings&#039;&#039; || Windows || iOS || Android || macOS&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Autostart || Launch myApps on login || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Appear offline after || controls after which idle time a user is considered &#039;&#039;inactive&#039;&#039;. See [[#User activity|User activity]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Hotkeys || Hotkeys for call dial, accept, reject. See [[#Hot keys|Hot keys]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Docking || Docking mode (left, right, none). See [[#???|??]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Desktop notifications|| Turn on/off platform notifications. See [[#Notifications|  Notifications]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| VPN || Disable VPN address for ICE candidate selection. See [[#RTP ports| RTP ports]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Show in taskbar|| Show myApps in the taskbar in addition to it&#039;s tray icon.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Log flags || turn on/off certain trace levels. See [[#Troubleshooting|Troubleshooting]] below.  || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| External applications || define the applications available for Apps to be started. See [[#Call an external application for calls|Call an external application for calls]] above.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Ring in headset || send ring tone for incoming to headset instead of loudspeaker.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
|}&lt;br /&gt;
== Start parameters for Windows ==&lt;br /&gt;
&lt;br /&gt;
On Windows, it is not possible to pass start parameters from the [https://www.chromium.org/developers Chromium documentation] to the myApps process.&lt;br /&gt;
&lt;br /&gt;
== OS Settings for Windows ==&lt;br /&gt;
Windows settings can influence the display of &#039;&#039;Desktop notifications&#039;&#039;. See [https://support.microsoft.com/en-us/help/4028678/windows-10-change-notification-settings Change notification settings in Windows 10/11] for details.&lt;br /&gt;
&lt;br /&gt;
=== Windows 11 ===&lt;br /&gt;
&lt;br /&gt;
* Windows 11 has a feature &amp;quot;do not disturb&amp;quot;. This hides notifications if enabled.&lt;br /&gt;
* Windows 11 has a feature &amp;quot;focus&amp;quot;. This enables &amp;quot;do not disturb&amp;quot; and thus hides notifications too.&lt;br /&gt;
* Windows 11 has priority settings for notifications. Ensure that VoIP notifications for calls are allowed any maybe also include myApps as an App which is allowed to show notifications.&lt;br /&gt;
&lt;br /&gt;
== OS settings for Android ==&lt;br /&gt;
; Events : The appearance of notifications can be controlled here.&lt;br /&gt;
&lt;br /&gt;
; Call accounts : For proper incoming call signaling, the call account &#039;&#039;myApps&#039;&#039; needs to be enabled. Note that on Samsung smartphones the call account switch likely toggles back and a few tries may need to be done until it persists. Please double-check the state.&lt;br /&gt;
&lt;br /&gt;
; Preferred Calling Account : Choose which calling account (myApps/SIM/..) should be used for outgoing calls initiated from within the native phone app / phone book.&lt;br /&gt;
&lt;br /&gt;
; Background data, unlimited data usage : Grant background data use to enable &#039;&#039;myApps&#039;&#039; to connect to the PBX immediately on an incoming call.&lt;br /&gt;
&lt;br /&gt;
; Overlaying : This setting is not needed if call account &#039;&#039;myApps&#039;&#039; has been enabled. Should there be a reason for not enabling call account &#039;&#039;myApps&#039;&#039;, the permission for overlaying needs to be granted on Android 10 or higher for proper call signaling.&lt;br /&gt;
&lt;br /&gt;
Note: If no SIM card is installed some Android smartphones exhibit a problem dialing from the smartphone contacts. The contacts app shows a choice &#039;&#039;Select SIM card for this call&#039;&#039; but all possible dialers are greyed out. In this case make myApps the default phone app in Android settings &#039;&#039;Apps, Default apps, Telephony&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== OS settings for iOS ==&lt;br /&gt;
; Notifications : The appearance of notifications can be controlled in iOS &#039;&#039;Settings, myApps&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== OS settings for macOS ==&lt;br /&gt;
&lt;br /&gt;
; Notifications : The appearance of notifications can be controlled in macOS &#039;&#039;Preferences, Notifications, myApps&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
myApps platform services can write various traces for debugging.  Trace can be turned on and off selectively in the [[#Advanced settings|Advanced settings]].&lt;br /&gt;
&lt;br /&gt;
The following trace flags can be set:&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Recommended trace options are: &#039;&#039;&#039;App, Browser, ICE, TURN, Signaling and Audio&#039;&#039;&#039;. Please do not activate other flags unless innovaphone support says otherwise&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; |  Abbreviation&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; |code&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| App||0x000000001|| logs from the App Service itself&lt;br /&gt;
|-&lt;br /&gt;
| DNS||0x000000008|| logs DNS requests and results&lt;br /&gt;
|-&lt;br /&gt;
| HTTP client||0x000000080|| http client logs&lt;br /&gt;
|-&lt;br /&gt;
| TLS||0x000000400|| TLS logs&lt;br /&gt;
|-&lt;br /&gt;
| TCP||0x000000800|| TCP logs&lt;br /&gt;
|-&lt;br /&gt;
| LDS||0x000001000|| local domain sockets&lt;br /&gt;
|-&lt;br /&gt;
| WebSocket client||0x000004000|| logs outgoing websocket connections&lt;br /&gt;
|-&lt;br /&gt;
| App WebSocket||0x000008000|| logs app websocket connections (e.g. from PBX objects to an App Service or from the UI to the App Service)&lt;br /&gt;
|-&lt;br /&gt;
| UDP||0x000200000|| UDP logs&lt;br /&gt;
|-&lt;br /&gt;
| DTLS||0x000400000|| logs DTLS handshake and messages&lt;br /&gt;
|-&lt;br /&gt;
| Media||0x000800000|| logs media events&lt;br /&gt;
|-&lt;br /&gt;
| Media channel||0x001000000|| logs RTP/SCTP media connections&lt;br /&gt;
|-&lt;br /&gt;
| ICE||0x002000000|| logs ICE messages between peers&lt;br /&gt;
|-&lt;br /&gt;
| TURN||0x004000000|| logs TURN messages between peers&lt;br /&gt;
|-&lt;br /&gt;
| AppSharing||0x008000000|| logs AppSharing connection&lt;br /&gt;
|-&lt;br /&gt;
| Audio||0x010000000|| logs Audio connection and headset events&lt;br /&gt;
|-&lt;br /&gt;
| Video||0x020000000|| logs video connection and webcam events&lt;br /&gt;
|-&lt;br /&gt;
| Browser||0x040000000|| logs Chromium events&lt;br /&gt;
|-&lt;br /&gt;
| AppProxy||0x080000000|| logs requests which are proxied between the local webserver and the remote server&lt;br /&gt;
|-&lt;br /&gt;
| Webserver ||0x200000000|| enables webserver specific logs&lt;br /&gt;
|-&lt;br /&gt;
| Browser Console ||0x400000000|| logs browser console events&lt;br /&gt;
|-&lt;br /&gt;
| Signaling||0x800000000|| enables logs in the signaling module for debugging calls&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;code&#039;&#039; can be or&#039;ed and used as value for the &#039;&#039;Log flags&#039;&#039; field in [[{{NAMESPACE}}:PBX/Config/myApps#Client_Settings|PBX/Config/myApps/Client Settings]].&lt;br /&gt;
&lt;br /&gt;
; Windows :On Windows, traces are written to the &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Local\innovaphone\myApps&amp;lt;/code&amp;gt; directory. If you start myApps with --log-size as parameter, you can define the maximum size of a log file (e.g. --log-size=100000000 would be 100MB for each file)&lt;br /&gt;
&lt;br /&gt;
:* myApps-&#039;&#039;date-time&#039;&#039;.txt : main log file for the platform services&lt;br /&gt;
&lt;br /&gt;
:* myAppsOutlookSearch-&#039;&#039;date-time&#039;&#039;.txt : log file for the Outlook phone book access&lt;br /&gt;
&lt;br /&gt;
:* myAppsHookController-&#039;&#039;date-time&#039;&#039;.txt : log file for the hot-key interceptor (see [[#Hot keys|Hot keys]])&lt;br /&gt;
&lt;br /&gt;
; :myApps update installation traces are written to the &amp;lt;code&amp;gt;%windir%\temp\&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
:* myAppsInstall.txt: MSI installation file&lt;br /&gt;
&lt;br /&gt;
; :myApps update service traces are written to the &amp;lt;code&amp;gt;%ALLUSERSPROFILE%\innovaphone\myAppsUpdateService&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
:* myAppsUpdateService-&#039;&#039;date-time&#039;&#039;.txt: myApps update service traces&lt;br /&gt;
&lt;br /&gt;
;Android : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
: also, an Android device might also be connected to a PC via an USB cable to get the traces. The files can be found in &amp;lt;code&amp;gt;Android/data/com.innovaphone.clientandroid/files&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; iOS : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
; macOS : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
: also, the files can be found in &amp;lt;code&amp;gt;~/Library/Containers/com.innovaphone.client-ios/Data/Documents/&amp;lt;/code&amp;gt;. Press &#039;&#039;Alt+N&#039;&#039; followed by space to get tilde &#039;&#039;~&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Known Problems =&lt;br /&gt;
[[:Category:Problem myApps platform services|Known Problems]]&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps_Redundancy|Reference14r2:Concept_myApps_Redundancy]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps_Office_Integration|Reference14r2:Concept_myApps_Office_Integration]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myAPPs_Search_in_local-Outlook_Contacts|Reference14r2:Concept_myAPPs_Search_in_local-Outlook_Contacts]]&lt;br /&gt;
* [[{{NAMESPACE}}:Call_Detail_Record_CDR_PBX|Reference14r2:Call_Detail_Record_CDR_PBX]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept Push Notifications for myPBX iOS and Android|Reference14r2:Concept Push Notifications for myPBX iOS and Android]]&lt;br /&gt;
* [[Howto:Troubleshoot v13 Push with myApps for Android and iOS]]&lt;br /&gt;
* [[{{NAMESPACE}}:PBX/Config/myApps]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept myApps platform services]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Unite/SMS&amp;diff=76561</id>
		<title>Reference13r3:Unite/SMS</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Unite/SMS&amp;diff=76561"/>
		<updated>2025-05-06T07:35:13Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Configure Messaging/SMS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: This SMS tab is only accessible if the Master mode is activated&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multicast&#039;&#039;&#039;: enable to send messages to multicast groups&lt;br /&gt;
**Multicast groups are created in the Unite CM or in the Unite CS&lt;br /&gt;
**In a Multiple Master System all users to be reached by a Multicast message must exist in the PARI Master&lt;br /&gt;
**To support Multicast only Worf (KRCNB 30x , BS3x0) and DB1 RFPs shall be used.&lt;br /&gt;
* &#039;&#039;&#039;Encryption&#039;&#039;&#039;: enable encrypted communication between the Master and the Unite module&lt;br /&gt;
**When selecting or clearing the Encryption check box, it may take up to a couple of minutes until the Unite module is fully operational.&lt;br /&gt;
**The Unite module support for encryption is depending on the Unite module software version.&lt;br /&gt;
* &#039;&#039;&#039;IP Address&#039;&#039;&#039;: IP address of the Unite module to be used in the IP-DECT system&lt;br /&gt;
&lt;br /&gt;
Note: If the phonebook functionality in the device is enabled, then the SMS feature in the Unite is disabled. If an Unite server is connected, the central phonebook should be located in the Unite instead.&lt;br /&gt;
&lt;br /&gt;
{{Template:Disclaimer - Ascom UNITE Integration}}&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:IP1202/IP1203_DECT_System&amp;diff=76534</id>
		<title>Reference15r1:IP1202/IP1203 DECT System</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:IP1202/IP1203_DECT_System&amp;diff=76534"/>
		<updated>2025-05-05T14:46:04Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Mixed Ascom/innovaphone Environments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes the IP1202/IP1203 DECT system and provides further helpful information.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*IP1202, IP1202/4, IP1202/4s, IP1202e&lt;br /&gt;
*IP1203, IP1203/4, IP1203e&lt;br /&gt;
*IP64&lt;br /&gt;
*IP65&lt;br /&gt;
*Ascom d83&lt;br /&gt;
*Firmware Version 15&lt;br /&gt;
&lt;br /&gt;
==Product Availability==&lt;br /&gt;
===IP-DECT base stations===&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP1203|IP1202/4s]]&#039;&#039;&#039;: Singlecell DECT basestation, offering up to 4 concurrent DECT-channels. Minimum required firmware 13r1sr8.&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP1203|IP1203]]&#039;&#039;&#039;: Multicell capable DECT basestation, offering up to 8 concurrent DECT-channels. Successor of IP1202.&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP1203|IP1203/4]]&#039;&#039;&#039;: Multicell capable DECT basestation, offering up to 4 concurrent DECT-channels. Successor if IP1202/4.&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP1203|IP1203e]]&#039;&#039;&#039;: Multicell capable DECT basestation, offering up to 8 concurrent DECT-channels, two external antenna connectors and two included dipole omni directional antennas. Successor of IP1202e.&lt;br /&gt;
===IP-DECT handsets===&lt;br /&gt;
Current innovaphone portfolio includes the following DECT devices (as of August 2022):&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP64|IP64]]&#039;&#039;&#039;: Entry level handset. Successor of IP61.&lt;br /&gt;
* &#039;&#039;&#039;[[Datasheet IP65|IP65]]&#039;&#039;&#039;: Advanced level handset with messaging abilities. Successor of IP63.&lt;br /&gt;
* Ascom &#039;&#039;&#039;[[Datasheet d83|d83 Talker]]&#039;&#039;&#039;: DECT phone for rough environments. Successor of d81.&lt;br /&gt;
* Ascom &#039;&#039;&#039;[[Datasheet d83|d83 Messenger]]&#039;&#039;&#039;: DECT phone for rough environments with messaging functionality &lt;br /&gt;
* Ascom &#039;&#039;&#039;[[Datasheet d83|d83 Protector]]&#039;&#039;&#039;: DECT phone for rough environments with alarming and messaging functionality&lt;br /&gt;
&lt;br /&gt;
===IP-DECT Antennas===&lt;br /&gt;
{{IP-DECT External Antennas}}&lt;br /&gt;
For details about external antennas and their usage, refer to [[Reference:IP1202e DECT base station with external antennas|this article]].&lt;br /&gt;
===Base station housings===&lt;br /&gt;
{{IP-DECT Outdoor Housings}}&lt;br /&gt;
===Accessories===&lt;br /&gt;
* simple charger (50-00060-001) for both IP64 and IP65 (DC3-UAAA)&lt;br /&gt;
* simple charger (50-00083-019) for d83 (DC3-AAAD)&lt;br /&gt;
* programming device (50-00060-021) for both IP64 and IP65 for administration purposes via WinPDM (DP1-UAAA - same as for Wifi-device IP73, no Firmware Update for the device itself is required)&lt;br /&gt;
* programming device (50-00083-020) for Ascom d83 for administration purposes via WinPDM (DP1-AAAD)&lt;br /&gt;
Remarks: &lt;br /&gt;
* Chargers and programming devices are not part of the handset delivery and &#039;&#039;&#039;have to be ordered separately&#039;&#039;&#039;.&lt;br /&gt;
* Any previously available DECT devices are end-of-life and no more supported.&lt;br /&gt;
==Firmware==&lt;br /&gt;
Firmware for DECT-basestations (IP1202, IP1202e, IP1202/4, IP1202/4s, IP1203, IP1203e, IP1203/4), handsets (IP61, IP63, IP64, IP65) and WinPDM can be downloaded via the [https://store.innovaphone.com/release/134513/download.htm innovaphone AppStore].&lt;br /&gt;
&lt;br /&gt;
IP1203x is supported by major firmware version 13 and higher. It can be operated together with IP1202 devices with the same V13 firmware version.&lt;br /&gt;
&lt;br /&gt;
Starting with 15r1, the VARs flash space for IP1203 base stations [[ReleaseNotes15r1:Firmware#189353_-_ip1203:_increase_VARs_flash_space|was increased]]. If you want to &#039;&#039;&#039;downgrade&#039;&#039;&#039; an IP1203 base station to prior 15r1 firmware, you have to download the current config, downgrade the IP1203 and upload the config afterward again.&lt;br /&gt;
&lt;br /&gt;
==OTA (Over the Air) Features==&lt;br /&gt;
===Important===&lt;br /&gt;
If you have your IP120x radios already included in an Ascom Unite system, you can&#039;t use these features, since the unite module inside the IP120x configuration is used for the innovaphone OTA features also.&amp;lt;br&amp;gt;&lt;br /&gt;
So either you use a Unite system (which includes paramter configuration and firmware updates) or our OTA features.&lt;br /&gt;
&lt;br /&gt;
A running call won&#039;t be affected by the firmware update and the handset will only restart, if the call is ended. But keep in mind, that the update progress will take much longer, since the resources of the IP120x are primary used for running calls.&lt;br /&gt;
&lt;br /&gt;
===Devices App (recommended)===&lt;br /&gt;
* You can configure an update job to roll out handset updates: [[{{NAMESPACE}}:Concept_App_Service_Devices#DECT_handsets]].&lt;br /&gt;
* You can configure a DECT handset configuration to roll out handset configuration options: [[{{NAMESPACE}}:Concept_App_Service_Devices#DECT_handsets_2]].&lt;br /&gt;
* See [[{{NAMESPACE}}:Concept_App_Service_Devices#Supported_DECT_handsets | Supported DECT handsets]].&lt;br /&gt;
&lt;br /&gt;
===Firmware update (manual configuration)===&lt;br /&gt;
Firmware of IP64, IP65 and Ascom d81 and d83 handsets can be updated via parameter definition on the dect master.&lt;br /&gt;
&lt;br /&gt;
Upon registering of the handsets, they give the dect master their current firmware version information. If this version differs from the configured firmware version parameter, the base station on which the handset is registered on, starts a download of the firmware.&amp;lt;br&amp;gt;&lt;br /&gt;
After the download is completed, the handsets restarts automatically with the new firmware.&lt;br /&gt;
&lt;br /&gt;
The following config lines need to be added to the IP120x configuration, to update all registered IP64 and IP65 handsets, for example to firmware 3.0.16:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
!config change DEVMANBW /hs-param-url&amp;lt;br&amp;gt;&lt;br /&gt;
!config change DEVMANPP /firm-dh7 3.0.16 /firm-dh7-url http://&amp;lt;PATH to Webserver&amp;gt;/IP65/DH7-M_v3.0.16.bin /firm-dh6 3.0.16 /firm-dh6-url http://&amp;lt;PATH to Webserver&amp;gt;/IP64/DH6_v3.0.16.bin&amp;lt;br&amp;gt;&lt;br /&gt;
!config write&amp;lt;br&amp;gt;&lt;br /&gt;
!config activate&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Explanation of the parameters====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;/hs-param-url&#039;&#039;&#039;&#039;&#039; enables the over-the-air feature in the &#039;&#039;&#039;DEVMANBW&#039;&#039;&#039; module. The firmware parameters need to be configured in the &#039;&#039;&#039;DEVMANPP&#039;&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;/firm-dh7&#039;&#039;&#039;&#039;&#039; sets the firmware value for IP65 handsets to the wanted firmware version. If the handset already have that firmware, no update is executed.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;/firm-dh7-url&#039;&#039;&#039;&#039;&#039; URL where the firmware binary for IP65 handsets can be downloaded.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;/firm-dh6&#039;&#039;&#039;&#039;&#039; sets the firmware value for IP64 handsets to the wanted firmware version. If the handset already have that firmware, no update is executed.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;/firm-dh6-url&#039;&#039;&#039;&#039;&#039; URL where the firmware binary for IP64 handsets can be downloaded.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====More information====&lt;br /&gt;
* Only the .bin files can be used as download. If you&#039;ve downloaded the firmware via our store, it is in .pkg format and includes more data. You need to unpack the .pkg (for example via 7zip or WinRAR) to get the .bin file.&lt;br /&gt;
* For each handset, a separate download of the firmware will be executed. So if you have three IP65 handsets registered on the same IP120x, three downloads will be started.&lt;br /&gt;
** The DEVMANPP module in the master will limit it to max 10 downloads in parallel. There are also some limitations in the handset that will make sure that there are not more than 5 downloads per radio.&lt;br /&gt;
* If a handset is shut down or deregistered while the download is running, the download is cancelled and will be started again, the next time the handset is registered.&lt;br /&gt;
&lt;br /&gt;
===Configuration of Handset parameters ===&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This Feature is available with firmware version &#039;&#039;&#039;4.3.2&#039;&#039;&#039; onwards for IP64 and IP65 Handsets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IP64 and IP65 handsets can receive different configurations via a parameter .xml-file from the base station.&lt;br /&gt;
&lt;br /&gt;
The following config lines need to be added to the IP120x configuration:&lt;br /&gt;
&lt;br /&gt;
 !config change DEVMANBW /hs-param-url http://&amp;lt;PATH to Webserver&amp;gt;/&amp;lt;parameter-file&amp;gt;.xml&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
The base station will retrieve the parameter file on restart of the base itself or on the configured timeout value (default is 60 minutes).&amp;lt;br&amp;gt;&lt;br /&gt;
You can adjust the default timeout to a lower value, e.g. 1 minute, by adding the following config:&lt;br /&gt;
&lt;br /&gt;
 !config add DEVMANBW /cfg-poll-interval 1&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
For the handsets to get the parameters, they need to be restarted. After connecting to the base station, the handsets will retrieve the parameters.&lt;br /&gt;
&lt;br /&gt;
An example .xml-file can be downloaded [[Media:Parameter.zip|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
This file will set the following parameters on the handset:&lt;br /&gt;
* Language = German&lt;br /&gt;
* Date format = DD/MM/YYYY&lt;br /&gt;
* Voicemail number = 99&lt;br /&gt;
&lt;br /&gt;
A list with all available parameters can be found [[Media:Parameter id.pdf|here]].&lt;br /&gt;
&lt;br /&gt;
====Explanation of the parameter list====&lt;br /&gt;
&lt;br /&gt;
Parameter id range 4-7 is for configuring the call menu options, which comes in pairs. So even numbers define the menu text and odd numbers the action (4 and 5, 6 and 7 etc.). Typically used for defining feature access codes.&lt;br /&gt;
&lt;br /&gt;
==== Troubleshooting OTA ====&lt;br /&gt;
If the handset is not updated, please send us (support@innovaphone.com) a trace with following options:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All IPv4 TCP/UDP Traffic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;All IPv4 TLS Traffic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Also enable further trace options, via commands on the base station:&lt;br /&gt;
 !config add CUNITE /trace /module-trace verbose&lt;br /&gt;
 !config add CUNITE FILEGET /trace /module-trace verbose&lt;br /&gt;
 !config add DEVMANPP /trace /module-trace verbose&lt;br /&gt;
 !config add DEVMANBW /trace /module-trace verbose&lt;br /&gt;
 !config add MATP /trace /module-trace verbose&lt;br /&gt;
 !config write&lt;br /&gt;
 !reset&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
innovaphone DECT devices are only operational with innovaphone PBX licenses. Operation without innovaphone PBX is not possible.&lt;br /&gt;
&lt;br /&gt;
==Compatibility Statements==&lt;br /&gt;
IP1202 and IP1203 base stations are compatible to each other and can be used in mixed systems in V12 and V13 innovaphone PBX environments (with most recent FW version). When adding an IP1203 to an IP1202 installation, an update of the DECT devices to a V13 firmware is required (PBX can remain on V12 firmware).&lt;br /&gt;
&lt;br /&gt;
===No Base Station and No Handset Compatibility===&lt;br /&gt;
The IP1202/IP1203-based IP-DECT solution is &#039;&#039;&#039;not compatible&#039;&#039;&#039; to IP1200 based IP-DECT solution.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;old&#039;&#039; DECT handset IP50, IP52, IP54, IP55, IP56 will &#039;&#039;&#039;not operate&#039;&#039;&#039; on &#039;&#039;new&#039;&#039; IP1202/IP1203-based IP-DECT system, since not only GAP compliance is required, but also CAP compliance (DECT external handover CAP-N.1).&lt;br /&gt;
&lt;br /&gt;
The DECT handset &#039;&#039;&#039;must support GAP and CAP&#039;&#039;&#039; for operation on IP1202/IP1203 based DECT system.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;new&#039;&#039; DECT handsets IP61, IP63, IP64 and IP65 will &#039;&#039;&#039;not operate&#039;&#039;&#039; on &#039;&#039;old&#039;&#039; IP1200 based IP-DECT system.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;new&#039;&#039; DECT base stations IP1202/IP1203 and IP1202e/IP1203e &#039;&#039;&#039;can not be used&#039;&#039;&#039; to extend an existing &#039;&#039;old&#039;&#039; IP1200 based IP-DECT system.&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; This means &#039;&#039;&#039;NO HANDOVER&#039;&#039;&#039; between different systems (move with active call on a specific handset from an IP1200-system to an IP1202/IP1203-based-system or vice versa)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; This means &#039;&#039;&#039;NO ROAMING&#039;&#039;&#039; between different systems (usage of a specific handset in a non-compatible IP-DECT system - see above)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
===Parallel usage of IP1200 and IP1202/IP1203 IP-DECT systems===&lt;br /&gt;
&lt;br /&gt;
The operation is only possible as two independent systems. No handover or roaming between the systems is possible. An IP1202/IP1203-based system can and should synchronize the TDM clock with IP1200 based system to avoid interference.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Mixed Ascom/innovaphone Environments ===&lt;br /&gt;
It is generally not supported to mix Ascom (or any of their OEM-products) and innovaphone DECT products in a single installation, e.g.&lt;br /&gt;
&lt;br /&gt;
* Combination of IP120x and Ascom IPBSx base stations is neither allowed nor supported&lt;br /&gt;
* Usage of IP61/IP63/IP64/IP65 with Ascom IPBSx based networks is not supported&lt;br /&gt;
* Usage of non-innovaphone handsets in IP120x based networks is not supported&lt;br /&gt;
* Usage of innovaphone firmware at Ascom devices (bases and/or handsets) is neither allowed nor supported&lt;br /&gt;
Exception: Operation of Ascom d8x in an IP1202/IP1203 environment is supported.&amp;lt;br&amp;gt;&lt;br /&gt;
Exception: Usage of IP61/IP63/IP64/IP65 with Ascom UNITE Alarm/Messaging Server is supported. Pay attention to special [[Reference13r3:Unite/|terms and conditions]] for usage.&lt;br /&gt;
&lt;br /&gt;
===No Multicell License Required===&lt;br /&gt;
&lt;br /&gt;
The Multicell License is obsolete for IP1202-based IP-DECT systems.&lt;br /&gt;
&lt;br /&gt;
For IP1202/IP1203-based IP-DECT systems a SARI (Secondary Access Right Identity for DECT) certificate is required. The SARI activates an IP-DECT Master based on IP1202/IP1203. One single SARI certificate is required for a single IP-DECT system, regardless how many base stations are used. Also for IP-DECT systems with one single base station and single-cell base stations a SARI certificate is required. The SARI certificate is not an innovaphone license and only required to make sure the DECT Radio Fixed Part Identity used in the DECT system is worldwide unique one.&lt;br /&gt;
&lt;br /&gt;
A Multicell License can not be converted to a SARI certificate (and there is also no need to do so).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Multicell capability does not apply to IP1202/4s. IP1202/4s is a single cell basestation without expansion capability for another base station. It does not offer handover and roaming capabilities.&lt;br /&gt;
&lt;br /&gt;
===Certifications and Test Reports===&lt;br /&gt;
The innovaphone PBX was tested and certified by Ascom Wireless Solutions with Ascom IPBS based IP-DECT System, on which IP1202 is based (but is not the same product). A [[Index.php?title=Media:Innovaphone PBX and Ascom IP-DECT certified by Ascom.pdf&amp;amp;action=edit&amp;amp;redlink=1|Certificate]] and a [[Index.php?title=Media:Innovaphone and ascom DECT Report.pdf&amp;amp;action=edit&amp;amp;redlink=1|Test Report]] of this certification are available for download.&lt;br /&gt;
&lt;br /&gt;
===Wired Headset Support for IP64/IP65===&lt;br /&gt;
&lt;br /&gt;
The IP64 and IP65 DECT handsets offer a 4-pole 3.5mm phone jack for headset connection.&lt;br /&gt;
&lt;br /&gt;
Following headsets are tested by the manufacturer:&lt;br /&gt;
* in-ear headset, incl. cable with phone jack - order no. 50-00060-29&lt;br /&gt;
* headset with mic on boom, quick disconnect - order no. 50-00060-30 (needs additional adapter for QD to 3.5mm phone jack - order no. 50-00060-032)&lt;br /&gt;
&lt;br /&gt;
There&#039;s no technical support in case of issues for use of other headsets.&lt;br /&gt;
&lt;br /&gt;
====3rd party products====&lt;br /&gt;
Partner reports successful testing of following products:&lt;br /&gt;
* Sennheiser 506090 CMB 01 CRTL - 4-pole 3.5mm adapter to connect Sennheiser headsets at IP64&lt;br /&gt;
* Apple iPhone Headset with 4-pole 3.5mm jack, Tested answer and disconnect by pressing button in headset cord.&lt;br /&gt;
&lt;br /&gt;
Note though, that innovaphone gives no technical support in case of malfunction.&lt;br /&gt;
&lt;br /&gt;
===Bluetooth Headset Support for IP63 / IP65===&lt;br /&gt;
IP63 and IP65 DECT handsets support handsfree and headset profiles for Bluetooth.&lt;br /&gt;
&lt;br /&gt;
Following headsets are tested by the manufacturer - for some models restrictions have been reported to us (as of 11/20/18):&lt;br /&gt;
* Jabra EVOLVE 65 MS Stereo&lt;br /&gt;
* Jabra EVOLVE 75&lt;br /&gt;
* Jabra MOTION UC+ MS&lt;br /&gt;
* Jabra STEALTH&lt;br /&gt;
* Jabra SUPREME UC MS (audio not working correct on outgoing calls with various CTI clients)&lt;br /&gt;
* Peltor WS Headset XP (MT H7 WS5)&lt;br /&gt;
* Plantronics B825-M Voyager Focus&lt;br /&gt;
* Plantronics BackBeat GO 2&lt;br /&gt;
* Plantronics Blackwire 710&lt;br /&gt;
* Plantronics Explorer 500 Bluetooth Headset Black&lt;br /&gt;
* Plantronics ML20 (not for IP65)&lt;br /&gt;
* Plantronics M70&lt;br /&gt;
* Plantronics M90&lt;br /&gt;
* Plantronics Voyager 5200 BT Headset EU&lt;br /&gt;
* Plantronics Voyager Edge&lt;br /&gt;
* Plantronics Voyager Legend UC (audio not working correct on outgoing calls with various CTI clients)&lt;br /&gt;
&lt;br /&gt;
== DECT In-Call Features ==&lt;br /&gt;
IP1202 and IP61/63/64/65 handsets offer In-Call features by R-Key handling accoring to [[Howto:How to use the R-key handling|this description]].&lt;br /&gt;
&lt;br /&gt;
== 3PTY (3 party conference) ==&lt;br /&gt;
Starting with version 9 firmware, the IP1202 DECT system supports 3PTY (3 party conference) on DECT phones. However, be aware that this &#039;&#039;requires innovaphone CONF/SCNF interfaces&#039;&#039; as part of the system. Such CONF/SCNF interfaces may or may not be present on a gateway device running the PBX, depending on the model used. See [[Technical Data|respective gateway datasheets]] for &#039;&#039;voice/audio conference channels&#039;&#039; provided by the device. Note that the CONF/SCNF interface used does not need to be present in the PBX device, it can be provided by just any gateway platform available in the system. There are no conference channels available in the IP1202/IP1203 though.&lt;br /&gt;
&lt;br /&gt;
For details about configuration please refer to [[Courseware:IT_Plus_-_Conferencing_and_DECT#3-way DECT conference|the relevant training document]].&lt;br /&gt;
&lt;br /&gt;
== Usage in non-EU countries ==&lt;br /&gt;
innovaphone DECT prodcuts of type IP1202x, IP1203x, IP64 and IP65 can technically be operated in most countries of the world, as the hardware supports all relevant DECT frequencies (software configurable).&lt;br /&gt;
&lt;br /&gt;
However, the devices are approved in EU/EFTA states only!  Use in other countries will probably be illegal thus.&lt;br /&gt;
&lt;br /&gt;
== Test-SARI ==&lt;br /&gt;
&lt;br /&gt;
DECT Systems are using a worldwide unique system identification (SARI) to be separated from each other.&lt;br /&gt;
&lt;br /&gt;
For test and training purposes, innovaphone offers the following SARI:&lt;br /&gt;
&lt;br /&gt;
 31100422072149&lt;br /&gt;
&lt;br /&gt;
This SARI is intended for use in test/training systems only!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&#039;&#039;&#039;Usage within productive systems is prohibited and not recommended.&#039;&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the SARI is changed, all handsets have to be subscribed again.&lt;br /&gt;
&lt;br /&gt;
DECT systems which are near to each other and are using the same test-SARI, may disturb each other.&lt;br /&gt;
&lt;br /&gt;
==DECT Service Codes==&lt;br /&gt;
===IP64===&lt;br /&gt;
 *#34# - Displays the Device Info&lt;br /&gt;
 *#06# - Displays the IPEI/IPDI &lt;br /&gt;
===IP65===&lt;br /&gt;
 *#34# - Displays the Device Info&lt;br /&gt;
 *#06# - Displays the IPEI/IPDI &lt;br /&gt;
 *#77# - Site Survey Tool&lt;br /&gt;
&lt;br /&gt;
==Admin Menu==&lt;br /&gt;
The handset has a hidden menu for system administrators. The Admin menu contains:&lt;br /&gt;
*Software and hardware information, IPEI/IPDI, and User ID&lt;br /&gt;
*DECT link and system information&lt;br /&gt;
*Site survey tool&lt;br /&gt;
*Fault logging&lt;br /&gt;
*Enhanced system menu with ability to alter protection&lt;br /&gt;
*Factory reset option&lt;br /&gt;
&lt;br /&gt;
To activate the Admin Menu, enter the Call time screen via &amp;quot;Menu-&amp;gt;Call list-&amp;gt;Call time&amp;quot; and press &amp;lt;code&amp;gt;&amp;amp;gt; * &amp;amp;lt; &amp;amp;lt; * &amp;amp;lt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;gt; or &amp;amp;lt;&amp;lt;/code&amp;gt; means pressing the rocker key in the indicated direction ;-)&lt;br /&gt;
&lt;br /&gt;
==Status indication LED==&lt;br /&gt;
The IP1202/IP1203 has one RGB LED to indicate its current status.&lt;br /&gt;
&lt;br /&gt;
Each blink pattern is represented by a number of blocks where each block is 100 ms. Light grey blocks means that the LED is off. Whenever the indication is changed the new pattern always starts from the first block.&lt;br /&gt;
&lt;br /&gt;
Following status are indicated:&lt;br /&gt;
&lt;br /&gt;
* Idle/OK  &amp;quot;Solid blue&amp;quot;&lt;br /&gt;
[[image:solidblue.png|solidblue.png/|solidblue.png/]]&lt;br /&gt;
&lt;br /&gt;
IP1202 operational and no traffic on the IP1202/IP1203. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Starting up/ searching   &amp;quot;100 ms blue, 100 ms off&amp;quot;&lt;br /&gt;
[[Image:100blue100off.png|100blue100off.png/|100blue100off.png/]]&lt;br /&gt;
&lt;br /&gt;
The IP1202 is in start-up phase, e.g. waiting for parameters from PARI Master, or is searching for air synchronization.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Active traffic &amp;quot;400 ms off, 2000 ms blue&amp;quot;&lt;br /&gt;
[[Image:400ms_off_200ms_blue.png|400ms_off_200ms_blue.png/|400ms_off_200ms_blue.png/]]&lt;br /&gt;
&lt;br /&gt;
IP1202/IP1203 operational and traffic on the IP1202/IP1203.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Fully occupied &amp;quot;400 ms red, 2000 ms blue&amp;quot;&lt;br /&gt;
[[Image:400ms_red_2000ms_blue.png|400ms_red_2000ms_blue.png/|400ms_red_2000ms_blue.png/]]&lt;br /&gt;
&lt;br /&gt;
Fully occupied with speech traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Software download &amp;quot;400 ms blue, 600 ms off&amp;quot;&lt;br /&gt;
[[Image:400ms_blue_600ms_off.png|400ms_blue_600ms_off.png/|400ms_blue_600ms_off.png/]]&lt;br /&gt;
&lt;br /&gt;
Firmware download in progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Mini firmware &amp;quot;100 ms yellow, 100 ms off&amp;quot;&lt;br /&gt;
[[Image:100ms_yellow_100ms_off.png|100ms_yellow_100ms_off.png/|100ms_yellow_100ms_off.png/]]&lt;br /&gt;
&lt;br /&gt;
The IP1202 is in mini firmware mode.&lt;br /&gt;
&lt;br /&gt;
* TFTP mode &amp;quot;Solid yellow&amp;quot;&lt;br /&gt;
[[Image:solid_yellow.png|solid_yellow.png/|solid_yellow.png/]]&lt;br /&gt;
&lt;br /&gt;
TFTP mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Error &amp;quot;100 ms red, 100 ms off&amp;quot;&lt;br /&gt;
[[Image:100ms_red_100ms_off.png|100ms_red_100ms_off.png/|100ms_red_100ms_off.png/]]&lt;br /&gt;
&lt;br /&gt;
No Ethernet connection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Fatal error &amp;quot;Solid red&amp;quot; &lt;br /&gt;
[[Image:solid_red.png|solid_red.png/|solid_red.png/]]&lt;br /&gt;
&lt;br /&gt;
Fatal hardware error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Deployment: Good sync  &amp;quot;2000 ms blue, 400 ms yellow&amp;quot; &lt;br /&gt;
[[Image:2000ms_blue_400ms_yellow.png|2000ms_blue_400ms_yellow.png/|2000ms_blue_400ms_yellow.png/]]&lt;br /&gt;
&lt;br /&gt;
The IP1202/IP1203 is in deployment mode and has good air sync coverage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Deployment: Bad sync &amp;quot;400 ms blue, 600 ms off, 400 ms blue, 600 ms off, 400 ms yellow&amp;quot;&lt;br /&gt;
[[Image:bad_sync.png|bad_sync.png/|bad_sync.png/]]&lt;br /&gt;
&lt;br /&gt;
The IP1202/IP1203 is in deployment mode and does not have adequate air sync coverage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Deployment: No sync &amp;quot;2000 ms red, 400 ms yellow&amp;quot;&lt;br /&gt;
[[Image:2000ms_red_400ms_yellow.png|2000ms_red_400ms_yellow.png/|2000ms_red_400ms_yellow.png/]]&lt;br /&gt;
&lt;br /&gt;
The IP1202/IP1203 is in deployment mode and has no air sync coverage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
=== H.323/TLS Registrations ===&lt;br /&gt;
If you want to use H.323/TLS as Registration Protocol for the Dect-Handsets on an IP1202/IP1203, there are a few things to consider. Using the [[Reference13r1:PBX/Objects#Device Config Flags|&#039;&#039;TLS only&#039;&#039;]] Flag in the corresponding User Object will not work, because the CN (Common Name) of the IP1202/IP1203-Certificate doesn&#039;t match, with the Username and therefore the Registration at the PBX will fail.&lt;br /&gt;
&lt;br /&gt;
If you still want to use a H.323/TLS Connection between IP1202 and PBX, you have to use other Mechanics to authenticate the DECT-Handsets. This can be done either by using the User Objects Password (not recommended) or activate the Flag [[Reference13r1:PBX/Objects#Device Config Flags|&#039;&#039;PBX Pwd&#039;&#039;]] at the corresponding User Object (recommended). You have to enable [[Reference11r1:DECT2/Config/Master|Registration with system password]] at the IP1202/IP1203&lt;br /&gt;
&lt;br /&gt;
With this Setup, you have H.323/TLS based communication between the IP1202/IP1203 and your PBX and the user himself is authenticated via the [[Reference9:PBX/Config/Security#PBX password|PBX Password]].&lt;br /&gt;
&lt;br /&gt;
=== incoming calls limited to number of radio/DSP channels ===&lt;br /&gt;
Each incoming call towards a radio base station (IP1202/IP1203 or IP1202/4,IP1203/4) allocates a DSP channel during the alert state.&lt;br /&gt;
&lt;br /&gt;
If more DECT-handsets are subscribed to this base than DSP/radio channels are available, call setup will fail for surplus devices, and result in no audio (just noise).&lt;br /&gt;
&lt;br /&gt;
Example: Call Broadcast to 5 DECT users subscribed in a IP1202/4,IP1203/4. One out of these 5 users will alert but without any DSP allocation (random). Answering such a call results in no audio for this user.&lt;br /&gt;
&lt;br /&gt;
=== Blind Transfer ===&lt;br /&gt;
Internal ring tone after external call is blind-transferred to C, which does not save external&lt;br /&gt;
number in call list (per IPBS design)&lt;br /&gt;
&lt;br /&gt;
=== No number resolution from local contacts ===&lt;br /&gt;
In case numbers of local contacts are not resolved in incoming call screen but in call list only, adjust display management settings via WinPDM:&lt;br /&gt;
&lt;br /&gt;
[[image:dect_call_list.png|dect_call_list.png/|dect_call_list.png/]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware Compatibility ===&lt;br /&gt;
Newer IP1202 hardware (such with product code &#039;&#039;IPBS2-M3A &#039;&#039;, &#039;&#039;IPBS2-M4A &#039;&#039; or &#039;&#039;IPBS2-M5A&#039;&#039; on the back, introduced 2Q2015) need at least firmware V11r1 SR3 or V10 SR22. Older versions are not supported!&lt;br /&gt;
&lt;br /&gt;
=== Choppy voice on handsets in noisy environments ===&lt;br /&gt;
If DECT handsets are used in noisy environments (e.g. industry), gaps in the voice can appear, the syllables appear to be dropped from time to time.&lt;br /&gt;
&lt;br /&gt;
This is caused by the echo canceller on the radio (IP1202) serving the connection for the DECT handset.&lt;br /&gt;
&lt;br /&gt;
A config switch for noise optimised echo canceller mode can be used in this case: &lt;br /&gt;
&lt;br /&gt;
 config add MSP0 /ec-type 1&lt;br /&gt;
&lt;br /&gt;
This config switch should be distributed to the base stations serving the radio connections for the DECT handsets in noisy environments only.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;ec-type&#039;&#039; parameter can be configured with values &#039;&#039;0-2&#039;&#039;, 2 being currently (12r2SR14) the default value. &lt;br /&gt;
&lt;br /&gt;
According a report from a customer, setting the ec-type value to 0 (i.e. disable the echo canceller) at the base-stations in the noisy environment (and only there) helped. So if setting &amp;lt;code&amp;gt;ec-type 1&amp;lt;/code&amp;gt; doesn&#039;t help, you can try &amp;lt;code&amp;gt;ec-type 0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Phone book search of users with * or # is not possible===&lt;br /&gt;
The phone book search is realized via SMS messages.  This protocol defines and works with digits only. Therefore, this function cannot be used by users who contain a * or # in their number. In other words, users who perform the phonebook search cannot use * or # in their number.&lt;br /&gt;
&lt;br /&gt;
===Remarks===&lt;br /&gt;
For a successful registration to the PBX, it is mandatory that an entry with the user&#039;s &#039;&#039;Name&#039;&#039; as &#039;&#039;Hardware Id&#039;&#039; value exists in the &#039;&#039;Devices&#039;&#039; section of the PBX user. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Image:DectUser1.png]] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
*[[Datasheet_IP1203]]&lt;br /&gt;
*[[Datasheet_IP64]]&lt;br /&gt;
*[[Datasheet_IP65]]&lt;br /&gt;
*[[Datasheet_d83]]&lt;br /&gt;
*[[Reference:IP1202e DECT base station with external antennas]]&lt;br /&gt;
*[[Courseware:IT_Plus_-_IP-DECT]]&lt;br /&gt;
*[[Courseware:IT_Plus_-_Conferencing_and_DECT]]&lt;br /&gt;
*[[Howto:How_to_use_the_R-key_handling]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Template:Disclaimer_-_Ascom_UNITE_Integration&amp;diff=76530</id>
		<title>Template:Disclaimer - Ascom UNITE Integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Template:Disclaimer_-_Ascom_UNITE_Integration&amp;diff=76530"/>
		<updated>2025-05-05T14:24:16Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Disclaimer for UNITE integrations:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
Mixed operation between Ascom base stations and innovaphone base stations is currently not supported.&lt;br /&gt;
According to our understanding, the UNITE integration on the innovaphone base stations is the same as that used in the Ascom base stations. Technical operation should therefore be possible without any problems.&lt;br /&gt;
 &lt;br /&gt;
The sales process for Ascom IMS3 and Ascom Unite software is handled by the regional Ascom contact. Support for modules ordered from Ascom is also provided by Ascom.  The configuration of the Unite-module in the innovaphone base station, is also done by/in responsibility of Ascom.&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Template:Disclaimer_-_Ascom_UNITE_Integration&amp;diff=76529</id>
		<title>Template:Disclaimer - Ascom UNITE Integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Template:Disclaimer_-_Ascom_UNITE_Integration&amp;diff=76529"/>
		<updated>2025-05-05T14:23:29Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &#039;&#039;&#039;Disclaimer for UNITE integrations:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
Mixed operation between Ascom base stations and innovaphone base stations is currently not supported.&lt;br /&gt;
According to our understanding, the UNITE integration on the innovaphone base stations is the same as that used in the Ascom base stations. Technical operation should therefore be possible without any problems.&lt;br /&gt;
 &lt;br /&gt;
The sales process for Ascom IMS3 and Ascom Unite software is handled by the regional Ascom contact. Support for modules ordered from Ascom is also provided by Ascom.  The configuration of the Unite-module in the innovaphone base station, is also done by/in responsibility of Ascom.&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_SOAP_API&amp;diff=76424</id>
		<title>Reference10:Concept SOAP API</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_SOAP_API&amp;diff=76424"/>
		<updated>2025-04-15T07:38:29Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Initialize(string user, string appl, bool $v, bool $v501, bool v700, bool v800, bool vx1000, out int key) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone®&#039;s PBX web services, also known as SOAP API, while no longer actively extended, remains available and functional. A transition to WebSocket API, specifically the RCC API (https://sdk.innovaphone.com/13r3/doc/appwebsocket/RCC.htm), was introduced with version 13 firmware.&lt;br /&gt;
&lt;br /&gt;
For ongoing development, we recommend utilizing [http://www.innovaphone.com/wsdl/pbx10_00.wsdl WSDL version 10 &#039;&#039;pbx10_00.wsdl&#039;&#039;] (also available on the gateway &amp;lt;code&amp;gt;http://xx.xx.xx.xx/pbx10_00.wsdl&amp;lt;/code&amp;gt;) in conjunction with this Wiki article. It&#039;s advisable to disregard the higher versions of WSDL for your development.&lt;br /&gt;
&lt;br /&gt;
For upcoming developments the WebSocket API should be used, as it represents the current and future direction of our API development.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
For an overview of the basic architecture, see the [[Reference:SOAP_API_%28pbx501.wsdl%29#Overview|corresponding chapter in the pbx501.wsdl related article]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
== Definition of PBX object (WSDL) == &lt;br /&gt;
Within the SOAP framework there is a mechanism to formally decribe the definition of remote objects. This is done by so called WSDL (Web Service Description Language) files. This [[http://www.innovaphone.com/wsdl/pbx10_00.wsdl wsdl file]] defines the PBX web services  described in this document.&lt;br /&gt;
&lt;br /&gt;
NB: while you can access and retrieve the WSDL file through this URL on runtime of your application, we&#039;d rather recommend to install a local copy with your application and use this on runtime.  This way, your application will be immune against failures of www.innovaphone.com.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;There is also an [[http://www.innovaphone.com/wsdl/pbx900.wsdl old version of the wsdl]] available which has less interface functions.  This interface can still be accessed by legacy applications and is activated on the PBX by calling the &#039;&#039;&#039;Initialize&#039;&#039;&#039; Function with fewer arguments (&#039;&#039;&#039;Integer Initialize(string user, string appl, out key)&#039;&#039;&#039;).  It should not be used for new develoments though.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SOAP URL ===&lt;br /&gt;
The SOAP service URI is &#039;&#039;&#039;/PBX0/user.soap&#039;&#039;&#039; for the standard PBX and &#039;&#039;&#039;/PBX-&#039;&#039;id&#039;&#039;/user.soap&#039;&#039;&#039; for a dynamic PBX (where &#039;&#039;id&#039;&#039; corresponds to the &#039;&#039;Id&#039;&#039; field in the [[Reference10:PBX/Dyn-PBXs]] configuration dialog).  SOAP is accessible via plain HTTP or HTTPS, so valid URLs might be &amp;lt;code&amp;gt;http://172.16.0.1/PBX0/user.soap&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;https://172.16.0.1/PBX0-mydynpbxid/user.soap&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==PBX Objects and Methods==&lt;br /&gt;
&lt;br /&gt;
This section contains a language agnostic description of the PBX API’s object model.  Despite of the fact that we are discussing an object model, the PBX API is in fact not an object oriented API.  This is because SOAP itself is not really object oriented.  In particular, there is no object creation, activation or lifetime concept.  This is left up to the service designer.  SOAP is more a message exchange mechanism than an object method invocation mechanism.  This is reflected in the API structure.&lt;br /&gt;
&lt;br /&gt;
Specifically, objects are represented through handles, which are integers.  Objects are created and destroyed using dedicated methods and it’s the users responsibility to manage the lifetime of all objects.&lt;br /&gt;
&lt;br /&gt;
The syntax shown here actually is no valid syntax in any existing language.  Please refer to the various sample codes for working syntax.&lt;br /&gt;
&lt;br /&gt;
===Session===&lt;br /&gt;
&lt;br /&gt;
All PBX API methods are executed in the context of a session.  A session is created using the &#039;&#039;&#039;initialize&#039;&#039;&#039; method and is identified by a handle.  This handle must be provided to all subsequent method calls.&lt;br /&gt;
&lt;br /&gt;
A session is owned by the PBX API user, i.e. there is no way to have access to a session of another application.  Each session has a scope, which defines the view of the PBX the session user has.  The scope determines the set of PBX registrations seen by the session.&lt;br /&gt;
&lt;br /&gt;
Scopes are defined and configured in the PBX and are bound to particular PBX users. Thus, a session has a user attribute, which defines the scope.   It includes all users which are members of groups &#039;&#039;&#039;user&#039;&#039;&#039; is active member of.  If &#039;&#039;&#039;user&#039;&#039;&#039; is not an active member of any group, the scope is the user itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Initialize(string user, string appl, bool $v, bool $v501, bool v700, bool v800, bool vx1000, out int key)====&lt;br /&gt;
&lt;br /&gt;
To access the current web services implementation, &#039;&#039;&#039;v&#039;&#039;&#039;, &#039;&#039;&#039;v501&#039;&#039;&#039;, &#039;&#039;&#039;v700&#039;&#039;&#039;, &#039;&#039;&#039;v800&#039;&#039;&#039; and &#039;&#039;&#039;vx1000&#039;&#039;&#039; must be present and set to &#039;&#039;&#039;true&#039;&#039;&#039;. &lt;br /&gt;
These parameters actually convey the wsdl version used by the client.  Different versions of the interface use different parameter sets for the Initialize call.  Applications should always use the wsdl version current at the time of writing the application.&lt;br /&gt;
&lt;br /&gt;
The method creates a session.  The session will have the user &#039;&#039;&#039;user&#039;&#039;&#039;’s scope (&#039;&#039;&#039;user&#039;&#039;&#039; is the &#039;&#039;Long Name&#039;&#039; of a PBX user).  The session handle is returned and is 0 for failure and positive for a valid session handle.  &#039;&#039;&#039;appl&#039;&#039;&#039; specifies the name of the calling application and is used for administrative purposes.  The output parameter &#039;&#039;&#039;key&#039;&#039;&#039; is a random number associated to the session.   It may be used in subsequent &#039;&#039;&#039;Echo&#039;&#039;&#039; operations.&lt;br /&gt;
&lt;br /&gt;
When a session is created, &#039;&#039;&#039;UserInfo&#039;&#039;&#039; events for all PBX registrations in the scope can be received by the &#039;&#039;&#039;Poll&#039;&#039;&#039; function.  Initially, one &#039;&#039;&#039;UserInfo&#039;&#039;&#039; per registration within the session’s scope is received (the list is terminated by a &#039;&#039;&#039;UserInfo&#039;&#039;&#039; with empty &#039;&#039;&#039;cn&#039;&#039;&#039; and may require multiple &#039;&#039;&#039;Poll&#039;&#039;&#039; calls to retrieve).  Subsequently, &#039;&#039;&#039;UserInfo&#039;&#039;&#039; events are received when a registrations state changes.&lt;br /&gt;
&lt;br /&gt;
The underlying transport session (HTTP) must authenticate itself  either as &#039;&#039;&#039;user&#039;&#039;&#039;  (using the users long name and PBX password) or as the admin user (using the gateway administrator account name and password) to perform an &#039;&#039;&#039;Initialize&#039;&#039;&#039; and any session related function.   Note that if you use a PBX user account, the user needs to have at least &#039;&#039;Group/Call Forwards&#039;&#039; rights. &lt;br /&gt;
&lt;br /&gt;
Note that the method to force the SOAP system you are using to authenticate to the PBX is entirely up to the system itself.  Some systems even do not support authentication at all.  If your SOAP implementation does not support digest authentication, make sure the gateway accepts basic authentication by setting the “&#039;&#039;allow HTTP basic authentication&#039;&#039;” in the “&#039;&#039;General settings&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
Note that although many HTTP connections may be used in a single session, at least one HTTP connection must remain open during the lifetime of the session.  When the last connection disappears, the logical session is terminated after a short timeout. Some SOAP libraries may per default always close the HTTP connection and reconnect on subsequent SOAP calls, which will not work. The SOAP library should either be configured to keep at least one HTTP connection alive or, if this is not an option, the application should take care to always have a an active request pending (such as &#039;&#039;&#039;Poll&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
====Echo(integer session, integer key)====&lt;br /&gt;
&lt;br /&gt;
Verifies a session.  You need to supply the &#039;&#039;session&#039;&#039; identifier and &#039;&#039;key&#039;&#039; returned by a previous call to &#039;&#039;&#039;Initialize&#039;&#039;&#039;.  Returns nonzero if successful.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====End(integer session)====&lt;br /&gt;
&lt;br /&gt;
Terminates the session referenced by &#039;&#039;session&#039;&#039;.  No further events will be received.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Integer Version(out string gkId, out string location, out string firmware, out string serial)====&lt;br /&gt;
&lt;br /&gt;
Returns the version number of the WSDL file the PBX supports.  The first released WSDL file had version number 500.  The version described by this document has version number 501. Also delivers information about the connected PBX (in &#039;&#039;gkId&#039;&#039;, &#039;&#039;location&#039;&#039;, &#039;&#039;firmware&#039;&#039; and &#039;&#039;serial&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====AnyInfo Poll(integer session)====&lt;br /&gt;
&lt;br /&gt;
Returns pending events for the session referenced by &#039;&#039;session&#039;&#039;.  &#039;&#039;AnyInfo&#039;&#039; is a struct with four arrays as members: &#039;&#039;user&#039;&#039;, &#039;&#039;call&#039;&#039;, &#039;&#039;reg&#039;&#039; and &#039;&#039;info&#039;&#039;. &#039;&#039;user&#039;&#039; is an array of type &#039;&#039;UserInfo&#039;&#039; and call is an array of type CallInfo.  The other two arrays &#039;&#039;reg&#039;&#039; and &#039;&#039;info&#039;&#039; are currently not used.&lt;br /&gt;
&lt;br /&gt;
After a successful &#039;&#039;&#039;Initialize()&#039;&#039; there will be a &#039;&#039;UserInfo&#039;&#039; event for each defined and visible user in the system.  This allows the application to synchronize on the state of all visible users.  The list will be terminated by an &#039;&#039;UserInfo&#039;&#039; event for a user with an empty &#039;&#039;cn&#039;&#039; which normally cannot happen since a user entry must have a cn.&lt;br /&gt;
&lt;br /&gt;
===User===&lt;br /&gt;
&lt;br /&gt;
A user represents a configured object within the PBX (a “PBX user”). The PBX API provides the &#039;&#039;&#039;UserInitialize&#039;&#039;&#039; method to obtain a handle to the user.&lt;br /&gt;
&lt;br /&gt;
====UserInfo====&lt;br /&gt;
The user’s properties are stored in a &#039;&#039;UserInfo&#039;&#039; structure, which has the following elements:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;boolean active&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
true if the user exists.  The only case where active can be false is when a user is moved out of the session context. This may happen if the users group assignment is changed or the user is deleted. A single UserInfo event will be posted with active set to false then.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;integer state&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1 if the user is registered, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;integer channel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
number of current calls.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;integer  alert&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
number of alerting calls&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the type of the users device.  Currently defined are “&#039;&#039;&#039;ep&#039;&#039;&#039;” (it is an endpoint), “&#039;&#039;&#039;gw&#039;&#039;&#039;” (it is a gateway, for example a trunk line), “&#039;&#039;&#039;waiting&#039;&#039;&#039;” (a call queue) or “&#039;&#039;&#039;broadcast&#039;&#039;&#039;” (a group).  Others may be defined over time.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string guid&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the users GUID.  This is a globally unique identifier for the user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string cn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the common name of the user. This is what the PBX’s LDAP server recognizes as the CN of this user.  The user’s name in the PBX configuration applet.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string e164&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the extension number the user is registered with.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string h323&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the alias the user is registered with.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string dn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the users display name.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string domain&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the PBX domain if the Gatekeeper ID is used as domain&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;boolean h323email&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If true, the h323 name shall be used as primary email address when sending emails to this user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string email[]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
email addresses of the user. If &#039;h323email&#039; is not set, the first address in this list shall be used as primary email address when sending emails to this user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Group groups&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An array of &#039;&#039;&#039;Group&#039;&#039;&#039; records (see below).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Presence presence&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An array of &#039;&#039;&#039;Presence&#039;&#039;&#039; records (see below).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;boolean cfg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If set to true indicates that the config of the user has changed&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string object&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The type of the user object&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string loc&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If the object described is not local to the PBX the &#039;&#039;&#039;UserInfo&#039;&#039;&#039; is sent from, the name of the location the object is homed in is given in this element.  See &#039;&#039;&#039;LocationUrl&#039;&#039;&#039; to find out how to proceed further.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string node&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The node of the object.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string nodenum&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The object nodes node number (prefix).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Info&#039;&#039;&#039;&lt;br /&gt;
An &#039;&#039;&#039;Info&#039;&#039;&#039; record describing various aspects of the user.  The type of the information described in an individual &#039;&#039;&#039;Info&#039;&#039;&#039; record is determined by the value of its &#039;&#039;type&#039;&#039; member.  Currently defined values for &#039;&#039;type&#039;&#039; are:&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;fake&#039;&#039;&#039;&lt;br /&gt;
: The value configured as &#039;Send Number&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;groups&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The users group memberships are stored in a &#039;&#039;&#039;Group&#039;&#039;&#039; record which has the following elements:&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;string group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: the name of the group the user is a member of&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;bool active&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: true if the user is an active member of the group&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;presence&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The users presence status is stored in a &#039;&#039;&#039;Presence&#039;&#039;&#039; record which has the following elements:&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;string status&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: either &#039;&#039;&#039;open&#039;&#039;&#039; or &#039;&#039;&#039;closed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;string activity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The users current activity (optional)&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;string note&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The user provided additional note (optional)&lt;br /&gt;
&lt;br /&gt;
====integer UserInitialize(integer session, string user, bool xfer, bool disc, string hw)====&lt;br /&gt;
&lt;br /&gt;
Returns a handle to the named &#039;&#039;user&#039;&#039; (0 on failure). String &amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; must be a Long Name(cn). Phone number(e164) is not supported. Use FindUser instead, to retrieve cn to specified e164 number.&lt;br /&gt;
&lt;br /&gt;
Once a user handle is obtained with &#039;&#039;&#039;UserInitialize&#039;&#039;&#039;, &#039;&#039;&#039;CallInfo&#039;&#039;&#039; events will be posted and retrieved via &#039;&#039;&#039;Poll&#039;&#039;&#039; for all calls related to the user.  If &#039;&#039;&#039;xfer&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, &#039;&#039;&#039;CallInfo&#039;&#039;&#039; events will also be posted for calls which are transferred away from &#039;&#039;&#039;user&#039;&#039;&#039;.  Otherwise, such events will be posted only for the user handle which the call has been transferred to. Thus, without setting follow to true, an application will generally not be able to track calls after a transfer unless it has called &#039;&#039;&#039;UserInitialize&#039;&#039;&#039; for any PBX object a call may be transferred to and matches the new call on the transferred-to user via the &#039;&#039;&#039;conf&#039;&#039;&#039; information in the &#039;&#039;&#039;Info&#039;&#039;&#039; record of the new call (which will be identical to the &#039;&#039;&#039;conf&#039;&#039;&#039; information for the transferred call).&lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;xfer&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, transferred calls will show up in the &#039;&#039;&#039;CallInfo&#039;&#039;&#039; records with a &#039;&#039;&#039;No&#039;&#039;&#039; element of type &#039;&#039;&#039;xfer&#039;&#039;&#039; that indicates the number the call has been transferred to.&lt;br /&gt;
&lt;br /&gt;
When &#039;&#039;&#039;disc&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, calls to phones of the monitored user are cleared only after the user hangs up the phone. This way it can be avoided that the SOAP application assumes the phone is free but is still off-hook. This only works with innovaphone H.323 endpoints since the Disconnect message used to do this is not defined in the SIP standard.&lt;br /&gt;
&lt;br /&gt;
When a &#039;&#039;&#039;hw&#039;&#039;&#039; argument is provided only the device identified by this is monitored. Please note that a valid handle will be returned even if there is no matching device for &#039;&#039;&#039;user&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Also, the user handle can be used to create and control calls on behalf of the user.&lt;br /&gt;
&lt;br /&gt;
====void UserEnd(integer user)====&lt;br /&gt;
&lt;br /&gt;
Frees the handle &#039;&#039;user&#039;&#039; obtained with &#039;&#039;&#039;UserInitialize&#039;&#039;&#039;. No events will be posted for this user anymore.&lt;br /&gt;
&lt;br /&gt;
====int SetPresence(inno:Presence presence, bool im, string contact, string guid, string h323)====&lt;br /&gt;
&lt;br /&gt;
Sets the presence of a PBX user.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;presence&#039;&#039;&#039;: &lt;br /&gt;
:* &#039;&#039;&#039;inno:PresenceStatus&#039;&#039;&#039;: the status &#039;&#039;&#039;closed&#039;&#039;&#039;/&#039;&#039;&#039;open&#039;&#039;&#039; or empty&lt;br /&gt;
:* &#039;&#039;&#039;inno:PresenceActivity&#039;&#039;&#039;: the activity like &#039;&#039;&#039;busy&#039;&#039;&#039;&lt;br /&gt;
:* string &#039;&#039;&#039;note&#039;&#039;&#039;: the presence note&lt;br /&gt;
* &#039;&#039;&#039;im&#039;&#039;&#039;: from im client?&lt;br /&gt;
* &#039;&#039;&#039;contact&#039;&#039;&#039;: the presence contact like &#039;&#039;&#039;tel:&#039;&#039;&#039;, &#039;&#039;&#039;calendar:&#039;&#039;&#039;...&lt;br /&gt;
* &#039;&#039;&#039;guid&#039;&#039;&#039;: the user guid&lt;br /&gt;
* &#039;&#039;&#039;h323&#039;&#039;&#039;: the h323 name of the user&lt;br /&gt;
&lt;br /&gt;
You can use &#039;&#039;&#039;guid&#039;&#039;&#039; or &#039;&#039;&#039;h323&#039;&#039;&#039; to identify the user! If no guid is known, use &#039;&#039;&#039;*&#039;&#039;&#039; as guid value.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If the setting of the presence was ok, the method returns &#039;&#039;&#039;1&#039;&#039;&#039;. Otherwise &#039;&#039;&#039;0&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Device===&lt;br /&gt;
&lt;br /&gt;
For each User object multiple devices can be configured within the PBX. A device represents the physical endpoint used for calls (e.g. phones). Any registration to the PBX is associated to a configured device by the name/number used for the registration. Even thou it is possible that one configured device in the PBX accepts multiple registrations, it is recommened to configure the PBX in a way that there is one registration to a device. This way an application can control which physical endpoint is used for a call.&lt;br /&gt;
&lt;br /&gt;
====Device[] Devices(int session, string user)====&lt;br /&gt;
&lt;br /&gt;
This function returns an array of devices configured for a user identified by its cn (long name). The &#039;&#039;&#039;cfg&#039;&#039;&#039; flag in &#039;&#039;&#039;UserInfo&#039;&#039;&#039; is set when this information is changed. The structure &#039;Device&#039; contains the following members:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;hw&#039;&#039;&#039;&lt;br /&gt;
|The Hardware Id used to identify the device. This string is used to associate any calls to devices.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;text&#039;&#039;&#039;&lt;br /&gt;
|A text configured as a description of the device. It can be used to be presented to the user for the user to select a device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Call===&lt;br /&gt;
A call represents one leg of an existing call in the PBX.  &lt;br /&gt;
&lt;br /&gt;
====CallInfo====&lt;br /&gt;
The calls attributes are stored in a &#039;&#039;&#039;CallInfo&#039;&#039;&#039; structure, which has the following elements:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;int user&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the user handle the call belongs to&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;int call&#039;&#039;&#039;&lt;br /&gt;
the call handle&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;int reg&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
currently unused&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;bool active&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;true&#039;&#039;&#039; if the call exists, &#039;&#039;&#039;false&#039;&#039;&#039; if not.  The only case where &#039;&#039;active&#039;&#039; can be &#039;&#039;&#039;false&#039;&#039;&#039; is when a call is terminated. A single &#039;&#039;&#039;CallInfo&#039;&#039;&#039; event will be posted with &#039;&#039;active&#039;&#039; set to &#039;&#039;&#039;false&#039;&#039;&#039; then&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;integer state&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A calls state. A bit field made up as follows:&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;3&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
| Value &lt;br /&gt;
| Mask &lt;br /&gt;
| Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 1 &lt;br /&gt;
| 0xF &lt;br /&gt;
| setup&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0xF || setup-ack&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 0xF || call-proc&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 0xF || Alert&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 0xF || Connect&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 0xF || disconnect sent&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 0xF || disconnect received&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 0xF || parked&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||	0x80    || inbound  call&lt;br /&gt;
|-&lt;br /&gt;
| 128 ||	0x80    || outbound call&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||	0x100   || active call&lt;br /&gt;
|-&lt;br /&gt;
| 256 ||	0x100   || call on hold&lt;br /&gt;
|-&lt;br /&gt;
| 0 ||	0x200   || active call&lt;br /&gt;
|-&lt;br /&gt;
| 512 ||	0x200   || active call put on hold by peer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note that the PBX API is PBX-centric, not terminal centric.  As such, it considers a call &#039;&#039;from&#039;&#039; the PBX &#039;&#039;to&#039;&#039; the terminal as &#039;&#039;outbound&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Refer to the [[Howto:SOAP API PHP5 Sample Code#Working with Call States from CallInfo]] Article to learn how to work with the call state values.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string msg&#039;&#039;&#039;&lt;br /&gt;
A textual representation of the signalling message causing this event. E.g. “&#039;&#039;&#039;x-setup&#039;&#039;&#039;”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;No No&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An array of &#039;&#039;&#039;No&#039;&#039;&#039; records (see below).  This can include information about various peers related to the call itself.  The type of the peer described in an individual &#039;&#039;&#039;No&#039;&#039;&#039; record is determined by the value of its &#039;&#039;&#039;type&#039;&#039;&#039; member.  Currently defined values for &#039;&#039;&#039;type&#039;&#039;&#039; are:&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;peer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The current remote end of the call (the local end is determined by the UserInfo identified through the user handle above)&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;leg2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The last diverting user (if any)&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;leg2orig&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The 1st diverting user (if any, from on v9hf1)&lt;br /&gt;
&lt;br /&gt;
:* &#039;&#039;&#039;leg1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: Indicates a call-forward/blind-xfer(?) to the calling end&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;ct&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The last user having transferred the call (if any)&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;parked-to&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The call was parked to the indicated endpoint. This is sent with the &#039;r-rel&#039; message indicating the clearing of this call.&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;picking&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The call was picked by the indicated endpoint. Usually empty because sent with the new call which is created at the picking endpoint, but the fact that it is present indicates that this is a picked up call. The endpoint where this call is picked from is indicated with a &#039;&#039;ct&#039;&#039; No within the same call_info.&lt;br /&gt;
*&#039;&#039;&#039;Info info&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;Info&#039;&#039;&#039; record describing various aspects of the call.  The type of the information described in an individual &#039;&#039;&#039;Info&#039;&#039;&#039; record is determined by the value of its &#039;&#039;type&#039;&#039; member.  Currently defined values for &#039;&#039;type&#039;&#039; are:&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;conf&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: A string holding the &#039;&#039;conference id&#039;&#039; (a GUID) of the call the reported call leg (all legs of a certain call share the same &#039;&#039;conference id&#039;&#039;). Also, CDRs for a call show this &#039;&#039;conference id&#039;&#039; (&#039;&#039;ref&#039;&#039; for [[Reference:Call_Detail_Record_CDR|gateway CDRs]], &#039;&#039;conf&#039;&#039; in the &#039;&#039;&amp;lt;event&amp;gt;&#039;&#039; tag for [[Reference10:Concept_Call_Detail_Record_CDR_PBX|PBX CDRs]]).&lt;br /&gt;
:*&#039;&#039;&#039;cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: The latest [[Reference:ISDN_Cause_Codes | cause code ]] which has been notified on the call&lt;br /&gt;
&lt;br /&gt;
===== CallInfo for Boolean Objects =====&lt;br /&gt;
A &#039;&#039;Boolean&#039;&#039; will send a CallInfo event when it&#039;s status changes.  From the indicated number, you can derive the status as follows:&lt;br /&gt;
&lt;br /&gt;
00 - Auto-Off&lt;br /&gt;
01 - Auto-On&lt;br /&gt;
10 - Manual-Off&lt;br /&gt;
11 - Manual-On&lt;br /&gt;
&lt;br /&gt;
====No Record====&lt;br /&gt;
&lt;br /&gt;
Peer information is stored in a &#039;&#039;&#039;No&#039;&#039;&#039; record with the following elements:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the type of the peer described by the record&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string cn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the peer’s PBX’s objects common name (if any)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string e164&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the peer’s phone number&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string h323&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the peer’s h323 alias&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string dn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the peer’s display name&lt;br /&gt;
&lt;br /&gt;
====Info record====&lt;br /&gt;
Various information is stored in &#039;&#039;&#039;Info&#039;&#039;&#039; records with the following elements:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
: the type of the information described by the record. The following values for &#039;&#039;type&#039;&#039; are used (although more may appear at any time):&lt;br /&gt;
:; conf : the call conference guid&lt;br /&gt;
:; cause : a cause code related to the call, see [[Reference:ISDN Cause Codes]]&lt;br /&gt;
:; uui : a user-user-info sent or received on the call. The UUI is conveyed in the &#039;&#039;vals&#039;&#039; member (see below). Note that from 13r3 upwards, the UUI conveyed is url-encoded. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;string vals&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
a string value associated with this information (if any, the &#039;&#039;type&#039;&#039; of the element determines if an &#039;&#039;&#039;Info&#039;&#039;&#039; element has a string or an integer value) &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;integer vali&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
an integer value associated with this information (if any)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the call related functions do not return a meaningful value.  This is because the operations success is reflected in the subsequent CallInfo events.&lt;br /&gt;
&lt;br /&gt;
====integer UserCall(integer user, string cn, string e164, string h323, int reg, InfoArray info, int rc, string srce164)====&lt;br /&gt;
&lt;br /&gt;
Creates an outgoing call from the &#039;&#039;&#039;user&#039;&#039;&#039; (which is a handle obtained by a call to &#039;&#039;&#039;UserInitialize&#039;&#039;&#039;)  to the destination described by &#039;&#039;cn&#039;&#039;, &#039;&#039;e164&#039;&#039; and &#039;&#039;h323&#039;&#039;.  The argument &#039;&#039;&#039;srce164&#039;&#039;&#039; may be used to override the calling party number (note that this overrides the callers extension, not the full calling party number). Arguments &#039;&#039;reg&#039;&#039; and &#039;&#039;info&#039;&#039; are currently ignored. The argument &#039;&#039;rc&#039;&#039; is usually 0, unless special behavior is required by using other [[Reference8:SOAP_API#Remote_Control_Facilities|Remote Control Facilities]]. Returns a handle to the call (0 on failure).&lt;br /&gt;
&lt;br /&gt;
The called number (&#039;&#039;e164&#039;&#039;) is interpreted in the context of the user object the call is placed for (&#039;&#039;user&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
From V8HF3 on, if the srce164 argument of UserCall starts with &#039;r&#039; or &#039;R&#039;, the call is sent with CLIR (calling line identification restricted).&lt;br /&gt;
&lt;br /&gt;
Depending on the nature of the device the user is registered with, the device may actually place the call or the PBX may place a call and once it is accepted, it places another call to the destination.&lt;br /&gt;
&lt;br /&gt;
====UserConnect(integer call)====&lt;br /&gt;
Connects an existing &#039;&#039;call&#039;&#039;.  This forces the device the user is registered with to accept the call.  It may then go into hands-free mode.  Incapable (i.e. non-innovaphone) devices may simply ignore this call.&lt;br /&gt;
&lt;br /&gt;
====UserTransfer (int acall, integer bcall)====&lt;br /&gt;
&#039;&#039;acall&#039;&#039; and &#039;&#039;bcall&#039;&#039; are both calls a single user currently has active.  This method will connect &#039;&#039;acall&#039;&#039; with &#039;&#039;bcall&#039;&#039;, leaving the user without both calls.&lt;br /&gt;
&lt;br /&gt;
====UserMediaTransfer (integer acall, integer bcall, boolean user, boolean peer)====&lt;br /&gt;
&lt;br /&gt;
This function establishes a media connection between two parties currently active in a call independent of the signalling connection. &#039;&#039;acall&#039;&#039; and &#039;&#039;bcall&#039;&#039; are both active (connected) calls. If &#039;&#039;user&#039;&#039; is true, the user sides of the calls are connected together, if &#039;&#039;peer&#039;&#039; is set to true the peer sides of the calls are connected together. If neither &#039;&#039;user&#039;&#039; nor &#039;&#039;peer&#039;&#039; is set the calls are connected to their respective signalling peers.&lt;br /&gt;
&lt;br /&gt;
====bool UserRedirect(integer call, string cn, string e164, string h323, InfoArray info, int rc)====&lt;br /&gt;
Places a call to the destination described by &#039;&#039;cn&#039;&#039;, &#039;&#039;e164&#039;&#039; and &#039;&#039;h323&#039;&#039; and connects &#039;&#039;call&#039;&#039; to this destination.  Argument &#039;&#039;info&#039;&#039; is currently ignored. &#039;&#039;rc&#039;&#039; can carry one of the remote control facilities listed in [[Reference:Remote Control Facility]] (see also [[{{NAMESPACE}}:Concept_SOAP_API#UserRc(integer_call,_integer_rc)|UserRc]] below).&lt;br /&gt;
&lt;br /&gt;
Any call forwarding configured for the destination will be ignored.  See [[Reference8:SOAP_API#bool_UserReroute.28integer_call.2C_string_cn.2C_string_e164.2C_string_h323.29|UserReroute()]] below.&lt;br /&gt;
&lt;br /&gt;
Note: in 2009, the semantics of UserRedirect has accidentally been changed so that call forwarding will no longer be ignored. From 14r1 Service Release 4, the original behavior can be restored by specifying 999 as &#039;&#039;rc&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====bool UserReroute(integer call, string cn, string e164, string h323)====&lt;br /&gt;
Performs a rerouting of the call.  Call forwardings set for the destination will be obeyed.&lt;br /&gt;
&lt;br /&gt;
Note: rerouting calls on a waiting queue or call broadcast object works only if the &#039;&#039;Execute Operator CFB/CFNR&#039;&#039; or &#039;&#039;Execute Group Member Diversions&#039;&#039; option is turned on.&lt;br /&gt;
&lt;br /&gt;
====integer UserPickup(int user, string cn, integer call, string group, int reg, InfoArray info)====&lt;br /&gt;
Redirects a call such that it appears as a new call at &#039;&#039;user&#039;&#039;. The call to be redirected can be specified by its &#039;&#039;call&#039;&#039; handle.  Alternatively, calls can be picked up by a users &#039;&#039;cn&#039;&#039; or by a &#039;&#039;group&#039;&#039; name.  If all parameters are null, an implicit pickup is done.  The new call handle is returned. Arguments &#039;&#039;reg&#039;&#039; and &#039;&#039;info&#039;&#039; are currently ignored.&lt;br /&gt;
&lt;br /&gt;
====UserClear(integer call, integer cause, InfoArray info)====&lt;br /&gt;
Disconnects the &#039;&#039;call&#039;&#039; providing &#039;&#039;cause&#039;&#039; as disconnect reason. For example the cause code &#039;&#039;26 non-selected user clearing&#039;&#039; could be used to disconnect the call immediately on local phone, so no disconnect tone is played.&lt;br /&gt;
&lt;br /&gt;
Cause is coded as a 7bit integer according to the table found in [[Reference:ISDN Cause Codes]].&lt;br /&gt;
Argument &#039;&#039;info&#039;&#039; is currently ignored.&lt;br /&gt;
&lt;br /&gt;
====UserCtComplete(integer call, string e164, string h323)====&lt;br /&gt;
&lt;br /&gt;
Sends a notification to the device &#039;&#039;call&#039;&#039; is active on that the remote peer has changed to &#039;&#039;e164&#039;&#039; and &#039;&#039;h323&#039;&#039;.   This resembles the notification a device may receive if its remote peer transfers the call to the new destination.  The device may update its display and/or call data accordingly.  This call is often used to force the devices (i.e. telephones) display to show application specific data.&lt;br /&gt;
&lt;br /&gt;
====UserHold(integer call, bool remote)====&lt;br /&gt;
Sets the call on hold.  The device may or may not display the hold status.  In any case, the media channel is disconnected until a UserRetrieve is called.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;V8 hotfix23&#039;&#039; an additional parameter &#039;&#039;&#039;remote&#039;&#039;&#039; was added. If set to &#039;&#039;&#039;true&#039;&#039;&#039;, &#039;&#039;&#039;remote&#039;&#039;&#039; will force to play MOH only to remote user (who is being held), set to &#039;&#039;&#039;false&#039;&#039;&#039; maintains the default behaviour (MOH played on remote user and a dialing tone to local user (depending on the pbx firmware, versions prior to v11r2 will play music on hold)). To use this parameter the recent WSDL 8.00 file must be retrieved.&lt;br /&gt;
&lt;br /&gt;
====UserRetrieve(integer call)====&lt;br /&gt;
Retrieves the &#039;&#039;call&#039;&#039; on hold.  The device may or may not display the new status.  In any case, the media channel is reconnected.&lt;br /&gt;
&lt;br /&gt;
====integer UserPark(integer call, string cn, integer position)====&lt;br /&gt;
Parks the call at the PBX object &#039;&#039;&#039;cn&#039;&#039;&#039; and local user on postion &#039;&#039;&#039;position&#039;&#039;&#039;. A position of -1 means any position is allowed. &amp;lt;!-- The parked call will show up as new call at the user in &#039;&#039;&#039;CallInfo&#039;&#039;&#039; records returned by &#039;&#039;&#039;Poll()&#039;&#039;&#039; if the &#039;&#039;&#039;xfer&#039;&#039;&#039; flag of the corresponding &#039;&#039;&#039;UserInitialize()&#039;&#039;&#039; call has been set to true. - no, not ture - ckl -- --&amp;gt;The return value is the handle of the new call.&lt;br /&gt;
&lt;br /&gt;
To unpark calls, use the returned call handle with the &#039;&#039;&#039;UserPickup()&#039;&#039;&#039; function.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;cn&#039;&#039;&#039; argument can be used to identify another object, where the call shall be parked to.&lt;br /&gt;
&lt;br /&gt;
====UserDTMF(integer call, bool recv, string dtmf)====&lt;br /&gt;
Sends DTMF digits on behalf of the user. If &#039;&#039;&#039;recv&#039;&#039;&#039; is set to &#039;&#039;true&#039;&#039; the DTMF is sent to the local user.&lt;br /&gt;
&lt;br /&gt;
====UserUUI(integer call, bool recv, string uui)====&lt;br /&gt;
Sends User-User_information on behalf of the user. If &#039;&#039;&#039;recv&#039;&#039;&#039; is set to &#039;&#039;true&#039;&#039; the uui is sent to the local user.&lt;br /&gt;
&lt;br /&gt;
====UserInfo(integer call, bool recv, string cdpn, string key, string dsp)====&lt;br /&gt;
Sends INFO message on behalf of the user. If &#039;&#039;&#039;recv&#039;&#039;&#039; is set to &#039;&#039;true&#039;&#039; the INFO message is sent to the local user. This function can be used to send overlap dialing information.&lt;br /&gt;
&lt;br /&gt;
====UserRc(integer call, integer rc)====&lt;br /&gt;
Sends remote control facility to an innovaphone IP phone. It will be ignored by 3rd-party endpoints.&lt;br /&gt;
&lt;br /&gt;
A remote control facility can be sent to an innovaphone IP phone to activate additional call handling on the device.&lt;br /&gt;
&lt;br /&gt;
The current set of remote control facility function codes actually depends on the firmware used on the telephone, not the WSDL version used for SOAP.  The current set is documented in [[Reference:Remote Control Facility]].&lt;br /&gt;
&lt;br /&gt;
This function can be used for example to establish a three-party conference on an innovaphone IP phone. For this use the function UserRc on an active call using the &#039;&#039;&#039;rc&#039;&#039;&#039; value 4, while a second call is on hold.  See also the &#039;&#039;rc&#039;&#039; argument to [[#integer_UserCall.28integer_user.2C_string_cn.2C_string_e164.2C_string_h323.2C_int_reg.2C_InfoArray_info.2C_int_rc.2C_string_srce164.29|UserCall()]].&lt;br /&gt;
&lt;br /&gt;
===Messaging===&lt;br /&gt;
&lt;br /&gt;
====integer UserMessage(integer user, string e164, string h323, string msg, string src_e164, string src_h323 )====&lt;br /&gt;
Sends an message from the &#039;&#039;&#039;user&#039;&#039;&#039; (which is a handle obtained by a call to &#039;&#039;&#039;UserInitialize&#039;&#039;&#039;) to the destination described by &#039;&#039;e164&#039;&#039; and &#039;&#039;h323&#039;&#039;.  The parameters &#039;&#039;src_e164&#039;&#039; and &#039;&#039;src_h323&#039;&#039; may be used to override the calling party&#039;s information, in order to present a different callback information to the recipient of the message. Returns a handle to the call (0 on failure), which can be used to track the delivery of the message. A event of type &#039;msg-sent&#039; indicates the delivery of the message.&lt;br /&gt;
&lt;br /&gt;
===Status Retrieval===&lt;br /&gt;
&lt;br /&gt;
Instead of monitoring calls using the &#039;&#039;Poll&#039;&#039; mechanics, there are some functions to retrieve the current at a certain point in time.&lt;br /&gt;
&lt;br /&gt;
====CallInfo[] Calls(integer session, string user)====&lt;br /&gt;
Returns an array of &#039;&#039;&#039;CallInfo&#039;&#039;&#039; records for the calls currently active at the registration defined by &#039;&#039;user&#039;&#039;.  Please note that this function may be called without having called &#039;&#039;&#039;UserInitialize ()&#039;&#039;&#039; before.  Thus, the call handle information in the &#039;&#039;&#039;CallInfo&#039;&#039;&#039; records returned is meaningless.&lt;br /&gt;
&lt;br /&gt;
====UserInfo[] FindUser(string v501, string v700, string v800, string vx1000, string cn, string h323, string e164, integer count, integer next, boolean nohide)====&lt;br /&gt;
Returns an array of at most &#039;&#039;count&#039;&#039; &#039;&#039;&#039;UserInfo&#039;&#039;&#039; records for the users matching &#039;&#039;cn&#039;&#039;, &#039;&#039;h323&#039;&#039; or &#039;&#039;e164&#039;&#039;. Only one of &#039;&#039;cn&#039;&#039;, &#039;&#039;h323&#039;&#039; and &#039;&#039;e164&#039;&#039; may be specified, except that &#039;&#039;e164&#039;&#039; and &#039;&#039;cn&#039;&#039; may be specified. In this case the number in &#039;&#039;e164&#039;&#039; is interpreted in the Node of the user specified with &#039;&#039;cn&#039;&#039;. The search string will be used as a starting point into the alphabetically sorted list of objects, that is, a search for “&#039;&#039;&#039;A&#039;&#039;&#039;” will yield entries starting with “&#039;&#039;&#039;A&#039;&#039;&#039;” but also – depending on &#039;&#039;count&#039;&#039; – the following entries. Neither search string may be empty. &#039;&#039;v501&#039;&#039;, &#039;&#039;v700&#039;&#039;, &#039;&#039;v800&#039;&#039; and &#039;&#039;vx1000&#039;&#039; must be set to a non-empty value. In case &#039;&#039;cn&#039;&#039; is set to the empty value, &#039;&#039;&#039;FindUser&#039;&#039;&#039; returns results starting from the first object in the PBX.&lt;br /&gt;
&lt;br /&gt;
To call &#039;&#039;&#039;FindUser&#039;&#039;&#039;, no session is required, however, you need a valid HTTP authentication.&lt;br /&gt;
&lt;br /&gt;
Be aware that large values for &#039;&#039;count&#039;&#039; may fail and even crash the PBX.  If you need to retrieve the whole user list, you should be using 20 as  &#039;&#039;count&#039;&#039;, provide the last &#039;&#039;cn&#039;&#039; retrieved as new start cn and loop until &#039;&#039;&#039;FindUser&#039;&#039;&#039; returns no more results, passing &#039;&#039;&#039;true&#039;&#039;&#039; as  value for &#039;&#039;next&#039;&#039; for all but the first calls.&lt;br /&gt;
&lt;br /&gt;
If the parameter &#039;&#039;nohide&#039;&#039; is true, all objects regardless if marked as &#039;&#039;Hide from LDAP&#039;&#039; or not are returned by the &#039;&#039;&#039;FindUser&#039;&#039;&#039; function.&lt;br /&gt;
&lt;br /&gt;
====bool UserFindDestination(integer user, string e164, string h323, out UserInfo user)====&lt;br /&gt;
This function checks if a destination can be reached from a given user by either a given number or a given name. &#039;&#039;user&#039;&#039; is the user handle from which PBX user the searching is started through all PBX nodes up and down. &#039;&#039;e164&#039;&#039; is the number, &#039;&#039;h323&#039;&#039; is a name.&lt;br /&gt;
&lt;br /&gt;
The function returns &#039;&#039;&#039;true&#039;&#039;&#039;, if the number or name is incomplete, otherwise &#039;&#039;&#039;false&#039;&#039;&#039;. If a destination is found, a &#039;&#039;&#039;UserInfo&#039;&#039;&#039; &#039;&#039;user&#039;&#039; is delivered.&lt;br /&gt;
&lt;br /&gt;
No session is required to call &#039;&#039;&#039;UserFindDestination&#039;&#039;&#039;, however, you need a valid HTTP authentication.&lt;br /&gt;
&lt;br /&gt;
====string License(integer session, string name)====&lt;br /&gt;
This function is for internal use only.&lt;br /&gt;
&lt;br /&gt;
====string LocationUrl(string v501, string v700, string v800, string vx1000, string location, bool tls)====&lt;br /&gt;
Returns a string with the HTTP URL for the PBX named location to which a SOAP session can be created. Typically, &#039;&#039;location&#039;&#039; is retrieved from the &#039;&#039;vals&#039;&#039; element of an &#039;&#039;&#039;Info&#039;&#039;&#039; record with &#039;&#039;type&#039;&#039; &#039;&#039;&#039;loc&#039;&#039;&#039; in an &#039;&#039;&#039;UserInfo&#039;&#039;&#039; record.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;location&#039;&#039; needs to be specified as the &#039;&#039;&#039;h323&#039;&#039;&#039; attributes value of the PBX node &#039;&#039;&#039;UserInfo&#039;&#039;&#039; data you are interested in.&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;tls&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, a HTTPS URL is returned.&lt;br /&gt;
&lt;br /&gt;
====string UserLocalNum(int user, string num)====&lt;br /&gt;
Converts a given number &#039;&#039;&#039;num&#039;&#039;&#039; into a number diallable from the location of a specific &#039;&#039;&#039;user&#039;&#039;&#039;. Useful in inter-node scenarios where a destination node number and -extension are known, but the required escape prefix digits are unknown.&lt;br /&gt;
;user:The id of the specified user&lt;br /&gt;
;num:The number to be localized into the spefified user&#039;s location&lt;br /&gt;
;result:The localized number, including escape prefixes&lt;br /&gt;
&lt;br /&gt;
===Administration===&lt;br /&gt;
The SOAP interface can be used for administrational purposes also.  This is done via the Admin call.  All kinds of PBX objects can be created, read or modified. &lt;br /&gt;
&lt;br /&gt;
====string Admin(string xml)====&lt;br /&gt;
&lt;br /&gt;
Sends the administrational command &#039;&#039;xml&#039;&#039; to the PBX.  The command is executed and any result is returned.  &lt;br /&gt;
&lt;br /&gt;
This command allows you to query and modify the PBX object configuration (e.g. to query and set a users call forwarding).  The scope and format of the commands valid for &#039;&#039;xml&#039;&#039; is beyond the scope of this document, however, there is a [[Howto:Using the SOAP Admin Function | separate article on that ]].&lt;br /&gt;
&lt;br /&gt;
To call &#039;&#039;&#039;Admin&#039;&#039;&#039;, no session is required.  However, you must be authenticated as an admin user on the underlying HTTP layer.&lt;br /&gt;
&lt;br /&gt;
[[Howto:Using the SOAP Admin Function]]&lt;br /&gt;
&lt;br /&gt;
==Typical design of a PBX SOAP Application==&lt;br /&gt;
Please refer to the [[Reference:SOAP_API_%28pbx501.wsdl%29#Typical_design_of_a_PBX_SOAP_Application|pbx501.wsdl]] article for a discussion of the typical design of a SOAP application.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://www.innovaphone.com/wsdl/pbx10_00.wsdl Version10-wsdl].&lt;br /&gt;
&lt;br /&gt;
Applications based on this wsdl will work with V10 PBX firmware (and up) only. &lt;br /&gt;
&lt;br /&gt;
Applications written to the previous pbx501.wsdl, pbx700.wsdl and pbx900.wsdl will continue to work with V10 firmware. &lt;br /&gt;
&lt;br /&gt;
For your reference the old version files are still available:&lt;br /&gt;
* [http://www.innovaphone.com/wsdl/pbx501.wsdl Version5-wsdl]&lt;br /&gt;
* [http://www.innovaphone.com/wsdl/pbx700.wsdl Version7-wsdl]&lt;br /&gt;
* [http://www.innovaphone.com/wsdl/pbx900.wsdl Version9-wsdl]&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
Please read [[Howto:Authentication in the SOAP interface]] in case you have problems to authenticate SOAP access.&lt;br /&gt;
&lt;br /&gt;
==System Requirements==&lt;br /&gt;
The PBX SOAP API requires a working PBX.&lt;br /&gt;
&lt;br /&gt;
To work with the PBX API in this version, you must run at least version 7.00 software on your PBX.  Also, you must run at least version 5 software on the phones.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
There is no specific installation required, as the PBX API is integral part of the PBX (although licenses are required to operate the PBX).&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
To prepare an PBX for PBX API testing&lt;br /&gt;
*setup a separate PBX&lt;br /&gt;
*install current firmware (at least 8.00)&lt;br /&gt;
*configure the PBX as usually&lt;br /&gt;
*add an user object called &#039;&#039;&#039;API&#039;&#039;&#039; , define a &#039;&#039;password&#039;&#039; for this object&lt;br /&gt;
*create a new group (e.g. called &#039;&#039;&#039;all users&#039;&#039;&#039;), by adding a group tag to &#039;&#039;&#039;API&#039;&#039;&#039;, make it &#039;&#039;active&#039;&#039;&lt;br /&gt;
*add a similar group tag to all other test users&lt;br /&gt;
*call &#039;&#039;&#039;Initialize()&#039;&#039;&#039; and use &#039;&#039;&#039;API&#039;&#039;&#039; as user and &#039;&#039;&#039;API&#039;&#039;&#039; and its &#039;&#039;password&#039;&#039; as http credentials&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
We have reports that the PBX wsdl is incompatible to some of the contemporary SOAP platforms available in the market.  Most notably, Silverlight and Java seem to be affected.  These problems are fixed in the v11 implementation of the PBX SOAP interface &#039;&#039;pbx11_00.wsdl&#039;&#039; (available at [http://www.innovaphone.com/wsdl/pbx11_00.wsdl www.innovaphone.com/wsdl/pbx11_00.wsdl ]).&lt;br /&gt;
&lt;br /&gt;
Note: This wdsl file is not available directly from the PBX (e.g. at &amp;lt;code&amp;gt;http://xx.xx.xx.xx/pbx11_00.wsdl&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
However, we have had indications that for Java, solutions are possible based on Apache Axis 1.4, Netbeans 6.8 or JAX-RPC.&lt;br /&gt;
&lt;br /&gt;
The PBX does not expect the SOAP client to disconnect the session right after a UserCall.  If this is the case (e.g. in a script which merely creates a call on behalf of a user and then terminates), it might happen that the outgoing call from the device will not be created correctly (a matter of timing).  In this case, just wait for one second.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
:[[Howto:Authentication in the SOAP interface]]&lt;br /&gt;
:[[Howto:Clear a call completely with SOAP using UserClear]]&lt;br /&gt;
:[[Howto:PBX SOAP Api C sample code]]&lt;br /&gt;
:[[Howto:SOAP Api VisualBasic.Net Sample Code]]&lt;br /&gt;
:[[Support:TAPI or other SOAP Application fails to function properly if PBX users have special characters in their long or short user name]]&lt;br /&gt;
:[[Howto:How to monitor configuration changes in the SOAP interface ]]&lt;br /&gt;
:[[Howto:SOAP with PHP5 ]]&lt;br /&gt;
:[[Howto:SOAP API Java Sample Code ]]&lt;br /&gt;
:[[Howto:Using the SOAP Admin Function]]&lt;br /&gt;
&lt;br /&gt;
[http://wiki.innovaphone.com/index.php?search=soap Search for more articles about SOAP]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- keywords: sopa soap --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:Apps/PbxManager/App_Connector_for_Let%27s_Encrypt&amp;diff=76131</id>
		<title>Reference14r1:Apps/PbxManager/App Connector for Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference14r1:Apps/PbxManager/App_Connector_for_Let%27s_Encrypt&amp;diff=76131"/>
		<updated>2025-04-09T11:31:23Z</updated>

		<summary type="html">&lt;p&gt;Sga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Settings ==&lt;br /&gt;
&lt;br /&gt;
;Let&#039;s Encrypt Directory URL: a URL to an ACMEv2 compliant certification service directory&lt;br /&gt;
;Email address: an email address which is used by Let&#039;s Encrypt itself for certificate expiration warning emails&lt;br /&gt;
;Client password: innovaphone Let&#039;s Encrypt clients must have this password configured to be able to create a certificate with this App.  (Access the PBX Manager via https or the native myapps-client to see the &#039;&#039;Copy to Clipboard&#039;&#039; option.)&lt;br /&gt;
;Certificate installation before expiry (days): 30 days before the certificate expires, a new certificate from Let&#039;s Encrypt is requested and kept on standby. By default, this new certificate is installed 3 days before the old certificate expires. However, in some cases, it may be advisable to install the new certificate earlier.&lt;br /&gt;
;Client URL: not configurable, but you can copy this for your innovaphone Let&#039;s Encrypt clients&lt;br /&gt;
;URL for Let&#039;s Encrypt root certificates: not configurable, but you can copy this for your Devices certificates configuration. This URL provides root certificates which are used inside the Let&#039;s Encrypt certificates (without authentication, as these certificates can be downloaded directly from Let&#039;s Encrypt anway).&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
* [[Reference14r1:Concept_Let%27s_Encrypt]]&lt;br /&gt;
* [[Reference14r1:Concept_App_Service_Connector_for_Let%27s_Encrypt]]&lt;br /&gt;
* [[Reference14r1:Services/Letsencrypt]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Apps/PbxManager/App_Connector_for_Let%27s_Encrypt&amp;diff=76130</id>
		<title>Reference15r1:Apps/PbxManager/App Connector for Let&#039;s Encrypt</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Apps/PbxManager/App_Connector_for_Let%27s_Encrypt&amp;diff=76130"/>
		<updated>2025-04-09T11:30:32Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Settings ==&lt;br /&gt;
&lt;br /&gt;
;Let&#039;s Encrypt Directory URL: a URL to an ACMEv2 compliant certification service directory&lt;br /&gt;
;Client password: innovaphone Let&#039;s Encrypt clients must have this password configured to be able to create a certificate with this App. (Access the PBX Manager via https or the native myapps-client to see the &#039;&#039;Copy to Clipboard&#039;&#039; option.)&lt;br /&gt;
;Certificate installation before expiry (days): 30 days before the certificate expires, a new certificate from Let&#039;s Encrypt is requested and kept on standby. By default, this new certificate is installed 3 days before the old certificate expires. However, in some cases, it may be advisable to install the new certificate earlier.&lt;br /&gt;
;Client URL: not configurable, but you can copy this for your innovaphone Let&#039;s Encrypt clients&lt;br /&gt;
;URL for Let&#039;s Encrypt root certificates: not configurable, but you can copy this for your Devices certificates configuration. This URL provides root certificates which are used inside the Let&#039;s Encrypt certificates (without authentication, as these certificates can be downloaded directly from Let&#039;s Encrypt anway).&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_Let%27s_Encrypt]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_App_Service_Connector_for_Let%27s_Encrypt]]&lt;br /&gt;
* [[{{NAMESPACE}}:Services/Letsencrypt]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Supported_innovaphone_versions&amp;diff=76103</id>
		<title>Howto:Supported innovaphone versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Supported_innovaphone_versions&amp;diff=76103"/>
		<updated>2025-04-08T13:54:05Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Special exceptions with Firmware 12r2, 13r3 and 14r1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- unsupported, end of support, end of life, supported firmware, supported versions, maintained versions --&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;span style=&amp;quot;background-color: lightgreen&amp;quot;&amp;gt;As of today (July 2024) we support firmware versions 14r2, 14r1, 13r3 and 12r2.&amp;lt;/span&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: lightgreen&amp;quot;&amp;gt;As of today (March 2025) we support firmware versions 15r1, 14r2 and 13r3.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This article explains the rule behind this.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to all innovaphone products and firmware&lt;br /&gt;
&lt;br /&gt;
== What it means ==&lt;br /&gt;
The firmware described here is being supported by us generally (that is, support tickets may be opened, and we provide new service releases).  However, on specific devices, firmware support may end earlier due to technical restrictions.  See [[Howto:Firmware Upgrade]] for details.&lt;br /&gt;
&lt;br /&gt;
== Basic explanation of the supported versions ==&lt;br /&gt;
&lt;br /&gt;
=== Structure of version numbers ===&lt;br /&gt;
Version numbers are composed as followed: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;(Major Version)&amp;lt;/span&amp;gt;r&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;(Minor Version)&amp;lt;/span&amp;gt;sr&amp;lt;span style=&amp;quot;background-color: lightgreen&amp;quot;&amp;gt;(Service Release)&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
This means for example for &amp;lt;code&amp;gt;13r2sr10&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Major Version: &amp;lt;span style=&amp;quot;background-color: yellow&amp;quot;&amp;gt;13&amp;lt;/span&amp;gt;&lt;br /&gt;
* Minor Version: r&amp;lt;span style=&amp;quot;background-color: orange&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
* Service Release: sr&amp;lt;span style=&amp;quot;background-color: lightgreen&amp;quot;&amp;gt;10&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== General rule for supported versions ===&lt;br /&gt;
&lt;br /&gt;
We support the &amp;lt;code&amp;gt;2 latest minor versions in the latest major version&amp;lt;/code&amp;gt; &#039;&#039;&#039;and&#039;&#039;&#039; the &amp;lt;code&amp;gt;latest minor version in the 3 latest major versions&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Examples &lt;br /&gt;
:If the latest version is 14r1, we support 14r1 as the &amp;lt;code&amp;gt;2 latest minor versions in the latest major version&amp;lt;/code&amp;gt; and 14r1, 13r3, 12r2 as the &amp;lt;code&amp;gt;latest minor version in the 3 latest major versions&amp;lt;/code&amp;gt;.&lt;br /&gt;
:If the latest version is 14r2, we support 14r2 and 14r1 as the &amp;lt;code&amp;gt;2 latest minor versions in the latest major version&amp;lt;/code&amp;gt; and 14r2, 13r3, 12r2 as the &amp;lt;code&amp;gt;latest minor version in the 3 latest major versions&amp;lt;/code&amp;gt;.&lt;br /&gt;
:If the latest version is 15r1, we support 15r1 as the &amp;lt;code&amp;gt;2 latest minor versions in the latest major version&amp;lt;/code&amp;gt; and 15r1, 14r2, 13r3 as the &amp;lt;code&amp;gt;latest minor version in the 3 latest major versions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Special exceptions ====&lt;br /&gt;
As is often the case, there are of course exceptions to every rule. In this case, the exceptions to the above rules are as follows.&lt;br /&gt;
&lt;br /&gt;
* V6 firmware on an IP21 in order to take advantage of the AUX or door interface will continue to be supported. (Support will end at latest once a replacement product featuring a door and AUX interface is released.)&lt;br /&gt;
* TAPI V8.00, latest release&lt;br /&gt;
* Queue Monitor (iQM) V8.00, latest release&lt;br /&gt;
* log2pcap V6.00, latest release&lt;br /&gt;
* Wireshark DLLs V6.00, latest release&lt;br /&gt;
&lt;br /&gt;
===Problems with old versions===&lt;br /&gt;
If you have issues which can not be fixed by changing the configuration, you need to upgrade to a more recent version.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:Firmware Upgrade]]&lt;br /&gt;
* [[Support:End of Life for Linux Application Platform V9.00]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Problem|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_myApps_Assistant&amp;diff=75924</id>
		<title>Reference15r1:Concept App Service myApps Assistant</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_myApps_Assistant&amp;diff=75924"/>
		<updated>2025-03-26T12:18:34Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Assistant App */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
[[Category:Concept App Service myApps Assistant]]&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone from version 15r1&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The myApps Assistant App offers an interface for other apps to access a remote large language model (LLM). This might be a locally hosted open-source model like &#039;&#039;&#039;mixtral&#039;&#039;&#039; or &#039;&#039;&#039;deepseek-r1&#039;&#039;&#039; or a model hosted by providers such as openAI (e.g., gpt-3.5-turbo, gpt-4o...) or mistral  &#039;&#039;&#039;(&#039;&#039;&#039;https://mistral.ai/&#039;&#039;&#039;)&#039;&#039;&#039;. Other apps can integrate the assistant service via the [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm local assistant JavaScript API] in the client and thus offer the response of the LLM.&lt;br /&gt;
&lt;br /&gt;
The service functions as an intermediary and contains a corresponding backend. Therefore, it is required to self-host an LLM Service or possess an account with an external service provider. In the event of the latter, you can configure your API key in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (former PBX Manager Plugin) for this app service, if needed.&lt;br /&gt;
&lt;br /&gt;
Currently, only the openAI API Chat Completions API v1 is implemented (which is also supported by several open source projects e.g. https://ollama.com/), but more API implementations are likely to follow.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-assistant)&#039;&#039; must be installed on the PBX to enable the App for specified users.&lt;br /&gt;
&lt;br /&gt;
The License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Go to the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) and open the &#039;&#039;&#039;&amp;quot;AP app installer&amp;quot;&#039;&#039;&#039; plugin. On the right panel, the App Store will be shown. &#039;&#039;Hint : if you access it for the first time, you will need to accept the &amp;quot;Terms of Use of the innovaphone App Store&amp;quot;&#039;&#039;&lt;br /&gt;
* In the search field located on the top right corner of the store, search for &#039;&#039;&#039;&amp;quot;myApps Assistant&amp;quot;&#039;&#039;&#039; and click on it&lt;br /&gt;
* Select the proper firmware version, for example &#039;&#039;&#039;&amp;quot;Version 15r1&amp;quot;&#039;&#039;&#039; and click on install&lt;br /&gt;
* Tick &amp;quot;I accept the terms of use&amp;quot; and continue by clicking on the install yellow button&lt;br /&gt;
* Wait until the install has been finished&lt;br /&gt;
* Close and reopen the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) again in order to refresh the list of the available colored AP plugin&lt;br /&gt;
* Click on the &#039;&#039;&#039;&amp;quot;AP assistant&amp;quot;&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot; + Add an App&amp;quot;&#039;&#039;&#039; and then on the &#039;&#039;&#039;&amp;quot;Assistant API&amp;quot;&#039;&#039;&#039; button.&lt;br /&gt;
* Enter a &#039;&#039;&#039;&amp;quot;Name&amp;quot;&#039;&#039;&#039; that is used as display name &#039;&#039;(all character allowed)&#039;&#039; for it and the &#039;&#039;&#039;&amp;quot;SIP&amp;quot;&#039;&#039;&#039; name that is the administrative field &#039;&#039;(no space, no capital letters)&#039;&#039;. &#039;&#039;e.g : Name: Assistant API, SIP: assistant-api&#039;&#039;&lt;br /&gt;
* Fill in the fields for &#039;&#039;&#039;&amp;quot;Remote Service URL&amp;quot;&#039;&#039;&#039;,  &#039;&#039;&#039;&amp;quot;LLM Model&amp;quot;&#039;&#039;&#039; and if necessary  &#039;&#039;&#039;&amp;quot;API Key&amp;quot;&#039;&#039;&#039; (for more information about these fields see below)&lt;br /&gt;
* Tick the appropriate template to distribute the App (the app is needed at every user object from any user who wants to use the assistant API)&lt;br /&gt;
* Click OK to save the settings and a green check mark will be shown to inform you that the configuration is good&lt;br /&gt;
If you have the license for the Assistant App you should repeat the above mentioned last five steps for that app (&#039;&#039;&#039;Assistant&#039;&#039;&#039;) too.&lt;br /&gt;
&lt;br /&gt;
== Assistant App ==&lt;br /&gt;
[[File:Reference15r1ConceptAppServiceMyAppsAssistant-AssistantUI-2.png|thumb|600x600px|/Reference15r1ConceptAppServiceMyAppsAssistant-AssistantUI.png]]&lt;br /&gt;
Since version 15r1, the application also offers a user interface, where conversations can be held with the connected large language model. These conversations are stored in a database managed by the service.&lt;br /&gt;
&lt;br /&gt;
There are a few parameters one can manage from within the hamburger menu. These are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Send on Enter&#039;&#039;&#039; - You might choose that option if you want a message to be send to the LLM on pressing ENTER. Alternatively it would be  CTRL+ENTER&lt;br /&gt;
* &#039;&#039;&#039;Don&#039;t use an interface to other apps (no system prompt)&#039;&#039;&#039; - To allow the application access to myApps resources (such as the contacts and connect databases, call list, or the softphone app), a specially designed system prompt is sent to the model at the beginning of each conversation. If you do not require this feature and wish to reduce costs or processing time, you can disable the system prompt by checking the appropriate box.&lt;br /&gt;
* &#039;&#039;&#039;Offline mode (Conversations are stored on your device)&#039;&#039;&#039; - Normally, all your conversations are stored in the central service&#039;s database, which enables you to retrieve them from any device you are logged into. However, if your internet connection is interrupted, you will not be able to access them until the connection is restored. To address this issue, you may choose to store your conversation data on your device, allowing you to access it even without an internet connection. However, you should not enable this feature when using a hardware device that is not your own. If you do, make sure to disable it afterwards to delete any locally stored data. Note that deleting locally stored conversations is not synchronized across all devices if they are all in Offline Mode!&lt;br /&gt;
&lt;br /&gt;
====== Currently implemented myApps features ======&lt;br /&gt;
The Assistant App integrates into the myApps platform and offers services from other apps via the [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant.plugin/com.innovaphone.assistant.plugin.htm local assistant.plugin JavaScript API]. This will be extended and improved in future releases. You may try the following prompts:&lt;br /&gt;
&lt;br /&gt;
* Ask for the number of a contact stored in the contacts database &amp;quot;Can you please find the number of Sarah Sample!&amp;quot;&lt;br /&gt;
* Get information from Connect and Projects* &amp;quot;Please look up #AI in the &#039;&#039;&#039;internal&#039;&#039;&#039; &#039;&#039;&#039;database&#039;&#039;&#039;! Then tell me how we are planning to use it&amp;quot;&lt;br /&gt;
* Get your call list &amp;quot;What are my recent calls?&amp;quot;&lt;br /&gt;
* Calling someone &amp;quot;Can you please call Sarah Sample!&amp;quot;&lt;br /&gt;
* Get the current time and date &amp;quot;What time and data is it right now?&amp;quot;&lt;br /&gt;
* Start a new conversation &amp;quot;Please start a new conversation!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the above mentioned prompts the following APIs should be available to the user:&lt;br /&gt;
&lt;br /&gt;
* com.innovaphone.assistant.plugin&lt;br /&gt;
* com.innovaphone.search&lt;br /&gt;
* com.innovaphone.calllist&lt;br /&gt;
&lt;br /&gt;
For now only keyword search is possible. In order to make the LLM understand that you want to search in Connect and Projects Databases you need to mention that you want to use the &#039;&#039;&#039;internal databases!&#039;&#039;&#039; Better use two sentences to make the LLM understand better. The search results are the same as those you would get from the &#039;&#039;&#039;myApps Search App&#039;&#039;&#039;. Only the first 40 matches of the keywords are considered and from these only the first 10k characters. &lt;br /&gt;
&amp;lt;br&amp;gt;The prompts mentioned above may or may not work depending on the connected large language model. We cannot guarantee that the results will always be satisfactory, but as the application always sends the entire conversation to the model, it is recommended to start a new conversation if different topics are not directly related to each other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The prompts were successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* mixtral-q6-8192&lt;br /&gt;
* mixtral&lt;br /&gt;
* deepseek-r1:14b&lt;br /&gt;
* deepseek-r1:32b&lt;br /&gt;
* deepseek-r1:70b&lt;br /&gt;
* gpt-3.5-turbo&lt;br /&gt;
* gpt-4o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are certainly many more. But currently only models with parameter sizes of more than 14 billion (14b) correctly understood the system prompt. Larger models perform better, but are slower and more expensive.&lt;br /&gt;
[[File:Reference15r1 Concept App Service Assistant App-Config-2.png|thumb|/Reference15r1_Concept_App_Service_Assistant_App-Config.png|/Reference15r1_Concept_App_Service_Assistant_App-Config-2.png]]&lt;br /&gt;
&lt;br /&gt;
== myApps Assistant - App Service ==&lt;br /&gt;
The App Service performs tasks in the following areas:&lt;br /&gt;
* Question relay to an LLM&lt;br /&gt;
* Language recognition&lt;br /&gt;
* Caching&lt;br /&gt;
* Translations using the LLM (not yet fully tested)&lt;br /&gt;
&lt;br /&gt;
It can be configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX Manager App) [[Reference15r1:Apps/PbxManager/App_myApps_Assistant]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to make the app connect to your LLM model provider you need to configure a few fields.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Remote Service URL&#039;&#039;&#039; - The URL where the remote service interacting with the LLM is hosted. If you are using a model hosted by openAI this would probably be: https://api.openai.com/v1/chat/completions&lt;br /&gt;
* &#039;&#039;&#039;LLM (model)&#039;&#039;&#039; - The actual model you intend to use. There are a couple of open source models you could use (mixtral, deepseek-r1:14b...). If you intend to use openAI models this could be something like gpt-3.5-turbo or gpt-4o&lt;br /&gt;
* &#039;&#039;&#039;API -Key&#039;&#039;&#039; - If you are not using a self-hosted model you might need an API-Key in order to make successful HTTP Requests to your provider. This key will be delivered by your LLM provider (e.g. openAI https://platform.openai.com/signup )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Language recognition ===&lt;br /&gt;
An extra library is used to recognize the language used in a string. This recognition is also used for translations to avoid unnecessary translations (e.g. EN to EN translations are prevented). This payload will not be sent to any backend service, thus avoiding unnecessary costs.&amp;lt;br&amp;gt;&lt;br /&gt;
A few features exist which should make sure, a recognized language is only considered, if there is enough confidence:&lt;br /&gt;
* Strings shorter than 6 words are skipped, since the chance for false positives are relatively high&lt;br /&gt;
* Strings in which are not enough word matches to be confident for any language will be skipped, also because of high chances for false positives&lt;br /&gt;
* Strings in which are more than one language with a nearly similar amount of word matches will be skipped&lt;br /&gt;
&lt;br /&gt;
=== Caching ===&lt;br /&gt;
To save costs, all translations are cached in the App Services database. If a string is translated multiple times, only the first translation is carried out by the backend and the translated version is saved in the cache. A second translation is therefore free of charge and performs better.&lt;br /&gt;
&lt;br /&gt;
=== Translations against the backend ===&lt;br /&gt;
Translation requests that cannot be handled by the local cache are forwarded to the configured translation backend, which is the LLM (there is only one) you configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (former PBX Manager Plugin). After successful translation, the translated version is kept in the cache for future requests. Currently no myApps applications are using the API [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm local assistant JavaScript API] for translations. But developers may use it if a LLM is configured and no extra service provider should be used.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
To troubleshoot this App Service, you need the traceflags &#039;&#039;App&#039;&#039;, &#039;&#039;Database&#039;&#039;, &#039;&#039;HTTP-Client&#039;&#039; in your App instance.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm SDK Documentation - Assistant API]&lt;br /&gt;
* [[Howto:Setup a LLM Server]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_myApps_Assistant&amp;diff=75923</id>
		<title>Reference15r1:Concept App Service myApps Assistant</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_App_Service_myApps_Assistant&amp;diff=75923"/>
		<updated>2025-03-26T12:13:43Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Licensing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
[[Category:Concept App Service myApps Assistant]]&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone from version 15r1&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The myApps Assistant App offers an interface for other apps to access a remote large language model (LLM). This might be a locally hosted open-source model like &#039;&#039;&#039;mixtral&#039;&#039;&#039; or &#039;&#039;&#039;deepseek-r1&#039;&#039;&#039; or a model hosted by providers such as openAI (e.g., gpt-3.5-turbo, gpt-4o...) or mistral  &#039;&#039;&#039;(&#039;&#039;&#039;https://mistral.ai/&#039;&#039;&#039;)&#039;&#039;&#039;. Other apps can integrate the assistant service via the [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm local assistant JavaScript API] in the client and thus offer the response of the LLM.&lt;br /&gt;
&lt;br /&gt;
The service functions as an intermediary and contains a corresponding backend. Therefore, it is required to self-host an LLM Service or possess an account with an external service provider. In the event of the latter, you can configure your API key in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (former PBX Manager Plugin) for this app service, if needed.&lt;br /&gt;
&lt;br /&gt;
Currently, only the openAI API Chat Completions API v1 is implemented (which is also supported by several open source projects e.g. https://ollama.com/), but more API implementations are likely to follow.&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-assistant)&#039;&#039; must be installed on the PBX to enable the App for specified users.&lt;br /&gt;
&lt;br /&gt;
The License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Go to the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) and open the &#039;&#039;&#039;&amp;quot;AP app installer&amp;quot;&#039;&#039;&#039; plugin. On the right panel, the App Store will be shown. &#039;&#039;Hint : if you access it for the first time, you will need to accept the &amp;quot;Terms of Use of the innovaphone App Store&amp;quot;&#039;&#039;&lt;br /&gt;
* In the search field located on the top right corner of the store, search for &#039;&#039;&#039;&amp;quot;myApps Assistant&amp;quot;&#039;&#039;&#039; and click on it&lt;br /&gt;
* Select the proper firmware version, for example &#039;&#039;&#039;&amp;quot;Version 15r1&amp;quot;&#039;&#039;&#039; and click on install&lt;br /&gt;
* Tick &amp;quot;I accept the terms of use&amp;quot; and continue by clicking on the install yellow button&lt;br /&gt;
* Wait until the install has been finished&lt;br /&gt;
* Close and reopen the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX manager) again in order to refresh the list of the available colored AP plugin&lt;br /&gt;
* Click on the &#039;&#039;&#039;&amp;quot;AP assistant&amp;quot;&#039;&#039;&#039; and click on &#039;&#039;&#039;&amp;quot; + Add an App&amp;quot;&#039;&#039;&#039; and then on the &#039;&#039;&#039;&amp;quot;Assistant API&amp;quot;&#039;&#039;&#039; button.&lt;br /&gt;
* Enter a &#039;&#039;&#039;&amp;quot;Name&amp;quot;&#039;&#039;&#039; that is used as display name &#039;&#039;(all character allowed)&#039;&#039; for it and the &#039;&#039;&#039;&amp;quot;SIP&amp;quot;&#039;&#039;&#039; name that is the administrative field &#039;&#039;(no space, no capital letters)&#039;&#039;. &#039;&#039;e.g : Name: Assistant API, SIP: assistant-api&#039;&#039;&lt;br /&gt;
* Fill in the fields for &#039;&#039;&#039;&amp;quot;Remote Service URL&amp;quot;&#039;&#039;&#039;,  &#039;&#039;&#039;&amp;quot;LLM Model&amp;quot;&#039;&#039;&#039; and if necessary  &#039;&#039;&#039;&amp;quot;API Key&amp;quot;&#039;&#039;&#039; (for more information about these fields see below)&lt;br /&gt;
* Tick the appropriate template to distribute the App (the app is needed at every user object from any user who wants to use the assistant API)&lt;br /&gt;
* Click OK to save the settings and a green check mark will be shown to inform you that the configuration is good&lt;br /&gt;
If you have the license for the Assistant App you should repeat the above mentioned last five steps for that app (&#039;&#039;&#039;Assistant&#039;&#039;&#039;) too.&lt;br /&gt;
&lt;br /&gt;
== Assistant App ==&lt;br /&gt;
[[File:Reference15r1ConceptAppServiceMyAppsAssistant-AssistantUI-2.png|thumb|600x600px|/Reference15r1ConceptAppServiceMyAppsAssistant-AssistantUI.png]]&lt;br /&gt;
Since version 15r1, the application also offers a user interface, where conversations can be held with the connected large language model. These conversations are stored in a database managed by the service.&lt;br /&gt;
&lt;br /&gt;
There are a few parameters one can manage from within the hamburger menu. These are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Send on Enter&#039;&#039;&#039; - You might choose that option if you want a message to be send to the LLM on pressing ENTER. Alternatively it would be  CTRL+ENTER&lt;br /&gt;
* &#039;&#039;&#039;Don&#039;t use an interface to other apps (no system prompt)&#039;&#039;&#039; - To allow the application access to myApps resources (such as the contacts and connect databases, call list, or the softphone app), a specially designed system prompt is sent to the model at the beginning of each conversation. If you do not require this feature and wish to reduce costs or processing time, you can disable the system prompt by checking the appropriate box.&lt;br /&gt;
* &#039;&#039;&#039;Offline mode (Conversations are stored on your device)&#039;&#039;&#039; - Normally, all your conversations are stored in the central service&#039;s database, which enables you to retrieve them from any device you are logged into. However, if your internet connection is interrupted, you will not be able to access them until the connection is restored. To address this issue, you may choose to store your conversation data on your device, allowing you to access it even without an internet connection. However, you should not enable this feature when using a hardware device that is not your own. If you do, make sure to disable it afterwards to delete any locally stored data. Note that deleting locally stored conversations is not synchronized across all devices if they are all in Offline Mode!&lt;br /&gt;
&lt;br /&gt;
====== Currently implemented myApps features ======&lt;br /&gt;
The Assistant App integrates into the myApps platform and offers services from other apps via the [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant.plugin/com.innovaphone.assistant.plugin.htm local assistant.plugin JavaScript API]. This will be extended and improved in future releases. You may try the following prompts:&lt;br /&gt;
&lt;br /&gt;
* Ask for the number of a contact stored in the contacts database &amp;quot;Can you please find the number of Sarah Sample!&amp;quot;&lt;br /&gt;
* Get information from Connect and Projects* &amp;quot;Please look up #AI in the &#039;&#039;&#039;internal&#039;&#039;&#039; &#039;&#039;&#039;database&#039;&#039;&#039;! Then tell me how we are planning to use it&amp;quot;&lt;br /&gt;
* Get your call list &amp;quot;What are my recent calls?&amp;quot;&lt;br /&gt;
* Calling someone &amp;quot;Can you please call Sarah Sample!&amp;quot;&lt;br /&gt;
* Get the current time and date &amp;quot;What time and data is it right now?&amp;quot;&lt;br /&gt;
* Start a new conversation &amp;quot;Please start a new conversation!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the above mentioned prompts the following APIs should be available to the user:&lt;br /&gt;
&lt;br /&gt;
* com.innovaphone.assistant.plugin&lt;br /&gt;
* com.innovaphone.search&lt;br /&gt;
* com.innovaphone.calllist&lt;br /&gt;
&lt;br /&gt;
For now only keyword search is possible. In order to make the LLM understand that you want to search in Connect and Projects Databases you need to mention that you want to use the &#039;&#039;&#039;internal databases!&#039;&#039;&#039; Better use two sentences to make the LLM understand better. The search results are the same as those you would get from the &#039;&#039;&#039;myApps Search App&#039;&#039;&#039;. Only the first 40 matches of the keywords are considered and from these only the first 10k characters. In future versions we will implement a semantic search in order to improve the search performance.&lt;br /&gt;
&amp;lt;br&amp;gt;The prompts mentioned above may or may not work depending on the connected large language model. We cannot guarantee that the results will always be satisfactory, but as the application always sends the entire conversation to the model, it is recommended to start a new conversation if different topics are not directly related to each other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The prompts were successfully tested on the following models:&lt;br /&gt;
&lt;br /&gt;
* mixtral-q6-8192&lt;br /&gt;
* mixtral&lt;br /&gt;
* deepseek-r1:14b&lt;br /&gt;
* deepseek-r1:32b&lt;br /&gt;
* deepseek-r1:70b&lt;br /&gt;
* gpt-3.5-turbo&lt;br /&gt;
* gpt-4o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are certainly many more. But currently only models with parameter sizes of more than 14 billion (14b) correctly understood the system prompt. Larger models perform better, but are slower and more expensive.&lt;br /&gt;
[[File:Reference15r1 Concept App Service Assistant App-Config-2.png|thumb|/Reference15r1_Concept_App_Service_Assistant_App-Config.png|/Reference15r1_Concept_App_Service_Assistant_App-Config-2.png]]&lt;br /&gt;
&lt;br /&gt;
== myApps Assistant - App Service ==&lt;br /&gt;
The App Service performs tasks in the following areas:&lt;br /&gt;
* Question relay to an LLM&lt;br /&gt;
* Language recognition&lt;br /&gt;
* Caching&lt;br /&gt;
* Translations using the LLM (not yet fully tested)&lt;br /&gt;
&lt;br /&gt;
It can be configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (PBX Manager App) [[Reference15r1:Apps/PbxManager/App_myApps_Assistant]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to make the app connect to your LLM model provider you need to configure a few fields.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Remote Service URL&#039;&#039;&#039; - The URL where the remote service interacting with the LLM is hosted. If you are using a model hosted by openAI this would probably be: https://api.openai.com/v1/chat/completions&lt;br /&gt;
* &#039;&#039;&#039;LLM (model)&#039;&#039;&#039; - The actual model you intend to use. There are a couple of open source models you could use (mixtral, deepseek-r1:14b...). If you intend to use openAI models this could be something like gpt-3.5-turbo or gpt-4o&lt;br /&gt;
* &#039;&#039;&#039;API -Key&#039;&#039;&#039; - If you are not using a self-hosted model you might need an API-Key in order to make successful HTTP Requests to your provider. This key will be delivered by your LLM provider (e.g. openAI https://platform.openai.com/signup )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Language recognition ===&lt;br /&gt;
An extra library is used to recognize the language used in a string. This recognition is also used for translations to avoid unnecessary translations (e.g. EN to EN translations are prevented). This payload will not be sent to any backend service, thus avoiding unnecessary costs.&amp;lt;br&amp;gt;&lt;br /&gt;
A few features exist which should make sure, a recognized language is only considered, if there is enough confidence:&lt;br /&gt;
* Strings shorter than 6 words are skipped, since the chance for false positives are relatively high&lt;br /&gt;
* Strings in which are not enough word matches to be confident for any language will be skipped, also because of high chances for false positives&lt;br /&gt;
* Strings in which are more than one language with a nearly similar amount of word matches will be skipped&lt;br /&gt;
&lt;br /&gt;
=== Caching ===&lt;br /&gt;
To save costs, all translations are cached in the App Services database. If a string is translated multiple times, only the first translation is carried out by the backend and the translated version is saved in the cache. A second translation is therefore free of charge and performs better.&lt;br /&gt;
&lt;br /&gt;
=== Translations against the backend ===&lt;br /&gt;
Translation requests that cannot be handled by the local cache are forwarded to the configured translation backend, which is the LLM (there is only one) you configured in the &#039;&#039;&#039;Settings App&#039;&#039;&#039; (former PBX Manager Plugin). After successful translation, the translated version is kept in the cache for future requests. Currently no myApps applications are using the API [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm local assistant JavaScript API] for translations. But developers may use it if a LLM is configured and no extra service provider should be used.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
To troubleshoot this App Service, you need the traceflags &#039;&#039;App&#039;&#039;, &#039;&#039;Database&#039;&#039;, &#039;&#039;HTTP-Client&#039;&#039; in your App instance.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [https://sdk.innovaphone.com/15r1/web1/com.innovaphone.assistant/com.innovaphone.assistant.htm SDK Documentation - Assistant API]&lt;br /&gt;
* [[Howto:Setup a LLM Server]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_Software_Rental&amp;diff=75846</id>
		<title>Reference13r2:Concept Software Rental</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_Software_Rental&amp;diff=75846"/>
		<updated>2025-03-24T09:12:51Z</updated>

		<summary type="html">&lt;p&gt;Sga: /* Known Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The software rental may include all the innovaphone software licenses indicated in the price list. &lt;br /&gt;
The rental fee is charged via the so-called iSC (innovaphone service credits), managed in the respective customer account. iSC can be purchased through an authorized innovaphone partner.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone PBX from version 13r2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* innovaphone PBX version 13r2&lt;br /&gt;
* a running App Platform and access to the Devices App&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rental program and Payment method==&lt;br /&gt;
innovaphone uses iSC (innovaphone Service Credits) as a payment method for the flexible rental program. The iSC are bound on a customer specific account. As soon as a software license is activated for renting, the account balance starts decreasing, in function of the given rental configuration.&lt;br /&gt;
* iSC can be ordered via the innovaphone sales channel and are managed through the myApps Platform. The delivery is realized in form of an activation key. Then iSC are loaded through the Devices App to a specific customer account. The customer account is logically connected to the my.innovaphone license portal. The rental licenses however, are managed exclusively via the Devices App.&lt;br /&gt;
* iSC are not bound to specific software licenses or devices, but to a customer account. Existing iSC balances can therefore be used flexibly, by the same customer, to rent other licenses or services.&lt;br /&gt;
* The rental program is operational, as long as a positive iSC balance is available on the customer account. The rental does terminate immediately when the iSC balance becomes zero. A negative iSC balance is not accepted.&lt;br /&gt;
* Starting 7 weeks before a customer will run out of iSC, a weekly alert email will remind the administrator to recharge the customer account with iSC. This feature has to be activated in the domain settings, &amp;lt;Edit&amp;gt; tab, by entering an email address in the field &amp;lt;E-mail address(es) for warning of rental expiration&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Software Rental Program====&lt;br /&gt;
This program can apply to two different scenarios (with a different pricing):&lt;br /&gt;
* software operated on devices at the customer&#039;s premises.&amp;lt;br /&amp;gt;This could eventually be the innovaphone PBX software, conferencing licenses, etc. installed on innovaphone hardware (a Gateway, such as IP3011) or a private virtual machine (IPVA) on a customer owned server, typically operated at the customers&#039; location.&lt;br /&gt;
* software operated within the myApps Cloud Service, a cloud platform operated by innovaphone.&amp;lt;br /&amp;gt;In this case an innovaphone PBX software, conferencing licenses, etc. are operated within the innovaphone cloud platform.  &lt;br /&gt;
&lt;br /&gt;
====Hardware licenses====&lt;br /&gt;
* Eventually needed Hardware licenses (e.g. channel licenses) have to be bound on the specific device in my.innovaphone itself (currently this is not be handled within the Devices App). Those need to be downloaded from my.innovaphone and on the device with the already known methods.&lt;br /&gt;
&lt;br /&gt;
====Technical aspects====&lt;br /&gt;
The rental duration is calculated on each license or balance change in the domain. Consequently, after each change in the configuration new licenses, with a new duration are transferred to the gateways and also stored in the Devices App itself.&lt;br /&gt;
If the rental expires, the gateway reboots and the licenses are not operational anymore.&lt;br /&gt;
The licenses are also transferred after each reconnect of a gateway to the Devices App.&lt;br /&gt;
 Remarks:&lt;br /&gt;
 * For license and balance changes, the Devices App must be online and have access to my.innovaphone.com!&lt;br /&gt;
&lt;br /&gt;
====FAQ====&lt;br /&gt;
* &#039;&#039;&#039;Question:&#039;&#039;&#039; Is it possible to divide a given activation key (e.g. containing 1000 iSC) and charge various customer accounts?&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Answer:&#039;&#039;&#039; YES, this is possible!&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Proceed like this:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
(1) Open [http://my.innovaphone.com my.innpvaphone.com] and click on the &amp;quot;Licenses&amp;quot; tab.&amp;lt;br /&amp;gt;&lt;br /&gt;
(2) Following, select your project under &amp;quot;Projects&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
(3) Press &amp;quot;Add&amp;quot; and paste the given activation key. Then press &amp;lt;Next&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
(4) The iSC value, contained in the given activation key, is displayed. Press &amp;lt;OK&amp;gt; to bind this iSC value to your own balance.&amp;lt;br /&amp;gt;&lt;br /&gt;
(5) Via the tab &amp;quot;Own Activations&amp;quot; followed by &amp;quot;Create&amp;quot;, new activation keys can be created, until the balance is zero.&amp;lt;br /&amp;gt;&lt;br /&gt;
(6) For further information, please refer to the article [http://wiki.innovaphone.com/index.php?title=Reference:My_Innovaphone Reference:My Innovaphone].&lt;br /&gt;
&lt;br /&gt;
==Activation==&lt;br /&gt;
The procedure for the activation of Software Rental is nearly identical, for both previously mentioned scenarios.&lt;br /&gt;
* In the devices App, select the domain for which rental will be activated.&lt;br /&gt;
* Select the tab “Software Rental”&lt;br /&gt;
* If you already have a my.innovaphone account, please enter username and password, and press &amp;lt;Login&amp;gt;.&lt;br /&gt;
In case you do not have a my.innovaphone account, please click on the link to the portal my.innovaphone to create a new account.&lt;br /&gt;
* If you didn&#039;t conclude a software rental contract yet, the Devices App will tell you so and you can conclude such a contract inside the portal my.innovaphone &lt;br /&gt;
* After you have concluded a contract, innovaphone must first approve this contract. If the contract is approved, you will receive an email.&lt;br /&gt;
* Finally, reopen the software rental tab and you will be able to start renting software.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Charge iSC Account Balance==&lt;br /&gt;
===Charging manually===&lt;br /&gt;
* Press the button &amp;lt;Charge Balance&amp;gt;.&amp;lt;br /&amp;gt; [[Image:Ref13r1ConceptSwRental Charge01.png]]&lt;br /&gt;
&lt;br /&gt;
* Paste the activation-key and press &amp;lt;Check&amp;gt; to verify its validity.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Charge03.png]]&lt;br /&gt;
&lt;br /&gt;
* If the activation-key contains the expected iSC value, proceed by charging the value onto your customer account.&amp;lt;br /&amp;gt; [[Image:Ref13r1ConceptSwRental_Charge04.png]]&lt;br /&gt;
&lt;br /&gt;
* The new balance appears in the menu. Eventually prior activated software licenses are deducted immediately.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Charge05.png]]&lt;br /&gt;
&lt;br /&gt;
* An additional information field is indicating the monthly consumption of iSC, based on the rented software licenses (configuration below).&amp;lt;br /&amp;gt;In addition, the possible operation period is displayed, calculated on the given iSC balance.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Charge06.png]]&lt;br /&gt;
&lt;br /&gt;
 Remarks:&lt;br /&gt;
 * The rental costs are deducted in seconds, starting from the moment of activation. If no iSC&amp;lt;br /&amp;gt;  are loaded into the customer iSC account, the operation of the rented installation will not&amp;lt;br /&amp;gt;  initiate or be discontinued automatically.&lt;br /&gt;
&lt;br /&gt;
===Charging automatically===&lt;br /&gt;
For the convenience of our users, innovaphone implemented an iSC Reloading Service, which will - when necessary - automatically recharge the balance. In this case, automatically an invoice is being generated and sent to the partner.&lt;br /&gt;
* Details please check: [http://wiki.innovaphone.com/index.php?title=Howto:V13_Activate_Automatic-iSC-Reloading-Service Howto:V13 Activate Automatic-iSC-Reloading-Service] &lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
* In the first step, use the drop-down menu, to select the PBX for “software rental” operations, and press &amp;lt;Add to rent&amp;gt;.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config01.pngRef13r1ConceptSwRental_Config01.png]]&lt;br /&gt;
&lt;br /&gt;
* Select the required software licenses, jointly with amount of licenses needed (e.g. Port-Lic x 25, UC-Lic x 25, etc.). Beneath each license item, the corresponding charges in iSC per month are displayed. To add this license to the PBX press &amp;lt;Add license&amp;gt;.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config01.pngRef13r1ConceptSwRental_Config03.png]]&lt;br /&gt;
&lt;br /&gt;
* The areas and values marked with yellow color indicate the changes, compared to the prior configuration. Thus, it is possible to see the consumption preview per PBX (important, in case there are more than one PBXs) and the total consumption preview for the entire account.&amp;lt;br /&amp;gt;- Further licenses can be included by pressing &amp;lt;Add license&amp;gt;&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config04.png]]&lt;br /&gt;
&lt;br /&gt;
* To finalize the configuration, when all required software licenses have been configured, press &amp;lt;Apply&amp;gt;&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config05.png]]&lt;br /&gt;
&lt;br /&gt;
* Please verify, the monthly iSC consumption, for the newly created software renting configuration. To accept and activate the charging of the iSC balance, press &amp;lt;Change with costs&amp;gt;.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config06.png]]&lt;br /&gt;
&lt;br /&gt;
* The software configuration of this PBX is activated successfully. The new monthly iSC consumption is displayed, beneath the PBX name.&amp;lt;br /&amp;gt;The iSC account balance is decreasing, in accordance with the configured iSC charges. The calculation is made on a per second basis.&amp;lt;br /&amp;gt;[[Image:Ref13r1ConceptSwRental_Config07.png]]&lt;br /&gt;
&lt;br /&gt;
==Rental history==&lt;br /&gt;
Beside the possibility to download the history through the Devices App UI, there is an [[ Reference13r1:Concept_App_Service_Devices#API_to_download_rental_history|API ]] for automated downloads.&lt;br /&gt;
&lt;br /&gt;
==Mix of rental and purchased licenses==&lt;br /&gt;
See [[ Reference:My_Innovaphone#Mix_of_rental_and_purchased_licenses|Mix of rental and purchased licenses ]]&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Reinstall of the PBX or Devices App===&lt;br /&gt;
Currently the leased licenses are bound to the PBX only when clicked on the confirmation button &#039;&#039;&amp;quot;Chargeable change&amp;quot;/&amp;quot;Kostenpflichtig ändern&amp;quot;&#039;&#039;. If the PBX has to be reinstalled you need to edit rental licenses and then click on this button to load the rental licenses in the PBX again&lt;br /&gt;
&lt;br /&gt;
===No mixed licenses===&lt;br /&gt;
If you have licenses of different versions you can only use the software of the smallest version. As well please be aware if you have software rental licenses of v13 and the PBX receives from another device v12 licenses that this causes problems. &lt;br /&gt;
&lt;br /&gt;
===No Sysclient2===&lt;br /&gt;
Devices with Rental-licenses may not be configured with the second (hidden) sysclient-url (AdvancedUI -&amp;gt; Maintenance/Diagnostics/Config show -&amp;gt; config change SYSCLIENT2) as there can only be one source for Rental-licenses.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
If the renewal of the licenses does not work as expected, reproduce the error and create a trace of the Devices-App using App, DNS and Http-Client trace options.&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Sga</name></author>
	</entry>
</feed>