<?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=Ani</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=Ani"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Ani"/>
	<updated>2026-05-09T09:06:42Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:MyApps_Plugin_for_Virtual_Desktops&amp;diff=70364</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=70364"/>
		<updated>2023-12-18T14:48:52Z</updated>

		<summary type="html">&lt;p&gt;Ani: &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;
Innovaphone provides a solution for this problem with the RCC-App but there are still some limitations:&lt;br /&gt;
&lt;br /&gt;
- Admin must configure a Softphone and a RCC-App for the user.&lt;br /&gt;
&lt;br /&gt;
- myApps must be installed at the terminal client for the Softphone App which the RCC-App will control and the user must log in at the terminal client too.&lt;br /&gt;
&lt;br /&gt;
- Configuration of the Softphone (Call-Waiting, Video, ...) happens at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- Management of the audio devices takes place at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support video. The Softphone App does. If the user wants video, he starts or receives the call with the RCC-App but he must switch to the Softphone App.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support appSharing. User could share a local application with the Softphone App or even the local desktop in order to show the remote desktop.&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 and to offer a solution for the limitations of the RCC-App.&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;
&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, WMware) 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;
&lt;br /&gt;
The myApps Plugin must be installed or deployed at the terminal client but it does not require any configuration.&lt;br /&gt;
&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;
- 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 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;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto14r1:Set_up_the_MyApps_Plugin_for_Virtual_Desktops&amp;diff=70240</id>
		<title>Howto14r1:Set up the MyApps Plugin for Virtual Desktops</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto14r1:Set_up_the_MyApps_Plugin_for_Virtual_Desktops&amp;diff=70240"/>
		<updated>2023-12-14T08:51:36Z</updated>

		<summary type="html">&lt;p&gt;Ani: Created page with &amp;quot;&amp;lt;!-- Keywords: VDI,plugin, myApps, 14r1 --&amp;gt; Set up the MyApps Plugin for Virtual Desktops  This article explains all necessary steps to set up the MyApps Plugin for Virtual Desktops ==Applies To== This information applies to any PBX/AP system since &amp;#039;&amp;#039;&amp;#039;14r1&amp;#039;&amp;#039;&amp;#039;.  ==steps== Download the latest myApps plugin for Virtual desktops from our [https://store.innovaphone.com/ store]  Always install the latest version. The plugin is not dependent on the myApps cli...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Keywords: VDI,plugin, myApps, 14r1 --&amp;gt;&lt;br /&gt;
[[Category:Howto|Set up the MyApps Plugin for Virtual Desktops]]&lt;br /&gt;
&lt;br /&gt;
This article explains all necessary steps to set up the MyApps Plugin for Virtual Desktops&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to any PBX/AP system since &#039;&#039;&#039;14r1&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==steps==&lt;br /&gt;
Download the latest myApps plugin for Virtual desktops from our [https://store.innovaphone.com/ store]&lt;br /&gt;
&lt;br /&gt;
Always install the latest version. The plugin is not dependent on the myApps client, and when updating myApps, it will not be automatically updated, so please&lt;br /&gt;
always install the latest version.&lt;br /&gt;
&lt;br /&gt;
Run the installer and install the plugin, it will work &amp;quot;out of the box&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Related articles==&lt;br /&gt;
[[Reference14r1:MyApps_Plugin_for_Virtual_Desktops]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:MyApps_Plugin_for_Virtual_Desktops&amp;diff=70239</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=70239"/>
		<updated>2023-12-14T08:09:45Z</updated>

		<summary type="html">&lt;p&gt;Ani: &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;
Innovaphone provides a solution for this problem with the RCC-App but there are still some limitations:&lt;br /&gt;
&lt;br /&gt;
- Admin must configure a Softphone and a RCC-App for the user.&lt;br /&gt;
&lt;br /&gt;
- myApps must be installed at the terminal client for the Softphone App which the RCC-App will control and the user must log in at the terminal client too.&lt;br /&gt;
&lt;br /&gt;
- Configuration of the Softphone (Call-Waiting, Video, ...) happens at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- Management of the audio devices takes place at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support video. The Softphone App does. If the user wants video, he starts or receives the call with the RCC-App but he must switch to the Softphone App.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support appSharing. User could share a local application with the Softphone App or even the local desktop in order to show the remote desktop.&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 and to offer a solution for the limitations of the RCC-App.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r1&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, WMware) 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;
&lt;br /&gt;
The myApps Plugin must be installed or deployed at the terminal client but it does not require any configuration.&lt;br /&gt;
&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;
- 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;
&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;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference14r1:MyApps_Plugin_for_Virtual_Desktops&amp;diff=69548</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=69548"/>
		<updated>2023-11-09T13:56:52Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
 This product is currently in Beta. It is not officially released yet.&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;
Innovaphone provides a solution for this problem with the RCC-App but there are still some limitations:&lt;br /&gt;
&lt;br /&gt;
- Admin must configure a Softphone and a RCC-App for the user.&lt;br /&gt;
&lt;br /&gt;
- myApps must be installed at the terminal client for the Softphone App which the RCC-App will control and the user must log in at the terminal client too.&lt;br /&gt;
&lt;br /&gt;
- Configuration of the Softphone (Call-Waiting, Video, ...) happens at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- Management of the audio devices takes place at the terminal client.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support video. The Softphone App does. If the user wants video, he starts or receives the call with the RCC-App but he must switch to the Softphone App.&lt;br /&gt;
&lt;br /&gt;
- RCC-App does not support appSharing. User could share a local application with the Softphone App or even the local desktop in order to show the remote desktop.&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 and to offer a solution for the limitations of the RCC-App.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
* innovaphone PBX from version 14r1&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, WMware) 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;
&lt;br /&gt;
The myApps Plugin must be installed or deployed at the terminal client but it does not require any configuration.&lt;br /&gt;
&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;
- 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;
&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;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_myApps&lt;br /&gt;
* https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_SoftphoneApp&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Convert_G711_files_in_to_WAV_files&amp;diff=68603</id>
		<title>Howto:Convert G711 files in to WAV files</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Convert_G711_files_in_to_WAV_files&amp;diff=68603"/>
		<updated>2023-09-20T08:36:59Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes how to convert G711 files recorded by innovaphone devices to WAV files.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
&lt;br /&gt;
G711A and G711U files created by innovaphone devices.&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
The G711 files created by innovaphone devices (WEBMEDIA) are header-less raw PCM files. To be able to play this files on most audio players, you will need to convert them into WAV files. This can be done using open source audio file converter SoX.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
The [https://sourceforge.net/projects/sox/files/sox/14.4.2/ SoX - Sound eXchange] is an open source (GPL) tool. Download and install it.&lt;br /&gt;
&lt;br /&gt;
Here an example using SoX to convert a RAW G711A file to PCM ALAW WAV file:&lt;br /&gt;
 sox --channels 1 --type raw --rate 8000 -A input_file.g711a output_file.wav&lt;br /&gt;
&lt;br /&gt;
For G711U files replace the parameter &amp;lt;code&amp;gt;-A&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;-U&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you must convert big amount of files, try the DOS batch script in the download section.&lt;br /&gt;
&lt;br /&gt;
Newer versions of sox need another syntax, like this:&lt;br /&gt;
 sox --channels 1 --type raw --rate 8000 -e a-law input_file.g711a output_file.wav&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
The output file name extension must be &amp;lt;code&amp;gt;.wav&amp;lt;/code&amp;gt;, otherwise SoX can not detect output file format.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
*[https://sourceforge.net/projects/sox/files/sox/14.4.2/ Download SoX executable for Win32 from sourceforge.net)]&lt;br /&gt;
*[http://wiki.innovaphone.com/index.php?title=Howto:Wiki_Sources#g711towav Download] a script for drag and drop batch conversion of G711 files to WAV files.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Howto:Convert_wave_files_in_to_G7xx_coder_files]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Convert wave files to G7xxx with softcode]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66656</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66656"/>
		<updated>2023-03-27T07:28:34Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app.&lt;br /&gt;
&lt;br /&gt;
If you want to make a note and you don&#039;t have your hands free e.g. when driving a car, using an App like the ToDoList could be problematic or even dangerous. That&#039;s why an audio note is useful, you just speak the note. The notes can be recorded with any device and played back and deleted from anywhere.&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
To record a message, you call the service, hear a &amp;quot;beep&amp;quot; and record the note simply speaking. The length is limited to 50 seconds per note, to end the recording simply hang up.&lt;br /&gt;
&lt;br /&gt;
The service can either be called directly, e.g. with a function key on the phone or by saving the number as a favorite, or by pressing the recording voice note symbol (3) on the myApps homepage. &lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_rec.png‎]]&lt;br /&gt;
&lt;br /&gt;
1 =  App to play the Voice Note&lt;br /&gt;
&lt;br /&gt;
2 = Batch Counter (in the example one new Voice Note stored)&lt;br /&gt;
&lt;br /&gt;
3 = App to record the Voice Note&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a note is recorded, the batch counter increases for the corresponding VM app (2). Voice Notes are accessed in the same way as voicemail messages (1).&lt;br /&gt;
To listen to or delete the message use the VM App. Instead of the phone number, the text &amp;quot;VoiceNote&amp;quot; is shown in the number field.&lt;br /&gt;
&lt;br /&gt;
In the example there are 3 voice notes, the first one has not yet been listened to (green bar on the left).&lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_play.png‎]]  &lt;br /&gt;
&lt;br /&gt;
The service does not require a license and can also be operated in parallel with a voicemail. In this case there are two icons on the home screen and the service can be recognized by the label.&lt;br /&gt;
&lt;br /&gt;
External access, e.g. with DID, is not intended and is prevented by the system. Your notes are protected and can only be accessed via your myApps.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
In fact, you call an XML script which plays a beep and then starts recording. The file is stored in a VM directory in VM format. This allows the regular VM app to access directly and also the batch conter will work automatically. The XML script itself can be called directly, but numbers outside the PBX are not accepted. The solution also includes an icon with which a link can be created directly on the homepage (3). This allows the service to be called directly.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the Voice-Note-main.zip/Voice-Note-main/VoiceNote file in the custom folder (in the custom folder, only the .XML file and the beep.codec file must be pasted, vm_files fodler will be automatically created.&lt;br /&gt;
&lt;br /&gt;
[[Image:VoiceNotefolderstructure.JPG]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicenote/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicenote/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicenote is used in this example, but you need to configure the correct Voicemail instance name there (for example, in the previous image, the instance name was &amp;quot;voicenote&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Access via the icon does not work with the browser, so only with Windows, MacOS, Android or iOS (recording dailing the number works always).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#Voice-Note | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66655</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66655"/>
		<updated>2023-03-27T07:27:02Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app.&lt;br /&gt;
&lt;br /&gt;
If you want to make a note and you don&#039;t have your hands free e.g. when driving a car, using an App like the ToDoList could be problematic or even dangerous. That&#039;s why an audio note is useful, you just speak the note. The notes can be recorded with any device and played back and deleted from anywhere.&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
To record a message, you call the service, hear a &amp;quot;beep&amp;quot; and record the note simply speaking. The length is limited to 50 seconds per note, to end the recording simply hang up.&lt;br /&gt;
&lt;br /&gt;
The service can either be called directly, e.g. with a function key on the phone or by saving the number as a favorite, or by pressing the recording voice note symbol (3) on the myApps homepage. &lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_rec.png‎]]&lt;br /&gt;
&lt;br /&gt;
1 =  App to play the Voice Note&lt;br /&gt;
&lt;br /&gt;
2 = Batch Counter (in the example one new Voice Note stored)&lt;br /&gt;
&lt;br /&gt;
3 = App to record the Voice Note&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a note is recorded, the batch counter increases for the corresponding VM app (2). Voice Notes are accessed in the same way as voicemail messages (1).&lt;br /&gt;
To listen to or delete the message use the VM App. Instead of the phone number, the text &amp;quot;VoiceNote&amp;quot; is shown in the number field.&lt;br /&gt;
&lt;br /&gt;
In the example there are 3 voice notes, the first one has not yet been listened to (green bar on the left).&lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_play.png‎]]  &lt;br /&gt;
&lt;br /&gt;
The service does not require a license and can also be operated in parallel with a voicemail. In this case there are two icons on the home screen and the service can be recognized by the label.&lt;br /&gt;
&lt;br /&gt;
External access, e.g. with DID, is not intended and is prevented by the system. Your notes are protected and can only be accessed via your myApps.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
In fact, you call an XML script which plays a beep and then starts recording. The file is stored in a VM directory in VM format. This allows the regular VM app to access directly and also the batch conter will work automatically. The XML script itself can be called directly, but numbers outside the PBX are not accepted. The solution also includes an icon with which a link can be created directly on the homepage (3). This allows the service to be called directly.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the Voice-Note-main.zip/Voice-Note-main/VoiceNote file in the custom folder (in the custom folder, only the .XML file and the beep.codec file must be pasted, vm_files fodler will be automatically created.&lt;br /&gt;
&lt;br /&gt;
[[Image:VoiceNotefolderstructure.JPG]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there (for example, in the previous image, the instance name was &amp;quot;voicenote&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Access via the icon does not work with the browser, so only with Windows, MacOS, Android or iOS (recording dailing the number works always).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#Voice-Note | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:VoiceNotefolderstructure.JPG&amp;diff=66654</id>
		<title>File:VoiceNotefolderstructure.JPG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:VoiceNotefolderstructure.JPG&amp;diff=66654"/>
		<updated>2023-03-27T07:25:45Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66653</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66653"/>
		<updated>2023-03-27T07:25:33Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app.&lt;br /&gt;
&lt;br /&gt;
If you want to make a note and you don&#039;t have your hands free e.g. when driving a car, using an App like the ToDoList could be problematic or even dangerous. That&#039;s why an audio note is useful, you just speak the note. The notes can be recorded with any device and played back and deleted from anywhere.&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
To record a message, you call the service, hear a &amp;quot;beep&amp;quot; and record the note simply speaking. The length is limited to 50 seconds per note, to end the recording simply hang up.&lt;br /&gt;
&lt;br /&gt;
The service can either be called directly, e.g. with a function key on the phone or by saving the number as a favorite, or by pressing the recording voice note symbol (3) on the myApps homepage. &lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_rec.png‎]]&lt;br /&gt;
&lt;br /&gt;
1 =  App to play the Voice Note&lt;br /&gt;
&lt;br /&gt;
2 = Batch Counter (in the example one new Voice Note stored)&lt;br /&gt;
&lt;br /&gt;
3 = App to record the Voice Note&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a note is recorded, the batch counter increases for the corresponding VM app (2). Voice Notes are accessed in the same way as voicemail messages (1).&lt;br /&gt;
To listen to or delete the message use the VM App. Instead of the phone number, the text &amp;quot;VoiceNote&amp;quot; is shown in the number field.&lt;br /&gt;
&lt;br /&gt;
In the example there are 3 voice notes, the first one has not yet been listened to (green bar on the left).&lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_play.png‎]]  &lt;br /&gt;
&lt;br /&gt;
The service does not require a license and can also be operated in parallel with a voicemail. In this case there are two icons on the home screen and the service can be recognized by the label.&lt;br /&gt;
&lt;br /&gt;
External access, e.g. with DID, is not intended and is prevented by the system. Your notes are protected and can only be accessed via your myApps.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
In fact, you call an XML script which plays a beep and then starts recording. The file is stored in a VM directory in VM format. This allows the regular VM app to access directly and also the batch conter will work automatically. The XML script itself can be called directly, but numbers outside the PBX are not accepted. The solution also includes an icon with which a link can be created directly on the homepage (3). This allows the service to be called directly.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the Voice-Note-main.zip/Voice-Note-main/VoiceNote file in the custom folder (in the custom folder, only the .XML file and the beep.codec file must be pasted, vm_files fodler will be automatically created.&lt;br /&gt;
&lt;br /&gt;
[[Image:VoiceNotefolderstructure.JPG]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Access via the icon does not work with the browser, so only with Windows, MacOS, Android or iOS (recording dailing the number works always).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#Voice-Note | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66652</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66652"/>
		<updated>2023-03-27T07:12:33Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app.&lt;br /&gt;
&lt;br /&gt;
If you want to make a note and you don&#039;t have your hands free e.g. when driving a car, using an App like the ToDoList could be problematic or even dangerous. That&#039;s why an audio note is useful, you just speak the note. The notes can be recorded with any device and played back and deleted from anywhere.&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
To record a message, you call the service, hear a &amp;quot;beep&amp;quot; and record the note simply speaking. The length is limited to 50 seconds per note, to end the recording simply hang up.&lt;br /&gt;
&lt;br /&gt;
The service can either be called directly, e.g. with a function key on the phone or by saving the number as a favorite, or by pressing the recording voice note symbol (3) on the myApps homepage. &lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_rec.png‎]]&lt;br /&gt;
&lt;br /&gt;
1 =  App to play the Voice Note&lt;br /&gt;
&lt;br /&gt;
2 = Batch Counter (in the example one new Voice Note stored)&lt;br /&gt;
&lt;br /&gt;
3 = App to record the Voice Note&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a note is recorded, the batch counter increases for the corresponding VM app (2). Voice Notes are accessed in the same way as voicemail messages (1).&lt;br /&gt;
To listen to or delete the message use the VM App. Instead of the phone number, the text &amp;quot;VoiceNote&amp;quot; is shown in the number field.&lt;br /&gt;
&lt;br /&gt;
In the example there are 3 voice notes, the first one has not yet been listened to (green bar on the left).&lt;br /&gt;
&lt;br /&gt;
[[Image:Screenshot_play.png‎]]  &lt;br /&gt;
&lt;br /&gt;
The service does not require a license and can also be operated in parallel with a voicemail. In this case there are two icons on the home screen and the service can be recognized by the label.&lt;br /&gt;
&lt;br /&gt;
External access, e.g. with DID, is not intended and is prevented by the system. Your notes are protected and can only be accessed via your myApps.&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
In fact, you call an XML script which plays a beep and then starts recording. The file is stored in a VM directory in VM format. This allows the regular VM app to access directly and also the batch conter will work automatically. The XML script itself can be called directly, but numbers outside the PBX are not accepted. The solution also includes an icon with which a link can be created directly on the homepage (3). This allows the service to be called directly.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the VNote.zip file in the customer folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
Access via the icon does not work with the browser, so only with Windows, MacOS, Android or iOS (recording dailing the number works always).&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#Voice-Note | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Wiki_Sources&amp;diff=66651</id>
		<title>Howto:Wiki Sources</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Wiki_Sources&amp;diff=66651"/>
		<updated>2023-03-27T07:11:52Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Keywords: wiki src, wiki-src, github, open source, open-source, php scripts, xml scripts --&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to all innovaphone products.&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Overview===&lt;br /&gt;
innovaphone and its partners have developed many solutions for special applications and scenarios over the years.&lt;br /&gt;
&lt;br /&gt;
We make these solutions publicly available under the &#039;&#039;BSD-3-Clause&#039;&#039; license. The publication and maintenance of these solutions takes place on the [https://github.com/innovaphone innovaphone GitHub Account].&lt;br /&gt;
&lt;br /&gt;
===Structure===&lt;br /&gt;
The following things are provided for a public solution:&lt;br /&gt;
* Wiki article with the concept of the solution as well as a description how to use it&lt;br /&gt;
* A GitHub repository&lt;br /&gt;
* A listing in this article including a short description and links to the documentation, the direct download and the GitHub repository&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===absencememo===&lt;br /&gt;
Leave a voice absence memo on your phone / a caller will hear first the message and after that your phone rings. Works from anywhere and on any type of phone.&lt;br /&gt;
* [[Howto:Absence_Memo_with_VoiceMail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/absencememo/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/absencememo GitHub]&lt;br /&gt;
&lt;br /&gt;
===acddirectory===&lt;br /&gt;
A external caller stored in the PBX directory is connected automatically to a defined extension.&lt;br /&gt;
* [[Howto:ACD_using_the_PBX-Directory]]&lt;br /&gt;
* [https://github.com/innovaphone/acddirectory/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/acddirectory GitHub]&lt;br /&gt;
&lt;br /&gt;
===advonbusy===&lt;br /&gt;
The BusyAdvice service gives the caller multiple choices when the person he is calling not is available.&lt;br /&gt;
* [[Howto:Advice_On_Busy]]&lt;br /&gt;
* [https://github.com/innovaphone/advonbusy/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/advonbusy GitHub]&lt;br /&gt;
&lt;br /&gt;
===alarmxml===&lt;br /&gt;
innovaphone Call Sequencer: localized version (German and Italian only).&lt;br /&gt;
* [[Howto-localized:Innovaphone_Call_Sequencer_(D)]]&lt;br /&gt;
* [[Howto-localized:Innovaphone_Call_Sequencer_(I)]]&lt;br /&gt;
* [https://github.com/innovaphone/alarmxml/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/alarmxml GitHub]&lt;br /&gt;
&lt;br /&gt;
===annualcal===&lt;br /&gt;
Work around for using in version 8 a annual calendar function.&lt;br /&gt;
* [[Howto:Annual_calender_in_V8]]&lt;br /&gt;
* [https://github.com/innovaphone/annualcal/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/annualcal GitHub]&lt;br /&gt;
&lt;br /&gt;
===autocallback===&lt;br /&gt;
A external caller will be connected automatically to the internal user called him before.&lt;br /&gt;
* [[Howto:Auto_Call_Back]]&lt;br /&gt;
* [https://github.com/innovaphone/autocallback/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/autocallback GitHub]&lt;br /&gt;
&lt;br /&gt;
===autogreet===&lt;br /&gt;
A caller will hear automatically a recorded greeting when you answer the call. The greeting can be recorded directly with the phone set.&lt;br /&gt;
* [[Howto:Auto_Greeting]]&lt;br /&gt;
* [https://github.com/innovaphone/autogreet/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/autogreet GitHub]&lt;br /&gt;
&lt;br /&gt;
===blacklst===&lt;br /&gt;
This script allows to create and to maintain a simple blacklist for incoming calls. Blacklisted calls to the PBX are immediately rejected or transferred to a default destination. Numbers can be easily added or removed by calling the Blacklist Service object and by following the instructions. Additionally a number can be put in the blacklist by simply transferring the undesired ringing/active call to a specific object.&lt;br /&gt;
* [[Howto:Black_List_Service_XML_Script_For_Incoming_Calls]]&lt;br /&gt;
* [https://github.com/innovaphone/blacklst/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/blacklst GitHub]&lt;br /&gt;
&lt;br /&gt;
===busyadv===&lt;br /&gt;
If a busy innovaphone IP-Phone (with max. nr. of calls=1) receives a call an instant message containing the caller number is immediately forwarded to the set. If the phone is idle again the user can see who was calling him during busy.&lt;br /&gt;
* [[Howto:Busy_Advice]]&lt;br /&gt;
* [https://github.com/innovaphone/busyadv/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/busyadv GitHub]&lt;br /&gt;
&lt;br /&gt;
===callid===&lt;br /&gt;
A caller can digit a number, the called user will see this additional information.&lt;br /&gt;
* [[Howto:Additional_call-ID_information]]&lt;br /&gt;
* [https://github.com/innovaphone/callid/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/callid GitHub]&lt;br /&gt;
&lt;br /&gt;
===callmeback===&lt;br /&gt;
An external user can signal to an innovaphone IP-Phone using instant message that he wants to be called back. Typical feature in case of asymmetric calling costs.&lt;br /&gt;
* [[Howto:Call_Me_Back]]&lt;br /&gt;
* [https://github.com/innovaphone/callmeback/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/callmeback GitHub]&lt;br /&gt;
&lt;br /&gt;
===callmonitor===&lt;br /&gt;
Classic passive busy lamp field for up to 400 users. Run on PC with Windows OS XP or higher.&lt;br /&gt;
* [[Howto:Callmonitor]]&lt;br /&gt;
* [https://github.com/innovaphone/callmonitor/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/callmonitor GitHub]&lt;br /&gt;
&lt;br /&gt;
===call_limit===&lt;br /&gt;
Limit the duration and number of calls for certain extensions.&lt;br /&gt;
* [[Howto:Limit_number_of_calls_and_call_duration_on_some_extensions]]&lt;br /&gt;
* [https://github.com/innovaphone/call_limit/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/call_limit GitHub]&lt;br /&gt;
&lt;br /&gt;
===cfstatus===&lt;br /&gt;
Check the CFU status of the own telephone set (usefully for analog or dect phones).&lt;br /&gt;
* [[Howto:Check_the_CFU_Status_with_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/cfstatus/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/cfstatus GitHub]&lt;br /&gt;
&lt;br /&gt;
===checkinout===&lt;br /&gt;
A filter can be switched on and off from an other phone set.&lt;br /&gt;
* [[Howto:Check-In/Out_with_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/checkinout/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/checkinout GitHub]&lt;br /&gt;
&lt;br /&gt;
===controlcfx===&lt;br /&gt;
Known as &amp;quot;Follow me&amp;quot; this feature allows setting a call forward (CFU) using a remote set (also form external for example a GSM set). All operations are voice guided.&lt;br /&gt;
* [[Howto:Control_Call_Forward_with_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/controlcfx/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/controlcfx GitHub]&lt;br /&gt;
&lt;br /&gt;
===doorcontrol===&lt;br /&gt;
Working with multiple Door Cameras&lt;br /&gt;
* [[Howto:Working_with_multiple_Door_Cameras]]&lt;br /&gt;
* [https://github.com/innovaphone/doorcontrol/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/doorcontrol GitHub]&lt;br /&gt;
&lt;br /&gt;
===ext_ann===&lt;br /&gt;
This xml allows playing a pre-registered audio message to an external announcement facility (PA system).&lt;br /&gt;
* [[Howto:External_announcement_facility]]&lt;br /&gt;
* [https://github.com/innovaphone/ext_ann/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/ext_ann GitHub]&lt;br /&gt;
&lt;br /&gt;
===g711towav===&lt;br /&gt;
Batch files to convert G711 files recorded by innovaphone devices to WAV files.&lt;br /&gt;
* [[Howto:Convert_G711_files_in_to_WAV_files]]&lt;br /&gt;
* [https://github.com/innovaphone/g711towav/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/g711towav GitHub]&lt;br /&gt;
&lt;br /&gt;
===ibl===&lt;br /&gt;
innovaphone Babylook: localized version (German and Italian only)&lt;br /&gt;
* [[Howto-localized:IBL_–_innovaphone_BabyLook_%28Raumüberwachung%29]]&lt;br /&gt;
* [[Howto-localized:IBL_–_innovaphone_BabyLook_%28Supervisione_stanza%29]]&lt;br /&gt;
* [https://github.com/innovaphone/ibl/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/ibl GitHub]&lt;br /&gt;
&lt;br /&gt;
===idd===&lt;br /&gt;
Reproduce the display of an IP240 on the PC and map the PC-Keyboard to the Phone. Simple CTI-Solution, active busy lamp field, interface for visual impaired and blind operator. Run on Windows OS.&lt;br /&gt;
* [[Howto:Innovaphone_Desktop_Display_%28iDD%29]]&lt;br /&gt;
* [https://github.com/innovaphone/idd/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/idd GitHub]&lt;br /&gt;
&lt;br /&gt;
===imcallback===&lt;br /&gt;
If a DID call return to the operator because the user was absent or busy the operator can leave an automatic instant message the called user. The message contains the number of the caller.&lt;br /&gt;
* [[Howto:Instant_Messaging_Call_Back]]&lt;br /&gt;
* [https://github.com/innovaphone/imcallback/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/imcallback GitHub]&lt;br /&gt;
&lt;br /&gt;
===innoconf===&lt;br /&gt;
Enhanced Conference Bridge for the innovaphone BC-Conference unit. Users are announced with name when joining and leaving the conference.&lt;br /&gt;
* [[Howto:Innovaphone_conferencing]]&lt;br /&gt;
* [https://github.com/innovaphone/innoconf/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/innoconf GitHub]&lt;br /&gt;
&lt;br /&gt;
===ipcallback===&lt;br /&gt;
Provides middleware for implementig a Callback via simple HTTP GET or POST request.&lt;br /&gt;
* [[Howto:Initiate_a_Mobility_CallBack_via_simple_HTTP_GET_or_POST_request]]&lt;br /&gt;
* [https://github.com/innovaphone/ipcallback/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/ipcallback GitHub]&lt;br /&gt;
&lt;br /&gt;
===iqm_cbr===&lt;br /&gt;
XML for the innovaphone Queue Monitor (iQM), see description.&lt;br /&gt;
* [[Howto:IQM_CallBack_requests]]&lt;br /&gt;
* [https://github.com/innovaphone/iqm_cbr/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/iqm_cbr GitHub]&lt;br /&gt;
&lt;br /&gt;
===lcr===&lt;br /&gt;
Last Call Recording, see article if matching with your requests.&lt;br /&gt;
* [[Howto:Last_Call_Recording]]&lt;br /&gt;
* [https://github.com/innovaphone/lcr/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/lcr GitHub]&lt;br /&gt;
&lt;br /&gt;
===learnpin===&lt;br /&gt;
A self learning PIN-code suite.&lt;br /&gt;
* [[Howto:Learning_PIN_code]]&lt;br /&gt;
* [https://github.com/innovaphone/learnpin/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/learnpin GitHub]&lt;br /&gt;
&lt;br /&gt;
===licsummary===&lt;br /&gt;
License Summary&lt;br /&gt;
* [[Howto:License_Summary]]&lt;br /&gt;
* [https://github.com/innovaphone/licsummary/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/licsummary GitHub]&lt;br /&gt;
&lt;br /&gt;
===linearacd===&lt;br /&gt;
One particularly ACD strategy, see article if matching with your requests.&lt;br /&gt;
* [[Howto:Simple_Linear_ACD_with_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/linearacd/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/linearacd GitHub]&lt;br /&gt;
&lt;br /&gt;
===mail_cfna===&lt;br /&gt;
Missed Calls are notified with an email.&lt;br /&gt;
* [[Howto:Email_on_missed_calls]]&lt;br /&gt;
* [https://github.com/innovaphone/mail_cfna/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/mail_cfna GitHub]&lt;br /&gt;
&lt;br /&gt;
===mapdid===&lt;br /&gt;
Calls done using a map object in the PBX can dial additional digits to the number mapped. PIN code calls can be stored on defined numbers.&lt;br /&gt;
* [[Howto:DID_on_mapped_numbers_/_Hide_PIN_code]]&lt;br /&gt;
* [https://github.com/innovaphone/mapdid/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/mapdid GitHub]&lt;br /&gt;
&lt;br /&gt;
===notify===&lt;br /&gt;
The calling Party will get a simple notification without possibility to leave a message (for example for calls beyond working hours).&lt;br /&gt;
* [[Howto:Simple_caller_notification_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/notify/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/notify GitHub]&lt;br /&gt;
&lt;br /&gt;
===p2n===&lt;br /&gt;
Switch a Boolean abject in the innovaphone PBX using an external button.&lt;br /&gt;
* [[Howto:Push_to_Night]]&lt;br /&gt;
* [https://github.com/innovaphone/p2n/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/p2n GitHub]&lt;br /&gt;
&lt;br /&gt;
===phonerec===&lt;br /&gt;
Record using the phone set voice messages and activate them. See also the related article &amp;quot;Simple Message Management&amp;quot; for simple administration of the prompts for users (using a voice menu).&lt;br /&gt;
* [[Howto:Record_an_announcement_by_phone]]&lt;br /&gt;
* [https://github.com/innovaphone/phonerec/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/phonerec GitHub]&lt;br /&gt;
&lt;br /&gt;
===phonerec2===&lt;br /&gt;
Script to record dynamic announcements using a phone for announcing public holidays or special on-the-fly messages.&lt;br /&gt;
* [[Howto:V13_Record_an_announcement_by_phone]]&lt;br /&gt;
* [https://github.com/innovaphone/phonerec2/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/phonerec2 GitHub]&lt;br /&gt;
&lt;br /&gt;
===php-update-server===&lt;br /&gt;
A PHP based Update Server Utility.&lt;br /&gt;
* [[Howto:PHP_based_Update_Server_V2]]&lt;br /&gt;
* [https://github.com/innovaphone/php-update-server/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/php-update-server GitHub]&lt;br /&gt;
&lt;br /&gt;
===pinfortrunk===&lt;br /&gt;
Voice recording using a XML and storage on the CF.&lt;br /&gt;
* [[Howto:Pin-code_for_trunk_access]]&lt;br /&gt;
* [https://github.com/innovaphone/pinfortrunk/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/pinfortrunk GitHub]&lt;br /&gt;
&lt;br /&gt;
===routepoint===&lt;br /&gt;
An ACD VoiceMail Script with logic implemented on external server.&lt;br /&gt;
* [[Howto:Create_a_Routepoint_with_external_Call_Distribution_Logic]]&lt;br /&gt;
* [https://github.com/innovaphone/routepoint/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/routepoint GitHub]&lt;br /&gt;
&lt;br /&gt;
===rrobinacd===&lt;br /&gt;
One particularly ACD strategy, see article if matching with your requests.&lt;br /&gt;
* [[Howto:Simple_Round_Robin_ACD_with_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/rrobinacd/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/rrobinacd GitHub]&lt;br /&gt;
&lt;br /&gt;
===savecdrs===&lt;br /&gt;
Some sample CDRs and two scripts to save CDRs in a text file or SQL database.&lt;br /&gt;
* [[Howto:Is_there_any_example_code_or_simple_scripts/programs_in_order_to_put_call-information_into_an_MySQL_(or_similiar)_database_in_order_to_build_CRM-alike_solutions_towards_the_MySQL_DB%3F]]&lt;br /&gt;
* [https://github.com/innovaphone/savecdrs/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/savecdrs GitHub]&lt;br /&gt;
&lt;br /&gt;
===simplerec===&lt;br /&gt;
Voice recording using a XML and storage on the CF.&lt;br /&gt;
* [[Howto:A_Simple_Recording_Solution_On-Top_of_The_innovaphone_Voicemail]]&lt;br /&gt;
* [https://github.com/innovaphone/simplerec/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/simplerec GitHub]&lt;br /&gt;
&lt;br /&gt;
===sivr===&lt;br /&gt;
Use a XML script for IVR.&lt;br /&gt;
* [[Howto:Simple_IVR]]&lt;br /&gt;
* [https://github.com/innovaphone/sivr/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/sivr GitHub]&lt;br /&gt;
&lt;br /&gt;
===soapcsharp===&lt;br /&gt;
SOAP sample code in C#.&lt;br /&gt;
* [[Howto:PBX_SOAP_Api_C-sharp_sample_code]]&lt;br /&gt;
* [https://github.com/innovaphone/soapcsharp/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/soapcsharp GitHub]&lt;br /&gt;
&lt;br /&gt;
===soapphp5===&lt;br /&gt;
SOAP sample code in PHP.&lt;br /&gt;
* [[Howto:SOAP_API_PHP5_Sample_Code]]&lt;br /&gt;
* [https://github.com/innovaphone/soapphp5/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/soapphp5 GitHub]&lt;br /&gt;
&lt;br /&gt;
===soapvbdotnet===&lt;br /&gt;
SOAP sample code in Visual-Basic.Net.&lt;br /&gt;
* [[Howto:SOAP_Api_VisualBasic.Net_Sample_Code]]&lt;br /&gt;
* [https://github.com/innovaphone/soapvbdotnet/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/soapvbdotnet GitHub]&lt;br /&gt;
&lt;br /&gt;
===speakclock===&lt;br /&gt;
Speaking Clock with Voicemail XML Script.&lt;br /&gt;
* [[Howto:Speaking_Clock_with_Voicemail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/speakclock/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/speakclock GitHub]&lt;br /&gt;
&lt;br /&gt;
===spokepre===&lt;br /&gt;
Spoken presence means that you take your smart phones and set activity (busy, vacation, meeting, lunch etc.) and time (when you are back).&lt;br /&gt;
* [[Howto:Spoken_Presence_with_VoiceMail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/spokepre/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/spokepre GitHub]&lt;br /&gt;
&lt;br /&gt;
===spokpres===&lt;br /&gt;
Implement the spoken Presence Feature for DECT and analogue Phones.&lt;br /&gt;
* [[Howto:Spoken_Presence_for_DECT]]&lt;br /&gt;
* [https://github.com/innovaphone/spokpres/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/spokpres GitHub]&lt;br /&gt;
&lt;br /&gt;
===ticketing===&lt;br /&gt;
Create a simple ticketing system with voice recording.&lt;br /&gt;
* [[Howto:Ticketing]]&lt;br /&gt;
* [https://github.com/innovaphone/ticketing/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/ticketing GitHub]&lt;br /&gt;
&lt;br /&gt;
===trackrecord===&lt;br /&gt;
You can record Tracks and build your own voice main-menu for recording them.&lt;br /&gt;
* [[Howto:Universal_Track_Recording_Tool]]&lt;br /&gt;
* [https://github.com/innovaphone/trackrecord/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/trackrecord GitHub]&lt;br /&gt;
&lt;br /&gt;
===tvm-simplified===&lt;br /&gt;
Announcement Before Answering (simplified).&lt;br /&gt;
* [[Howto:Announcement_Before_Answering_%28simplified%29]]&lt;br /&gt;
* [https://github.com/innovaphone/tvm-simplified/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/tvm-simplified GitHub]&lt;br /&gt;
&lt;br /&gt;
===vmvoicen===&lt;br /&gt;
You will be called if a new Voicemail is stored.&lt;br /&gt;
* [[Howto:Voice_Notification]]&lt;br /&gt;
* [https://github.com/innovaphone/vmvoicen/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/vmvoicen GitHub]&lt;br /&gt;
&lt;br /&gt;
===vm_note===&lt;br /&gt;
If a user has one or more messages in his voicemail the following XML sample plays a voice message instead of the usual dial tone.&lt;br /&gt;
* [[Howto:Voicemail_MWI_for_analogue_user]]&lt;br /&gt;
* [https://github.com/innovaphone/vm_note/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/vm_note GitHub]&lt;br /&gt;
&lt;br /&gt;
===Voice-Note===&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
* [[Howto:Voice_Note_VoiceMail_XML_Script]]&lt;br /&gt;
* [https://github.com/innovaphone/Voice-Note/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/Voice-Note GitHub]&lt;br /&gt;
&lt;br /&gt;
===websocketphp5===&lt;br /&gt;
Talking to the v13 Application Platform using PHP.&lt;br /&gt;
* [[Howto:Talking_to_the_v13_Application_Platform_using_PHP]]&lt;br /&gt;
* [https://github.com/innovaphone/websocketphp5/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/websocketphp5 GitHub]&lt;br /&gt;
&lt;br /&gt;
===whitelst===&lt;br /&gt;
White List Service XML Script For Outgoing Calls.&lt;br /&gt;
* [[Howto:White_List_Service_XML_Script_For_Outgoing_Calls]]&lt;br /&gt;
* [https://github.com/innovaphone/whitelst/archive/refs/heads/main.zip Download as .zip]&lt;br /&gt;
* [https://github.com/innovaphone/whitelst GitHub]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Busy_lamp_field_(partner_keys)_with_SIP_phone&amp;diff=66641</id>
		<title>Howto13r3:Busy lamp field (partner keys) with SIP phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Busy_lamp_field_(partner_keys)_with_SIP_phone&amp;diff=66641"/>
		<updated>2023-03-24T10:34:09Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: ==Applies To== This information applies to  * innovaphone PBX, v10sr5 * SIP phones supporting &amp;quot;Dialog Package&amp;quot; according to RFC-4235   &amp;lt;!-- Keywords: enter keywords, foreign translations a...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX, v10sr5&lt;br /&gt;
* SIP phones supporting &amp;quot;Dialog Package&amp;quot; according to RFC-4235&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Partner keys are primarily used to monitor the call state of an associated partner.&lt;br /&gt;
Usually partner keys fulfill the following functions:&lt;br /&gt;
* &#039;&#039;&#039;monitoring partner:&#039;&#039;&#039; Indicating different call-related states: Idle, Alerting, Busy.&lt;br /&gt;
* &#039;&#039;&#039;speed dial:&#039;&#039;&#039; Pressing the partner key while the partner is in idle state will initiate a call to the partner.&lt;br /&gt;
* &#039;&#039;&#039;call pickup:&#039;&#039;&#039; Pressing the partner key while the partner is in alerting state will initiate a call pickup of the alerting call.&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
In order make partner keys work, the PBX must notify the device about current state of ongoing calls.&amp;lt;br&amp;gt;&lt;br /&gt;
To achieve that, the monitored user must share his Visibility information to the other users requesting his activity state. The option to be shared at least must be:&lt;br /&gt;
&lt;br /&gt;
Calls (Call with number if you want also to share the number you are having a conversation with)&lt;br /&gt;
&lt;br /&gt;
This can be configured globally by the administrator, or the user can also manually share Visibility information to single users, group/s or domain/s using the Profile app, in the Privacy settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:privacymyAppsblf.PNG]]&lt;br /&gt;
&lt;br /&gt;
The NOTIFY request is used to carry an XML formatted dialog info.&amp;lt;br&amp;gt;&lt;br /&gt;
Endpoints can, but need not to subscribe for the &amp;quot;Dialog Event Package&amp;quot; (RFC-4235).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
The watched endpoint (207) receives a call from 211.&amp;lt;br&amp;gt;&lt;br /&gt;
The watcher gets a NOTIFY request with a dialog info about the call in &amp;quot;early&amp;quot; state:&lt;br /&gt;
&lt;br /&gt;
 NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 18 NOTIFY&lt;br /&gt;
 Contact: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;&lt;br /&gt;
 Content-Length: 343&lt;br /&gt;
 Content-Type: application/dialog-info+xml&lt;br /&gt;
 Max-Forwards: 70&lt;br /&gt;
 Event: dialog&lt;br /&gt;
 Subscription-State: active&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;dialog-info xmlns=&amp;quot;urn:ietf:params:xml:ns:dialog-info&amp;quot; state=&amp;quot;full&amp;quot; version=&amp;quot;9&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;dialog id=&amp;quot;1&amp;quot; direction=&amp;quot;initiator&amp;quot; call-id=&amp;quot;e1b50917e909d311824d0090330200d6&amp;quot;&amp;gt;&lt;br /&gt;
         &#039;&#039;&#039;&amp;lt;state&amp;gt;early&amp;lt;/state&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
         &amp;lt;local&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:207@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/local&amp;gt;&lt;br /&gt;
         &amp;lt;remote&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:211@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/remote&amp;gt;&lt;br /&gt;
     &amp;lt;/dialog&amp;gt;&lt;br /&gt;
 &amp;lt;/dialog-info&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 SIP/2.0 200 Ok&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BD;rport=5060&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 18 NOTIFY&lt;br /&gt;
 Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
While in state &amp;quot;early&amp;quot; the watcher has the chance to pickup this &amp;quot;early&amp;quot; call.&amp;lt;br&amp;gt;&lt;br /&gt;
After the call has been accepted by the watched endpoint (207), the former dialog info is cleared and a new dialog info is send to the watcher about the call in state &amp;quot;proceeding&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BE;rport&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 19 NOTIFY&lt;br /&gt;
 Contact: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;&lt;br /&gt;
 Content-Length: 349&lt;br /&gt;
 Content-Type: application/dialog-info+xml&lt;br /&gt;
 Max-Forwards: 70&lt;br /&gt;
 Event: dialog&lt;br /&gt;
 Subscription-State: active&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;dialog-info xmlns=&amp;quot;urn:ietf:params:xml:ns:dialog-info&amp;quot; state=&amp;quot;full&amp;quot; version=&amp;quot;10&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;dialog id=&amp;quot;1&amp;quot; direction=&amp;quot;initiator&amp;quot; call-id=&amp;quot;e1b50917e909d311824d0090330200d6&amp;quot;&amp;gt;&lt;br /&gt;
         &#039;&#039;&#039;&amp;lt;state&amp;gt;terminated&amp;lt;/state&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
         &amp;lt;local&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:207@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/local&amp;gt;&lt;br /&gt;
         &amp;lt;remote&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:211@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/remote&amp;gt;&lt;br /&gt;
     &amp;lt;/dialog&amp;gt;&lt;br /&gt;
 &amp;lt;/dialog-info&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BF;rport&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 20 NOTIFY&lt;br /&gt;
 Contact: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;&lt;br /&gt;
 Content-Length: 349&lt;br /&gt;
 Content-Type: application/dialog-info+xml&lt;br /&gt;
 Max-Forwards: 70&lt;br /&gt;
 Event: dialog&lt;br /&gt;
 Subscription-State: active&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;dialog-info xmlns=&amp;quot;urn:ietf:params:xml:ns:dialog-info&amp;quot; state=&amp;quot;full&amp;quot; version=&amp;quot;11&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;dialog id=&amp;quot;1&amp;quot; direction=&amp;quot;initiator&amp;quot; call-id=&amp;quot;e1b50917e909d311824d0090330200d6&amp;quot;&amp;gt;&lt;br /&gt;
         &#039;&#039;&#039;&amp;lt;state&amp;gt;proceeding&amp;lt;/state&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
         &amp;lt;local&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:207@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/local&amp;gt;&lt;br /&gt;
         &amp;lt;remote&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:211@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/remote&amp;gt;&lt;br /&gt;
     &amp;lt;/dialog&amp;gt;&lt;br /&gt;
 &amp;lt;/dialog-info&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 SIP/2.0 200 Ok&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BE;rport=5060&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 19 NOTIFY&lt;br /&gt;
 Content-Length: 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 SIP/2.0 200 Ok&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728BF;rport=5060&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 20 NOTIFY&lt;br /&gt;
 Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
After the call has been terminated, the dialog info is cleared:&lt;br /&gt;
&lt;br /&gt;
 NOTIFY sip:snom@172.16.16.34:1415;line=ojn9itpa SIP/2.0&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728C1;rport&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 22 NOTIFY&lt;br /&gt;
 Contact: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;&lt;br /&gt;
 Content-Length: 349&lt;br /&gt;
 Content-Type: application/dialog-info+xml&lt;br /&gt;
 Max-Forwards: 70&lt;br /&gt;
 Event: dialog&lt;br /&gt;
 Subscription-State: active&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;dialog-info xmlns=&amp;quot;urn:ietf:params:xml:ns:dialog-info&amp;quot; state=&amp;quot;full&amp;quot; version=&amp;quot;12&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;dialog id=&amp;quot;1&amp;quot; direction=&amp;quot;initiator&amp;quot; call-id=&amp;quot;e1b50917e909d311824d0090330200d6&amp;quot;&amp;gt;&lt;br /&gt;
         &#039;&#039;&#039;&amp;lt;state&amp;gt;terminated&amp;lt;/state&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
         &amp;lt;local&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:207@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/local&amp;gt;&lt;br /&gt;
         &amp;lt;remote&amp;gt;&lt;br /&gt;
             &amp;lt;identity&amp;gt;sip:211@172.16.16.180&amp;lt;/identity&amp;gt;&lt;br /&gt;
         &amp;lt;/remote&amp;gt;&lt;br /&gt;
     &amp;lt;/dialog&amp;gt;&lt;br /&gt;
 &amp;lt;/dialog-info&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 SIP/2.0 200 Ok&lt;br /&gt;
 Via: SIP/2.0/UDP 172.16.16.180:5060;branch=z9hG4bK-311728C1;rport=5060&lt;br /&gt;
 From: &amp;lt;sip:207@172.16.16.180;user=phone&amp;gt;;tag=2870350033&lt;br /&gt;
 To: &amp;lt;sip:snom@172.16.16.180&amp;gt;;tag=bl4qd8azu6&lt;br /&gt;
 Call-ID: 0ce2cb4794c2-9b374j1ddupd@snomSoft-000413FFFFFF&lt;br /&gt;
 CSeq: 22 NOTIFY&lt;br /&gt;
 Content-Length: 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:PrivacymyAppsblf.PNG&amp;diff=66640</id>
		<title>File:PrivacymyAppsblf.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:PrivacymyAppsblf.PNG&amp;diff=66640"/>
		<updated>2023-03-24T10:24:32Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66552</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66552"/>
		<updated>2023-03-20T12:31:06Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT  -to do: create app with tel:vmnote to quickly call from myApps  -  load icon in zip file  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the VNote.zip file in the customer folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66551</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66551"/>
		<updated>2023-03-20T11:31:56Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the content of the VNote.zip file in the customer folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66550</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66550"/>
		<updated>2023-03-20T11:21:38Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files#Use_your_own_voicemail_files_with_the_voicemail-App_in_custom_mode &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!Be aware that you need to upload the files in the &amp;quot;custom&amp;quot; folder, and not the vm_files folder!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66546</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66546"/>
		<updated>2023-03-20T11:03:21Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice notes and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66545</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66545"/>
		<updated>2023-03-20T11:03:11Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Note directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Voice_Memo_VoiceMail_XML_Script&amp;diff=66544</id>
		<title>Howto:Voice Memo VoiceMail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Voice_Memo_VoiceMail_XML_Script&amp;diff=66544"/>
		<updated>2023-03-20T11:02:41Z</updated>

		<summary type="html">&lt;p&gt;Ani: Howto:Voice Memo VoiceMail XML Script moved to Howto:Voice Note VoiceMail XML Script: bad name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Howto:Voice Note VoiceMail XML Script]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66543</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66543"/>
		<updated>2023-03-20T11:02:41Z</updated>

		<summary type="html">&lt;p&gt;Ani: Howto:Voice Memo VoiceMail XML Script moved to Howto:Voice Note VoiceMail XML Script: bad name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66542</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66542"/>
		<updated>2023-03-20T11:00:37Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r3 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This version is supported from v13r3 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66541</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66541"/>
		<updated>2023-03-20T10:31:13Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66540</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66540"/>
		<updated>2023-03-20T10:30:47Z</updated>

		<summary type="html">&lt;p&gt;Ani: /* Feature description for user */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66539</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66539"/>
		<updated>2023-03-20T10:30:06Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct Voicemail instance name there.&lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66538</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66538"/>
		<updated>2023-03-20T10:28:50Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from our download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66537</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66537"/>
		<updated>2023-03-20T10:28:37Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Download the Voicemail files from out download page: &amp;quot; http://download.innovaphone.com/ice/6.00 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the  Voicemail files and the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66536</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66536"/>
		<updated>2023-03-20T10:26:24Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept.&lt;br /&gt;
&lt;br /&gt;
In this article, however, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66535</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66535"/>
		<updated>2023-03-20T10:25:56Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66534</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66534"/>
		<updated>2023-03-20T10:19:32Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform and Voicemail app configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66533</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66533"/>
		<updated>2023-03-20T10:19:01Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform and Voicemail app configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the number of the Voice Memo object.&lt;br /&gt;
&lt;br /&gt;
When you hear the &amp;quot;beep&amp;quot;, you can start recording your message. This message will be stored in your personal folder, and you can listen to it or download it using the Voicemail app (VNote in this example)&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
The installation is based on two steps, the first is to copy the right files and the second one is to set up the innovaphone PBX. Here is how:&lt;br /&gt;
&lt;br /&gt;
Connect the CF as a network drive using the normal explorer option. &lt;br /&gt;
&lt;br /&gt;
Make a new directory in your CF. &lt;br /&gt;
&lt;br /&gt;
Copy the XML file and the sound files ([[Howto:Absence_Memo_with_VoiceMail_XML_Script#Download|Download]])in this directory (means: copy all the files of the innovaphone absence memo center in this directory). &lt;br /&gt;
&lt;br /&gt;
Now open a new voicemail object in your PBX. Please note that you will not require a VM license or a registration license for this object (means: this feature is for free). Give a number to this object. This number will be the access code for the innovaphone absence memo center (the number for recording a memo and the number for the call forwarding). Insert the path of your previously created directory and the name of the XML File in the Script URL (AWM.XML).&lt;br /&gt;
 Example: http://172.16.0.10/DRIVE/CF0/AWN/AWM.xml &lt;br /&gt;
&lt;br /&gt;
In the example the created directory is AWN (like the XML file name).&lt;br /&gt;
Now your job is done and the feature is switched on.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66532</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66532"/>
		<updated>2023-03-20T10:17:08Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform and Voicemail app configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
Assign the new Voicemail object to the users you want to be able to use this feature. Doing so, they can see the badge count in myApps, listen and save the Voice Memo directly from the app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the innovaphone absence memo center in order to record an absence memo. You will hear the message “recording” followed by a “beep”; now your message will be recorded. You can modify and call your message box however many times you want. However please note that each new message will substitute (clear) the previous.&lt;br /&gt;
&lt;br /&gt;
To check your recorded message, switch on a call forward unconditional to the innovaphone absence memo center and call your own number. You will hear your recorded message, at the end of the message you will hear the busy tone. Your absence memo is now switched on. A caller will hear your message and then your extension will ring normally and the caller hears the call control tone. You clear your call forward to the innovaphone absence memo center in order to switch off the feature.&lt;br /&gt;
&lt;br /&gt;
Please note that the length of your message is limited to 10 seconds (but can be extended if required) and that this feature can be activated on all the phone sets in a PBX. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
The installation is based on two steps, the first is to copy the right files and the second one is to set up the innovaphone PBX. Here is how:&lt;br /&gt;
&lt;br /&gt;
Connect the CF as a network drive using the normal explorer option. &lt;br /&gt;
&lt;br /&gt;
Make a new directory in your CF. &lt;br /&gt;
&lt;br /&gt;
Copy the XML file and the sound files ([[Howto:Absence_Memo_with_VoiceMail_XML_Script#Download|Download]])in this directory (means: copy all the files of the innovaphone absence memo center in this directory). &lt;br /&gt;
&lt;br /&gt;
Now open a new voicemail object in your PBX. Please note that you will not require a VM license or a registration license for this object (means: this feature is for free). Give a number to this object. This number will be the access code for the innovaphone absence memo center (the number for recording a memo and the number for the call forwarding). Insert the path of your previously created directory and the name of the XML File in the Script URL (AWM.XML).&lt;br /&gt;
 Example: http://172.16.0.10/DRIVE/CF0/AWN/AWM.xml &lt;br /&gt;
&lt;br /&gt;
In the example the created directory is AWN (like the XML file name).&lt;br /&gt;
Now your job is done and the feature is switched on.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66531</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66531"/>
		<updated>2023-03-20T10:15:27Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform and Voicemail app configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the custom folder.&lt;br /&gt;
&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the innovaphone absence memo center in order to record an absence memo. You will hear the message “recording” followed by a “beep”; now your message will be recorded. You can modify and call your message box however many times you want. However please note that each new message will substitute (clear) the previous.&lt;br /&gt;
&lt;br /&gt;
To check your recorded message, switch on a call forward unconditional to the innovaphone absence memo center and call your own number. You will hear your recorded message, at the end of the message you will hear the busy tone. Your absence memo is now switched on. A caller will hear your message and then your extension will ring normally and the caller hears the call control tone. You clear your call forward to the innovaphone absence memo center in order to switch off the feature.&lt;br /&gt;
&lt;br /&gt;
Please note that the length of your message is limited to 10 seconds (but can be extended if required) and that this feature can be activated on all the phone sets in a PBX. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
The installation is based on two steps, the first is to copy the right files and the second one is to set up the innovaphone PBX. Here is how:&lt;br /&gt;
&lt;br /&gt;
Connect the CF as a network drive using the normal explorer option. &lt;br /&gt;
&lt;br /&gt;
Make a new directory in your CF. &lt;br /&gt;
&lt;br /&gt;
Copy the XML file and the sound files ([[Howto:Absence_Memo_with_VoiceMail_XML_Script#Download|Download]])in this directory (means: copy all the files of the innovaphone absence memo center in this directory). &lt;br /&gt;
&lt;br /&gt;
Now open a new voicemail object in your PBX. Please note that you will not require a VM license or a registration license for this object (means: this feature is for free). Give a number to this object. This number will be the access code for the innovaphone absence memo center (the number for recording a memo and the number for the call forwarding). Insert the path of your previously created directory and the name of the XML File in the Script URL (AWM.XML).&lt;br /&gt;
 Example: http://172.16.0.10/DRIVE/CF0/AWN/AWM.xml &lt;br /&gt;
&lt;br /&gt;
In the example the created directory is AWN (like the XML file name).&lt;br /&gt;
Now your job is done and the feature is switched on.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66530</id>
		<title>Howto13r3:Voice Note Voicemail XML Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Voice_Note_Voicemail_XML_Script&amp;diff=66530"/>
		<updated>2023-03-20T10:12:24Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: DRAFT   ==Summary== Some customers like to save voice memo and listen them using myApps/Voicemail app  With this new .XML, you can call an internal number, and save a Voice Memo directly i...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DRAFT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
Some customers like to save voice memo and listen them using myApps/Voicemail app&lt;br /&gt;
&lt;br /&gt;
With this new .XML, you can call an internal number, and save a Voice Memo directly in myApps. You will be able, later, to listen to it and save it using the Voicemail app.&lt;br /&gt;
Here is how.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* All V13r1 PBX (and later)  with App Platform and Voicemail app configured&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The feature is based on an XML script typically provided by the Voicemail app. This can work also on older firmware (v12 with LinuxAP) with the previous Voicemail concept&lt;br /&gt;
In this article, we want to focus on v13 and later.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Install and configure a second Voicemail app in your system: &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Create_a_second_Voicemail &amp;quot;&lt;br /&gt;
Open the PBX manager, your newly create Voicemail instance, open your new Voicemail app, and flag &amp;quot;custom&amp;quot;&lt;br /&gt;
Now connect to your Voicemail app files folder as described here &amp;quot; https://wiki.innovaphone.com/index.php?title=Howto:V13_Access_Voicemail_Files &amp;quot; and upload the VNote.xml file in the customer folder&lt;br /&gt;
Open the advanced configuration of your PBX (via the Devices app or directly via browser), and in PBX/Config/Objects, open your newly created Voicemail object.&lt;br /&gt;
Change, in the second tab, the URL, that now will point to VNote.xml instead of vm.xml, eg:&lt;br /&gt;
&lt;br /&gt;
from:   https://APdnsname/domain.tld/voicemail_it/custom/vm.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
to:     https://APdnsname/domain.tld/voicemail_it/custom/VNote.xml?$app=on&amp;amp;$_pbxmwidir=vm_files&lt;br /&gt;
&lt;br /&gt;
be aware that URL is case sensitive, so please pay attention to that.&lt;br /&gt;
Also, voicemail_it is used in this example, but you need to configure the correct language of your newly installed app ( voicemail_de , voicemail_fr , voicemail_en , ecc ecc) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Feature description for user===&lt;br /&gt;
Call the innovaphone absence memo center in order to record an absence memo. You will hear the message “recording” followed by a “beep”; now your message will be recorded. You can modify and call your message box however many times you want. However please note that each new message will substitute (clear) the previous.&lt;br /&gt;
&lt;br /&gt;
To check your recorded message, switch on a call forward unconditional to the innovaphone absence memo center and call your own number. You will hear your recorded message, at the end of the message you will hear the busy tone. Your absence memo is now switched on. A caller will hear your message and then your extension will ring normally and the caller hears the call control tone. You clear your call forward to the innovaphone absence memo center in order to switch off the feature.&lt;br /&gt;
&lt;br /&gt;
Please note that the length of your message is limited to 10 seconds (but can be extended if required) and that this feature can be activated on all the phone sets in a PBX. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
The installation is based on two steps, the first is to copy the right files and the second one is to set up the innovaphone PBX. Here is how:&lt;br /&gt;
&lt;br /&gt;
Connect the CF as a network drive using the normal explorer option. &lt;br /&gt;
&lt;br /&gt;
Make a new directory in your CF. &lt;br /&gt;
&lt;br /&gt;
Copy the XML file and the sound files ([[Howto:Absence_Memo_with_VoiceMail_XML_Script#Download|Download]])in this directory (means: copy all the files of the innovaphone absence memo center in this directory). &lt;br /&gt;
&lt;br /&gt;
Now open a new voicemail object in your PBX. Please note that you will not require a VM license or a registration license for this object (means: this feature is for free). Give a number to this object. This number will be the access code for the innovaphone absence memo center (the number for recording a memo and the number for the call forwarding). Insert the path of your previously created directory and the name of the XML File in the Script URL (AWM.XML).&lt;br /&gt;
 Example: http://172.16.0.10/DRIVE/CF0/AWN/AWM.xml &lt;br /&gt;
&lt;br /&gt;
In the example the created directory is AWN (like the XML file name).&lt;br /&gt;
Now your job is done and the feature is switched on.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
*[[Howto:Wiki_Sources#absencememo | download]] the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:PBX/Objects/Gateway&amp;diff=65882</id>
		<title>Reference13r2:PBX/Objects/Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:PBX/Objects/Gateway&amp;diff=65882"/>
		<updated>2023-01-18T14:29:27Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: The &amp;#039;&amp;#039;Gateway&amp;#039;&amp;#039; PBX object is used to register a gateway with the PBX. A Gateway object in contrast to a User object allows additional dialing digits to be sent. Also for incoming calls th...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;Gateway&#039;&#039; PBX object is used to register a gateway with the PBX. A Gateway object in contrast to a User object allows additional dialing digits to be sent. Also for incoming calls the incoming calling party number is passed on.&lt;br /&gt;
&lt;br /&gt;
See [[{{NAMESPACE}}:PBX/Objects#General_Object_Properties]] for generic object properties.&lt;br /&gt;
&lt;br /&gt;
== Gateway Object specific Configuration ==&lt;br /&gt;
&lt;br /&gt;
;Enblock Count: If this number of digits is dialed after the number of the Gateway object itself, the call is sent out as enblock call. This is useful to connect to gateway which are not capable of overlap receiving.&lt;br /&gt;
&lt;br /&gt;
;Enblock as Diverting No: If this checkmark is set, the called party number is transmitted as diverting leg2 information. As called party number the number of the gateway object is sent or no number if the Prefix checkmark is set. This is useful with Microsoft Exchange since this expects the number of the mailbox as diverting number.&lt;br /&gt;
&lt;br /&gt;
;Prefix: If this checkmark is set, the number of the Gateway object itself is removed from the called party number for outgoing calls and added to the calling party number for incoming calls&lt;br /&gt;
&lt;br /&gt;
;Domain: Route calls with matching domain part in the destination to this object.&lt;br /&gt;
&lt;br /&gt;
;Loop Detect: If checked outgoing calls are blocked if a call with identical source and destination addresses already exists.&lt;br /&gt;
&lt;br /&gt;
;International Match: If a call is received, the calling party number is compared to this number. If there is a match (head match) this number is removed from the calling party number, so that only additional digits remain.  E.g. on an incoming call from a registration on this Gateway object the CGPN 00049703173009123 will be mapped to 123 (if the number is set to 00049703173009). Note that this comparison is done after the replacements configured in PBX/Config/General/Prefix for ... have been performed&lt;br /&gt;
&lt;br /&gt;
;National Match: Same as &#039;International Match&#039; only for national calling party number. This comparison is done if the comparison for the International Match above is configured but failed.  E.g. on an incoming call from a registration on this Gateway object the CGPN 00703173009123 will be mapped to 123 (if the number is set to 00703173009)&lt;br /&gt;
&lt;br /&gt;
;Subscriber Match: Same as &#039;International Match&#039; only for subscriber calling party number. This comparison is done if the comparison for the National Match above is configured but failed.  E.g. on an incoming call from a registration on this Gateway object the CGPN 073009123 will be mapped to 123 (if the number is set to 073009)&lt;br /&gt;
&lt;br /&gt;
;Set incoming call UUI: If configured, this is set to each call coming in thru this gateway object as User User Information (UUI). The UUI can be used to set the identity header on a SIP call, when sending the call on a SIP interface in the gateway.&lt;br /&gt;
&lt;br /&gt;
;Set outgoing call UUI:  If configured, this is set to each call going out thru this gateway object as User User Information (UUI).&lt;br /&gt;
&lt;br /&gt;
;Internal Destination: If this checkmark is set, all calls from devices registered at this object are marked as Internal (Numbering plan set to private). This is usefull if systems are registered to this object, which cannot send calls with the private numbering plan but should be regarded as internal (e.g. voicemail systems).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The device registering with a gateway object is normally expected to send local extension numbers as calling party number (i.e. extensions local to the PBX and &#039;behind&#039; the gateways own number).  However, if it sends these numbers as full numbers (that is, including the various prefixes such as county code, are code, trunk, etc.), these can be stripped using the next 3 fields:&lt;br /&gt;
&lt;br /&gt;
;Outgoing Calls No Name: If set no calling Name is sent with outgoing calls&lt;br /&gt;
&lt;br /&gt;
;Outgoing Calls No URL: If set no src-URL is sent with outgoing calls&lt;br /&gt;
&lt;br /&gt;
;No Presence/Dialog Subscribe: If set no subscribe sessions are forwarded thru this gateway object&lt;br /&gt;
&lt;br /&gt;
;No Inband Disconnect: 	If this checkmark is set, a call disconnect with inband information will not be forwarded to the endpoint registered to the user, but the call will be cleared immediatelly without the inband information beeing sent..&lt;br /&gt;
&lt;br /&gt;
;Fax License: TBD.&lt;br /&gt;
&lt;br /&gt;
;Obtain Channels lic on outgoing call: If this checkmark is set, a PBX Channels license will be acquired for calls to a Conference interface. PBX Channels licenses must be installed on the PBX for this to work.&lt;br /&gt;
&lt;br /&gt;
;Filter: The filter configured here restricts the numbers which may be called by through this object. &amp;quot;Called by&amp;quot; means [[Course13:IT_Advanced_-_07_More_on_advanced_PBX_object_properties_and_behavior#Disallowing_incoming_external_Calls|restriction to incoming calls only]].&lt;br /&gt;
&lt;br /&gt;
== Multiple Gateway Registrations ==&lt;br /&gt;
&lt;br /&gt;
If multiple Gateways are registered to a Gateway object, Gateways registered to the same device config are used round-robin. The gateways registered to different devices are used in the sequence of the configured devices.&lt;br /&gt;
&lt;br /&gt;
== Call Diversions ==&lt;br /&gt;
;CFU: If configured a CFU is executed, so calls to the Gateways object are diverted.&lt;br /&gt;
;CFB: A CFB is executed if a call is rejected with &#039;&#039;User Busy&#039;&#039; by remote destination&lt;br /&gt;
;CFNR: A CFNR is executed if a call is rejected because of a local problem (&#039;&#039;no channel&#039;&#039;, &#039;&#039;no gatway registered&#039;&#039;, ...)&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r1:Conferences,_Resources_and_Licenses&amp;diff=65872</id>
		<title>Howto13r1:Conferences, Resources and Licenses</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r1:Conferences,_Resources_and_Licenses&amp;diff=65872"/>
		<updated>2023-01-18T11:31:32Z</updated>

		<summary type="html">&lt;p&gt;Ani: &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 innovaphone devices supporting a &#039;&#039;CONF&#039;&#039; or &#039;&#039;SCNF&#039;&#039; interface and hence &#039;&#039;Conference Channels&#039;&#039; (as shown in the devices home-page).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: Konferenzen, Lizenzen, 3PTY, 3er Konferenz 3erkonferenz, multi-party conference, mehrfachkonferenz, conferencing, conferences --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
Performing conferencing on a [[Reference10:Gateway/Interfaces#Conferencing_interface_.28CONF.29 | &#039;&#039;CONF or SCNF&#039;&#039; interface]] consumes both resources and licenses. Here is an overview of which and how much. &lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
First let us have a look at the overall scheme:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_Scheme2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Coder channels ====&lt;br /&gt;
Both the &#039;&#039;CONF&#039;&#039; and &#039;&#039;SCNF&#039;&#039; interface provides the mixing of 8KHz G711 PCM audio channels. &lt;br /&gt;
&lt;br /&gt;
If a call is done towards a CONF interface, it will allocate a &#039;&#039;Coder channel&#039;&#039; from the DSP coder channel bank for processing of the audio from the VoIP codec (e.g. G.711, G.722, OPUS) to PCM audio. &lt;br /&gt;
&lt;br /&gt;
The SCNF however supports G.711a/u coder only (which is basically PCM). For this reason, no &#039;&#039;Coder channel&#039;&#039; needs to be allocated for a call.&lt;br /&gt;
&lt;br /&gt;
==== (Soft) Conference Channels ====&lt;br /&gt;
Each call to a CONF interface consumes one of the &#039;&#039;Conference Channels&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Each call to an SCNF interface consumes one of the &#039;&#039;Soft Conference Channels&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Channels license ====&lt;br /&gt;
&lt;br /&gt;
In addition to that, a call to either the CONF or SCNF requires a &#039;&#039;Channel&#039;&#039; license. This license can be obtained from the PBX if the  &#039;&#039;PBX Channels licenses&#039;&#039; switch in the PBX [[Reference13r1:PBX/Objects/Conference | &#039;&#039;Conference&#039;&#039; object ]] is activated (if the call comes through such an object). For this, &#039;&#039;PBX Channels licenses&#039;&#039; must be installed on the PBX.&lt;br /&gt;
&lt;br /&gt;
This is the recommended configuration.  However, the &#039;&#039;Channel&#039;&#039; license can also be obtained locally from the gateway where the CONF/SCNF is located on. All innovaphone gateways have a number of &#039;&#039;Channel&#039;&#039; licenses built-in. The number of licenses available is euql to the number of &#039;&#039;Coder&#039;&#039; channels the box supports.  If no license is sent along with the call to the CONF or SCNF interface, the interface will try to obtain one from the pool of built-in licenses. This can save you some cost.  However, be aware that these licenses (as well as the corresponding &#039;&#039;Channel&#039;&#039; coders) are also required for calls through the ISDN BRI/PRI interfaces or for audio fax calls. Calls to CONF/SCNF interfaces which consume local &#039;&#039;Channel&#039;&#039; licenses may inhibit such calls therefor. &lt;br /&gt;
&lt;br /&gt;
The PBX-Channels License has order no. 02-00020-007 according to chapter &amp;quot;3.5 PBX Channels license&amp;quot; in the [https://www.innovaphone.com/content/downloads/innovaphone-Licensing%20Guidelines-V13r2-EN.pdf innovaphone license guide]. &lt;br /&gt;
&lt;br /&gt;
The [[Reference13r1:PBX/Config/General#License_Status|status of the PBX Licenses]] shows assigned PBX-Channel licenses:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_pbx-channel_license_01.png]]&lt;br /&gt;
&lt;br /&gt;
==== Port license ====&lt;br /&gt;
The registration of the CONF and/or SCNF to the PBX Conference object does not require a Port license.&lt;br /&gt;
&lt;br /&gt;
Although this is not directly related to the CONF or SCNF interface, please note that a single &#039;&#039;Port&#039;&#039; license is required if any of the rooms defined in a PBX &#039;&#039;Conference&#039;&#039; object is accessed using the conference web access (from 13r3).&lt;br /&gt;
&lt;br /&gt;
===Example Scenarios===&lt;br /&gt;
&lt;br /&gt;
====Conference on hardware gateway with local ISDN====&lt;br /&gt;
Let us assume we have a conference running on a CONF interface with one PSTN and 3 VoIP participants.  In this case, we have &lt;br /&gt;
&lt;br /&gt;
{| border=1 &lt;br /&gt;
| ||Caller || DSP Coder Channel ||  Conference Channel || PBX Channel License&lt;br /&gt;
|-&lt;br /&gt;
| ||1 PSTN || 1 (CONF) + 1 (ISDN) **|| 1  ||  1 &lt;br /&gt;
|-&lt;br /&gt;
| ||3 VoIP || 3|| 3 || 3 &lt;br /&gt;
|-&lt;br /&gt;
| Total || 4 || 5 || 4 || 4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;: {{FIXME|reason=do we need only one or would this require &#039;&#039;enable PCM&#039;&#039;?}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Looking at an IP411, it supports the following resources:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_example_gateway_channels_IP411.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that our sample scenario will not work on an IP411 as there are no &#039;&#039;Conference Channels&#039;&#039; available.  However, if we change the scenario so that an SCNF is used instead of a CONF, it would look as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 &lt;br /&gt;
| ||Caller || DSP Coder Channel ||  Soft Conference Channel || PBX Channel License&lt;br /&gt;
|-&lt;br /&gt;
| ||1 PSTN || 1 (ISDN) **|| 1  ||  1 &lt;br /&gt;
|-&lt;br /&gt;
| ||3 VoIP || 3|| 3 || 3 &lt;br /&gt;
|-&lt;br /&gt;
| Total || 4 || 4 || 4 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This will work on an IP411.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3PTY Conferencing ===&lt;br /&gt;
3-way conferencing is special as it is usually implemented internally in the innovaphone IP phones.  That is, each user of an innovaphone IP phone (except the IP61) has internal conferencing resources built-in to allow for a 3-way conference.  No external &#039;&#039;CONF/SCNF&#039;&#039; interface is needed.&lt;br /&gt;
&lt;br /&gt;
However, on innovaphone DECT phones, no internal conferencing resource is present and hence no internal 3PTY is possible.  The DECT system can thus be [[Reference9:3pty conference on DECT phones|configured to use an external conferencing resource]] for 3PTY.  In this case, the rules above apply.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Reference9:Concept myPBX]]&lt;br /&gt;
* [[Reference10:Concept Innovaphone Virtual Appliance]]&lt;br /&gt;
* [[Reference9:3pty conference on DECT phones]]&lt;br /&gt;
* [[Reference10:Gateway/Interfaces#Conferencing_interface_.28CONF.29]]&lt;br /&gt;
* [[Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported]], lists DSP and CONF resources for the different gateway platforms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Concept_Conference]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r2:Conferences,_Resources_and_Licenses&amp;diff=65870</id>
		<title>Howto13r2:Conferences, Resources and Licenses</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r2:Conferences,_Resources_and_Licenses&amp;diff=65870"/>
		<updated>2023-01-18T11:30:01Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: ==Applies To== This information applies to  all innovaphone devices supporting a &amp;#039;&amp;#039;CONF&amp;#039;&amp;#039; or &amp;#039;&amp;#039;SCNF&amp;#039;&amp;#039; interface and hence &amp;#039;&amp;#039;Conference Channels&amp;#039;&amp;#039; (as shown in the devices home-page).  &amp;lt;!--...&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 innovaphone devices supporting a &#039;&#039;CONF&#039;&#039; or &#039;&#039;SCNF&#039;&#039; interface and hence &#039;&#039;Conference Channels&#039;&#039; (as shown in the devices home-page).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: Konferenzen, Lizenzen, 3PTY, 3er Konferenz 3erkonferenz, multi-party conference, mehrfachkonferenz, conferencing, conferences --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
Performing conferencing on a [[Reference10:Gateway/Interfaces#Conferencing_interface_.28CONF.29 | &#039;&#039;CONF or SCNF&#039;&#039; interface]] consumes both resources and licenses. Here is an overview of which and how much. &lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
First let us have a look at the overall scheme:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_Scheme2.png]]&lt;br /&gt;
&lt;br /&gt;
==== Coder channels ====&lt;br /&gt;
Both the &#039;&#039;CONF&#039;&#039; and &#039;&#039;SCNF&#039;&#039; interface provides the mixing of 8KHz G711 PCM audio channels. &lt;br /&gt;
&lt;br /&gt;
If a call is done towards a CONF interface, it will allocate a &#039;&#039;Coder channel&#039;&#039; from the DSP coder channel bank for processing of the audio from the VoIP codec (e.g. G.711, G.722, OPUS) to PCM audio. &lt;br /&gt;
&lt;br /&gt;
The SCNF however supports G.711a/u coder only (which is basically PCM). For this reason, no &#039;&#039;Coder channel&#039;&#039; needs to be allocated for a call.&lt;br /&gt;
&lt;br /&gt;
==== (Soft) Conference Channels ====&lt;br /&gt;
Each call to a CONF interface consumes one of the &#039;&#039;Conference Channels&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Each call to an SCNF interface consumes one of the &#039;&#039;Soft Conference Channels&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Channels license ====&lt;br /&gt;
&lt;br /&gt;
In addition to that, a call to either the CONF or SCNF requires a &#039;&#039;Channel&#039;&#039; license. This license can be obtained from the PBX if the  &#039;&#039;PBX Channels licenses&#039;&#039; switch in the PBX [[Reference13r1:PBX/Objects/Conference | &#039;&#039;Conference&#039;&#039; object ]] is activated (if the call comes through such an object) or the &#039;&#039;Obtain Channels lic on outgoing call&#039;&#039; check-mark is ticked in a [[Reference13r1:PBX/Objects/Gateway | PBX &#039;&#039;Gateway&#039;&#039; object ]] (if the call comes through such an object).  For this, &#039;&#039;PBX Channels licenses&#039;&#039; must be installed on the PBX.&lt;br /&gt;
&lt;br /&gt;
This is the recommended configuration.  However, the &#039;&#039;Channel&#039;&#039; license can also be obtained locally from the gateway where the CONF/SCNF is located on. All innovaphone gateways have a number of &#039;&#039;Channel&#039;&#039; licenses built-in. The number of licenses available is euql to the number of &#039;&#039;Coder&#039;&#039; channels the box supports.  If no license is sent along with the call to the CONF or SCNF interface, the interface will try to obtain one from the pool of built-in licenses. This can save you some cost.  However, be aware that these licenses (as well as the corresponding &#039;&#039;Channel&#039;&#039; coders) are also required for calls through the ISDN BRI/PRI interfaces or for audio fax calls. Calls to CONF/SCNF interfaces which consume local &#039;&#039;Channel&#039;&#039; licenses may inhibit such calls therefor. &lt;br /&gt;
&lt;br /&gt;
The PBX-Channels License has order no. 02-00020-007 according to chapter &amp;quot;3.5 PBX Channels license&amp;quot; in the [https://www.innovaphone.com/content/downloads/innovaphone-Licensing%20Guidelines-V13r2-EN.pdf innovaphone license guide]. &lt;br /&gt;
&lt;br /&gt;
The [[Reference13r1:PBX/Config/General#License_Status|status of the PBX Licenses]] shows assigned PBX-Channel licenses:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_pbx-channel_license_01.png]]&lt;br /&gt;
&lt;br /&gt;
==== Port license ====&lt;br /&gt;
The registration of the CONF and/or SCNF to the PBX Conference object does not require a Port license.&lt;br /&gt;
&lt;br /&gt;
Although this is not directly related to the CONF or SCNF interface, please note that a single &#039;&#039;Port&#039;&#039; license is required if any of the rooms defined in a PBX &#039;&#039;Conference&#039;&#039; object is accessed using the conference web access (from 13r3).&lt;br /&gt;
&lt;br /&gt;
===Example Scenarios===&lt;br /&gt;
&lt;br /&gt;
====Conference on hardware gateway with local ISDN====&lt;br /&gt;
Let us assume we have a conference running on a CONF interface with one PSTN and 3 VoIP participants.  In this case, we have &lt;br /&gt;
&lt;br /&gt;
{| border=1 &lt;br /&gt;
| ||Caller || DSP Coder Channel ||  Conference Channel || PBX Channel License&lt;br /&gt;
|-&lt;br /&gt;
| ||1 PSTN || 1 (CONF) + 1 (ISDN) **|| 1  ||  1 &lt;br /&gt;
|-&lt;br /&gt;
| ||3 VoIP || 3|| 3 || 3 &lt;br /&gt;
|-&lt;br /&gt;
| Total || 4 || 5 || 4 || 4&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt;: {{FIXME|reason=do we need only one or would this require &#039;&#039;enable PCM&#039;&#039;?}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Looking at an IP411, it supports the following resources:&lt;br /&gt;
&lt;br /&gt;
[[Image:Conferences,_Ressources_and_Licenses_-_example_gateway_channels_IP411.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that our sample scenario will not work on an IP411 as there are no &#039;&#039;Conference Channels&#039;&#039; available.  However, if we change the scenario so that an SCNF is used instead of a CONF, it would look as follows:&lt;br /&gt;
&lt;br /&gt;
{| border=1 &lt;br /&gt;
| ||Caller || DSP Coder Channel ||  Soft Conference Channel || PBX Channel License&lt;br /&gt;
|-&lt;br /&gt;
| ||1 PSTN || 1 (ISDN) **|| 1  ||  1 &lt;br /&gt;
|-&lt;br /&gt;
| ||3 VoIP || 3|| 3 || 3 &lt;br /&gt;
|-&lt;br /&gt;
| Total || 4 || 4 || 4 || 4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This will work on an IP411.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3PTY Conferencing ===&lt;br /&gt;
3-way conferencing is special as it is usually implemented internally in the innovaphone IP phones.  That is, each user of an innovaphone IP phone (except the IP61) has internal conferencing resources built-in to allow for a 3-way conference.  No external &#039;&#039;CONF/SCNF&#039;&#039; interface is needed.&lt;br /&gt;
&lt;br /&gt;
However, on innovaphone DECT phones, no internal conferencing resource is present and hence no internal 3PTY is possible.  The DECT system can thus be [[Reference9:3pty conference on DECT phones|configured to use an external conferencing resource]] for 3PTY.  In this case, the rules above apply.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Reference9:Concept myPBX]]&lt;br /&gt;
* [[Reference10:Concept Innovaphone Virtual Appliance]]&lt;br /&gt;
* [[Reference9:3pty conference on DECT phones]]&lt;br /&gt;
* [[Reference10:Gateway/Interfaces#Conferencing_interface_.28CONF.29]]&lt;br /&gt;
* [[Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported]], lists DSP and CONF resources for the different gateway platforms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Concept_Conference]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64379</id>
		<title>Howto13r3:Step-by-Step Media Relay connection for third party phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64379"/>
		<updated>2022-11-24T12:25:10Z</updated>

		<summary type="html">&lt;p&gt;Ani: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Keywords: SIP, third, party, phone, media relay, step-by-step, easy--&amp;gt;&lt;br /&gt;
{{FIXME|reason=This product is in the beta phase and is not yet finished}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Step-by-Step]]&lt;br /&gt;
&lt;br /&gt;
{{HOWTOMOD13r3 Translation Info}}&lt;br /&gt;
&lt;br /&gt;
This article defines the recommended configuration to connect third party phones. The configuration ensures media connectivity and compatibility to WebRTC  without relying on ICE and DTLS on the phone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-overview.png]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
A common problem is that third-party SIP phones do not support ICE or DTLS. As a result audio connections across NAT boundaries are often a challenge. To solve this problem, you can enable Media Relay, but the Media Relay endpoint address must be a public IP address so that the external SIP phone can send its audio to this address.&lt;br /&gt;
&lt;br /&gt;
Furthermore, WebRTC endpoints require ICE and DTLS to establish an audio connection. Since not all SIP phones support these features, enabling Media Relay for these 3rd party phones solves this issue. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*Send Audio traffic across NAT boundaries without using the ICE mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
*The firmware has to be at least 13r3&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*3rd party SIP phone&lt;br /&gt;
*A reverse proxy for forwarding SIP messages (optional - only necessary if you connect an external 3rd party phone)&lt;br /&gt;
*TURN Server (optional - you can route RTP traffic to the PBX directly  if you have no TURN server)&lt;br /&gt;
&lt;br /&gt;
== Things to know before you begin ==&lt;br /&gt;
*The public IP address of the network (External IP of the Firewall or NAT Router)&lt;br /&gt;
*You must have access to the firewall or NAT router to be able to configure port forwardings&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In this scenario, we are going to configure the above picture to allow an external third party SIP device to send its audio to an internal destination. This Wiki article does not explain how to register a SIP phone to an innovaphone PBX via a reverse proxy. If you need help to accomplish this, please read the instructions in our [[Course13:IT_Advanced_2_-_07_Public_access_to_PBX_resources_%28practice%29|Advanced Training Part 2]] materials. &lt;br /&gt;
&lt;br /&gt;
Please register your SIP device to your PBX via the reverse proxy.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the User Object ===&lt;br /&gt;
Please set the option &#039;&#039;Media Relay&#039;&#039; on the hardware ID of the user object on which your SIP device is registered. Do not set the Media Relay option globally in the PBX (PBX/Config/General)! This option is no longer required as you can enable Media Relay for each hardware ID individually.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-1.png]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of the PBX ===&lt;br /&gt;
Under PBX/Config/General of your Advanced UI you will find a configuration option called &#039;&#039;Media Relay Endpoints&#039;&#039;. You have to enter the public IP address of your firewall or NAT router here. The PBX sends this IP address as the &amp;quot;connection address&amp;quot; in the SDP for all devices that are registered via the reverse proxy and use Media Relay. (see first step)&lt;br /&gt;
&lt;br /&gt;
In case you have a TURN Server already in use you can enable the TURN setting as well. In this case you would route RTP traffic to the TURN Server first.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-2.png]]&lt;br /&gt;
&lt;br /&gt;
===RTP Range Configuration===&lt;br /&gt;
You need to create an RTP port range on either the PBX or the TURN server, depending on whether the TURN flag is active or not. Please go to IP4/General/Settings on your device (PBX or TURN Server) and configure the &#039;&#039;First UDP-RTP Port&#039;&#039; and then the &#039;&#039;Number of Ports&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-3.png]]&lt;br /&gt;
&lt;br /&gt;
===Firewall Configuration===&lt;br /&gt;
You need to create port forwardings on your firewall. Depending on whether the &#039;&#039;TURN&#039;&#039; flag is on or off, a port forwarding for the RTP/UDP ports must be configured towards the PBX (if no &#039;&#039;TURN&#039;&#039; flag is set) or the TURN server (if &#039;&#039;TURN&#039;&#039; flag is set). E.g If you configured a RTP port Range 16384 to 16583, a port forwarding for those exact ports have to be configured on your firewall. &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
Please call any extension number in your PBX. You should be able to hear and talk to the other party on the call.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
Beta phase: at the moment only the PBX can be used for media relay, so port forwarding from external to internal must point directly to the PBX excluding TURN server test until further notice. Also, calling a Voicemail has no audio, while calling a conference there is no audio after the PIN is dialed.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Reference13r3:Concept Third Party Phones]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_Third_Party_Phones&amp;diff=64372</id>
		<title>Reference13r3:Concept Third Party Phones</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_Third_Party_Phones&amp;diff=64372"/>
		<updated>2022-11-24T11:08:34Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone phones use ICE and DTLS-SRTP for direct media compatibility with WebRTC. This way media can be exchanged directly between the phones and a Browser, which offloads the PBX from media forwarding. Many third party phones do not support ICE or DTLS-SRTP, for this reason a configuration which includes media relay in the PBX for these phones is recommended. The configuration for third party phones consists of the following components:&lt;br /&gt;
* Media Relay set for the device&lt;br /&gt;
* Optionally a TURN Server within the private network&lt;br /&gt;
* Port forwarding from the NAT-Router to the internal TURN Server or to the PBX&lt;br /&gt;
&lt;br /&gt;
== Phones within the same Network as the PBX ==&lt;br /&gt;
&lt;br /&gt;
For phones within the same network as the PBX, it is sufficient to configure Media Relay at the device settings for the phones. This way normal media negotiation happens between the Phone and the PBX and the RTP data is exchanged between phone and PBX. The PBX forwards the RTP data to the other endpoint. This elimnates media negotiation compatibilty issues of theses phones with any other endpoint within the system.&lt;br /&gt;
&lt;br /&gt;
On the other hand it create additional CPU load on the PBX for the forwarding. Esspecially decryption and encryption of the forwarded RTP data creates some load. This is needed, because WebRTC endpoints or innovaphone phones use DTLS-SRTP for encryption, which is in this case terminated within the PBX.&lt;br /&gt;
&lt;br /&gt;
== Phones from outside the PBX network ==&lt;br /&gt;
&lt;br /&gt;
For phones from outside the PBX network several issues have to be addressed: Registration to the PBX, RTP NAT traversal and security.&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
&lt;br /&gt;
To forward the registration from the outside network to the PBX is done by the innovaphone reverse proxy. Just port forwarding from the firewall or the NAT router is not good enough, because the information that the registration is forwarded from outside is needed for the media mechanisms. SIP TCP or TLS has to be used for the registration, because UDP is not supported by the innovaphone reverse proxy.&lt;br /&gt;
&lt;br /&gt;
To save public IP addresses, the reverse proxy can be placed within the PBX network. In this case port forwarding to the reverse proxy has to be configured on the firewall or NAT router. The port forwarding is needed for SIP(S), HTTP(S), H323(s) and LDAP(s).&lt;br /&gt;
&lt;br /&gt;
On the PBX the reverse proxy or the reverse proxies must be configured, so that the PBX knows, that the registration is received from the outside and can adjust the media negotiation accordingly. If TLS authentication shall be used, the certificate names of the reverse proxies need to be configured as well. The reverse proxy checks that the certificate matches with the registration name and the PBX checks the certificate of the reverse proxy.&lt;br /&gt;
&lt;br /&gt;
=== RTP NAT traversal ===&lt;br /&gt;
&lt;br /&gt;
NAT traversal needs to be solved at two places: The firewall / NAT router of the PBX network and the firewall / NAT router of the phone.&lt;br /&gt;
&lt;br /&gt;
==== PBX Network ====&lt;br /&gt;
&lt;br /&gt;
RTP data has to be sent from the phone to the PBX or the internal TURN server. This can be achieved by providing the public IP address of the firewall or NAT router to the phone within the SDP. For this reason this address can be configured at the PBX. On the firewall / NAT router a UDP port forwarding to the PBX or the internal TURN server has to be configured for the RTP port range configured on the PBX or the TURN server.&lt;br /&gt;
&lt;br /&gt;
==== Phone Network ====&lt;br /&gt;
&lt;br /&gt;
The phone provides an internal IP address with the SDP to receive RTP. To this IP address no RTP can be sent from the outside. So to be able to send to the phone an algorithm called RTP latching is implemented on the PBX and on the TURN server. This algorithm simply changes the destination address for SDP to the address from which RTP data from the phone is received. This is the public IP address and NAT port of the NAT router of the phone network. The NAT on this router forwards the RTP to the phone.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
To avoid that data can be sent directly to the PBX a TURN server can be used internally. The security issue here is a potential denial of service attack by sending a lot of data to the PBX. To use a TURN server the TURN checkmark has to be set on the PBX config page. If the firewall of the PBX network has denial of service protection on these ports which are forwarded to the PBX, the TURN server is not needed for this purpose.&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
[[:Category:Problem Third Party Phones|Known Problems]]&lt;br /&gt;
[[Category:Concept_Third party phones]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Category:Problem_Third_Party_Phones&amp;diff=64368</id>
		<title>Category:Problem Third Party Phones</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Category:Problem_Third_Party_Phones&amp;diff=64368"/>
		<updated>2022-11-24T10:54:17Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: Third Party Phones Known Problems&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Third Party Phones Known Problems&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64136</id>
		<title>Howto13r3:Step-by-Step Media Relay connection for third party phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64136"/>
		<updated>2022-11-11T14:22:33Z</updated>

		<summary type="html">&lt;p&gt;Ani: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Keywords: SIP, third, party, phone, media relay, step-by-step, easy--&amp;gt;&lt;br /&gt;
{{FIXME|reason=This product is in the beta phase and is not yet finished}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Step-by-Step]]&lt;br /&gt;
&lt;br /&gt;
{{HOWTOMOD13r3 Translation Info}}&lt;br /&gt;
&lt;br /&gt;
This article defines the recommended configuration to connect third party phones. The configuration ensures media connectivity and compatibility to WebRTC  without relying on ICE and DTLS on the phone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-overview.png]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
A common problem is that third-party SIP phones do not support ICE or DTLS. As a result audio connections across NAT boundaries are often a challenge. To solve this problem, you can enable Media Relay, but the Media Relay endpoint address must be a public IP address so that the external SIP phone can send its audio to this address.&lt;br /&gt;
&lt;br /&gt;
Furthermore, WebRTC endpoints require ICE and DTLS to establish an audio connection. Since not all SIP phones support these features, enabling Media Relay for these 3rd party phones solves this issue. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*Send Audio traffic across NAT boundaries without using the ICE mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
*The firmware has to be at least 13r3&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*3rd party SIP phone&lt;br /&gt;
*A reverse proxy for forwarding SIP messages (optional - only necessary if you connect an external 3rd party phone)&lt;br /&gt;
*TURN Server (optional - you can route RTP traffic to the PBX directly  if you have no TURN server)&lt;br /&gt;
&lt;br /&gt;
== Things to know before you begin ==&lt;br /&gt;
*The public IP address of the network (External IP of the Firewall or NAT Router)&lt;br /&gt;
*You must have access to the firewall or NAT router to be able to configure port forwardings&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In this scenario, we are going to configure the above picture to allow an external third party SIP device to send its audio to an internal destination. This Wiki article does not explain how to register a SIP phone to an innovaphone PBX via a reverse proxy. If you need help to accomplish this, please read the instructions in our [[Course13:IT_Advanced_2_-_07_Public_access_to_PBX_resources_%28practice%29|Advanced Training Part 2]] materials. &lt;br /&gt;
&lt;br /&gt;
Please register your SIP device to your PBX via the reverse proxy.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the User Object ===&lt;br /&gt;
Please set the option &#039;&#039;Media Relay&#039;&#039; on the hardware ID of the user object on which your SIP device is registered. Do not set the Media Relay option globally in the PBX (PBX/Config/General)! This option is no longer required as you can enable Media Relay for each hardware ID individually.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-1.png]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of the PBX ===&lt;br /&gt;
Under PBX/Config/General of your Advanced UI you will find a configuration option called &#039;&#039;Media Relay Endpoints&#039;&#039;. You have to enter the public IP address of your firewall or NAT router here. The PBX sends this IP address as the &amp;quot;connection address&amp;quot; in the SDP for all devices that are registered via the reverse proxy and use Media Relay. (see first step)&lt;br /&gt;
&lt;br /&gt;
In case you have a TURN Server already in use you can enable the TURN setting as well. In this case you would route RTP traffic to the TURN Server first.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-2.png]]&lt;br /&gt;
&lt;br /&gt;
===RTP Range Configuration===&lt;br /&gt;
You need to create an RTP port range on either the PBX or the TURN server, depending on whether the TURN flag is active or not. Please go to IP4/General/Settings on your device (PBX or TURN Server) and configure the &#039;&#039;First UDP-RTP Port&#039;&#039; and then the &#039;&#039;Number of Ports&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-3.png]]&lt;br /&gt;
&lt;br /&gt;
===Firewall Configuration===&lt;br /&gt;
You need to create port forwardings on your firewall. Depending on whether the &#039;&#039;TURN&#039;&#039; flag is on or off, a port forwarding for the RTP/UDP ports must be configured towards the PBX (if no &#039;&#039;TURN&#039;&#039; flag is set) or the TURN server (if &#039;&#039;TURN&#039;&#039; flag is set). E.g If you configured a RTP port Range 16384 to 16583, a port forwarding for those exact ports have to be configured on your firewall. &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
Please call any extension number in your PBX. You should be able to hear and talk to the other party on the call.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
Beta phase: at the moment only the PBX can be used for media relay, so port forwarding from external to internal must point directly to the PBX excluding TURN server test until further notice.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Reference13r3:Concept Third Party Phones]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64122</id>
		<title>Howto13r3:Step-by-Step Media Relay connection for third party phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto13r3:Step-by-Step_Media_Relay_connection_for_third_party_phone&amp;diff=64122"/>
		<updated>2022-11-11T13:09:35Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Keywords: SIP, third, party, phone, media relay, step-by-step, easy--&amp;gt;&lt;br /&gt;
{{FIXME|reason=This product is in the beta phase and is not yet finished}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Step-by-Step]]&lt;br /&gt;
&lt;br /&gt;
{{HOWTOMOD13r3 Translation Info}}&lt;br /&gt;
&lt;br /&gt;
This article defines the recommended configuration to connect third party phones. The configuration ensures media connectivity and compatibility to WebRTC  without relying on ICE and DTLS on the phone.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-overview.png]]&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
A common problem is that third-party SIP phones do not support ICE or DTLS. As a result audio connections across NAT boundaries are often a challenge. To solve this problem, you can enable Media Relay, but the Media Relay endpoint address must be a public IP address so that the external SIP phone can send its audio to this address.&lt;br /&gt;
&lt;br /&gt;
Furthermore, WebRTC endpoints require ICE and DTLS to establish an audio connection. Since not all SIP phones support these features, enabling Media Relay for these 3rd party phones solves this issue. &lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
*Send Audio traffic across NAT boundaries without using the ICE mechanism.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
*The firmware has to be at least 13r3&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*3rd party SIP phone&lt;br /&gt;
*A reverse proxy for forwarding SIP messages (optional - only necessary if you connect an external 3rd party phone)&lt;br /&gt;
*TURN Server (optional - you can route RTP traffic to the PBX directly  if you have no TURN server)&lt;br /&gt;
&lt;br /&gt;
== Things to know before you begin ==&lt;br /&gt;
*The public IP address of the network (External IP of the Firewall or NAT Router)&lt;br /&gt;
*You must have access to the firewall or NAT router to be able to configure port forwardings&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
In this scenario, we are going to configure the above picture to allow an external third party SIP device to send its audio to an internal destination. This Wiki article does not explain how to register a SIP phone to an innovaphone PBX via a reverse proxy. If you need help to accomplish this, please read the instructions in our [[Course13:IT_Advanced_2_-_07_Public_access_to_PBX_resources_%28practice%29|Advanced Training Part 2]] materials. &lt;br /&gt;
&lt;br /&gt;
Please register your SIP device to your PBX via the reverse proxy.&lt;br /&gt;
&lt;br /&gt;
=== Configuration on the User Object ===&lt;br /&gt;
Please set the option &#039;&#039;Media Relay&#039;&#039; on the hardware ID of the user object on which your SIP device is registered. Do not set the Media Relay option globally in the PBX (PBX/Config/General)! This option is no longer required as you can enable Media Relay for each hardware ID individually.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-1.png]]&lt;br /&gt;
&lt;br /&gt;
=== Configuration of the PBX ===&lt;br /&gt;
Under PBX/Config/General of your Advanced UI you will find a configuration option called &#039;&#039;Media Relay Endpoints&#039;&#039;. You have to enter the public IP address of your firewall or NAT router here. The PBX sends this IP address as the &amp;quot;connection address&amp;quot; in the SDP for all devices that are registered via the reverse proxy and use Media Relay. (see first step)&lt;br /&gt;
&lt;br /&gt;
In case you have a TURN Server already in use you can enable the TURN setting as well. In this case you would route RTP traffic to the TURN Server first.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-2.png]]&lt;br /&gt;
&lt;br /&gt;
===RTP Range Configuration===&lt;br /&gt;
You need to create an RTP port range on either the PBX or the TURN server, depending on whether the TURN flag is active or not. Please go to IP4/General/Settings on your device (PBX or TURN Server) and configure the &#039;&#039;First UDP-RTP Port&#039;&#039; and then the &#039;&#039;Number of Ports&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Image:Media-relay-endpoints-3.png]]&lt;br /&gt;
&lt;br /&gt;
===Firewall Configuration===&lt;br /&gt;
You need to create port forwardings on your firewall. Depending on whether the &#039;&#039;TURN&#039;&#039; flag is on or off, a port forwarding for the RTP/UDP ports must be configured towards the PBX (if no &#039;&#039;TURN&#039;&#039; flag is set) or the TURN server (if &#039;&#039;TURN&#039;&#039; flag is set). E.g If you configured a RTP port Range 16384 to 16583, a port forwarding for those exact ports have to be configured on your firewall. &lt;br /&gt;
&lt;br /&gt;
== Verification ==&lt;br /&gt;
&lt;br /&gt;
Please call any extension number in your PBX. You should be able to hear and talk to the other party on the call.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Reference13r3:Concept Third Party Phones]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_Third_Party_Phones&amp;diff=63955</id>
		<title>Reference13r3:Concept Third Party Phones</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_Third_Party_Phones&amp;diff=63955"/>
		<updated>2022-10-28T06:21:21Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone phones use ICE and DTLS for direct media compatibility with WebRTC. This way media can be exchanged directly between the phones and a Browser, which offloads the PBX from media forwarding. Many third party phones do not support ICE or DTLS, for this reason a configuration which includes media relay in the PBX for these phones is recommended. The configuration for third party softphones consists of the following components:&lt;br /&gt;
* Media Relay set for the device&lt;br /&gt;
* Optionally a TURN Server within the private network&lt;br /&gt;
* Port forwarding from the NAT-Router to the internal TURN Server or to the PBX&lt;br /&gt;
&lt;br /&gt;
== Phones within the same Network as the PBX ==&lt;br /&gt;
&lt;br /&gt;
For phones within the same network as the PBX, it is sufficient to configure Media Relay at the device settings for the phones. This way normal media negotiation happens between the Phone and the PBX and the RTP data is exchanged between phone and PBX. The PBX forwards the RTP data to the other endpoint. This elimnates media negotiation compatibilty issues of theses phones with any other endpoint within the system.&lt;br /&gt;
&lt;br /&gt;
On the other hand it create additional CPU load on the PBX for the forwarding. Esspecially decryption and encryption of the forwarded RTP data creates some load. This is needed, because WebRTC endpoints or innovaphone phones use DTLS for encryption, which is in this case terminated within the PBX.&lt;br /&gt;
&lt;br /&gt;
== Phones from outside the PBX network ==&lt;br /&gt;
&lt;br /&gt;
For phones from outside the PBX network several issues have to be addressed: Registration to the PBX RTP NAT traversal and security.&lt;br /&gt;
&lt;br /&gt;
=== Registration ===&lt;br /&gt;
&lt;br /&gt;
To forward the registration from the outside network to the PBX is done by the innovaphone reverse proxy. Just port forwarding from the firewall or the NAT router is not good enough, because the information that the registration is forwarded from outside is needed for the media mechanisms. SIP TCP or TLS has to be used for the registration, because UDP is not supported by the innovaphone reverse proxy.&lt;br /&gt;
&lt;br /&gt;
To save public IP addresses, the reverse proxy can be placed within the PBX network. In this case port forwarding to the reverse proxy has to be configured on the firewall or NAT router. The port forwarding is needed for SIP(S), HTTP(S), H323(s) and LDAP(s).&lt;br /&gt;
&lt;br /&gt;
On the PBX the reverse proxy or the reverse proxies must be configured, so that the PBX knows, that the registration is received from the outside and can adjust the media negotiation accordingly. If TLS authentication shall be used, the certificate names of the reverse proxies need to be configured as well. The reverse proxy checks that the certificate matches with the registration name and the PBX checks the certificate of the reverse proxy.&lt;br /&gt;
&lt;br /&gt;
=== RTP NAT traversal ===&lt;br /&gt;
&lt;br /&gt;
NAT traversal needs to be solved at two places: The firewall / NAT router of the PBX network and the firewall / NAT router of the phone.&lt;br /&gt;
&lt;br /&gt;
==== PBX Network ====&lt;br /&gt;
&lt;br /&gt;
RTP data has to be sent from the phone to the PBX or the internal TURN server. This can be achieved by providing the public IP address of the firewall or NAT router to the phone within the SDP. For this reason this address can be configured at the PBX. On the firewall / NAT router a UDP port forwarding to the PBX or the internal TURN server has to be configured for the RTP port range configured on the PBX or the TURN server.&lt;br /&gt;
&lt;br /&gt;
==== Phone Network ====&lt;br /&gt;
&lt;br /&gt;
The phone provides an internal IP address with the SDP to receive RTP. To this IP address no RTP can be sent from the outside. So to be able to send to the phone an algorithm called RTP latching is implemented on the PBX and on the TURN server. This algorithm simply changes the destination address for SDP to the address from which RTP data from the phone is received. This is the public IP address and NAT port of the NAT router of the phone network. The NAT on this router forwards the RTP to the phone.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
To avoid that data can be sent directly to the PBX a TURN server can be used internally. The security issue here is a potential denial of service attack by sending a lot of data to the PBX. To use a TURN server the TURN checkmark has to be set on the PBX config page. If the firewall of the PBX network has denial of service protection on these ports which are forwarded to the PBX, the TURN server is not needed for this purpose.&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Use_soft_conference_interface_with_bc_conference_object&amp;diff=61152</id>
		<title>Howto:Use soft conference interface with bc conference object</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Use_soft_conference_interface_with_bc_conference_object&amp;diff=61152"/>
		<updated>2022-03-01T14:22:12Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
* PBX with firmware with at least 13r1 sr13 or 13r2&lt;br /&gt;
&amp;lt;!-- Keywords: &lt;br /&gt;
bc conference&lt;br /&gt;
conference&lt;br /&gt;
soft conference&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==More Information==&lt;br /&gt;
General information about [https://wiki.innovaphone.com/index.php?title=Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported]&lt;br /&gt;
&lt;br /&gt;
===Details===&lt;br /&gt;
In the past, BC conference  ( https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Call_Broadcast_Conference ) were using the default conference interface or an external conference interface. &lt;br /&gt;
&lt;br /&gt;
With the new v13, from 13r1 sr13, we can use soft conference channel together with the BC conference to make it works.&lt;br /&gt;
&lt;br /&gt;
To do so, simply configure in the BC conference object, as hardware ID,  macaddress-SCNF (for example, 0090330000-SCNF), where the mac address is the gateway were soft conference are available, and in the conference object, as hardware ID the same (for example, 0090330000-SCNF), and in the Devices tab, the same Hardware ID.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now is possible to use soft conference also when configuring a BC conference object.&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Use_soft_conference_interface_with_bc_conference_object&amp;diff=61151</id>
		<title>Howto:Use soft conference interface with bc conference object</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Use_soft_conference_interface_with_bc_conference_object&amp;diff=61151"/>
		<updated>2022-03-01T14:16:53Z</updated>

		<summary type="html">&lt;p&gt;Ani: New page: ==Applies To== This information applies to * PBX with firmware with at least 13r1 sr13 or 13r2 &amp;lt;!-- Keywords:  bc conference conference soft conference --&amp;gt; ==More Information== General inf...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
* PBX with firmware with at least 13r1 sr13 or 13r2&lt;br /&gt;
&amp;lt;!-- Keywords: &lt;br /&gt;
bc conference&lt;br /&gt;
conference&lt;br /&gt;
soft conference&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==More Information==&lt;br /&gt;
General information about [https://wiki.innovaphone.com/index.php?title=Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported]&lt;br /&gt;
&lt;br /&gt;
===Details===&lt;br /&gt;
In the past, BC conference  ( https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Call_Broadcast_Conference ) were using the default conference interface or an external conference interface. &lt;br /&gt;
&lt;br /&gt;
With the new v13, from 13r1 sr13, we can use soft conference channel together with the BC conference to make it works.&lt;br /&gt;
&lt;br /&gt;
To do so, simply configure in the BC conference object, as hardware ID,  macaddress-SCNF (for example, 0090330000-SCNF), where the mac address is the gateway were soft conference are available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now is possible to use soft conference also when configuring a BC conference object.&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Platform&amp;diff=60664</id>
		<title>Reference13r2:Concept App Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Platform&amp;diff=60664"/>
		<updated>2021-12-22T08:58:27Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
* V13 uses [https://buildroot.org/ buildroot]&lt;br /&gt;
* this is an own (innovaphone) collection of packages&lt;br /&gt;
* For further information see: [https://buildroot.org/docs.html Buildroot Documentations]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* V13 or up&lt;br /&gt;
* Gateway (arm): IPx10 (with CF card) or IPx11 (with mSATA SSD) &lt;br /&gt;
* Gateway (arm64): IPx13 (with m2 SSD)&lt;br /&gt;
* Virtual (x86_64)&lt;br /&gt;
** HyperV with [https://docs.microsoft.com/de-de/windows-server/virtualization/hyper-v/deploy/upgrade-virtual-machine-version-in-hyper-v-on-windows-or-windows-server#supported-virtual-machine-configuration-versions VM-configuration Version] 6.2 (minimum: Windows 10 or Windows Server 2016)&lt;br /&gt;
** VMWare&lt;br /&gt;
&lt;br /&gt;
== Default credentials ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;During INSTALL, the default passwords are replaced with the global Admin PW!&#039;&#039;&#039;&lt;br /&gt;
* SSH-Login with &#039;&#039;&#039;admin&#039;&#039;&#039; and &#039;&#039;&#039;ipapps&#039;&#039;&#039;&lt;br /&gt;
* root login with &#039;&#039;&#039;root&#039;&#039;&#039; and &#039;&#039;&#039;iplinux&#039;&#039;&#039; (the root login is not directly possible, you have to login as admin first and use the command &#039;&#039;su root&#039;&#039;)&lt;br /&gt;
* manager App (web login) &#039;&#039;&#039;pwd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= App Platform - arm/arm64 (Gateway)=&lt;br /&gt;
&lt;br /&gt;
* The installation image has a size of ~50MB. During installation, the following partitions are created:&lt;br /&gt;
** /dev/sda1 fat32: 200MB (contains ramdisk, rootfs and kernel)&lt;br /&gt;
** /dev/sda2 ext4: depends on disk size (contains databases, log files and apps)&lt;br /&gt;
** /dev/sda3 ext4: 500MB (contains the rootfs)&lt;br /&gt;
** /dev/sda4 swap: 512MB&lt;br /&gt;
&lt;br /&gt;
When comparing potential performance of the IPxx11 platform compared to the IPxx10 platform, there are some major differences:&lt;br /&gt;
* SSDs found in the xx11 are faster and more reliable than the CF found in the xx10&lt;br /&gt;
* the available RAM for the AP (as specified in column &#039;&#039;RAM for LAP (GB) out of RAM&#039;&#039; in chapter &#039;&#039;Technical data and recommended number of users supported&#039;&#039; of [[Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported|How to implement large PBXs]]) is factor 6 larger on the xx11 (1,536 GB) than on the xx10 (0,256 GB))&lt;br /&gt;
* the xx11 has gigabit Ethernet while the xx10 has 100Mbps Ethernet. The xx10 is therefore not well suited for Apps with larger network traffic, such as Recordings&lt;br /&gt;
* the CPU of the xx11 (although it runs on the same frequency) is roughly 20% faster than the xx10&lt;br /&gt;
&lt;br /&gt;
While it is hard to predict the performance of the AP in a specific scenario, we see that in a real life environment an AP running on an xx11 platform can well support 150 users. The xx10 platform is estimated to support 120 users.  Because CPU performance is the limiting factor, larger setups can be built based on the virtual machine platform (see [[#App_services_and_multi-threading|App services and multi-threading]] below).&lt;br /&gt;
&lt;br /&gt;
= App Platform - x86-64 (Virtual Machine 64bit) =&lt;br /&gt;
&lt;br /&gt;
* The default disk size is 16GB. It should be increased &#039;&#039;&#039;before&#039;&#039;&#039; the first start if needed!&lt;br /&gt;
&lt;br /&gt;
* Multiple CPUs are supported, default is one CPU&lt;br /&gt;
&lt;br /&gt;
* default RAM: 512MB&lt;br /&gt;
* static IP address, DNS, Gateway can be configured with the command &#039;&#039;&#039;setip&#039;&#039;&#039; on the console. Run &#039;&#039;&#039;setip --help&#039;&#039;&#039; to get a list of parameters. (Example: setip --addr=x.x.x.x --mask=x.x.x.x --gateway=x.x.x.x --dns1=x.x.x.x) &lt;br /&gt;
* If you have permission problems change to su user (Password is iplinux or your new admin password)  &lt;br /&gt;
* To figure out your ip address you can use the command: &#039;&#039;ip address&#039;&#039; on the console.&lt;br /&gt;
* &#039;&#039;&#039;loadkeys de&#039;&#039;&#039; can be used to change to german keyboard layout (etc.)&lt;br /&gt;
&lt;br /&gt;
* partitions:&lt;br /&gt;
** /dev/sda1 ext2: 350MB (contains ramdisk, rootfs and kernel)&lt;br /&gt;
** /dev/sda2 ext4: depends on disk size (contains databases, log files and apps)&lt;br /&gt;
** /dev/sda3 ext4: 500MB (contains the rootfs)&lt;br /&gt;
** /dev/sda4 swap: 512MB&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
==ARM Gateway==&lt;br /&gt;
&lt;br /&gt;
If you setup a Gateway with the install procedure, the App Platform is installed automatically (Https Download has to be allowed and shouldn&#039;t be blocked by any firewall.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also install it manually:&lt;br /&gt;
* Open App Platform -&amp;gt; General and &#039;&#039;&#039;Enable Linux Support&#039;&#039;&#039;. Restart the gateway.&lt;br /&gt;
* You need to enable Proxy-ARP on [[Reference13r1:IP4/ETH/IP|ETH0]] or [[Reference13r1:IP4/ETH/IP|ETH1]], so your Gateway and the Linux Appliance will share the same physical interface.&lt;br /&gt;
* Open App Platform -&amp;gt; IP and configure the IP settings of the App Platform. Restart the Gateway.&lt;br /&gt;
* Open App Platform -&amp;gt; Installation and select the given version or enter an own path to the &#039;&#039;app-platform-armel.img&#039;&#039; image file.&lt;br /&gt;
* The installation runs without any further required step.&lt;br /&gt;
&lt;br /&gt;
==ARM64 Gateway==&lt;br /&gt;
&lt;br /&gt;
If you setup a Gateway with the install procedure, the App Platform is installed automatically (Https Download has to be allowed and shouldn&#039;t be blocked by any firewall.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also install it manually:&lt;br /&gt;
* Open App Platform -&amp;gt; General and &#039;&#039;&#039;Enable Linux Support&#039;&#039;&#039;. Restart the gateway.&lt;br /&gt;
* You need to enable Proxy-ARP on [[Reference13r1:IP4/ETH/IP|ETH0]] or [[Reference13r1:IP4/ETH/IP|ETH1]], so your Gateway and the Linux Appliance will share the same physical interface.&lt;br /&gt;
* Open App Platform -&amp;gt; IP and configure the IP settings of the App Platform. Restart the Gateway.&lt;br /&gt;
* Open App Platform -&amp;gt; Installation and select the given version or enter an own path to the &#039;&#039;app-platform-arm64.img&#039;&#039; image file.&lt;br /&gt;
* The installation runs without any further required step.&lt;br /&gt;
&lt;br /&gt;
==Virtual machine==&lt;br /&gt;
&lt;br /&gt;
* Import the image into your server environment.&lt;br /&gt;
* Edit the disk size, if needed.&lt;br /&gt;
* Start the machine and wait until it reboots and starts again.&lt;br /&gt;
* Note: If you need to access an IP addresses available through a VPN connection from from inside the virtual machine, it could be that you need to set the network of your VM to NAT (and also add the URL for an IP to /etc/hosts)&lt;br /&gt;
&lt;br /&gt;
[https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Innovaphone_Virtual_Appliance#Configuration More Configuration Hints regarding VM Ware]&lt;br /&gt;
&lt;br /&gt;
== Backup of the Apps ==&lt;br /&gt;
&lt;br /&gt;
Each App Service can have multiple instances and each instance has its own database. The manager app itself also has its own database.&amp;lt;br&amp;gt;&lt;br /&gt;
There are no other files which need to be backuped.&amp;lt;br&amp;gt;&lt;br /&gt;
The standard way to backup the databases is through the Devices App [[Reference13r1:Concept_App_Service_Devices#Backups]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An alternate way is to use a command file which is similar to the command files from the firmware.&lt;br /&gt;
&lt;br /&gt;
===Commands===&lt;br /&gt;
* &#039;&#039;&#039;times&#039;&#039;&#039; 0,12 # backup only at 0 or 12 o&#039;clock&lt;br /&gt;
* &#039;&#039;&#039;backup-instances&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump PUT&lt;br /&gt;
** PUT and POST are supported, all instances including the manager itself are saved&lt;br /&gt;
* &#039;&#039;&#039;backup-instance&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump apidemo example.com PUT&lt;br /&gt;
** backup a single instance with instance name and instance domain&lt;br /&gt;
* &#039;&#039;&#039;backup-manager&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump&lt;br /&gt;
&lt;br /&gt;
===Hash parameters===&lt;br /&gt;
* #L App Platform label (neu), e.g. 10024&lt;br /&gt;
* #A App label (neu), e.g. 130004&lt;br /&gt;
* #I instance name (neu), e.g. reporting1&lt;br /&gt;
* #D instance domain (neu), e.g. innovaphone.com&lt;br /&gt;
* #m MAC address of the LAP, e.g. 00ab11eeff&lt;br /&gt;
* #d Current date and time (plain UTC without daylight saving and timezone adjustments) 20051010-170130&lt;br /&gt;
* #bn rolling backup index&lt;br /&gt;
* ## escapes a hash mark&lt;br /&gt;
&lt;br /&gt;
= App Platform Infrastructure and Concept =&lt;br /&gt;
== Webserver ==&lt;br /&gt;
The app platform includes a webserver that is highly optimized for handling many Websocket connections at a low memory footprint.&lt;br /&gt;
All apps use that webserver by registering for specific HTTP subpath. So they can all use the same HTTP/HTTPS ports - typically the standard ports.&lt;br /&gt;
&lt;br /&gt;
=== Import Custom SSL Certificate ===&lt;br /&gt;
You have to upload a PEM Certificate with the following chain structure and without password encoding.&lt;br /&gt;
&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (certificate: your_domain_name.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (Intermediate certificate: DigiCertCA.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (Root certificate: TrustedRoot.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
 (certificate Key: your_domain_name.key)&lt;br /&gt;
 -----END RSA PRIVATE KEY-----&lt;br /&gt;
&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
*The app platform webserver can use only the default http/https ports 80/443.&lt;br /&gt;
*By design, there is no possibility to restore the default webserver certificate on the App Platform, if another certificate was once uploaded.&amp;lt;br /&amp;gt;&lt;br /&gt;
**If nevertheless needed, you must login with Putty (see [[#How_to_retrieve_files_from_the_AP | Retrieve files]]) and execute these commands as root:&lt;br /&gt;
**&#039;&#039;psql -d manager -c &amp;quot;DELETE FROM config WHERE name=&#039;webserverCertificate&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
**&#039;&#039;/etc/init.d/S92manager restart&#039;&#039;&lt;br /&gt;
*The app platform webserver interprets URLs case-sensitive. In other words, &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/file.txt&amp;lt;/nowiki&amp;gt; is not the same as &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/FILE.TXT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
The app platform creates a database for each app instance with a given password. In the installer there will be used randomly generated passwords. You can set a new database password for every instance in the Application Platform.&lt;br /&gt;
&lt;br /&gt;
The apps should store all data in that database. That makes sure that a consistent backup and restore of app instances can be done by the app platform manager.&lt;br /&gt;
In hosted scenarios, having separate databases for each instance also makes sure that the data of different customers are clearly separated and can easily be moved from one physical platform to another.&lt;br /&gt;
&lt;br /&gt;
The default configuration decline database request from extern. If you need external access you can change the PGSQL configuration (as root) in the file &#039;&#039;/mnt/sda2/pgsql/pg_hba.conf&#039;&#039;.&lt;br /&gt;
After editing pg_hba.conf, the database-service has to be restarted with the command &amp;lt;code&amp;gt;/etc/init.d/S50postgresql restart&amp;lt;/code&amp;gt;&lt;br /&gt;
(Please think about it before you do it, because a better way is to create your own local app with local database access.)&lt;br /&gt;
&lt;br /&gt;
 You can find the official documentation for the pg_hba.conf here: https://www.postgresql.org/docs/11/auth-pg-hba-conf.html&lt;br /&gt;
&lt;br /&gt;
== App Platform Manager ==&lt;br /&gt;
The App Platform Manager is the central component of the App Platform. It does the following:&lt;br /&gt;
* Installing app services by downloading the binaries from an app store.&lt;br /&gt;
* Running and monitoring app services. If an app service crashes it is restarted, automatically.&lt;br /&gt;
* Management of app instances and providing them with the environment they need:&lt;br /&gt;
** A database&lt;br /&gt;
** A webserver path&lt;br /&gt;
** A password for authentication&lt;br /&gt;
* Backup and restore of app instances.&lt;br /&gt;
* Collecting debug information like tracing and crash dumps.&lt;br /&gt;
* System monitoring (CPU usage, memory usage, etc).&lt;br /&gt;
&lt;br /&gt;
== App Services ==&lt;br /&gt;
App services are runned by the App Platform Manager. They implement an interface that is used by the manager to start, stop and configure app instances. Each service runs in a separate child process of the manager.&lt;br /&gt;
&lt;br /&gt;
== App Instances ==&lt;br /&gt;
The actual functionality of an app service is provided by app instances. They run in the same process as the app service but have a distinct webserver path and their own database. There can be 0..n instances of an app service. Instances can optionally host (web) apps that can be opened in the myApps client.&lt;br /&gt;
&lt;br /&gt;
Each instance of an App service has two passwords. The instance password itself and a database password. If you want to change it you must update the password on both sides.&amp;lt;br&amp;gt;&lt;br /&gt;
The instance password must match to the password in the corresponding PBX App objects, while one instance can have different App objects.&amp;lt;br&amp;gt;&lt;br /&gt;
The database password must be just known to the manager and not outside of the App Platform.&lt;br /&gt;
&lt;br /&gt;
We recommend using instance names so that length(name) + length(domain) is less than 63 charcaters.&lt;br /&gt;
&lt;br /&gt;
== Relationship between app instances and app objects in the PBX ==&lt;br /&gt;
Typically an app instance is connected to one or more app objects in a customer PBX. This is done by configuring the same parameters on both sides:&lt;br /&gt;
* URL&lt;br /&gt;
* Password&lt;br /&gt;
The password is used by the PBX for authenticating itself, users and services against the app instance.&lt;br /&gt;
&lt;br /&gt;
Some apps need a websocket connection with the PBX. When &amp;quot;websocket&amp;quot; is activated at the app object, the PBX establishes a websocket connection to the app instance and provides the APIs that are configured at the app object.&lt;br /&gt;
&lt;br /&gt;
=== Supported scenarios ===&lt;br /&gt;
It is important to understand that the concept does not do any assumptions on how PBXes and APs are correlated. So you can have&lt;br /&gt;
* One AP for one customer&lt;br /&gt;
* One AP for many customers&lt;br /&gt;
* Many APs for one customer&lt;br /&gt;
* Many APs for many customers&lt;br /&gt;
&lt;br /&gt;
Attention: The V13 installer can only configure the scenario &amp;quot;&#039;&#039;One AP for one customer&#039;&#039;&amp;quot;. If you want to have a different scenario, you have to configure it manually.&lt;br /&gt;
&lt;br /&gt;
For hosting or cloud scenarios you need special scenarios. Please refer our [[Howto:V13_Hosting| V13 Hosting]] instructions.&lt;br /&gt;
&lt;br /&gt;
=== Restrictions ===&lt;br /&gt;
Currently we don&#039;t have redundancy for app instances or APs.&lt;br /&gt;
&lt;br /&gt;
== Update of the App Platform itself ==&lt;br /&gt;
The App Platform is build on top of buildroot and will receive updates and fixes from time to time.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can update the used build inside the Manager App by using the &#039;&#039;&#039;Update&#039;&#039;&#039; button at the top.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 It is strongly advised to make a full backup (VM) or at least backup all apps (Gateway) before you run such an update!&lt;br /&gt;
&lt;br /&gt;
== App services and multi-threading ==&lt;br /&gt;
Each App Service runs in a single process with no multi-threading, independent of the instances of the App Service. However, each instance maintains its own database connection and the database responds to this connect with the creation of a new process. Each app service therefore uses 1+&#039;&#039;n&#039;&#039;  threads (where &#039;&#039;n&#039;&#039; is the number of instances).  All communication between app service instances and their clients must pass the single-threaded web server.  On platforms with multi-threading support (i.e. VMware or Hyper-V), up to 1 + &#039;&#039;m&#039;&#039; + &#039;&#039;m&#039;&#039; * &#039;&#039;n&#039;&#039; (with &#039;&#039;m&#039;&#039; being the number of Apps and &#039;&#039;n&#039;&#039; the number of instances per App) threads can be utilized.&lt;br /&gt;
&lt;br /&gt;
= AP Manager settings =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
* &#039;&#039;Enable Developer mode&#039;&#039;: in developer mode, apps can be manually uploaded without an App Store&lt;br /&gt;
* &#039;&#039;Disable App security&#039;&#039;: each App has an own unix user and if this flag is set, the user can login with SSH for debugging&lt;br /&gt;
* &#039;&#039;App Store URL&#039;&#039;: the URL to the App Store where Apps are searched and also an update of the AP image itself&lt;br /&gt;
* &#039;&#039;Devices app URL&#039;&#039;: the URL to the Devices App to manage the AP through Devices&lt;br /&gt;
* &#039;&#039;Devices app URL 2&#039;&#039;: don&#039;t use!&lt;br /&gt;
* &#039;&#039;App Platform DNS name&#039;&#039;: currently not used&lt;br /&gt;
* &#039;&#039;NTP server 1/2&#039;&#039;: NTP servers for this AP (in addition to NTP servers retrieved by DHCP)&lt;br /&gt;
* &#039;&#039;Timezone string&#039;&#039;: &lt;br /&gt;
* &#039;&#039;DNS server 1/2&#039;&#039;: DNS servers for this AP (in addition to DNS servers retrieved by DHCP)&lt;br /&gt;
* &#039;&#039;Command file&#039;&#039;: obsolete, use the Devices App for backups!&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* &#039;&#039;Webserver certificate&#039;&#039;: upload a webserver certificate in PEM format&lt;br /&gt;
* &#039;&#039;AP Manager password&#039;&#039;: the password to the web interface of the AP Manager (normally set through Devices)&lt;br /&gt;
* &#039;&#039;Linux root user&#039;&#039;: password of the root user (normally set through Devices)&lt;br /&gt;
* &#039;&#039;Linux admin user&#039;&#039;: password of the admin user (normally set through Devices)&lt;br /&gt;
&lt;br /&gt;
== Alarms and events ==&lt;br /&gt;
* &#039;&#039;URL&#039;&#039;: URL to the Events app&lt;br /&gt;
* &#039;&#039;Username/Password&#039;&#039;: HTTP credentials of the Events app&lt;br /&gt;
* &#039;&#039;Email address&#039;&#039;: an email address which will get emails on full disk alarms/warnings&lt;br /&gt;
* &#039;&#039;Threshold&#039;&#039;: All Apps will be stopped and an hourly email sent on reaching this threshold. An alarm is generated 10% before reaching this threshold and an email is sent every 24 hours.&lt;br /&gt;
&lt;br /&gt;
== SMTP ==&lt;br /&gt;
SMTP server settings for sending emails from within the AP Manager.&lt;br /&gt;
&lt;br /&gt;
== Registered Access Domains ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
== Reboot after an image update hangs (ARM gateway) ==&lt;br /&gt;
&lt;br /&gt;
If it happens, that the AP doesn&#039;t recover after the reboot, please open the Admin UI of the corresponding gateway and take a look at App Platform -&amp;gt; General.&amp;lt;br&amp;gt;&lt;br /&gt;
If &#039;&#039;&#039;Kernel command line&#039;&#039;&#039; is set to &#039;&#039;&#039;/dev/ram0&#039;&#039;&#039;, the AP booted the ramdisk.&amp;lt;br&amp;gt;&lt;br /&gt;
Try to login with putty in this case (default credentials admin/ipapps and root/iplinux) and issue this command:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cat /apps/install_step1.log&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If this file contains &#039;&#039;&#039;finished&#039;&#039;&#039; at the end, you can reconfigure the settings under App Platform -&amp;gt; General:&amp;lt;br&amp;gt;&lt;br /&gt;
* press &#039;&#039;&#039;Stop&#039;&#039;&#039;&lt;br /&gt;
* Initrd file: empty&lt;br /&gt;
* Kernel command line: &#039;&#039;&#039;root=/dev/sda3&#039;&#039;&#039;&lt;br /&gt;
* Ramdisk size: empty&lt;br /&gt;
* press &#039;&#039;&#039;Start&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The AP should boot and run the already updated image.&lt;br /&gt;
&lt;br /&gt;
== Reboot after an image update doesn&#039;t start as update is already running ==&lt;br /&gt;
&lt;br /&gt;
If it happens, that the AP doesn&#039;t want to start an update because one is already running, please open the Admin UI of the corresponding gateway and take a look at App Platform -&amp;gt; General.&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Shutdown&#039;&#039;&#039; the AP and &#039;&#039;&#039;Stop&#039;&#039;&#039; it.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Kernel command line&#039;&#039;&#039; to &#039;&#039;&#039;/dev/ram0&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Initrd file&#039;&#039;&#039; to &#039;&#039;&#039;ramdisk.ext2.xz&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Ramdisk size&#039;&#039;&#039; to &#039;&#039;&#039;100000&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Start&#039;&#039;&#039; the AP now.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The AP now either applies the image update or it reboots into the old image. Try the image update afterwards again.&lt;br /&gt;
&lt;br /&gt;
= Tracing =&lt;br /&gt;
Each App Service has its own log file, which can be accessed through the Manager App. You can configure a log file size for each App Service.&amp;lt;br&amp;gt;&lt;br /&gt;
Each App Intance has its own trace flags. The following trace flags can be set:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alarm client: used by the manager to send alarms to an alarm server&lt;br /&gt;
* App: logs from the App Service itself&lt;br /&gt;
* App WebSocket: logs app websocket connections (e.g. from PBX objects to an App Service or from the UI to the App Service)&lt;br /&gt;
* AppSharing: just native clients&lt;br /&gt;
* AppProxy: just native clients, logs requests which are proxied between the local webserver and the remote server&lt;br /&gt;
* Audio: just native clients&lt;br /&gt;
* Browser: just native clients&lt;br /&gt;
* Command: the command interface is used to execute shell commands, e.g. used by the manager App&lt;br /&gt;
* Config: logs config changes of an App&lt;br /&gt;
* Database: database logs&lt;br /&gt;
* DB files: database file logs&lt;br /&gt;
* DNS: DNS request logging&lt;br /&gt;
* DTLS: just native clients, DTLS request logging&lt;br /&gt;
* Ethernet: interface to get ethernet adapater infos, just manager App&lt;br /&gt;
* File: logs for file system access (synchronous), e.g. manager App&lt;br /&gt;
* Files: logs for file system access (asynchronous)&lt;br /&gt;
* HTTP client: http client logs&lt;br /&gt;
* HTTP file: logs for static HTTP files&lt;br /&gt;
* ICE: just native clients&lt;br /&gt;
* LDS: local domain sockets &lt;br /&gt;
* Media: just native clients&lt;br /&gt;
* Media channel: just native clients&lt;br /&gt;
* Process: IProcess interface logs which is used for spawning, killing processes etc.&lt;br /&gt;
* SMTP: SMTP client logs&lt;br /&gt;
* TCP: TCP logs&lt;br /&gt;
* Time: ITime interface logs&lt;br /&gt;
* TLS: TLS logs&lt;br /&gt;
* TURN: just native clients&lt;br /&gt;
* UDP: UDP logs&lt;br /&gt;
* Video: just native clients&lt;br /&gt;
* WebSocket client: logs outgoing websocket connections&lt;br /&gt;
* Webserver traffic: logs incoming HTTP traffic, which is forwarded from the webserver to the App&lt;br /&gt;
* WebDAV service: logs WebDAV requests to the App&lt;br /&gt;
* Webserver: enables webserver specific logs&lt;br /&gt;
&lt;br /&gt;
== RPCAP ==&lt;br /&gt;
&lt;br /&gt;
If you open the Manager App, click on the Manager in the left list and then on the Diagnostics button, you can enable RPCAP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Please don&#039;t forget to disable RPCAP after your testing!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= How-Tos =&lt;br /&gt;
&lt;br /&gt;
== How to retrieve files from the AP ==&lt;br /&gt;
To retrieve files from the AP which can not be retrieved via the AP manager UI, you can connect to the AP using the SCP protocol on port 22.&lt;br /&gt;
&lt;br /&gt;
For example, in WinSCP&lt;br /&gt;
* use &#039;&#039;SCP&#039;&#039; as protocol (NB: WebDAV is not supported on most of the directories on the AP)&lt;br /&gt;
* use the &#039;&#039;DNS&#039;&#039; name or IP address of your AP (not the PBX)&lt;br /&gt;
* use user &#039;&#039;admin&#039;&#039; and the appropriate password (&#039;&#039;ipapps&#039;&#039; by default)&lt;br /&gt;
* use &#039;&#039;/home/admin&#039;&#039; as start directory&lt;br /&gt;
* use &#039;&#039;su root&#039;&#039; to be root (&#039;&#039;iplinux&#039;&#039; as default password)&lt;br /&gt;
&lt;br /&gt;
You can now copy files to &#039;&#039;/home/admin&#039;&#039; (e.g. from /var/log/apps/manager/...).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Use the following command to generate a tar with all log files under /home/admin:&lt;br /&gt;
 tar -cf /home/admin/logs.tar --exclude=/var/log/core_dumps/* /var/log/*&lt;br /&gt;
&lt;br /&gt;
== App Platform disk space warning ==&lt;br /&gt;
&lt;br /&gt;
If the configured threshold is reached, all Apps are stopped inside the AP. You must then free disk space somehow.&lt;br /&gt;
&lt;br /&gt;
=== Find large instances ===&lt;br /&gt;
Click through your apps in the tree on the left side and take a look at the database size of each instance.&lt;br /&gt;
&lt;br /&gt;
=== Delete data inside an instance ===&lt;br /&gt;
It depends on the type of app if you can delete data or not. E.g. you can start the Files app and delete files inside this app.&amp;lt;br&amp;gt;&lt;br /&gt;
This won&#039;t reclaim disk space though due to the way how PostgreSQL databases work, so you need to follow this guide to reclaim the disk space:&lt;br /&gt;
&lt;br /&gt;
* start the corresponding App&lt;br /&gt;
* delete data inside the App&lt;br /&gt;
* stop the corresponding App again&lt;br /&gt;
* download a backup of the instance (backup button at the top), this backup contains the whole instance data, also the password of the instance&lt;br /&gt;
* delete this specific instance&lt;br /&gt;
* restore the downloaded backup (restore button at the top)&lt;br /&gt;
&lt;br /&gt;
 Depending on the hardware and the size of the instance, this process may take hours to complete!&lt;br /&gt;
&lt;br /&gt;
=== Resize the disk ===&lt;br /&gt;
The resizing of a disk is just possible for virtual machines, see [[#Resizing the disk of a Virtual machine|Resizing the disk of a Virtual machine]].&lt;br /&gt;
&lt;br /&gt;
=== Delete the whole instance ===&lt;br /&gt;
If there is no other possibility, you can delete the whole instance. Afterwards you recreate the instance with the same values and a new random password. Don&#039;t forget to set this password in the corresponding PBX App objects though!&lt;br /&gt;
&lt;br /&gt;
=== Restart the Apps or the AP ===&lt;br /&gt;
If you have enough disk space again, you must either restart the whole App Platform or you manually start all Apps again.&lt;br /&gt;
&lt;br /&gt;
== App Platform/Apps app not online anymore due to full disk ==&lt;br /&gt;
If the apps app is not online anymore and you can&#039;t access any apps anymore, try to login with an SSH client to see if your disk is full.&lt;br /&gt;
Login as admin and afterwards as root (su root).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* issue &#039;&#039;&#039;df -h&#039;&#039;&#039; and see the disk usage of /dev/sda2, if this is 100%, your disk is too full&lt;br /&gt;
* stop the manager&lt;br /&gt;
** /etc/init.d/S92manager stop&lt;br /&gt;
* empty the 500 MB file, which is exactly for this case here (manager must be 13r1 SR9 or higher to have this file)&lt;br /&gt;
** echo &amp;quot;&amp;quot; &amp;gt; /mnt/sda2/empty_if_no_space&lt;br /&gt;
* delete log files to recover some space&lt;br /&gt;
** rm /var/log/apps/*/*&lt;br /&gt;
** rm /var/log/core_dumps/*/*&lt;br /&gt;
* restart the postgresql server (see the output if this worked or not)&lt;br /&gt;
** /etc/init.d/S50postgresql restart&lt;br /&gt;
* restart the manager&lt;br /&gt;
** /etc/init.d/S92manager restart&lt;br /&gt;
* wait until everything is online again&lt;br /&gt;
* open the Apps app and try to find the instance which uses the most disk space and try to delete files/content from it&lt;br /&gt;
** you may want to stop all app services first to prevent more writes to the database&lt;br /&gt;
** if not possible, you can delete this instance, but you&#039;ll loose all data from this instance then!&lt;br /&gt;
* after that you can try [[Reference13r1:Concept_App_Platform#Shrink_the_physically_size_of_PostgreSQL_database_files]] to free up space&lt;br /&gt;
** If this does not work you can create a backup from the database, delete the database and import the database again.&lt;br /&gt;
* free up at least 500 MB so that the manager can create the file again&lt;br /&gt;
* delete /mnt/sda2/empty_if_no_space if you are done and restart the manager:&lt;br /&gt;
** rm /mnt/sda2/empty_if_no_space&lt;br /&gt;
** /etc/init.d/S92manager restart&lt;br /&gt;
** the manager restart automatically recreates the empty_if_no_space file if this file doesn&#039;t exist&lt;br /&gt;
&lt;br /&gt;
 Make sure, that you do &#039;&#039;&#039;not&#039;&#039;&#039; have backups configured to a local files instance while this files instance is not excluded from backups.&lt;br /&gt;
 An instance can be excluded from backups in the instance settings in the AP Manager.&lt;br /&gt;
&lt;br /&gt;
If all of this doesn&#039;t help, you can resize the file system on a VM:&lt;br /&gt;
* proceed with [[Reference13r1:Concept_App_Platform#Resizing_the_disk_of_a_Virtual_machine]]&lt;br /&gt;
&lt;br /&gt;
== Resizing the disk of a Virtual machine ==&lt;br /&gt;
&lt;br /&gt;
* stop the VM&lt;br /&gt;
* expand the disk using your VM utilities&lt;br /&gt;
* start the VM and boot from the first boot entry &#039;&#039;&#039;rescue/setup&#039;&#039;&#039;&lt;br /&gt;
* login with &#039;&#039;&#039;root&#039;&#039;&#039; and &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
* execute this command: &#039;&#039;&#039;/home/root/install_step1.sh log.txt resize&#039;&#039;&#039;&lt;br /&gt;
* the VM reboots automatically after a successful resize&lt;br /&gt;
&lt;br /&gt;
== Shrink the physically size of PostgreSQL database files ==&lt;br /&gt;
Tuples that are deleted in your databse are not physically removed from the database-file. So the claimed space on the harddisk is still in use after the delete operation. &lt;br /&gt;
If you need to free up some disk space you can force to reorganize the physically database-file on your harddisk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important: You are operating on the Database, you have to make a Backup of your Database before you do this!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login via SSH to the APPlatform with the &#039;&#039;admin&#039;&#039; User&lt;br /&gt;
 su root&lt;br /&gt;
 /etc/init.d/S92manager stop  # not always needed, but in case of database errors recommended, of course no app is online then&lt;br /&gt;
 sudo -u postgres reindexdb -a&lt;br /&gt;
 sudo -u postgres vacuumdb -a -f&lt;br /&gt;
 /etc/init.d/S92manager restart # just execute if the manager has been stopped above&lt;br /&gt;
&lt;br /&gt;
 sudo -u postgres reindexdb -d dbname # for a single database with dbname&lt;br /&gt;
 sudo -u postgres vacuumdb -d dbname -f # for a single database with dbname&lt;br /&gt;
&lt;br /&gt;
Note: This may take some time and CDRs (or other data written to a DB) won&#039;t be received during this time. &lt;br /&gt;
&lt;br /&gt;
After the process you can check the free dispace via &amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt;. You can check the claimed space from the database file with the command &amp;lt;code&amp;gt;du -sh /mnt/sda2/pgsql/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Change IP Addresses / DNS Names / System Name ==&lt;br /&gt;
&lt;br /&gt;
If you want to change the System Name or the DNS Name of the PBX and/or AP Platform you must change records manually &#039;&#039;&#039;in the described order&#039;&#039;&#039;!&lt;br /&gt;
You have to know the Admin password to directly Login to the AP-Plattform.&lt;br /&gt;
&lt;br /&gt;
=== App Platform ===&lt;br /&gt;
; Settings - General&lt;br /&gt;
* &#039;&#039;Devices app URL&#039;&#039;&lt;br /&gt;
* &#039;&#039;App platform DNS name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Settings - Alarms and Events&lt;br /&gt;
* &#039;&#039;URL&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; All Instances&lt;br /&gt;
* &#039;&#039;Domain&#039;&#039;&lt;br /&gt;
* &#039;&#039;Webserver path&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== PBX ===&lt;br /&gt;
Download the configuration and &#039;&#039;search/replace&#039;&#039; in the config file. Upload the config file and reboot.&lt;br /&gt;
&lt;br /&gt;
Manual:&lt;br /&gt;
* &#039;&#039;URL&#039;&#039; in all PBX Object (Apps, Voicemail ...)&lt;br /&gt;
* [[Reference9:Gateway/CDR|CDRx]]&lt;br /&gt;
* [[Reference13r1:PBX/Config/General|IP address for App Platform]] &lt;br /&gt;
* [[Reference13r1:PBX/Config/myApps|Reset Password Page]]&lt;br /&gt;
* [[Reference13r1:PBX/Config/Authentication|Verification link]]&lt;br /&gt;
&lt;br /&gt;
Depending on your change you have to activate/deactivate the Setting [[Reference13r1:PBX/Config/General|Operation without DNS]]&lt;br /&gt;
&lt;br /&gt;
=== Additional Devices / Steps ===&lt;br /&gt;
* &#039;&#039;Devices Registration URL&#039;&#039;&lt;br /&gt;
** There is no automatism to change the URL on all devices in your setup.&lt;br /&gt;
** If you have the option to use DHCP, you can temporarily overwrite the [[{{NAMESPACE}}:Services/Update|Update URL]] and execute a [[{{NAMESPACE}}:Concept_Update_Server|custom update script]] to change the &#039;&#039;Device Registration URL&#039;&#039;&lt;br /&gt;
* &#039;&#039;Alarm server&#039;&#039;&lt;br /&gt;
* Reverse Proxy configuration&lt;br /&gt;
* Change &#039;&#039;Domain Name&#039;&#039; in Devices if you have also changed the system name&lt;br /&gt;
&lt;br /&gt;
== How to recover from a broken File System ==&lt;br /&gt;
Sometimes you may find messages in the &#039;&#039;messages&#039;&#039; log file (in &#039;&#039;var/log&#039;&#039;) like&lt;br /&gt;
&lt;br /&gt;
 initial error at 1500329378: ext4_journal_start_sb:328&lt;br /&gt;
 last error at 1500329378: ext4_journal_start_sb:328&lt;br /&gt;
&lt;br /&gt;
Or you get events like &amp;quot;Broken file system&amp;quot; from your AP.&lt;br /&gt;
&lt;br /&gt;
This indicates a file system failure on the Linux Installation.&lt;br /&gt;
&lt;br /&gt;
When the Linux file system is broken, you can try to repair it using some command line Linux tools.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t fix your issue, you need to replace the SSD with a new one, re-install the App Platform and any applications and restore your backups.&lt;br /&gt;
&lt;br /&gt;
=== Gateway ===&lt;br /&gt;
&lt;br /&gt;
* Open the WebGUI of the gateway running your LAP and proceed to &#039;&#039;App Platform/General&#039;&#039;&lt;br /&gt;
** terminate Linux (&#039;&#039;Status/Stop&#039;&#039;)&lt;br /&gt;
** modify the Kernel command line from root=/dev/sda3 to root=/dev/ram0&lt;br /&gt;
** modify the Initrd file to ramdisk.ext2.xz&lt;br /&gt;
** modify the ramdisk size to 100000&lt;br /&gt;
** start Linux again&lt;br /&gt;
:: This will run Linux on another (hopefully sane) partition.&lt;br /&gt;
&lt;br /&gt;
* use [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] to log in to the LAP&#039;s command line (user: root, pw: iplinux)&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: this should fix any issue on the file system&lt;br /&gt;
&lt;br /&gt;
* go back to the WebGUI of the gateway running your LAP and proceed to &#039;&#039;App Platform/General&#039;&#039;&lt;br /&gt;
** terminate Linux (&#039;&#039;Status/Stop&#039;&#039;)&lt;br /&gt;
** modify the &#039;&#039;Kernel command line&#039;&#039; from &#039;&#039;root=/dev/ram0&#039;&#039; to &amp;lt;code&amp;gt;root=/dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
** clear the Initrd file field&lt;br /&gt;
** clear the ramdisk size field&lt;br /&gt;
** start Linux again&lt;br /&gt;
:: This will run Linux on the original partition.&lt;br /&gt;
&lt;br /&gt;
=== VM ===&lt;br /&gt;
&lt;br /&gt;
Restart the VM and select the first entry in the boot menu from grub.&lt;br /&gt;
&lt;br /&gt;
* use [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] to log in to the LAP&#039;s command line&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: this should fix any issue on the file system&lt;br /&gt;
* Reboot your VM&lt;br /&gt;
[[Category:Concept]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Platform&amp;diff=60663</id>
		<title>Reference13r2:Concept App Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Platform&amp;diff=60663"/>
		<updated>2021-12-22T08:45:16Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General =&lt;br /&gt;
* V13 uses [https://buildroot.org/ buildroot]&lt;br /&gt;
* this is an own (innovaphone) collection of packages&lt;br /&gt;
* For further information see: [https://buildroot.org/docs.html Buildroot Documentations]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* V13 or up&lt;br /&gt;
* Gateway (arm): IPx10 (with CF card) or IPx11 (with mSATA SSD) &lt;br /&gt;
* Gateway (arm64): IPx13 (with m2 SSD)&lt;br /&gt;
* Virtual (x86_64)&lt;br /&gt;
** HyperV with [https://docs.microsoft.com/de-de/windows-server/virtualization/hyper-v/deploy/upgrade-virtual-machine-version-in-hyper-v-on-windows-or-windows-server#supported-virtual-machine-configuration-versions VM-configuration Version] 6.2 (minimum: Windows 10 or Windows Server 2016)&lt;br /&gt;
** VMWare&lt;br /&gt;
&lt;br /&gt;
== Default credentials ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;During INSTALL, the default passwords are replaced with the global Admin PW!&#039;&#039;&#039;&lt;br /&gt;
* SSH-Login with &#039;&#039;&#039;admin&#039;&#039;&#039; and &#039;&#039;&#039;ipapps&#039;&#039;&#039;&lt;br /&gt;
* root login with &#039;&#039;&#039;root&#039;&#039;&#039; and &#039;&#039;&#039;iplinux&#039;&#039;&#039; (the root login is not directly possible, you have to login as admin first and use the command &#039;&#039;su root&#039;&#039;)&lt;br /&gt;
* manager App (web login) &#039;&#039;&#039;pwd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= App Platform - arm/arm64 (Gateway)=&lt;br /&gt;
&lt;br /&gt;
* The installation image has a size of ~50MB. During installation, the following partitions are created:&lt;br /&gt;
** /dev/sda1 fat32: 200MB (contains ramdisk, rootfs and kernel)&lt;br /&gt;
** /dev/sda2 ext4: depends on disk size (contains databases, log files and apps)&lt;br /&gt;
** /dev/sda3 ext4: 500MB (contains the rootfs)&lt;br /&gt;
** /dev/sda4 swap: 512MB&lt;br /&gt;
&lt;br /&gt;
When comparing potential performance of the IPxx11 platform compared to the IPxx10 platform, there are some major differences:&lt;br /&gt;
* SSDs found in the xx11 are faster and more reliable than the CF found in the xx10&lt;br /&gt;
* the available RAM for the AP (as specified in column &#039;&#039;RAM for LAP (GB) out of RAM&#039;&#039; in chapter &#039;&#039;Technical data and recommended number of users supported&#039;&#039; of [[Howto:How_to_implement_large_PBXs#Technical_data_and_recommended_number_of_users_supported|How to implement large PBXs]]) is factor 6 larger on the xx11 (1,536 GB) than on the xx10 (0,256 GB))&lt;br /&gt;
* the xx11 has gigabit Ethernet while the xx10 has 100Mbps Ethernet. The xx10 is therefore not well suited for Apps with larger network traffic, such as Recordings&lt;br /&gt;
* the CPU of the xx11 (although it runs on the same frequency) is roughly 20% faster than the xx10&lt;br /&gt;
&lt;br /&gt;
While it is hard to predict the performance of the AP in a specific scenario, we see that in a real life environment an AP running on an xx11 platform can well support 150 users. The xx10 platform is estimated to support 120 users.  Because CPU performance is the limiting factor, larger setups can be built based on the virtual machine platform (see [[#App_services_and_multi-threading|App services and multi-threading]] below).&lt;br /&gt;
&lt;br /&gt;
= App Platform - x86-64 (Virtual Machine 64bit) =&lt;br /&gt;
&lt;br /&gt;
* The default disk size is 16GB. It should be increased &#039;&#039;&#039;before&#039;&#039;&#039; the first start if needed!&lt;br /&gt;
&lt;br /&gt;
* Multiple CPUs are supported, default is one CPU&lt;br /&gt;
&lt;br /&gt;
* default RAM: 512MB&lt;br /&gt;
* static IP address, DNS, Gateway can be configured with the command &#039;&#039;&#039;setip&#039;&#039;&#039; on the console. Run &#039;&#039;&#039;setip --help&#039;&#039;&#039; to get a list of parameters. (Example: setip --addr=x.x.x.x --mask=x.x.x.x --gateway=x.x.x.x --dns1=x.x.x.x) &lt;br /&gt;
* If you have permission problems change to su user (Password is iplinux or your new admin password)  &lt;br /&gt;
* To figure out your ip address you can use the command: &#039;&#039;ip address&#039;&#039; on the console.&lt;br /&gt;
* &#039;&#039;&#039;loadkeys de&#039;&#039;&#039; can be used to change to german keyboard layout (etc.)&lt;br /&gt;
&lt;br /&gt;
* partitions:&lt;br /&gt;
** /dev/sda1 ext2: 350MB (contains ramdisk, rootfs and kernel)&lt;br /&gt;
** /dev/sda2 ext4: depends on disk size (contains databases, log files and apps)&lt;br /&gt;
** /dev/sda3 ext4: 500MB (contains the rootfs)&lt;br /&gt;
** /dev/sda4 swap: 512MB&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
==ARM Gateway==&lt;br /&gt;
&lt;br /&gt;
If you setup a Gateway with the install procedure, the App Platform is installed automatically (Https Download has to be allowed and shouldn&#039;t be blocked by any firewall.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also install it manually:&lt;br /&gt;
* Open App Platform -&amp;gt; General and &#039;&#039;&#039;Enable Linux Support&#039;&#039;&#039;. Restart the gateway.&lt;br /&gt;
* You need to enable Proxy-ARP on [[Reference13r1:IP4/ETH/IP|ETH0]] or [[Reference13r1:IP4/ETH/IP|ETH1]], so your Gateway and the Linux Appliance will share the same physical interface.&lt;br /&gt;
* Open App Platform -&amp;gt; IP and configure the IP settings of the App Platform. Restart the Gateway.&lt;br /&gt;
* Open App Platform -&amp;gt; Installation and select the given version or enter an own path to the &#039;&#039;app-platform-armel.img&#039;&#039; image file.&lt;br /&gt;
* The installation runs without any further required step.&lt;br /&gt;
&lt;br /&gt;
==ARM64 Gateway==&lt;br /&gt;
&lt;br /&gt;
If you setup a Gateway with the install procedure, the App Platform is installed automatically (Https Download has to be allowed and shouldn&#039;t be blocked by any firewall.)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You can also install it manually:&lt;br /&gt;
* Open App Platform -&amp;gt; General and &#039;&#039;&#039;Enable Linux Support&#039;&#039;&#039;. Restart the gateway.&lt;br /&gt;
* You need to enable Proxy-ARP on [[Reference13r1:IP4/ETH/IP|ETH0]] or [[Reference13r1:IP4/ETH/IP|ETH1]], so your Gateway and the Linux Appliance will share the same physical interface.&lt;br /&gt;
* Open App Platform -&amp;gt; IP and configure the IP settings of the App Platform. Restart the Gateway.&lt;br /&gt;
* Open App Platform -&amp;gt; Installation and select the given version or enter an own path to the &#039;&#039;app-platform-arm64.img&#039;&#039; image file.&lt;br /&gt;
* The installation runs without any further required step.&lt;br /&gt;
&lt;br /&gt;
==Virtual machine==&lt;br /&gt;
&lt;br /&gt;
* Import the image into your server environment.&lt;br /&gt;
* Edit the disk size, if needed.&lt;br /&gt;
* Start the machine and wait until it reboots and starts again.&lt;br /&gt;
* Note: If you need to access an IP addresses available through a VPN connection from from inside the virtual machine, it could be that you need to set the network of your VM to NAT (and also add the URL for an IP to /etc/hosts)&lt;br /&gt;
&lt;br /&gt;
[https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Innovaphone_Virtual_Appliance#Configuration More Configuration Hints regarding VM Ware]&lt;br /&gt;
&lt;br /&gt;
== Backup of the Apps ==&lt;br /&gt;
&lt;br /&gt;
Each App Service can have multiple instances and each instance has its own database. The manager app itself also has its own database.&amp;lt;br&amp;gt;&lt;br /&gt;
There are no other files which need to be backuped.&amp;lt;br&amp;gt;&lt;br /&gt;
The standard way to backup the databases is through the Devices App [[Reference13r1:Concept_App_Service_Devices#Backups]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An alternate way is to use a command file which is similar to the command files from the firmware.&lt;br /&gt;
&lt;br /&gt;
===Commands===&lt;br /&gt;
* &#039;&#039;&#039;times&#039;&#039;&#039; 0,12 # backup only at 0 or 12 o&#039;clock&lt;br /&gt;
* &#039;&#039;&#039;backup-instances&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump PUT&lt;br /&gt;
** PUT and POST are supported, all instances including the manager itself are saved&lt;br /&gt;
* &#039;&#039;&#039;backup-instance&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump apidemo example.com PUT&lt;br /&gt;
** backup a single instance with instance name and instance domain&lt;br /&gt;
* &#039;&#039;&#039;backup-manager&#039;&#039;&#039; http://user:pw@ip/path/#I-#D.dump&lt;br /&gt;
&lt;br /&gt;
===Hash parameters===&lt;br /&gt;
* #L App Platform label (neu), e.g. 10024&lt;br /&gt;
* #A App label (neu), e.g. 130004&lt;br /&gt;
* #I instance name (neu), e.g. reporting1&lt;br /&gt;
* #D instance domain (neu), e.g. innovaphone.com&lt;br /&gt;
* #m MAC address of the LAP, e.g. 00ab11eeff&lt;br /&gt;
* #d Current date and time (plain UTC without daylight saving and timezone adjustments) 20051010-170130&lt;br /&gt;
* #bn rolling backup index&lt;br /&gt;
* ## escapes a hash mark&lt;br /&gt;
&lt;br /&gt;
= App Platform Infrastructure and Concept =&lt;br /&gt;
== Webserver ==&lt;br /&gt;
The app platform includes a webserver that is highly optimized for handling many Websocket connections at a low memory footprint.&lt;br /&gt;
All apps use that webserver by registering for specific HTTP subpath. So they can all use the same HTTP/HTTPS ports - typically the standard ports.&lt;br /&gt;
&lt;br /&gt;
=== Import Custom SSL Certificate ===&lt;br /&gt;
You have to upload a PEM Certificate with the following chain structure and without password encoding.&lt;br /&gt;
&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (certificate: your_domain_name.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (Intermediate certificate: DigiCertCA.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN CERTIFICATE-----&lt;br /&gt;
 (Root certificate: TrustedRoot.crt)&lt;br /&gt;
 -----END CERTIFICATE-----&lt;br /&gt;
 -----BEGIN RSA PRIVATE KEY-----&lt;br /&gt;
 (certificate Key: your_domain_name.key)&lt;br /&gt;
 -----END RSA PRIVATE KEY-----&lt;br /&gt;
&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
*The app platform webserver can use only the default http/https ports 80/443.&lt;br /&gt;
*By design, there is no possibility to restore the default webserver certificate on the App Platform, if another certificate was once uploaded.&amp;lt;br /&amp;gt;&lt;br /&gt;
**If nevertheless needed, you must login with Putty (see [[#How_to_retrieve_files_from_the_AP | Retrieve files]]) and execute these commands as root:&lt;br /&gt;
**&#039;&#039;psql -d manager -c &amp;quot;DELETE FROM config WHERE name=&#039;webserverCertificate&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
**&#039;&#039;/etc/init.d/S92manager restart&#039;&#039;&lt;br /&gt;
*The app platform webserver interprets URLs case-sensitive. In other words, &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/file.txt&amp;lt;/nowiki&amp;gt; is not the same as &amp;lt;nowiki&amp;gt;http://&amp;lt;addr&amp;gt;/FILE.TXT&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
The app platform creates a database for each app instance with a given password. In the installer there will be used randomly generated passwords. You can set a new database password for every instance in the Application Platform.&lt;br /&gt;
&lt;br /&gt;
The apps should store all data in that database. That makes sure that a consistent backup and restore of app instances can be done by the app platform manager.&lt;br /&gt;
In hosted scenarios, having separate databases for each instance also makes sure that the data of different customers are clearly separated and can easily be moved from one physical platform to another.&lt;br /&gt;
&lt;br /&gt;
The default configuration decline database request from extern. If you need external access you can change the PGSQL configuration (as root) in the file &#039;&#039;/mnt/sda2/pgsql/pg_hba.conf&#039;&#039;.&lt;br /&gt;
After editing pg_hba.conf, the database-service has to be restarted with the command &amp;lt;code&amp;gt;/etc/init.d/S50postgresql restart&amp;lt;/code&amp;gt;&lt;br /&gt;
(Please think about it before you do it, because a better way is to create your own local app with local database access.)&lt;br /&gt;
&lt;br /&gt;
 You can find the official documentation for the pg_hba.conf here: https://www.postgresql.org/docs/11/auth-pg-hba-conf.html&lt;br /&gt;
&lt;br /&gt;
== App Platform Manager ==&lt;br /&gt;
The App Platform Manager is the central component of the App Platform. It does the following:&lt;br /&gt;
* Installing app services by downloading the binaries from an app store.&lt;br /&gt;
* Running and monitoring app services. If an app service crashes it is restarted, automatically.&lt;br /&gt;
* Management of app instances and providing them with the environment they need:&lt;br /&gt;
** A database&lt;br /&gt;
** A webserver path&lt;br /&gt;
** A password for authentication&lt;br /&gt;
* Backup and restore of app instances.&lt;br /&gt;
* Collecting debug information like tracing and crash dumps.&lt;br /&gt;
* System monitoring (CPU usage, memory usage, etc).&lt;br /&gt;
&lt;br /&gt;
== App Services ==&lt;br /&gt;
App services are runned by the App Platform Manager. They implement an interface that is used by the manager to start, stop and configure app instances. Each service runs in a separate child process of the manager.&lt;br /&gt;
&lt;br /&gt;
== App Instances ==&lt;br /&gt;
The actual functionality of an app service is provided by app instances. They run in the same process as the app service but have a distinct webserver path and their own database. There can be 0..n instances of an app service. Instances can optionally host (web) apps that can be opened in the myApps client.&lt;br /&gt;
&lt;br /&gt;
Each instance of an App service has two passwords. The instance password itself and a database password. If you want to change it you must update the password on both sides.&amp;lt;br&amp;gt;&lt;br /&gt;
The instance password must match to the password in the corresponding PBX App objects, while one instance can have different App objects.&amp;lt;br&amp;gt;&lt;br /&gt;
The database password must be just known to the manager and not outside of the App Platform.&lt;br /&gt;
&lt;br /&gt;
App instances combination of name + database can&#039;t exceed 63 characters.&lt;br /&gt;
&lt;br /&gt;
== Relationship between app instances and app objects in the PBX ==&lt;br /&gt;
Typically an app instance is connected to one or more app objects in a customer PBX. This is done by configuring the same parameters on both sides:&lt;br /&gt;
* URL&lt;br /&gt;
* Password&lt;br /&gt;
The password is used by the PBX for authenticating itself, users and services against the app instance.&lt;br /&gt;
&lt;br /&gt;
Some apps need a websocket connection with the PBX. When &amp;quot;websocket&amp;quot; is activated at the app object, the PBX establishes a websocket connection to the app instance and provides the APIs that are configured at the app object.&lt;br /&gt;
&lt;br /&gt;
=== Supported scenarios ===&lt;br /&gt;
It is important to understand that the concept does not do any assumptions on how PBXes and APs are correlated. So you can have&lt;br /&gt;
* One AP for one customer&lt;br /&gt;
* One AP for many customers&lt;br /&gt;
* Many APs for one customer&lt;br /&gt;
* Many APs for many customers&lt;br /&gt;
&lt;br /&gt;
Attention: The V13 installer can only configure the scenario &amp;quot;&#039;&#039;One AP for one customer&#039;&#039;&amp;quot;. If you want to have a different scenario, you have to configure it manually.&lt;br /&gt;
&lt;br /&gt;
For hosting or cloud scenarios you need special scenarios. Please refer our [[Howto:V13_Hosting| V13 Hosting]] instructions.&lt;br /&gt;
&lt;br /&gt;
=== Restrictions ===&lt;br /&gt;
Currently we don&#039;t have redundancy for app instances or APs.&lt;br /&gt;
&lt;br /&gt;
== Update of the App Platform itself ==&lt;br /&gt;
The App Platform is build on top of buildroot and will receive updates and fixes from time to time.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can update the used build inside the Manager App by using the &#039;&#039;&#039;Update&#039;&#039;&#039; button at the top.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 It is strongly advised to make a full backup (VM) or at least backup all apps (Gateway) before you run such an update!&lt;br /&gt;
&lt;br /&gt;
== App services and multi-threading ==&lt;br /&gt;
Each App Service runs in a single process with no multi-threading, independent of the instances of the App Service. However, each instance maintains its own database connection and the database responds to this connect with the creation of a new process. Each app service therefore uses 1+&#039;&#039;n&#039;&#039;  threads (where &#039;&#039;n&#039;&#039; is the number of instances).  All communication between app service instances and their clients must pass the single-threaded web server.  On platforms with multi-threading support (i.e. VMware or Hyper-V), up to 1 + &#039;&#039;m&#039;&#039; + &#039;&#039;m&#039;&#039; * &#039;&#039;n&#039;&#039; (with &#039;&#039;m&#039;&#039; being the number of Apps and &#039;&#039;n&#039;&#039; the number of instances per App) threads can be utilized.&lt;br /&gt;
&lt;br /&gt;
= AP Manager settings =&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
* &#039;&#039;Enable Developer mode&#039;&#039;: in developer mode, apps can be manually uploaded without an App Store&lt;br /&gt;
* &#039;&#039;Disable App security&#039;&#039;: each App has an own unix user and if this flag is set, the user can login with SSH for debugging&lt;br /&gt;
* &#039;&#039;App Store URL&#039;&#039;: the URL to the App Store where Apps are searched and also an update of the AP image itself&lt;br /&gt;
* &#039;&#039;Devices app URL&#039;&#039;: the URL to the Devices App to manage the AP through Devices&lt;br /&gt;
* &#039;&#039;Devices app URL 2&#039;&#039;: don&#039;t use!&lt;br /&gt;
* &#039;&#039;App Platform DNS name&#039;&#039;: currently not used&lt;br /&gt;
* &#039;&#039;NTP server 1/2&#039;&#039;: NTP servers for this AP (in addition to NTP servers retrieved by DHCP)&lt;br /&gt;
* &#039;&#039;Timezone string&#039;&#039;: &lt;br /&gt;
* &#039;&#039;DNS server 1/2&#039;&#039;: DNS servers for this AP (in addition to DNS servers retrieved by DHCP)&lt;br /&gt;
* &#039;&#039;Command file&#039;&#039;: obsolete, use the Devices App for backups!&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* &#039;&#039;Webserver certificate&#039;&#039;: upload a webserver certificate in PEM format&lt;br /&gt;
* &#039;&#039;AP Manager password&#039;&#039;: the password to the web interface of the AP Manager (normally set through Devices)&lt;br /&gt;
* &#039;&#039;Linux root user&#039;&#039;: password of the root user (normally set through Devices)&lt;br /&gt;
* &#039;&#039;Linux admin user&#039;&#039;: password of the admin user (normally set through Devices)&lt;br /&gt;
&lt;br /&gt;
== Alarms and events ==&lt;br /&gt;
* &#039;&#039;URL&#039;&#039;: URL to the Events app&lt;br /&gt;
* &#039;&#039;Username/Password&#039;&#039;: HTTP credentials of the Events app&lt;br /&gt;
* &#039;&#039;Email address&#039;&#039;: an email address which will get emails on full disk alarms/warnings&lt;br /&gt;
* &#039;&#039;Threshold&#039;&#039;: All Apps will be stopped and an hourly email sent on reaching this threshold. An alarm is generated 10% before reaching this threshold and an email is sent every 24 hours.&lt;br /&gt;
&lt;br /&gt;
== SMTP ==&lt;br /&gt;
SMTP server settings for sending emails from within the AP Manager.&lt;br /&gt;
&lt;br /&gt;
== Registered Access Domains ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Known Issues =&lt;br /&gt;
&lt;br /&gt;
== Reboot after an image update hangs (ARM gateway) ==&lt;br /&gt;
&lt;br /&gt;
If it happens, that the AP doesn&#039;t recover after the reboot, please open the Admin UI of the corresponding gateway and take a look at App Platform -&amp;gt; General.&amp;lt;br&amp;gt;&lt;br /&gt;
If &#039;&#039;&#039;Kernel command line&#039;&#039;&#039; is set to &#039;&#039;&#039;/dev/ram0&#039;&#039;&#039;, the AP booted the ramdisk.&amp;lt;br&amp;gt;&lt;br /&gt;
Try to login with putty in this case (default credentials admin/ipapps and root/iplinux) and issue this command:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cat /apps/install_step1.log&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If this file contains &#039;&#039;&#039;finished&#039;&#039;&#039; at the end, you can reconfigure the settings under App Platform -&amp;gt; General:&amp;lt;br&amp;gt;&lt;br /&gt;
* press &#039;&#039;&#039;Stop&#039;&#039;&#039;&lt;br /&gt;
* Initrd file: empty&lt;br /&gt;
* Kernel command line: &#039;&#039;&#039;root=/dev/sda3&#039;&#039;&#039;&lt;br /&gt;
* Ramdisk size: empty&lt;br /&gt;
* press &#039;&#039;&#039;Start&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The AP should boot and run the already updated image.&lt;br /&gt;
&lt;br /&gt;
== Reboot after an image update doesn&#039;t start as update is already running ==&lt;br /&gt;
&lt;br /&gt;
If it happens, that the AP doesn&#039;t want to start an update because one is already running, please open the Admin UI of the corresponding gateway and take a look at App Platform -&amp;gt; General.&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Shutdown&#039;&#039;&#039; the AP and &#039;&#039;&#039;Stop&#039;&#039;&#039; it.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Kernel command line&#039;&#039;&#039; to &#039;&#039;&#039;/dev/ram0&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Initrd file&#039;&#039;&#039; to &#039;&#039;&#039;ramdisk.ext2.xz&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* Set &#039;&#039;&#039;Ramdisk size&#039;&#039;&#039; to &#039;&#039;&#039;100000&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Start&#039;&#039;&#039; the AP now.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The AP now either applies the image update or it reboots into the old image. Try the image update afterwards again.&lt;br /&gt;
&lt;br /&gt;
= Tracing =&lt;br /&gt;
Each App Service has its own log file, which can be accessed through the Manager App. You can configure a log file size for each App Service.&amp;lt;br&amp;gt;&lt;br /&gt;
Each App Intance has its own trace flags. The following trace flags can be set:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alarm client: used by the manager to send alarms to an alarm server&lt;br /&gt;
* App: logs from the App Service itself&lt;br /&gt;
* App WebSocket: logs app websocket connections (e.g. from PBX objects to an App Service or from the UI to the App Service)&lt;br /&gt;
* AppSharing: just native clients&lt;br /&gt;
* AppProxy: just native clients, logs requests which are proxied between the local webserver and the remote server&lt;br /&gt;
* Audio: just native clients&lt;br /&gt;
* Browser: just native clients&lt;br /&gt;
* Command: the command interface is used to execute shell commands, e.g. used by the manager App&lt;br /&gt;
* Config: logs config changes of an App&lt;br /&gt;
* Database: database logs&lt;br /&gt;
* DB files: database file logs&lt;br /&gt;
* DNS: DNS request logging&lt;br /&gt;
* DTLS: just native clients, DTLS request logging&lt;br /&gt;
* Ethernet: interface to get ethernet adapater infos, just manager App&lt;br /&gt;
* File: logs for file system access (synchronous), e.g. manager App&lt;br /&gt;
* Files: logs for file system access (asynchronous)&lt;br /&gt;
* HTTP client: http client logs&lt;br /&gt;
* HTTP file: logs for static HTTP files&lt;br /&gt;
* ICE: just native clients&lt;br /&gt;
* LDS: local domain sockets &lt;br /&gt;
* Media: just native clients&lt;br /&gt;
* Media channel: just native clients&lt;br /&gt;
* Process: IProcess interface logs which is used for spawning, killing processes etc.&lt;br /&gt;
* SMTP: SMTP client logs&lt;br /&gt;
* TCP: TCP logs&lt;br /&gt;
* Time: ITime interface logs&lt;br /&gt;
* TLS: TLS logs&lt;br /&gt;
* TURN: just native clients&lt;br /&gt;
* UDP: UDP logs&lt;br /&gt;
* Video: just native clients&lt;br /&gt;
* WebSocket client: logs outgoing websocket connections&lt;br /&gt;
* Webserver traffic: logs incoming HTTP traffic, which is forwarded from the webserver to the App&lt;br /&gt;
* WebDAV service: logs WebDAV requests to the App&lt;br /&gt;
* Webserver: enables webserver specific logs&lt;br /&gt;
&lt;br /&gt;
== RPCAP ==&lt;br /&gt;
&lt;br /&gt;
If you open the Manager App, click on the Manager in the left list and then on the Diagnostics button, you can enable RPCAP.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Please don&#039;t forget to disable RPCAP after your testing!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= How-Tos =&lt;br /&gt;
&lt;br /&gt;
== How to retrieve files from the AP ==&lt;br /&gt;
To retrieve files from the AP which can not be retrieved via the AP manager UI, you can connect to the AP using the SCP protocol on port 22.&lt;br /&gt;
&lt;br /&gt;
For example, in WinSCP&lt;br /&gt;
* use &#039;&#039;SCP&#039;&#039; as protocol (NB: WebDAV is not supported on most of the directories on the AP)&lt;br /&gt;
* use the &#039;&#039;DNS&#039;&#039; name or IP address of your AP (not the PBX)&lt;br /&gt;
* use user &#039;&#039;admin&#039;&#039; and the appropriate password (&#039;&#039;ipapps&#039;&#039; by default)&lt;br /&gt;
* use &#039;&#039;/home/admin&#039;&#039; as start directory&lt;br /&gt;
* use &#039;&#039;su root&#039;&#039; to be root (&#039;&#039;iplinux&#039;&#039; as default password)&lt;br /&gt;
&lt;br /&gt;
You can now copy files to &#039;&#039;/home/admin&#039;&#039; (e.g. from /var/log/apps/manager/...).&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Use the following command to generate a tar with all log files under /home/admin:&lt;br /&gt;
 tar -cf /home/admin/logs.tar --exclude=/var/log/core_dumps/* /var/log/*&lt;br /&gt;
&lt;br /&gt;
== App Platform disk space warning ==&lt;br /&gt;
&lt;br /&gt;
If the configured threshold is reached, all Apps are stopped inside the AP. You must then free disk space somehow.&lt;br /&gt;
&lt;br /&gt;
=== Find large instances ===&lt;br /&gt;
Click through your apps in the tree on the left side and take a look at the database size of each instance.&lt;br /&gt;
&lt;br /&gt;
=== Delete data inside an instance ===&lt;br /&gt;
It depends on the type of app if you can delete data or not. E.g. you can start the Files app and delete files inside this app.&amp;lt;br&amp;gt;&lt;br /&gt;
This won&#039;t reclaim disk space though due to the way how PostgreSQL databases work, so you need to follow this guide to reclaim the disk space:&lt;br /&gt;
&lt;br /&gt;
* start the corresponding App&lt;br /&gt;
* delete data inside the App&lt;br /&gt;
* stop the corresponding App again&lt;br /&gt;
* download a backup of the instance (backup button at the top), this backup contains the whole instance data, also the password of the instance&lt;br /&gt;
* delete this specific instance&lt;br /&gt;
* restore the downloaded backup (restore button at the top)&lt;br /&gt;
&lt;br /&gt;
 Depending on the hardware and the size of the instance, this process may take hours to complete!&lt;br /&gt;
&lt;br /&gt;
=== Resize the disk ===&lt;br /&gt;
The resizing of a disk is just possible for virtual machines, see [[#Resizing the disk of a Virtual machine|Resizing the disk of a Virtual machine]].&lt;br /&gt;
&lt;br /&gt;
=== Delete the whole instance ===&lt;br /&gt;
If there is no other possibility, you can delete the whole instance. Afterwards you recreate the instance with the same values and a new random password. Don&#039;t forget to set this password in the corresponding PBX App objects though!&lt;br /&gt;
&lt;br /&gt;
=== Restart the Apps or the AP ===&lt;br /&gt;
If you have enough disk space again, you must either restart the whole App Platform or you manually start all Apps again.&lt;br /&gt;
&lt;br /&gt;
== App Platform/Apps app not online anymore due to full disk ==&lt;br /&gt;
If the apps app is not online anymore and you can&#039;t access any apps anymore, try to login with an SSH client to see if your disk is full.&lt;br /&gt;
Login as admin and afterwards as root (su root).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* issue &#039;&#039;&#039;df -h&#039;&#039;&#039; and see the disk usage of /dev/sda2, if this is 100%, your disk is too full&lt;br /&gt;
* stop the manager&lt;br /&gt;
** /etc/init.d/S92manager stop&lt;br /&gt;
* empty the 500 MB file, which is exactly for this case here (manager must be 13r1 SR9 or higher to have this file)&lt;br /&gt;
** echo &amp;quot;&amp;quot; &amp;gt; /mnt/sda2/empty_if_no_space&lt;br /&gt;
* delete log files to recover some space&lt;br /&gt;
** rm /var/log/apps/*/*&lt;br /&gt;
** rm /var/log/core_dumps/*/*&lt;br /&gt;
* restart the postgresql server (see the output if this worked or not)&lt;br /&gt;
** /etc/init.d/S50postgresql restart&lt;br /&gt;
* restart the manager&lt;br /&gt;
** /etc/init.d/S92manager restart&lt;br /&gt;
* wait until everything is online again&lt;br /&gt;
* open the Apps app and try to find the instance which uses the most disk space and try to delete files/content from it&lt;br /&gt;
** you may want to stop all app services first to prevent more writes to the database&lt;br /&gt;
** if not possible, you can delete this instance, but you&#039;ll loose all data from this instance then!&lt;br /&gt;
* after that you can try [[Reference13r1:Concept_App_Platform#Shrink_the_physically_size_of_PostgreSQL_database_files]] to free up space&lt;br /&gt;
** If this does not work you can create a backup from the database, delete the database and import the database again.&lt;br /&gt;
* free up at least 500 MB so that the manager can create the file again&lt;br /&gt;
* delete /mnt/sda2/empty_if_no_space if you are done and restart the manager:&lt;br /&gt;
** rm /mnt/sda2/empty_if_no_space&lt;br /&gt;
** /etc/init.d/S92manager restart&lt;br /&gt;
** the manager restart automatically recreates the empty_if_no_space file if this file doesn&#039;t exist&lt;br /&gt;
&lt;br /&gt;
 Make sure, that you do &#039;&#039;&#039;not&#039;&#039;&#039; have backups configured to a local files instance while this files instance is not excluded from backups.&lt;br /&gt;
 An instance can be excluded from backups in the instance settings in the AP Manager.&lt;br /&gt;
&lt;br /&gt;
If all of this doesn&#039;t help, you can resize the file system on a VM:&lt;br /&gt;
* proceed with [[Reference13r1:Concept_App_Platform#Resizing_the_disk_of_a_Virtual_machine]]&lt;br /&gt;
&lt;br /&gt;
== Resizing the disk of a Virtual machine ==&lt;br /&gt;
&lt;br /&gt;
* stop the VM&lt;br /&gt;
* expand the disk using your VM utilities&lt;br /&gt;
* start the VM and boot from the first boot entry &#039;&#039;&#039;rescue/setup&#039;&#039;&#039;&lt;br /&gt;
* login with &#039;&#039;&#039;root&#039;&#039;&#039; and &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
* execute this command: &#039;&#039;&#039;/home/root/install_step1.sh log.txt resize&#039;&#039;&#039;&lt;br /&gt;
* the VM reboots automatically after a successful resize&lt;br /&gt;
&lt;br /&gt;
== Shrink the physically size of PostgreSQL database files ==&lt;br /&gt;
Tuples that are deleted in your databse are not physically removed from the database-file. So the claimed space on the harddisk is still in use after the delete operation. &lt;br /&gt;
If you need to free up some disk space you can force to reorganize the physically database-file on your harddisk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important: You are operating on the Database, you have to make a Backup of your Database before you do this!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login via SSH to the APPlatform with the &#039;&#039;admin&#039;&#039; User&lt;br /&gt;
 su root&lt;br /&gt;
 /etc/init.d/S92manager stop  # not always needed, but in case of database errors recommended, of course no app is online then&lt;br /&gt;
 sudo -u postgres reindexdb -a&lt;br /&gt;
 sudo -u postgres vacuumdb -a -f&lt;br /&gt;
 /etc/init.d/S92manager restart # just execute if the manager has been stopped above&lt;br /&gt;
&lt;br /&gt;
 sudo -u postgres reindexdb -d dbname # for a single database with dbname&lt;br /&gt;
 sudo -u postgres vacuumdb -d dbname -f # for a single database with dbname&lt;br /&gt;
&lt;br /&gt;
Note: This may take some time and CDRs (or other data written to a DB) won&#039;t be received during this time. &lt;br /&gt;
&lt;br /&gt;
After the process you can check the free dispace via &amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt;. You can check the claimed space from the database file with the command &amp;lt;code&amp;gt;du -sh /mnt/sda2/pgsql/&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Change IP Addresses / DNS Names / System Name ==&lt;br /&gt;
&lt;br /&gt;
If you want to change the System Name or the DNS Name of the PBX and/or AP Platform you must change records manually &#039;&#039;&#039;in the described order&#039;&#039;&#039;!&lt;br /&gt;
You have to know the Admin password to directly Login to the AP-Plattform.&lt;br /&gt;
&lt;br /&gt;
=== App Platform ===&lt;br /&gt;
; Settings - General&lt;br /&gt;
* &#039;&#039;Devices app URL&#039;&#039;&lt;br /&gt;
* &#039;&#039;App platform DNS name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; Settings - Alarms and Events&lt;br /&gt;
* &#039;&#039;URL&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
; All Instances&lt;br /&gt;
* &#039;&#039;Domain&#039;&#039;&lt;br /&gt;
* &#039;&#039;Webserver path&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== PBX ===&lt;br /&gt;
Download the configuration and &#039;&#039;search/replace&#039;&#039; in the config file. Upload the config file and reboot.&lt;br /&gt;
&lt;br /&gt;
Manual:&lt;br /&gt;
* &#039;&#039;URL&#039;&#039; in all PBX Object (Apps, Voicemail ...)&lt;br /&gt;
* [[Reference9:Gateway/CDR|CDRx]]&lt;br /&gt;
* [[Reference13r1:PBX/Config/General|IP address for App Platform]] &lt;br /&gt;
* [[Reference13r1:PBX/Config/myApps|Reset Password Page]]&lt;br /&gt;
* [[Reference13r1:PBX/Config/Authentication|Verification link]]&lt;br /&gt;
&lt;br /&gt;
Depending on your change you have to activate/deactivate the Setting [[Reference13r1:PBX/Config/General|Operation without DNS]]&lt;br /&gt;
&lt;br /&gt;
=== Additional Devices / Steps ===&lt;br /&gt;
* &#039;&#039;Devices Registration URL&#039;&#039;&lt;br /&gt;
** There is no automatism to change the URL on all devices in your setup.&lt;br /&gt;
** If you have the option to use DHCP, you can temporarily overwrite the [[{{NAMESPACE}}:Services/Update|Update URL]] and execute a [[{{NAMESPACE}}:Concept_Update_Server|custom update script]] to change the &#039;&#039;Device Registration URL&#039;&#039;&lt;br /&gt;
* &#039;&#039;Alarm server&#039;&#039;&lt;br /&gt;
* Reverse Proxy configuration&lt;br /&gt;
* Change &#039;&#039;Domain Name&#039;&#039; in Devices if you have also changed the system name&lt;br /&gt;
&lt;br /&gt;
== How to recover from a broken File System ==&lt;br /&gt;
Sometimes you may find messages in the &#039;&#039;messages&#039;&#039; log file (in &#039;&#039;var/log&#039;&#039;) like&lt;br /&gt;
&lt;br /&gt;
 initial error at 1500329378: ext4_journal_start_sb:328&lt;br /&gt;
 last error at 1500329378: ext4_journal_start_sb:328&lt;br /&gt;
&lt;br /&gt;
Or you get events like &amp;quot;Broken file system&amp;quot; from your AP.&lt;br /&gt;
&lt;br /&gt;
This indicates a file system failure on the Linux Installation.&lt;br /&gt;
&lt;br /&gt;
When the Linux file system is broken, you can try to repair it using some command line Linux tools.&lt;br /&gt;
&lt;br /&gt;
If this doesn&#039;t fix your issue, you need to replace the SSD with a new one, re-install the App Platform and any applications and restore your backups.&lt;br /&gt;
&lt;br /&gt;
=== Gateway ===&lt;br /&gt;
&lt;br /&gt;
* Open the WebGUI of the gateway running your LAP and proceed to &#039;&#039;App Platform/General&#039;&#039;&lt;br /&gt;
** terminate Linux (&#039;&#039;Status/Stop&#039;&#039;)&lt;br /&gt;
** modify the Kernel command line from root=/dev/sda3 to root=/dev/ram0&lt;br /&gt;
** modify the Initrd file to ramdisk.ext2.xz&lt;br /&gt;
** modify the ramdisk size to 100000&lt;br /&gt;
** start Linux again&lt;br /&gt;
:: This will run Linux on another (hopefully sane) partition.&lt;br /&gt;
&lt;br /&gt;
* use [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] to log in to the LAP&#039;s command line (user: root, pw: iplinux)&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: this should fix any issue on the file system&lt;br /&gt;
&lt;br /&gt;
* go back to the WebGUI of the gateway running your LAP and proceed to &#039;&#039;App Platform/General&#039;&#039;&lt;br /&gt;
** terminate Linux (&#039;&#039;Status/Stop&#039;&#039;)&lt;br /&gt;
** modify the &#039;&#039;Kernel command line&#039;&#039; from &#039;&#039;root=/dev/ram0&#039;&#039; to &amp;lt;code&amp;gt;root=/dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
** clear the Initrd file field&lt;br /&gt;
** clear the ramdisk size field&lt;br /&gt;
** start Linux again&lt;br /&gt;
:: This will run Linux on the original partition.&lt;br /&gt;
&lt;br /&gt;
=== VM ===&lt;br /&gt;
&lt;br /&gt;
Restart the VM and select the first entry in the boot menu from grub.&lt;br /&gt;
&lt;br /&gt;
* use [https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html putty] to log in to the LAP&#039;s command line&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda2&amp;lt;/code&amp;gt;&lt;br /&gt;
** on the command prompt, use &amp;lt;code&amp;gt;e2fsck -p -f /dev/sda3&amp;lt;/code&amp;gt;&lt;br /&gt;
:: this should fix any issue on the file system&lt;br /&gt;
* Reboot your VM&lt;br /&gt;
[[Category:Concept]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_Softwarephone&amp;diff=60046</id>
		<title>Reference12r2:Concept Softwarephone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_Softwarephone&amp;diff=60046"/>
		<updated>2021-09-28T09:14:54Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
= General =&lt;br /&gt;
&lt;br /&gt;
Innovaphone SoftwarePhone  is the implementation of innovaphones HW phones software as a Windows process. So all the features native to the hardwarephones are present in SoftwarePhone  as well. SoftwarePhone  has no UI, it is operated via myPBX or 3rd Party CTI client (ex: Estos Procall).&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
The innovaphone SoftwarePhone requires:&lt;br /&gt;
*Windows 7 or higher&lt;br /&gt;
*innovaphone PBX with SoftwarePhones&amp;lt;v&amp;gt; License.&lt;br /&gt;
*innovaphone myPBX UC-Client as frontend with myPBX- or UC-license&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Prior to installing the  10.00  Version of  innovaphone SoftwarePhone  an eventually installed 9.00 version must be manually deinstalled. From version 10.00 to 12r1 subsequent releases can be updated without first deinstalling the older version. From 12r2 on prior versions must be manually deinstalled.&lt;br /&gt;
When updating the installation, the previous configuration (if existing) is reused. Otherwise a default configuration is installed.&lt;br /&gt;
There are 2 ways to install Softwarephone:&lt;br /&gt;
&lt;br /&gt;
* SetupSWPhone.exe. This is the preferred method if no installation parameters are required. It automatically installs all 3rd party SW to operate the headsets&lt;br /&gt;
* softwarephone.msi AND SpokesSDKNativeRuntime.msi. If the Softwarephone installation needs to be parametrized via Orca first install SpokesSDKNativeRuntime.msi, then&lt;br /&gt;
softwarephone.msi&lt;br /&gt;
* In our newest download packet, if you aren&#039;t using our exe file please install first HubSDKNativeRuntime.msi, Sennheiser_SDK_v7.5.9600.msi and than softwarephone.msi. Delete first the old pakets and install than the new ones. &lt;br /&gt;
 &lt;br /&gt;
The following items are installed:&lt;br /&gt;
&lt;br /&gt;
* SoftwarePhone .exe and related files (dll) in Program files (x86)\innovaphone\SoftwarePhone &lt;br /&gt;
* Hid.tbl (the code definitoins of supported USB headsets) in Program files (x86) \innovaphone\SoftwarePhone &lt;br /&gt;
* The config files „swphone_config.cfg“ and „swphone_command.cfg” in the User Roaming directory (if no previous configuration is located there, otherwise the old configuration is used, Roaming Directory Location : &amp;lt;drive&amp;gt;:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone\SoftwarePhone\)&lt;br /&gt;
&lt;br /&gt;
Installation Process:&lt;br /&gt;
&lt;br /&gt;
* http port 80 ist checked to be available as the SoftwarePhone ’s web configuration port. If not free, a search starting at port 10006 is executed to find a free port. The URL file, containing the configuration  servers web @ is adjusted to the determined free port&lt;br /&gt;
* SoftwarePhone  is startet.&lt;br /&gt;
&lt;br /&gt;
Resetting to defaults:&lt;br /&gt;
&lt;br /&gt;
*Resetting to default configuration could be done by deleting the config files in the Roaming Directory.&lt;br /&gt;
&lt;br /&gt;
Unattended Installation of softwarephone for ALLUSERS:&lt;br /&gt;
&lt;br /&gt;
*It&#039;s possible to install softwarephone for ALLUSERS by using the command:&lt;br /&gt;
 Msiexec /i softwarephone.msi ALLUSERS=1&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
The configuration is opened by selecting “Configuration” from the start menu. A browser connection is opend to the server running as part of SoftwarePhone and the configuration menu is displayed. &lt;br /&gt;
&lt;br /&gt;
Default login is admin/swphone.&lt;br /&gt;
&lt;br /&gt;
The configuration options are the same as for the hardware phones with a few specifics referring to SoftwarePhone running as a Windows process:&lt;br /&gt;
&lt;br /&gt;
* Application&lt;br /&gt;
The Applicatons run mode and priority can be set and whether to register with the computers name at the PBX.&lt;br /&gt;
* Audio&lt;br /&gt;
The desired audio devices can be selected.&lt;br /&gt;
* Audio&lt;br /&gt;
The Audio –Input, -Output and –Ringing device can be selected. &lt;br /&gt;
* USB&lt;br /&gt;
Legacy configuration for customers who use a previous installation with a headset other than Jabra, Sennheiser or Plantronics. Headsets from these vendors are handled automatically and need not be configured.&lt;br /&gt;
&lt;br /&gt;
The default credentials are admin / swphone&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;„Audio and USB Configuration&amp;quot;&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This config GUI is unique in the way that it can only be accessed (right click on the softwarephone icon) from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio and USB-headset parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:default-usercfg.png]]&lt;br /&gt;
 &lt;br /&gt;
Above image shows the default configuration without any headset from vendors Jabra, Plantronics or Sennheiser plugged in. &amp;quot;Headset&amp;quot; in this case means any headset of beforementioned vendors that is detected. Note: The FIRST detected headset will become the active one, if more than 1 headset is plugged in. In case you have more than 1 headset plugged in and want to use a specific for Softwarephone operation you must configure it in the &amp;quot;USB Configuration | USB device&amp;quot; droplist. &lt;br /&gt;
The column on the right shows the actual values&lt;br /&gt;
&lt;br /&gt;
[[Image:usercfg-headset-plugged-no-preferred.png]]&lt;br /&gt;
&lt;br /&gt;
Above image shows a default configuration &amp;quot;Headset&amp;quot; with currently a &amp;quot;Sennheiser SC260 ..&amp;quot; being plugged in and detected &lt;br /&gt;
&lt;br /&gt;
[[Image:usercfg-headset-plugged-preffered-active.png]]&lt;br /&gt;
&lt;br /&gt;
Above image shows the &amp;quot;Sennheiser SC260 ..&amp;quot; configured as the prefered (USB Device) and being active.&lt;br /&gt;
&lt;br /&gt;
Note: If you have configured a specific headset and you don&#039;t plug it in but instead another one then this other is fully operational and it stays that way until the prefered one is plugged in, then it becomes the active one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Microphone:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
The microphone selection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Speaker:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The speaker selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ringer:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The Ringing device selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Handsfree:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The open listening device selection. The device that plays the incoming audio stream when the speaker button is pressed in myPBX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Device:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	The USB headset selction.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Map:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Legacy for non Jabra, Plantronics and Sennheiser headsets. The codepage selection for the selected usb device. Here one or two choices are presented. If a selection item that refers to the selected USB Device use this. If only “generic HID Telephonie Page” is available you can try to use the headsets button (some headsets support the generic codes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If the headsets buttons do not work for call control, then call control is solely available through myPbx. Nevertheless the USB headset can be used as the audio-in/output device.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:„Application“]&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Application configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_application.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application Run Mode:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Manual: SoftwarePhone needs to be started manually&lt;br /&gt;
* Login: SoftwarePhone will be started when the user logs in (don&#039;t set this option if myPBX Launcher have option &amp;quot;Run Softwarephone&amp;quot; in the same PC). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application Priority:&#039;&#039;&#039;&lt;br /&gt;
* Normal: As every standard Windows Process. Sufficient in almost all cases&lt;br /&gt;
* High: Elevated Priority. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Register Mode:&#039;&#039;&#039; &lt;br /&gt;
* Default: Registration modes like the  HW phones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Anonymous registration might not work in all environments, especially those that prevent multicasts. For example, when using SoftwarePhone  over a vpn 	  connection ensure that multicast forwarding is guaranteed. Also, if a virtual machine is running on the same computer it might prevent&lt;br /&gt;
multicasts being sent on the LAN.&lt;br /&gt;
&lt;br /&gt;
* Computername: &lt;br /&gt;
The best way for registering SoftwarePhone  at the PBX. It uses the computername as it is visible on the LAN. The computername is determined by SoftwarePhone  and the appropriate parameters are set for the “Phone” modul. This configuration appears in the field “Name” under the “Phone” tab  (Example for computer„LBU-VOSTRO-W7“ ):&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_registration.jpg]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:&amp;quot;Audio”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „Audio and USB Configuration“&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:“USB”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „Audio and USB Configuration“&lt;br /&gt;
&lt;br /&gt;
= Rollout =&lt;br /&gt;
&lt;br /&gt;
Especially in larger installations it is desirable to have a mechanism for automatic configuration of the SoftwarePhones. This can be accomplished in the following way:&lt;br /&gt;
&lt;br /&gt;
SoftwarePhones installation package (softwarephone .msi)can be parametrized by creating an [https://docs.microsoft.com/en-us/windows/desktop/msi/orca-exe Orca MSI database editor] transform with the parameters:&lt;br /&gt;
URL and POLL. Theses parameters are entered in the “Property” table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:download_orca.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saving Embedded Streams&lt;br /&gt;
&lt;br /&gt;
By default, when saving a database to a new file with File and Save As…, Orca does not copy streams that are embedded in the database but not a member of any table. Select Copy embedded streams during &#039;Save As&#039; to save streams to the new file when saving a database using the File with the Save As… option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_openfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_addrows.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_rows_content.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_savefile.jpg]]&lt;br /&gt;
&lt;br /&gt;
It is recommended that the “POLL” value be set to “1” (shortest time:  1minute).  &lt;br /&gt;
When SoftwarePhone is installed with the transform it starts, waits 1 min (poll period) then accesses the script file specified in the “POLL” parameter and executes the commands therein. &lt;br /&gt;
To register SoftwarePhone  with the computername at the PBX the script file should look as follows (example showing the PBX @ “192.168.178.22” with the identifier  „IP800-06-25-6e” :&lt;br /&gt;
&lt;br /&gt;
 …&lt;br /&gt;
 #set the PBX @ and Identifier&lt;br /&gt;
 config change PHONE SIG /prot H323 /gk-addr 192.168.178.22 /gk-id IP800-06-25-6e&lt;br /&gt;
&lt;br /&gt;
 #register with computername&lt;br /&gt;
 mod cmd APP0 app-set /op OK /reg_mode ComputerName&lt;br /&gt;
&lt;br /&gt;
 #reset the automatic configuration update&lt;br /&gt;
 config add UP1 /url &lt;br /&gt;
&lt;br /&gt;
 #reset SoftwarePhone and apply config&lt;br /&gt;
 reset &lt;br /&gt;
&lt;br /&gt;
Another method to provide configurations to the installed SoftwarePhone s is preparing a configuration template by configuring one SoftwarePhone  entity, then using the generated “swphone_commands.cfg” file in the &amp;lt;users roaming directory &amp;gt;\innovaphone\SoftwarePhone &lt;br /&gt;
as the template, copying it to the update location  and using it in the script file:&lt;br /&gt;
&lt;br /&gt;
 #invoke configuration template&lt;br /&gt;
 mod cmd UP0 cfg  &amp;lt;update directory location&amp;gt;/swphone_commands.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This method is particularly helpful when many USB headset of the same type are used.&lt;br /&gt;
&lt;br /&gt;
= Setting QoS =&lt;br /&gt;
See [[Howto:Softphone recommended settings]].&lt;br /&gt;
&lt;br /&gt;
= Supported USB headsets =&lt;br /&gt;
&lt;br /&gt;
The following USB headsets are supported for onhook/offhook and mute (MyPBX) functionality:&lt;br /&gt;
&lt;br /&gt;
All Jabra, Plantronics and Sennheiser headsets that are supported by these vendors SDKs. Please check their&lt;br /&gt;
sites for more information.&lt;br /&gt;
&lt;br /&gt;
https://www.plantronics.com/us/en/support/downloads-apps/hub-desktop&lt;br /&gt;
&lt;br /&gt;
https://developer.jabra.com/site/global/sdks/windows/documentation/core.gsp&lt;br /&gt;
&lt;br /&gt;
https://en-us.sennheiser.com/headset-software-pc&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting Connectivity Problems =&lt;br /&gt;
&lt;br /&gt;
If you experience problems with softwarephone attaching to the PBX or not being able to make calls please check the following:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “Phone” tab whether the state is “up”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “General” tab if License is “Valid”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start a command window as Administrator and issue a &amp;quot;netstat –a –b &amp;gt; swphone_netstat.txt&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “swphone_netstat.txt” file search for “1720”. There should be an entry like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TCP    0.0.0.0:1720           LBU-VOSTRO-W7:0        LISTENING&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[softwarephone.exe].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please search for other occurances of “&#039;&#039;&#039;1720&#039;&#039;&#039;” to ensure that no other processes listen to this port.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Make a softwarephone trace to see if the packets are received by softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “Maintenance” tab “Tracing” enable “&#039;&#039;&#039;H.323 Signaling&#039;&#039;&#039;”, “&#039;&#039;&#039;Phone&#039;&#039;&#039;” and “&#039;&#039;&#039;All TCP/UDP Traffic&#039;&#039;&#039;”. Then try to make the call. In the resulting trace you should see the events like the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;0:0103:337:3 - RECV RESULT[](662 from pla(192.168.178.22:60003) type: 1)&lt;br /&gt;
0:0103:337:3 - PHONE_LISTEN.1 -&amp;gt; PHONE_REG.1 : SIG_SETUP faststart=3ac8bec cmd=PROPOSAL cdpn=400&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If these events are no present in the trace it could be that the firewall settings prevent some of softwarephone’s functions. This could be the Firewall.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check the firewall settings for softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please open the “System Administration\Windows-Firewall\Allow Program.. Ensure that softwarephone is enabled on the required interfaces. If this doesn’t solve the problem then temporaryly disable the firewall completely and try again. &lt;br /&gt;
Now even with the firewall disabled there could be some other security software that causes the problem. To find out if packets to the “h323hostcall” port (1720) are filtered by the firewall you can use the commands “&#039;&#039;&#039;netsh wfp capture start&#039;&#039;&#039;” to start a trace of the test and “&#039;&#039;&#039;netsh wfp capture stop&#039;&#039;&#039;” to stop the trace. The trace is written into the file: “&#039;&#039;&#039;wfpdiag.cab&#039;&#039;&#039;” . Extract the file: “&#039;&#039;&#039;wfpdiag.xml&#039;&#039;&#039;”. In this file search for “1720”. If the packet is filtered by the firewall an entry like the following can be found:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
   &amp;lt;header&amp;gt;&lt;br /&gt;
     &amp;lt;timeStamp&amp;gt;2013-11-05T11:20:27.367Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
     &amp;lt;flags numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
     &amp;lt;/flags&amp;gt;&lt;br /&gt;
     &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
     &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;lt;localPort&amp;gt;&#039;&#039;&#039;1720&#039;&#039;&#039;&amp;lt;/localPort&amp;gt;&lt;br /&gt;
     &amp;lt;remotePort&amp;gt;60007&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
     &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
     &amp;lt;appId&amp;gt;							&lt;br /&gt;
       &amp;lt;data&amp;gt; …&amp;lt;/data&amp;gt;&lt;br /&gt;
       &amp;lt;asString&amp;gt;...&amp;lt;/asString&amp;gt;&lt;br /&gt;
     &amp;lt;/appId&amp;gt;&lt;br /&gt;
     &amp;lt;userId&amp;gt;S-1-5-21-3364624427-3176291796-194291593-006&amp;lt;/userId&amp;gt;&lt;br /&gt;
   &amp;lt;/header&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
     &amp;lt;filterId&amp;gt;105267&amp;lt;/filterId&amp;gt;&lt;br /&gt;
     &amp;lt;layerId&amp;gt;44&amp;lt;/layerId&amp;gt;&lt;br /&gt;
     &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
     &amp;lt;originalProfile&amp;gt;2&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
     &amp;lt;currentProfile&amp;gt;2&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
   &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
and the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
should be your computers and the PBX’s @. &lt;br /&gt;
&lt;br /&gt;
* Check if the setup from the PBX is received at the local computer and what happens with it&lt;br /&gt;
&lt;br /&gt;
Sometimes, Antivirus Packages can implement their own network access policy. This can result in a h323 release complete with cause “User Busy” to an incoming Setup from the PBX before any other softwarephone is reached. To see which process Sends/Receives the packets in a flow you can use the “netmon”, Microsofts free Packet tracer.&lt;br /&gt;
&lt;br /&gt;
= How to obtain debug traces of softwarephone using icollect =&lt;br /&gt;
&lt;br /&gt;
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called &#039;&#039;&#039;icollect.exe&#039;&#039;&#039;(accessible via start menu entry). After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone) as &amp;quot;debug-info.zip&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Before you reproduce the problem, please set the appropriate trace flags. Some flags like the KEYS flag must be set at &amp;quot;http://localhost:10006/debug.xml&amp;quot;&lt;br /&gt;
Which flags for which problem:&lt;br /&gt;
&lt;br /&gt;
; Softwarephone looses registration at PBX: H.323/RAS, H.323/H.225, H.323/H.245&lt;br /&gt;
; Call setup phase: Signalling, H.323/RAS, H.323/H.225, H.323/H.245&lt;br /&gt;
; Audio problems: Signalling, H.323/ICE, H.323/DTLS, DSP trace, DSP Audiochannel. Please enable &amp;quot;DSP Audiocapture&amp;quot; only if specifically asked by innovaphone since it captures the complete audio stream and thus can generates huge files on the HD&lt;br /&gt;
; Headset button problems: Signalling, KEYS&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don&#039;t send us crash dumps of older versions since this will just take more time/effort to be analysed by our developer team.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Important files for support in the debug-info.zip==&lt;br /&gt;
* &#039;&#039;&#039;trace.txt&#039;&#039;&#039; -&amp;gt; Trace File, created when &#039;&#039;&#039;File Trace&#039;&#039;&#039; is activated in debug.xml. Also contains version number (to find it, search for Build: )&lt;br /&gt;
* &#039;&#039;&#039;swphone_config.cfg&#039;&#039;&#039; -&amp;gt; one part of the config, can be used to check trace-flags.&lt;br /&gt;
* &#039;&#039;&#039;swphone_commands.cfg&#039;&#039;&#039; -&amp;gt; second part of the config, can be used to check trace-flags. Also contains version number&lt;br /&gt;
* &#039;&#039;&#039;dmp&#039;&#039;&#039;-file: named innovaphone &#039;&#039;&#039;SoftwarePhone#[version]#[id].dmp&#039;&#039;&#039; contains crash dump&lt;br /&gt;
** if crash without dmp file, &#039;&#039;&#039;StartTrace.txt&#039;&#039;&#039; contains trace of swphone start&lt;br /&gt;
* &#039;&#039;&#039;Wave-in/Wave-out&#039;&#039;&#039;: created when DSP &amp;amp; DSP Audiochannel &amp;amp; DSP Audiocapture are activated.&lt;br /&gt;
&lt;br /&gt;
=Known Issue=&lt;br /&gt;
&lt;br /&gt;
=== Things to do before starting ===&lt;br /&gt;
Before starting debugging softwarephone issues, is always the best thing to:&lt;br /&gt;
&lt;br /&gt;
- check if audio drivers on the PC/Laptop are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- check if the headset drivers are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- check that the Headset SDK is updated to the latest version&lt;br /&gt;
&lt;br /&gt;
- check that network drivers are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- change registration protocol of softwarephone from UDP (H323) to TCP or TLS (H323/TCP or H323 TLS) to avoid any signaling issue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After updating the driver, please reboot the PC even if not requested by the OS.&lt;br /&gt;
&lt;br /&gt;
Most cases are solved after updating drivers/software, especially if softwarephone won&#039;t start or no ringtones/audio device is automatically selected.&lt;br /&gt;
&lt;br /&gt;
Also, please check that the files &amp;quot; swphone_config.cfg &amp;quot; and &amp;quot; swphone_commands.cfg &amp;quot; in the C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ are not 0 Kbyte.&lt;br /&gt;
In this case, best is to reinstall the softwarephone with the latest version, and, after configuring it, restart it and check that the file &amp;quot; swphone_commands.cfg &amp;quot; is bigger then 6 KB.&lt;br /&gt;
If something is overwriting it (Windows policy, Antivirus), do the following:&lt;br /&gt;
&lt;br /&gt;
- uninstall softwarephone&lt;br /&gt;
&lt;br /&gt;
- reinstall it with Administrator rights&lt;br /&gt;
&lt;br /&gt;
- start softwarephone and configure it (saving the changes)&lt;br /&gt;
&lt;br /&gt;
- without closing it, navigate to the &amp;quot; C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ &amp;quot; folder and put &amp;quot; swphone_config.cfg &amp;quot; and &amp;quot; swphone_commands.cfg &amp;quot; in read-only. Doing this, softwarephone will save the changes. Remember that doing this, if you want to changes some settings on softwarephone, you need to remove the &amp;quot;read-only&amp;quot; flag on the files (and re-apply it after the changes)&lt;br /&gt;
&lt;br /&gt;
=== G.711 only and G729 Optional===&lt;br /&gt;
The software phone does support G.711 and Opus codec only, no G.723 or G.722.&lt;br /&gt;
Optionally we can use G729 if G729 Channel licenses are present and available on the PBX.&lt;br /&gt;
&lt;br /&gt;
===Another program is blocking the softphone===&lt;br /&gt;
&lt;br /&gt;
Another program (e.g XCAPI) might be listening on tcp port 1720 as well. If you want to use both programs simultaneously you can change the signaling port of the softphone to another port like 1721.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;http://localhost/!config add PHONE SIG /ep-addr 0.0.0.0:1721&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to find out which program is listening on which port we recommend using a little tool called TCP View. You’ll find it here:&lt;br /&gt;
&lt;br /&gt;
http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx&lt;br /&gt;
&lt;br /&gt;
=== No license obtained from PBX if SIP Protocol is used===&lt;br /&gt;
&lt;br /&gt;
When using Innovaphone softwarephone with SIP Protocol no license it&#039;s obtained from the PBX. It&#039;s necessary to use H.323 always.&lt;br /&gt;
&lt;br /&gt;
=== Headset Basestation doesn&#039;t Ring ===&lt;br /&gt;
&lt;br /&gt;
Often it&#039;s reported that the Basestation of Wireless Headsets doesn&#039;t Ring on incoming call, this is a feature that is missing and there exist already a Feature Request for it - [[Support:DVL-Feature_Requests#Alerting_on_Wireless_headset_base_also | Alerting on Wireless headset base also]] .&lt;br /&gt;
&lt;br /&gt;
=== Windows Volume lowers automatically when receiving a call ===&lt;br /&gt;
&lt;br /&gt;
The volume can be set for swphone exclusively by the Windows mixer. It appears in the mixer because it has a Audio stream Interface to the Windows Audio System, but no way adjust the volume by itself. When such an effect occurs it is best to check the Windows configuration: if it is set to Change volume for applications when certain Events occur:&lt;br /&gt;
&lt;br /&gt;
[http://superuser.com/questions/74116/windows-7-lowers-applications-volume-automatically Windows 7 lowers applications&#039; volume automatically]&lt;br /&gt;
&lt;br /&gt;
=== H.323/TLS Connection not Trusted by Default ===&lt;br /&gt;
&lt;br /&gt;
Please check the [[Reference11r1:Concept_H.323_over_TCP/TLS_(H.460.17)#Known_Issues|H.323/TLS Known Issues article]].&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone does not work on Terminal Server ===&lt;br /&gt;
The software phone can only run once on a single system.  This also implies that it does not work for terminals server systems such as e.g. Citrix, as only the first client session running on a server would be able to start a software phone.   Furthermore, multiple RTP streams would impose quit a bit of load on the server.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone can&#039;t place calls (call setup disappear as I press the &amp;quot;call&amp;quot; button&amp;quot;) ===&lt;br /&gt;
&lt;br /&gt;
After windows major update, some windows systems had their microphone rights turned off for all the application using it. This prevent the softwarephone to properly use the microphone. &lt;br /&gt;
To check this, press &amp;quot;windows key + i&amp;quot;, navigate in &amp;quot;Privacy&amp;quot; - &amp;quot;Microphone&amp;quot; - and check that &amp;quot;Allow apps to access you microphone&amp;quot; is turned on. Sometimes, even if turned on, there is the need to turn &amp;quot;Allow apps to access you microphone&amp;quot; completely off and the on to &amp;quot;refresh&amp;quot; the app rights (softwarephone included)&lt;br /&gt;
&lt;br /&gt;
Also check that windows firewall is not blocking softwarephone communication.&lt;br /&gt;
&lt;br /&gt;
Please check also this page: &amp;quot; http://wiki.innovaphone.com/index.php?title=Howto:Softwarephone_recommended_settings#Registration_Protocol &amp;quot;. With softwarephone, is recommended to not use H323/UDP as protocol. &lt;br /&gt;
&lt;br /&gt;
=== When PC is not used for some time, softwarephone won&#039;t work anymore ===&lt;br /&gt;
&lt;br /&gt;
We noticed this behaviour on some Windows PC. This was due to the power management settings of Windows, that was turning off the USB ports to save power (this happen most on laptops)&lt;br /&gt;
To avoid this, open &amp;quot;Control Panel&amp;quot; (with Category view) - &amp;quot;Hardware and sound&amp;quot; - &amp;quot;Power options&amp;quot; . Under &amp;quot;Preferred plan&amp;quot; click the &amp;quot;Change plan settings&amp;quot; for the plan you are currently using.&lt;br /&gt;
Click the &amp;quot;Change advanced power settings&amp;quot; link&lt;br /&gt;
Expand &amp;quot;USB selective suspend settings&amp;quot;&lt;br /&gt;
Select &amp;quot;Disabled&amp;quot; form the drop-down menu&lt;br /&gt;
Click &amp;quot;Apply&amp;quot; and the &amp;quot;ok&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you&#039;re changing the settings on a laptop, you&#039;ll see two options: On Battery and Plugged in, so make sure to change those settings accordingly.&lt;br /&gt;
This will prevent Windows 10 to power off USB devices connected to your computer (so your usb bluetooth headset connector)&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone doesn&#039;t start after upgrade to new version ===&lt;br /&gt;
&lt;br /&gt;
On windows 10 PC, can happen that after installing the new softwarephone version without manually uninstalling the old one, softwarephone won&#039;t start anymore, and in the Windows event viewer you will see the softwarephone app crash with relative ntdll.dll error.&lt;br /&gt;
To solve this, manually uninstall the softwarephone, reboot the PC and install the new version.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone 12r2 keep crashing on Windows 10 ===&lt;br /&gt;
&lt;br /&gt;
We noticed some issue between Softwarephone 12r2 and Windows 10. If your softwarephone after Windows 10 major update 1809, doesn&#039;t start or start and keep restarting, uninstall Softwarephone 12r2, delete the Softwarephone folder in the AppData/Roaming/Innovaphone/ path, restart the PC and install Softwarephone 12r1 with Administrator rights. This should solve the issue.&lt;br /&gt;
&lt;br /&gt;
=== Issue with permission on Appdata folder ===&lt;br /&gt;
&lt;br /&gt;
After major windows update, can happen that permission for the appdata/Roaming folder are reset. To restore them please do the following:&lt;br /&gt;
&lt;br /&gt;
Open &amp;quot;Run&amp;quot; by pressing Windows + R keys together.&lt;br /&gt;
Type: as C:\Users\USERNAME\AppData&lt;br /&gt;
Note: Replace C: with the letter of the drive where Windows is installed. Also replace USERNAME with the username of the account you’re logged in.&lt;br /&gt;
&lt;br /&gt;
Click OK&lt;br /&gt;
&lt;br /&gt;
Right-click on the Roaming folder&lt;br /&gt;
&lt;br /&gt;
Click Properties&lt;br /&gt;
&lt;br /&gt;
Go to the Security tab&lt;br /&gt;
&lt;br /&gt;
Click “Edit -&amp;gt; Add”&lt;br /&gt;
&lt;br /&gt;
Type “Everyone”&lt;br /&gt;
&lt;br /&gt;
Click “Check names -&amp;gt; Ok -&amp;gt; Full control”&lt;br /&gt;
&lt;br /&gt;
Click OK to save the changes&lt;br /&gt;
&lt;br /&gt;
Restart your computer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now softwarephone should be able to access all necessary files again.&lt;br /&gt;
&lt;br /&gt;
=== Not removed system tray icons ===&lt;br /&gt;
Sometimes if the softwarephone loose connection, wifi/copper/vpn will be switched or crashes the application in the system tray will not removed.&lt;br /&gt;
&lt;br /&gt;
=== Headset not recognize by softwarephone on Windows 10 ===&lt;br /&gt;
&lt;br /&gt;
After Major windows update, headset is not recognize anymore. This can happen in case authorization by the OS for softwarephone to bind the headset to the softphone is denied.&lt;br /&gt;
To restore the headset detection, uninstall softwarephone 12r2 version and install the latest 12r1 softwarephone release. Doing this, NET framework 3.5 will be reinstalled, authorization restored, and headset should be recognized again.&lt;br /&gt;
Once headset is recognize, you can reinstall softwarephone 12r2 (latest) version and headset will work with the 12r2 version of softwarephone again.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone Mac address is 00000000000 ===&lt;br /&gt;
&lt;br /&gt;
To be able to obtain a Mac address, on the PC network card, netbios must be enabled.&lt;br /&gt;
&lt;br /&gt;
=== Kaspersky antivirus ===&lt;br /&gt;
&lt;br /&gt;
We have reports that this antivirus can interfere with softwarephone if the client is not configured to allow softwarephone to work properly (softwarephone start but no calls are possible). Please disable it or configure an exception for the softwarephone so softwarephone can make calls.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone doesn&#039;t ring, or does not receive call ===&lt;br /&gt;
&lt;br /&gt;
According to this wiki page, http://wiki.innovaphone.com/index.php?title=DND if you press the mute button on the headset while softwarephone is in idle (no active calls) you activate the DND mode. This information won&#039;t be displayed in myApps/myPBX but is something between headset and softwarephone. You can check in this case if this line:&lt;br /&gt;
&lt;br /&gt;
vars create PHONE/USER-DND/00000 p 1    &amp;lt;--------- 1 means DND is on, 0 is off.&lt;br /&gt;
&lt;br /&gt;
is present in the softwarephone configuration file. If this is the case, pressing the mute button in the headset again when no calls are active, will set the value to 0 and DND will be disabled.&lt;br /&gt;
&lt;br /&gt;
You can also lock the DND function on the softwarephone in PHONE/Protect/ Fine grained Function Locking and configure in the field:&lt;br /&gt;
&lt;br /&gt;
0x00080000&lt;br /&gt;
&lt;br /&gt;
Doing so the user won&#039;t be able to set the softwarephone in DND anymore.&lt;br /&gt;
&lt;br /&gt;
Update: solved with the latest softwarephone release. Now is not possible to set the softwarephone in DND mode via the headset.&lt;br /&gt;
&lt;br /&gt;
=== Crash if 4 or more network interfaces on PC ===&lt;br /&gt;
&lt;br /&gt;
The Softwarephone will crash when started continuously or crash when a call is done (and the ICE candidates for the call are generated). As a workaround, don&#039;t activate more than 3 interfaces or use the v13 myApps-softphoneApp.&lt;br /&gt;
&lt;br /&gt;
===Softwarephone doesn&#039;t start with myPBX===&lt;br /&gt;
After a Windows update, some PC requires to run myPBX as administrator in order to start softwarephone automatically. Please, run myPBX as administrator and softwarephone should start also.&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Group_Voicemail&amp;diff=59691</id>
		<title>Howto:Group Voicemail</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Group_Voicemail&amp;diff=59691"/>
		<updated>2021-08-13T06:43:05Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
* IPXXX, V13r2&lt;br /&gt;
PBX-Build 135779 and later.&lt;br /&gt;
VM-Build 135xxx&lt;br /&gt;
&amp;lt;!-- Keywords: pbx group voicemail --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
A comma-separated list of MWI destinations/recipients can be configured by means of a variable &#039;&#039;$_m&#039;&#039; within the script URL&#039;s query string. This article outlines a configuration scheme for group voicemail functionality.&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
A group voicemail acts as single point of storage and multiple point of access for several PBX endpoints. MWI-updates are expected to be delivered to all group members.&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
A standard voicemail script vm.xml is expected to be installed underneath &#039;&#039;/drive/CF0/vm/vm.xml&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A PBX-VoicemailUser13 license is required for each group voicemail.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Two PBX phone endpoints &#039;&#039;Atlantis&#039;&#039;, &#039;&#039;Endeavour&#039;&#039; share a voicebox &#039;&#039;vm-group&#039;&#039; with number &#039;&#039;803&#039;&#039;. The voicebox&#039;s directory on the mass-storage will be named &#039;&#039;vm-group&#039;&#039;.&lt;br /&gt;
The phones may redirect towards the voicebox by means of a CFU 803803. The phones access the voicebox by the Message Center Account number 803803.&lt;br /&gt;
&lt;br /&gt;
If Viking calls e.g. Endeavour, it&#039;s going to be redirected into &#039;&#039;vm-group&#039;&#039; and may leave a voicemail. On call-end the participants Atlantis, Endeavour are going to receive an MWI-Activate.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
*Add following objects&lt;br /&gt;
**&#039;&#039;&#039;User&#039;&#039;&#039; &#039;&#039;101:Endeavour&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;User&#039;&#039;&#039; &#039;&#039;102:Atlantis&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;User&#039;&#039;&#039; &#039;&#039;301:Viking&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Voicemail&#039;&#039;&#039; &#039;&#039;803:vm-group&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Script URL&#039;&#039;&#039; &amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
http://127.0.0.1/drive/CF0/vm/vm.xml?$_m=101,102&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
***&#039;&#039;&#039;E-Mail&#039;&#039;&#039; if desired configure a destination email address serving as a group email address&lt;br /&gt;
****Note: The email is sent only once to the destination configured as PBX/Objects/&amp;quot;vm-group&amp;quot;/General/E-Mail. It is up to an admin of the receiving mail server for how to distribute the email towards all potential group members.&lt;br /&gt;
*Configure Function-Keys at phones Endeavour, Atlantis&lt;br /&gt;
**&#039;&#039;&#039;Type&#039;&#039;&#039; Message Waiting&lt;br /&gt;
**&#039;&#039;&#039;Message Center Account&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Number&#039;&#039;&#039; &#039;&#039;803803&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;Append Own Number&#039;&#039;&#039;  inactive/not checked&lt;br /&gt;
*Configure source email address and mail server&lt;br /&gt;
**Edit the settings underneath &#039;&#039;&#039;PBX/Config/Authentication/Email Verification&#039;&#039;&#039; accordingly. Those are the settings being considered by the sub-script email.xml.&lt;br /&gt;
&lt;br /&gt;
=== Configuration App Platform===&lt;br /&gt;
If using app platform the configuration can done by PBX Manager. There is a new button &amp;quot;add Voicemail group app&amp;quot;. This configures the new variable &amp;quot;$_m&amp;quot; and a second one for the app &amp;quot;$_group&amp;quot; which is the name of the VM Object.&lt;br /&gt;
It is only necessary for the voicemail app. &lt;br /&gt;
&lt;br /&gt;
The voicemail app works with sip names&amp;lt;ref&amp;gt;sip name: the dialable name, within a user&#039;s PBX-UI the edit field &#039;&#039;&#039;name&#039;&#039;&#039;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;A comma within a sip name must be URL-escaped within the comma-separated list &#039;&#039;$_m..&#039;&#039; E.g. &#039;&#039;Doe, John&#039;&#039; =&amp;gt; &#039;&#039;Doe%2C John&#039;&#039;&amp;lt;/ref&amp;gt; so that it is mandatory to configure the Message Waiting Keys and the $_m with names instead of numbers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Script URL&#039;&#039;&#039; &amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
http://127.0.0.1/drive/CF0/vm/vm.xml?$_m=endeavour,atlantis&amp;amp;$_group=vm_group&amp;amp;$app=on&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The group voicemail app can be activated for every user by checkmark the group voicemail object in the tab &amp;quot;PBX/User/Apps&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
&lt;br /&gt;
==Related==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_Softwarephone&amp;diff=59585</id>
		<title>Reference12r2:Concept Softwarephone</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_Softwarephone&amp;diff=59585"/>
		<updated>2021-07-16T10:31:45Z</updated>

		<summary type="html">&lt;p&gt;Ani: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
= General =&lt;br /&gt;
&lt;br /&gt;
Innovaphone SoftwarePhone  is the implementation of innovaphones HW phones software as a Windows process. So all the features native to the hardwarephones are present in SoftwarePhone  as well. SoftwarePhone  has no UI, it is operated via myPBX or 3rd Party CTI client (ex: Estos Procall).&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
The innovaphone SoftwarePhone requires:&lt;br /&gt;
*Windows 7 or higher&lt;br /&gt;
*innovaphone PBX with SoftwarePhones&amp;lt;v&amp;gt; License.&lt;br /&gt;
*innovaphone myPBX UC-Client as frontend with myPBX- or UC-license&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Prior to installing the  10.00  Version of  innovaphone SoftwarePhone  an eventually installed 9.00 version must be manually deinstalled. From version 10.00 to 12r1 subsequent releases can be updated without first deinstalling the older version. From 12r2 on prior versions must be manually deinstalled.&lt;br /&gt;
When updating the installation, the previous configuration (if existing) is reused. Otherwise a default configuration is installed.&lt;br /&gt;
There are 2 ways to install Softwarephone:&lt;br /&gt;
&lt;br /&gt;
* SetupSWPhone.exe. This is the preferred method if no installation parameters are required. It automatically installs all 3rd party SW to operate the headsets&lt;br /&gt;
* softwarephone.msi AND SpokesSDKNativeRuntime.msi. If the Softwarephone installation needs to be parametrized via Orca first install SpokesSDKNativeRuntime.msi, then&lt;br /&gt;
softwarephone.msi&lt;br /&gt;
* In our newest download packet, if you aren&#039;t using our exe file please install first HubSDKNativeRuntime.msi, Sennheiser_SDK_v7.5.9600.msi and than softwarephone.msi. Delete first the old pakets and install than the new ones. &lt;br /&gt;
 &lt;br /&gt;
The following items are installed:&lt;br /&gt;
&lt;br /&gt;
* SoftwarePhone .exe and related files (dll) in Program files (x86)\innovaphone\SoftwarePhone &lt;br /&gt;
* Hid.tbl (the code definitoins of supported USB headsets) in Program files (x86) \innovaphone\SoftwarePhone &lt;br /&gt;
* The config files „swphone_config.cfg“ and „swphone_command.cfg” in the User Roaming directory (if no previous configuration is located there, otherwise the old configuration is used, Roaming Directory Location : &amp;lt;drive&amp;gt;:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone\SoftwarePhone\)&lt;br /&gt;
&lt;br /&gt;
Installation Process:&lt;br /&gt;
&lt;br /&gt;
* http port 80 ist checked to be available as the SoftwarePhone ’s web configuration port. If not free, a search starting at port 10006 is executed to find a free port. The URL file, containing the configuration  servers web @ is adjusted to the determined free port&lt;br /&gt;
* SoftwarePhone  is startet.&lt;br /&gt;
&lt;br /&gt;
Resetting to defaults:&lt;br /&gt;
&lt;br /&gt;
*Resetting to default configuration could be done by deleting the config files in the Roaming Directory.&lt;br /&gt;
&lt;br /&gt;
Unattended Installation of softwarephone for ALLUSERS:&lt;br /&gt;
&lt;br /&gt;
*It&#039;s possible to install softwarephone for ALLUSERS by using the command:&lt;br /&gt;
 Msiexec /i softwarephone.msi ALLUSERS=1&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
The configuration is opened by selecting “Configuration” from the start menu. A browser connection is opend to the server running as part of SoftwarePhone and the configuration menu is displayed. &lt;br /&gt;
&lt;br /&gt;
Default login is admin/swphone.&lt;br /&gt;
&lt;br /&gt;
The configuration options are the same as for the hardware phones with a few specifics referring to SoftwarePhone running as a Windows process:&lt;br /&gt;
&lt;br /&gt;
* Application&lt;br /&gt;
The Applicatons run mode and priority can be set and whether to register with the computers name at the PBX.&lt;br /&gt;
* Audio&lt;br /&gt;
The desired audio devices can be selected.&lt;br /&gt;
* Audio&lt;br /&gt;
The Audio –Input, -Output and –Ringing device can be selected. &lt;br /&gt;
* USB&lt;br /&gt;
Legacy configuration for customers who use a previous installation with a headset other than Jabra, Sennheiser or Plantronics. Headsets from these vendors are handled automatically and need not be configured.&lt;br /&gt;
&lt;br /&gt;
The default credentials are admin / swphone&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;„Audio and USB Configuration&amp;quot;&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
This config GUI is unique in the way that it can only be accessed (right click on the softwarephone icon) from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio and USB-headset parameters.&lt;br /&gt;
&lt;br /&gt;
[[Image:default-usercfg.png]]&lt;br /&gt;
 &lt;br /&gt;
Above image shows the default configuration without any headset from vendors Jabra, Plantronics or Sennheiser plugged in. &amp;quot;Headset&amp;quot; in this case means any headset of beforementioned vendors that is detected. Note: The FIRST detected headset will become the active one, if more than 1 headset is plugged in. In case you have more than 1 headset plugged in and want to use a specific for Softwarephone operation you must configure it in the &amp;quot;USB Configuration | USB device&amp;quot; droplist. &lt;br /&gt;
The column on the right shows the actual values&lt;br /&gt;
&lt;br /&gt;
[[Image:usercfg-headset-plugged-no-preferred.png]]&lt;br /&gt;
&lt;br /&gt;
Above image shows a default configuration &amp;quot;Headset&amp;quot; with currently a &amp;quot;Sennheiser SC260 ..&amp;quot; being plugged in and detected &lt;br /&gt;
&lt;br /&gt;
[[Image:usercfg-headset-plugged-preffered-active.png]]&lt;br /&gt;
&lt;br /&gt;
Above image shows the &amp;quot;Sennheiser SC260 ..&amp;quot; configured as the prefered (USB Device) and being active.&lt;br /&gt;
&lt;br /&gt;
Note: If you have configured a specific headset and you don&#039;t plug it in but instead another one then this other is fully operational and it stays that way until the prefered one is plugged in, then it becomes the active one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Microphone:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
The microphone selection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Speaker:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The speaker selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ringer:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The Ringing device selection&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Handsfree:&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
	The open listening device selection. The device that plays the incoming audio stream when the speaker button is pressed in myPBX.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Device:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
	The USB headset selction.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;USB Map:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Legacy for non Jabra, Plantronics and Sennheiser headsets. The codepage selection for the selected usb device. Here one or two choices are presented. If a selection item that refers to the selected USB Device use this. If only “generic HID Telephonie Page” is available you can try to use the headsets button (some headsets support the generic codes)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; If the headsets buttons do not work for call control, then call control is solely available through myPbx. Nevertheless the USB headset can be used as the audio-in/output device.&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:„Application“]&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Application configuration.&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_application.jpg]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application Run Mode:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Manual: SoftwarePhone needs to be started manually&lt;br /&gt;
* Login: SoftwarePhone will be started when the user logs in (don&#039;t set this option if myPBX Launcher have option &amp;quot;Run Softwarephone&amp;quot; in the same PC). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application Priority:&#039;&#039;&#039;&lt;br /&gt;
* Normal: As every standard Windows Process. Sufficient in almost all cases&lt;br /&gt;
* High: Elevated Priority. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Register Mode:&#039;&#039;&#039; &lt;br /&gt;
* Default: Registration modes like the  HW phones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; Anonymous registration might not work in all environments, especially those that prevent multicasts. For example, when using SoftwarePhone  over a vpn 	  connection ensure that multicast forwarding is guaranteed. Also, if a virtual machine is running on the same computer it might prevent&lt;br /&gt;
multicasts being sent on the LAN.&lt;br /&gt;
&lt;br /&gt;
* Computername: &lt;br /&gt;
The best way for registering SoftwarePhone  at the PBX. It uses the computername as it is visible on the LAN. The computername is determined by SoftwarePhone  and the appropriate parameters are set for the “Phone” modul. This configuration appears in the field “Name” under the “Phone” tab  (Example for computer„LBU-VOSTRO-W7“ ):&lt;br /&gt;
&lt;br /&gt;
[[Image:swphone_registration.jpg]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:&amp;quot;Audio”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „Audio and USB Configuration“&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;[Tab:“USB”]:&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Admin mode Audio configuration. Items see  „Audio and USB Configuration“&lt;br /&gt;
&lt;br /&gt;
= Rollout =&lt;br /&gt;
&lt;br /&gt;
Especially in larger installations it is desirable to have a mechanism for automatic configuration of the SoftwarePhones. This can be accomplished in the following way:&lt;br /&gt;
&lt;br /&gt;
SoftwarePhones installation package (softwarephone .msi)can be parametrized by creating an [https://docs.microsoft.com/en-us/windows/desktop/msi/orca-exe Orca MSI database editor] transform with the parameters:&lt;br /&gt;
URL and POLL. Theses parameters are entered in the “Property” table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:download_orca.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saving Embedded Streams&lt;br /&gt;
&lt;br /&gt;
By default, when saving a database to a new file with File and Save As…, Orca does not copy streams that are embedded in the database but not a member of any table. Select Copy embedded streams during &#039;Save As&#039; to save streams to the new file when saving a database using the File with the Save As… option. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_openfile.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_addrows.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_rows_content.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:orca_savefile.jpg]]&lt;br /&gt;
&lt;br /&gt;
It is recommended that the “POLL” value be set to “1” (shortest time:  1minute).  &lt;br /&gt;
When SoftwarePhone is installed with the transform it starts, waits 1 min (poll period) then accesses the script file specified in the “POLL” parameter and executes the commands therein. &lt;br /&gt;
To register SoftwarePhone  with the computername at the PBX the script file should look as follows (example showing the PBX @ “192.168.178.22” with the identifier  „IP800-06-25-6e” :&lt;br /&gt;
&lt;br /&gt;
 …&lt;br /&gt;
 #set the PBX @ and Identifier&lt;br /&gt;
 config change PHONE SIG /prot H323 /gk-addr 192.168.178.22 /gk-id IP800-06-25-6e&lt;br /&gt;
&lt;br /&gt;
 #register with computername&lt;br /&gt;
 mod cmd APP0 app-set /op OK /reg_mode ComputerName&lt;br /&gt;
&lt;br /&gt;
 #reset the automatic configuration update&lt;br /&gt;
 config add UP1 /url &lt;br /&gt;
&lt;br /&gt;
 #reset SoftwarePhone and apply config&lt;br /&gt;
 reset &lt;br /&gt;
&lt;br /&gt;
Another method to provide configurations to the installed SoftwarePhone s is preparing a configuration template by configuring one SoftwarePhone  entity, then using the generated “swphone_commands.cfg” file in the &amp;lt;users roaming directory &amp;gt;\innovaphone\SoftwarePhone &lt;br /&gt;
as the template, copying it to the update location  and using it in the script file:&lt;br /&gt;
&lt;br /&gt;
 #invoke configuration template&lt;br /&gt;
 mod cmd UP0 cfg  &amp;lt;update directory location&amp;gt;/swphone_commands.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This method is particularly helpful when many USB headset of the same type are used.&lt;br /&gt;
&lt;br /&gt;
= Setting QoS =&lt;br /&gt;
See [[Howto:Softphone recommended settings]].&lt;br /&gt;
&lt;br /&gt;
= Supported USB headsets =&lt;br /&gt;
&lt;br /&gt;
The following USB headsets are supported for onhook/offhook and mute (MyPBX) functionality:&lt;br /&gt;
&lt;br /&gt;
All Jabra, Plantronics and Sennheiser headsets that are supported by these vendors SDKs. Please check their&lt;br /&gt;
sites for more information.&lt;br /&gt;
&lt;br /&gt;
https://www.plantronics.com/us/en/support/downloads-apps/hub-desktop&lt;br /&gt;
&lt;br /&gt;
https://developer.jabra.com/site/global/sdks/windows/documentation/core.gsp&lt;br /&gt;
&lt;br /&gt;
https://en-us.sennheiser.com/headset-software-pc&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting Connectivity Problems =&lt;br /&gt;
&lt;br /&gt;
If you experience problems with softwarephone attaching to the PBX or not being able to make calls please check the following:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “Phone” tab whether the state is “up”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;check in the “General” tab if License is “Valid”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start a command window as Administrator and issue a &amp;quot;netstat –a –b &amp;gt; swphone_netstat.txt&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “swphone_netstat.txt” file search for “1720”. There should be an entry like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;TCP    0.0.0.0:1720           LBU-VOSTRO-W7:0        LISTENING&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[softwarephone.exe].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please search for other occurances of “&#039;&#039;&#039;1720&#039;&#039;&#039;” to ensure that no other processes listen to this port.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Make a softwarephone trace to see if the packets are received by softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the “Maintenance” tab “Tracing” enable “&#039;&#039;&#039;H.323 Signaling&#039;&#039;&#039;”, “&#039;&#039;&#039;Phone&#039;&#039;&#039;” and “&#039;&#039;&#039;All TCP/UDP Traffic&#039;&#039;&#039;”. Then try to make the call. In the resulting trace you should see the events like the following:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;0:0103:337:3 - RECV RESULT[](662 from pla(192.168.178.22:60003) type: 1)&lt;br /&gt;
0:0103:337:3 - PHONE_LISTEN.1 -&amp;gt; PHONE_REG.1 : SIG_SETUP faststart=3ac8bec cmd=PROPOSAL cdpn=400&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If these events are no present in the trace it could be that the firewall settings prevent some of softwarephone’s functions. This could be the Firewall.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check the firewall settings for softwarephone&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please open the “System Administration\Windows-Firewall\Allow Program.. Ensure that softwarephone is enabled on the required interfaces. If this doesn’t solve the problem then temporaryly disable the firewall completely and try again. &lt;br /&gt;
Now even with the firewall disabled there could be some other security software that causes the problem. To find out if packets to the “h323hostcall” port (1720) are filtered by the firewall you can use the commands “&#039;&#039;&#039;netsh wfp capture start&#039;&#039;&#039;” to start a trace of the test and “&#039;&#039;&#039;netsh wfp capture stop&#039;&#039;&#039;” to stop the trace. The trace is written into the file: “&#039;&#039;&#039;wfpdiag.cab&#039;&#039;&#039;” . Extract the file: “&#039;&#039;&#039;wfpdiag.xml&#039;&#039;&#039;”. In this file search for “1720”. If the packet is filtered by the firewall an entry like the following can be found:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
   &amp;lt;header&amp;gt;&lt;br /&gt;
     &amp;lt;timeStamp&amp;gt;2013-11-05T11:20:27.367Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
     &amp;lt;flags numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
       &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
     &amp;lt;/flags&amp;gt;&lt;br /&gt;
     &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
     &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;&amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
     &amp;lt;localPort&amp;gt;&#039;&#039;&#039;1720&#039;&#039;&#039;&amp;lt;/localPort&amp;gt;&lt;br /&gt;
     &amp;lt;remotePort&amp;gt;60007&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
     &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
     &amp;lt;appId&amp;gt;							&lt;br /&gt;
       &amp;lt;data&amp;gt; …&amp;lt;/data&amp;gt;&lt;br /&gt;
       &amp;lt;asString&amp;gt;...&amp;lt;/asString&amp;gt;&lt;br /&gt;
     &amp;lt;/appId&amp;gt;&lt;br /&gt;
     &amp;lt;userId&amp;gt;S-1-5-21-3364624427-3176291796-194291593-006&amp;lt;/userId&amp;gt;&lt;br /&gt;
   &amp;lt;/header&amp;gt;&lt;br /&gt;
   &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
   &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
     &amp;lt;filterId&amp;gt;105267&amp;lt;/filterId&amp;gt;&lt;br /&gt;
     &amp;lt;layerId&amp;gt;44&amp;lt;/layerId&amp;gt;&lt;br /&gt;
     &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
     &amp;lt;originalProfile&amp;gt;2&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
     &amp;lt;currentProfile&amp;gt;2&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
   &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;localAddrV4&amp;gt;192.168.178.21&amp;lt;/localAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
and the &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;remoteAddrV4&amp;gt;192.168.178.22&amp;lt;/remoteAddrV4&amp;gt; &lt;br /&gt;
&lt;br /&gt;
should be your computers and the PBX’s @. &lt;br /&gt;
&lt;br /&gt;
* Check if the setup from the PBX is received at the local computer and what happens with it&lt;br /&gt;
&lt;br /&gt;
Sometimes, Antivirus Packages can implement their own network access policy. This can result in a h323 release complete with cause “User Busy” to an incoming Setup from the PBX before any other softwarephone is reached. To see which process Sends/Receives the packets in a flow you can use the “netmon”, Microsofts free Packet tracer.&lt;br /&gt;
&lt;br /&gt;
= How to obtain debug traces of softwarephone using icollect =&lt;br /&gt;
&lt;br /&gt;
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called &#039;&#039;&#039;icollect.exe&#039;&#039;&#039;(accessible via start menu entry). After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\&amp;lt;User&amp;gt;\AppData\Roaming\innovaphone) as &amp;quot;debug-info.zip&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Before you reproduce the problem, please set the appropriate trace flags. Some flags like the KEYS flag must be set at &amp;quot;http://localhost:10006/debug.xml&amp;quot;&lt;br /&gt;
Which flags for which problem:&lt;br /&gt;
&lt;br /&gt;
; Softwarephone looses registration at PBX: H.323/RAS, H.323/H.225, H.323/H.245&lt;br /&gt;
; Call setup phase: Signalling, H.323/RAS, H.323/H.225, H.323/H.245&lt;br /&gt;
; Audio problems: Signalling, H.323/ICE, H.323/DTLS, DSP trace, DSP Audiochannel. Please enable &amp;quot;DSP Audiocapture&amp;quot; only if specifically asked by innovaphone since it captures the complete audio stream and thus can generates huge files on the HD&lt;br /&gt;
; Headset button problems: Signalling, KEYS&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don&#039;t send us crash dumps of older versions since this will just take more time/effort to be analysed by our developer team.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Important files for support in the debug-info.zip==&lt;br /&gt;
* &#039;&#039;&#039;trace.txt&#039;&#039;&#039; -&amp;gt; Trace File, created when &#039;&#039;&#039;File Trace&#039;&#039;&#039; is activated in debug.xml. Also contains version number (to find it, search for Build: )&lt;br /&gt;
* &#039;&#039;&#039;swphone_config.cfg&#039;&#039;&#039; -&amp;gt; one part of the config, can be used to check trace-flags.&lt;br /&gt;
* &#039;&#039;&#039;swphone_commands.cfg&#039;&#039;&#039; -&amp;gt; second part of the config, can be used to check trace-flags. Also contains version number&lt;br /&gt;
* &#039;&#039;&#039;dmp&#039;&#039;&#039;-file: named innovaphone &#039;&#039;&#039;SoftwarePhone#[version]#[id].dmp&#039;&#039;&#039; contains crash dump&lt;br /&gt;
** if crash without dmp file, &#039;&#039;&#039;StartTrace.txt&#039;&#039;&#039; contains trace of swphone start&lt;br /&gt;
* &#039;&#039;&#039;Wave-in/Wave-out&#039;&#039;&#039;: created when DSP &amp;amp; DSP Audiochannel &amp;amp; DSP Audiocapture are activated.&lt;br /&gt;
&lt;br /&gt;
=Known Issue=&lt;br /&gt;
&lt;br /&gt;
=== Things to do before starting ===&lt;br /&gt;
Before starting debugging softwarephone issues, is always the best thing to:&lt;br /&gt;
&lt;br /&gt;
- check if audio drivers on the PC/Laptop are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- check if the headset drivers are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- check that the Headset SDK is updated to the latest version&lt;br /&gt;
&lt;br /&gt;
- check that network drivers are updated to the last version&lt;br /&gt;
&lt;br /&gt;
- change registration protocol of softwarephone from UDP (H323) to TCP or TLS (H323/TCP or H323 TLS) to avoid any signaling issue&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After updating the driver, please reboot the PC even if not requested by the OS.&lt;br /&gt;
&lt;br /&gt;
Most cases are solved after updating drivers/software, especially if softwarephone won&#039;t start or no ringtones/audio device is automatically selected.&lt;br /&gt;
&lt;br /&gt;
Also, please check that the files &amp;quot; swphone_config.cfg &amp;quot; and &amp;quot; swphone_commands.cfg &amp;quot; in the C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ are not 0 Kbyte.&lt;br /&gt;
In this case, best is to reinstall the softwarephone with the latest version, and, after configuring it, restart it and check that the file &amp;quot; swphone_commands.cfg &amp;quot; is bigger then 6 KB.&lt;br /&gt;
If something is overwriting it (Windows policy, Antivirus), do the following:&lt;br /&gt;
&lt;br /&gt;
- uninstall softwarephone&lt;br /&gt;
&lt;br /&gt;
- reinstall it with Administrator rights&lt;br /&gt;
&lt;br /&gt;
- start softwarephone and configure it (saving the changes)&lt;br /&gt;
&lt;br /&gt;
- without closing it, navigate to the &amp;quot; C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ &amp;quot; folder and put &amp;quot; swphone_config.cfg &amp;quot; and &amp;quot; swphone_commands.cfg &amp;quot; in read-only. Doing this, softwarephone will save the changes. Remember that doing this, if you want to changes some settings on softwarephone, you need to remove the &amp;quot;read-only&amp;quot; flag on the files (and re-apply it after the changes)&lt;br /&gt;
&lt;br /&gt;
=== G.711 only and G729 Optional===&lt;br /&gt;
The software phone does support G.711 and Opus codec only, no G.723 or G.722.&lt;br /&gt;
Optionally we can use G729 if G729 Channel licenses are present and available on the PBX.&lt;br /&gt;
&lt;br /&gt;
===Another program is blocking the softphone===&lt;br /&gt;
&lt;br /&gt;
Another program (e.g XCAPI) might be listening on tcp port 1720 as well. If you want to use both programs simultaneously you can change the signaling port of the softphone to another port like 1721.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;http://localhost/!config add PHONE SIG /ep-addr 0.0.0.0:1721&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to find out which program is listening on which port we recommend using a little tool called TCP View. You’ll find it here:&lt;br /&gt;
&lt;br /&gt;
http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx&lt;br /&gt;
&lt;br /&gt;
=== No license obtained from PBX if SIP Protocol is used===&lt;br /&gt;
&lt;br /&gt;
When using Innovaphone softwarephone with SIP Protocol no license it&#039;s obtained from the PBX. It&#039;s necessary to use H.323 always.&lt;br /&gt;
&lt;br /&gt;
=== Headset Basestation doesn&#039;t Ring ===&lt;br /&gt;
&lt;br /&gt;
Often it&#039;s reported that the Basestation of Wireless Headsets doesn&#039;t Ring on incoming call, this is a feature that is missing and there exist already a Feature Request for it - [[Support:DVL-Feature_Requests#Alerting_on_Wireless_headset_base_also | Alerting on Wireless headset base also]] .&lt;br /&gt;
&lt;br /&gt;
=== Windows Volume lowers automatically when receiving a call ===&lt;br /&gt;
&lt;br /&gt;
The volume can be set for swphone exclusively by the Windows mixer. It appears in the mixer because it has a Audio stream Interface to the Windows Audio System, but no way adjust the volume by itself. When such an effect occurs it is best to check the Windows configuration: if it is set to Change volume for applications when certain Events occur:&lt;br /&gt;
&lt;br /&gt;
[http://superuser.com/questions/74116/windows-7-lowers-applications-volume-automatically Windows 7 lowers applications&#039; volume automatically]&lt;br /&gt;
&lt;br /&gt;
=== H.323/TLS Connection not Trusted by Default ===&lt;br /&gt;
&lt;br /&gt;
Please check the [[Reference11r1:Concept_H.323_over_TCP/TLS_(H.460.17)#Known_Issues|H.323/TLS Known Issues article]].&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone does not work on Terminal Server ===&lt;br /&gt;
The software phone can only run once on a single system.  This also implies that it does not work for terminals server systems such as e.g. Citrix, as only the first client session running on a server would be able to start a software phone.   Furthermore, multiple RTP streams would impose quit a bit of load on the server.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone can&#039;t place calls (call setup disappear as I press the &amp;quot;call&amp;quot; button&amp;quot;) ===&lt;br /&gt;
&lt;br /&gt;
After windows major update, some windows systems had their microphone rights turned off for all the application using it. This prevent the softwarephone to properly use the microphone. &lt;br /&gt;
To check this, press &amp;quot;windows key + i&amp;quot;, navigate in &amp;quot;Privacy&amp;quot; - &amp;quot;Microphone&amp;quot; - and check that &amp;quot;Allow apps to access you microphone&amp;quot; is turned on. Sometimes, even if turned on, there is the need to turn &amp;quot;Allow apps to access you microphone&amp;quot; completely off and the on to &amp;quot;refresh&amp;quot; the app rights (softwarephone included)&lt;br /&gt;
&lt;br /&gt;
Also check that windows firewall is not blocking softwarephone communication.&lt;br /&gt;
&lt;br /&gt;
Please check also this page: &amp;quot; http://wiki.innovaphone.com/index.php?title=Howto:Softwarephone_recommended_settings#Registration_Protocol &amp;quot;. With softwarephone, is recommended to not use H323/UDP as protocol. &lt;br /&gt;
&lt;br /&gt;
=== When PC is not used for some time, softwarephone won&#039;t work anymore ===&lt;br /&gt;
&lt;br /&gt;
We noticed this behaviour on some Windows PC. This was due to the power management settings of Windows, that was turning off the USB ports to save power (this happen most on laptops)&lt;br /&gt;
To avoid this, open &amp;quot;Control Panel&amp;quot; (with Category view) - &amp;quot;Hardware and sound&amp;quot; - &amp;quot;Power options&amp;quot; . Under &amp;quot;Preferred plan&amp;quot; click the &amp;quot;Change plan settings&amp;quot; for the plan you are currently using.&lt;br /&gt;
Click the &amp;quot;Change advanced power settings&amp;quot; link&lt;br /&gt;
Expand &amp;quot;USB selective suspend settings&amp;quot;&lt;br /&gt;
Select &amp;quot;Disabled&amp;quot; form the drop-down menu&lt;br /&gt;
Click &amp;quot;Apply&amp;quot; and the &amp;quot;ok&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you&#039;re changing the settings on a laptop, you&#039;ll see two options: On Battery and Plugged in, so make sure to change those settings accordingly.&lt;br /&gt;
This will prevent Windows 10 to power off USB devices connected to your computer (so your usb bluetooth headset connector)&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone doesn&#039;t start after upgrade to new version ===&lt;br /&gt;
&lt;br /&gt;
On windows 10 PC, can happen that after installing the new softwarephone version without manually uninstalling the old one, softwarephone won&#039;t start anymore, and in the Windows event viewer you will see the softwarephone app crash with relative ntdll.dll error.&lt;br /&gt;
To solve this, manually uninstall the softwarephone, reboot the PC and install the new version.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone 12r2 keep crashing on Windows 10 ===&lt;br /&gt;
&lt;br /&gt;
We noticed some issue between Softwarephone 12r2 and Windows 10. If your softwarephone after Windows 10 major update 1809, doesn&#039;t start or start and keep restarting, uninstall Softwarephone 12r2, delete the Softwarephone folder in the AppData/Roaming/Innovaphone/ path, restart the PC and install Softwarephone 12r1 with Administrator rights. This should solve the issue.&lt;br /&gt;
&lt;br /&gt;
=== Issue with permission on Appdata folder ===&lt;br /&gt;
&lt;br /&gt;
After major windows update, can happen that permission for the appdata/Roaming folder are reset. To restore them please do the following:&lt;br /&gt;
&lt;br /&gt;
Open &amp;quot;Run&amp;quot; by pressing Windows + R keys together.&lt;br /&gt;
Type: as C:\Users\USERNAME\AppData&lt;br /&gt;
Note: Replace C: with the letter of the drive where Windows is installed. Also replace USERNAME with the username of the account you’re logged in.&lt;br /&gt;
&lt;br /&gt;
Click OK&lt;br /&gt;
&lt;br /&gt;
Right-click on the Roaming folder&lt;br /&gt;
&lt;br /&gt;
Click Properties&lt;br /&gt;
&lt;br /&gt;
Go to the Security tab&lt;br /&gt;
&lt;br /&gt;
Click “Edit -&amp;gt; Add”&lt;br /&gt;
&lt;br /&gt;
Type “Everyone”&lt;br /&gt;
&lt;br /&gt;
Click “Check names -&amp;gt; Ok -&amp;gt; Full control”&lt;br /&gt;
&lt;br /&gt;
Click OK to save the changes&lt;br /&gt;
&lt;br /&gt;
Restart your computer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now softwarephone should be able to access all necessary files again.&lt;br /&gt;
&lt;br /&gt;
=== Not removed system tray icons ===&lt;br /&gt;
Sometimes if the softwarephone loose connection, wifi/copper/vpn will be switched or crashes the application in the system tray will not removed.&lt;br /&gt;
&lt;br /&gt;
=== Headset not recognize by softwarephone on Windows 10 ===&lt;br /&gt;
&lt;br /&gt;
After Major windows update, headset is not recognize anymore. This can happen in case authorization by the OS for softwarephone to bind the headset to the softphone is denied.&lt;br /&gt;
To restore the headset detection, uninstall softwarephone 12r2 version and install the latest 12r1 softwarephone release. Doing this, NET framework 3.5 will be reinstalled, authorization restored, and headset should be recognized again.&lt;br /&gt;
Once headset is recognize, you can reinstall softwarephone 12r2 (latest) version and headset will work with the 12r2 version of softwarephone again.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone Mac address is 00000000000 ===&lt;br /&gt;
&lt;br /&gt;
To be able to obtain a Mac address, on the PC network card, netbios must be enabled.&lt;br /&gt;
&lt;br /&gt;
=== Kaspersky antivirus ===&lt;br /&gt;
&lt;br /&gt;
We have reports that this antivirus can interfere with softwarephone if the client is not configured to allow softwarephone to work properly (softwarephone start but no calls are possible). Please disable it or configure an exception for the softwarephone so softwarephone can make calls.&lt;br /&gt;
&lt;br /&gt;
=== Softwarephone doesn&#039;t ring, or does not receive call ===&lt;br /&gt;
&lt;br /&gt;
According to this wiki page, http://wiki.innovaphone.com/index.php?title=DND if you press the mute button on the headset while softwarephone is in idle (no active calls) you activate the DND mode. This information won&#039;t be displayed in myApps/myPBX but is something between headset and softwarephone. You can check in this case if this line:&lt;br /&gt;
&lt;br /&gt;
vars create PHONE/USER-DND/00000 p 1    &amp;lt;--------- 1 means DND is on, 0 is off.&lt;br /&gt;
&lt;br /&gt;
is present in the softwarephone configuration file. If this is the case, pressing the mute button in the headset again when no calls are active, will set the value to 0 and DND will be disabled.&lt;br /&gt;
&lt;br /&gt;
You can also lock the DND function on the softwarephone in PHONE/Protect/ Fine grained Function Locking and configure in the field:&lt;br /&gt;
&lt;br /&gt;
0x00080000&lt;br /&gt;
&lt;br /&gt;
Doing so the user won&#039;t be able to set the softwarephone in DND anymore.&lt;br /&gt;
&lt;br /&gt;
Update: solved with the latest softwarephone release. Now is not possible to set the softwarephone in DND mode via the headset.&lt;br /&gt;
&lt;br /&gt;
=== Crash if 4 or more network interfaces on PC ===&lt;br /&gt;
&lt;br /&gt;
The Softwarephone will crash when started continuously or crash when a call is done (and the ICE candidates for the call are generated). As a workaround, don&#039;t activate more than 3 interfaces or use the v13 myApps-softphoneApp.&lt;/div&gt;</summary>
		<author><name>Ani</name></author>
	</entry>
</feed>