<?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=Gnd</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=Gnd"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Gnd"/>
	<updated>2026-05-05T15:30:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Behnke_SIP_intercom_-_Behnke_-_3rd_Party_Product&amp;diff=78619</id>
		<title>Howto:Behnke SIP intercom - Behnke - 3rd Party Product</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Behnke_SIP_intercom_-_Behnke_-_3rd_Party_Product&amp;diff=78619"/>
		<updated>2025-12-09T14:41:40Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Remark: This information is outdated. For the latest information, please visit the following link:  [http://www.behnke-online.de www.behnke-online.de]&lt;br /&gt;
&lt;br /&gt;
[[Image:Behnke_logo.png||200px|right]]&lt;br /&gt;
==Product Name==&lt;br /&gt;
[http://www.behnke-online.de Telecom Behnke SIP intercom]&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;
==Certification Status==&lt;br /&gt;
&amp;lt;!-- by inno&lt;br /&gt;
   - uncomment one of the stati below &lt;br /&gt;
   - update date below&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
{{Template:Compat_Status_referral_product_new}}&lt;br /&gt;
&lt;br /&gt;
Testing of this product was performed in December 2018.&lt;br /&gt;
==Category==&lt;br /&gt;
[[Category:Referral Product|{{PAGENAME}}]]&lt;br /&gt;
{{Category:3rdParty_Terminal_Devices}}&lt;br /&gt;
[[Category:3rdParty_Terminal_Devices|{{PAGENAME}}]]&lt;br /&gt;
==Description==&lt;br /&gt;
===Description (German)===&lt;br /&gt;
Behnke SIP-Sprechstellen der Serie 20 sind hochwertige modulare VoIP-Sprechstellen aus Metall mit akustischer Echounterdrückung zum Vollduplex-Freisprechen. Die Bedienelemente der Sprechstellen werden im Baukastenprinzip aus diversen Funktionsmodulen zusammengestellt. Dadurch wird ein Höchstmaß an Flexibilität in Planung und Anwendung erreicht – vom hochwertigen Kameramodul, bis hin zum Einsatz von Zutrittskontrollsystemen wie Kartenleser und Fingerprint. Die Sprachverbindung erfolgt per Voice over IP (VoIP) nach dem SIP-Standard über ein angeschlossenes Ethernet LAN. Hierfür wird entweder eine SIP-fähige Telefonanlage, ein SIP-Provider oder die direkte Wahl einer IP-Adresse verwendet. Konfiguration und Software-Updates erfolgen per Web-Frontend. Der verschlüsselte Zugriff auf die Konfigurationsoberfläche genügt höchsten Sicherheitsstandards. Mittels SIP-Secure und secure RTP werden auch Telefonate vor unberechtigtem Zugriff geschützt.&lt;br /&gt;
&lt;br /&gt;
===Description (English)===&lt;br /&gt;
The Behnke Series 20 SIP intercom is a high-quality, modular VoIP intercom with a metal front panel and acoustic echo cancellation for full-duplex, handsfree talking. The control elements can be combined from a number of different modules. This will give you the maximum of flexibility for both planning and usage – from high-quality camera modules to access control systems like RFID or fingerprint readers.VoIP-calls are established via the standardized SIP protocol over the Ethernet LAN connection. You can use it with your SIP-PBX, your account at your SIP provider, or in peer-to-peer mode with your SIP phone. Use the web interface to configure and update the intercom. The encrypted access to the interface meets the highest security standards. The intercom also provides SIP-Secure and secure RTP features to protect your calls from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
===Features (German)===&lt;br /&gt;
* Modularer Aufbau&lt;br /&gt;
* Bis zu 8 Direktruftasten mit frei konfigurierbaren Rufnummern anschließbar (mit Erweiterungen bis zu 100 Tasten)&lt;br /&gt;
* Status-/Fernsteuermeldungen zur Integration in Fremdsoftware&lt;br /&gt;
* 9 Sprachansagen mit je bis zu 40 Sekunden Länge speicherbar&lt;br /&gt;
* Zeitsteuerung&lt;br /&gt;
* Alarmeingang&lt;br /&gt;
* Integrierter, VLAN-fähiger Switch&lt;br /&gt;
* Autoprovisionierung&lt;br /&gt;
* Versand von E-Mails bei Nicht-Erreichbarkeit (mit Kamera-Bild bei SIP-Sprechstellen mit Kameramodul)&lt;br /&gt;
* Konfiguration in Datei speicherbar&lt;br /&gt;
* Zwei konfigurierbare potenzialfreie Relais&lt;br /&gt;
* Optionales Sicherheitsrelais zur abgesetzten Montage &lt;br /&gt;
* Modul Tastwahlblock, Funktionen:&lt;br /&gt;
  - Direkte Rufnummernanwahl&lt;br /&gt;
  - Codeschloss&lt;br /&gt;
  - Kurzwahl mit bis zu 100 Zielen&lt;br /&gt;
* Modul Display, Funktionen:&lt;br /&gt;
  - Vier Zeilen mit je 20 Zeichen&lt;br /&gt;
  - Infotexte je nach Gerätezustand, konfigurierbar&lt;br /&gt;
  - 199 Telefonbucheinträge, mehr auf Anfrage&lt;br /&gt;
&lt;br /&gt;
===Features (English)===&lt;br /&gt;
* Modular design&lt;br /&gt;
* Connect up to 8 call buttons for configurable phone numbers (with addons up to 100 buttons)&lt;br /&gt;
* Status and remote control messages for integration in 3rd party applications&lt;br /&gt;
* Record and play 9 announcements (40 seconds each)&lt;br /&gt;
* Schedules for timer functions&lt;br /&gt;
* Alarm input&lt;br /&gt;
* Integrated VLAN switch&lt;br /&gt;
* Auto-provisioning&lt;br /&gt;
* Send an email if the callee is not available (with photo)&lt;br /&gt;
* Save your configuration in a config file&lt;br /&gt;
* 2 configurable potential free contacts&lt;br /&gt;
* Optional with security relay for remote installation&lt;br /&gt;
* Optional key pad, functions:&lt;br /&gt;
  - dialing&lt;br /&gt;
  - code lock&lt;br /&gt;
  - speed dialing for 100 call targets&lt;br /&gt;
* Optional display, functions:&lt;br /&gt;
  - 4 lines, 20 characters each&lt;br /&gt;
  - Display configurable messages&lt;br /&gt;
  - Phone book with up to 199 entries&lt;br /&gt;
&lt;br /&gt;
==Version==&lt;br /&gt;
Version of tested products for both 3rd-party-product and innovaphone:&lt;br /&gt;
&amp;lt;!-- by inno:&lt;br /&gt;
   - version of software that was tested, as declared by the vendor or reseller(in case of customer testimonial), please not if patches have been applied&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
* Behnke: SIP 2.0, Firmware BT: 4, Build: 169 (up to and including the 2023 model year).&lt;br /&gt;
* innovaphone: Virtual Appliance, Build 125487&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
===Configuration (German)===&lt;br /&gt;
&lt;br /&gt;
* Legen Sie zunächst einen User für die Sprechstelle in der innovaphone PBX an. Die im Screenshot markierten Werte werden später für die Registrierung der Sprechstelle benötigt.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_01.png]]&lt;br /&gt;
&lt;br /&gt;
* Öffnen Sie dann die Weboberfläche der Sprechstelle, melden Sie sich an, und wählen Sie auf der Startseite links den gelb markierten Punkt &amp;quot;&#039;&#039;&#039;Einfach-Konfiguration&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* In den Feldern unter &amp;quot;&#039;&#039;&#039;SIP Einstellungen&#039;&#039;&#039;&amp;quot; werden die Werte des innovaphone Users entsprechend dem Screenshot unten eingetragen.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_02_de.png]]&lt;br /&gt;
&lt;br /&gt;
* Unter &amp;quot;&#039;&#039;&#039;Direktwahltasten&#039;&#039;&#039;&amp;quot; kann den Tasten der Sprechstelle eine Rufnummer zugeordnet werden, welche dann bei Tastendruck angewählt wird. Klicken Sie anschließend unten rechts auf &amp;quot;&#039;&#039;&#039;Übernehmen&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Configuration (English)===&lt;br /&gt;
&lt;br /&gt;
* Please add a user for the SIP intercom in your innovaphone PBX. The marked values in the screenshot below are required for registering the intercom with your PBX.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_01.png]]&lt;br /&gt;
&lt;br /&gt;
* Access the web interface of your intercom. On the left-hand side of the Home screen click the yellow button &amp;quot;&#039;&#039;&#039;Easy-Config&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Fill in the values of the innovaphone user under &amp;quot;&#039;&#039;&#039;VoIP Account&#039;&#039;&#039;&amp;quot; according to the screenshot below.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_02_en.png]]&lt;br /&gt;
&lt;br /&gt;
* Under &amp;quot;&#039;&#039;&#039;Direct-dial keys&#039;&#039;&#039;&amp;quot; you can assign a phone number to the button of the intercom. Then click &amp;quot;&#039;&#039;&#039;Apply&#039;&#039;&#039;&amp;quot; at the bottom of the screen.&lt;br /&gt;
&lt;br /&gt;
==Known Issue==&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX Firmware 14r2SR7.&amp;lt;br&amp;gt;&lt;br /&gt;
There is an issue with DTMF transfer and ICE negotiation. Connection is established but you can not transfer the DTMF signal.&lt;br /&gt;
If you have this issue, activate on the Behnke site the option &amp;quot;no ICE&amp;quot;. &lt;br /&gt;
For the PBX object you have to activate the options &amp;quot;Media Relay&amp;quot; and &amp;quot;No SRTP&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Contact Details==&lt;br /&gt;
&lt;br /&gt;
Telecom Behnke GmbH&lt;br /&gt;
&lt;br /&gt;
Gewerbepark &amp;quot;An der Autobahn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Robert-Jungk-Straße 3&lt;br /&gt;
&lt;br /&gt;
66459 Kirkel&lt;br /&gt;
&lt;br /&gt;
Deutschland / Germany&lt;br /&gt;
&lt;br /&gt;
[http://www.behnke-online.de www.behnke-online.de]&lt;br /&gt;
&lt;br /&gt;
[mailto:info@behnke-online.de info@behnke-online.de]&lt;br /&gt;
&lt;br /&gt;
[http://www.behnke-online.de/service/technik-support Support]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Compat|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Behnke_SIP_intercom_-_Behnke_-_3rd_Party_Product&amp;diff=78603</id>
		<title>Howto:Behnke SIP intercom - Behnke - 3rd Party Product</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Behnke_SIP_intercom_-_Behnke_-_3rd_Party_Product&amp;diff=78603"/>
		<updated>2025-12-08T12:14:42Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Behnke_logo.png||200px|right]]&lt;br /&gt;
==Product Name==&lt;br /&gt;
[http://www.behnke-online.de Telecom Behnke SIP intercom]&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;
==Certification Status==&lt;br /&gt;
&amp;lt;!-- by inno&lt;br /&gt;
   - uncomment one of the stati below &lt;br /&gt;
   - update date below&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
{{Template:Compat_Status_referral_product_new}}&lt;br /&gt;
&lt;br /&gt;
Testing of this product was performed in December 2018.&lt;br /&gt;
==Category==&lt;br /&gt;
[[Category:Referral Product|{{PAGENAME}}]]&lt;br /&gt;
{{Category:3rdParty_Terminal_Devices}}&lt;br /&gt;
[[Category:3rdParty_Terminal_Devices|{{PAGENAME}}]]&lt;br /&gt;
==Description==&lt;br /&gt;
===Description (German)===&lt;br /&gt;
Behnke SIP-Sprechstellen der Serie 20 sind hochwertige modulare VoIP-Sprechstellen aus Metall mit akustischer Echounterdrückung zum Vollduplex-Freisprechen. Die Bedienelemente der Sprechstellen werden im Baukastenprinzip aus diversen Funktionsmodulen zusammengestellt. Dadurch wird ein Höchstmaß an Flexibilität in Planung und Anwendung erreicht – vom hochwertigen Kameramodul, bis hin zum Einsatz von Zutrittskontrollsystemen wie Kartenleser und Fingerprint. Die Sprachverbindung erfolgt per Voice over IP (VoIP) nach dem SIP-Standard über ein angeschlossenes Ethernet LAN. Hierfür wird entweder eine SIP-fähige Telefonanlage, ein SIP-Provider oder die direkte Wahl einer IP-Adresse verwendet. Konfiguration und Software-Updates erfolgen per Web-Frontend. Der verschlüsselte Zugriff auf die Konfigurationsoberfläche genügt höchsten Sicherheitsstandards. Mittels SIP-Secure und secure RTP werden auch Telefonate vor unberechtigtem Zugriff geschützt.&lt;br /&gt;
&lt;br /&gt;
===Description (English)===&lt;br /&gt;
The Behnke Series 20 SIP intercom is a high-quality, modular VoIP intercom with a metal front panel and acoustic echo cancellation for full-duplex, handsfree talking. The control elements can be combined from a number of different modules. This will give you the maximum of flexibility for both planning and usage – from high-quality camera modules to access control systems like RFID or fingerprint readers.VoIP-calls are established via the standardized SIP protocol over the Ethernet LAN connection. You can use it with your SIP-PBX, your account at your SIP provider, or in peer-to-peer mode with your SIP phone. Use the web interface to configure and update the intercom. The encrypted access to the interface meets the highest security standards. The intercom also provides SIP-Secure and secure RTP features to protect your calls from unauthorized access.&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
===Features (German)===&lt;br /&gt;
* Modularer Aufbau&lt;br /&gt;
* Bis zu 8 Direktruftasten mit frei konfigurierbaren Rufnummern anschließbar (mit Erweiterungen bis zu 100 Tasten)&lt;br /&gt;
* Status-/Fernsteuermeldungen zur Integration in Fremdsoftware&lt;br /&gt;
* 9 Sprachansagen mit je bis zu 40 Sekunden Länge speicherbar&lt;br /&gt;
* Zeitsteuerung&lt;br /&gt;
* Alarmeingang&lt;br /&gt;
* Integrierter, VLAN-fähiger Switch&lt;br /&gt;
* Autoprovisionierung&lt;br /&gt;
* Versand von E-Mails bei Nicht-Erreichbarkeit (mit Kamera-Bild bei SIP-Sprechstellen mit Kameramodul)&lt;br /&gt;
* Konfiguration in Datei speicherbar&lt;br /&gt;
* Zwei konfigurierbare potenzialfreie Relais&lt;br /&gt;
* Optionales Sicherheitsrelais zur abgesetzten Montage &lt;br /&gt;
* Modul Tastwahlblock, Funktionen:&lt;br /&gt;
  - Direkte Rufnummernanwahl&lt;br /&gt;
  - Codeschloss&lt;br /&gt;
  - Kurzwahl mit bis zu 100 Zielen&lt;br /&gt;
* Modul Display, Funktionen:&lt;br /&gt;
  - Vier Zeilen mit je 20 Zeichen&lt;br /&gt;
  - Infotexte je nach Gerätezustand, konfigurierbar&lt;br /&gt;
  - 199 Telefonbucheinträge, mehr auf Anfrage&lt;br /&gt;
&lt;br /&gt;
===Features (English)===&lt;br /&gt;
* Modular design&lt;br /&gt;
* Connect up to 8 call buttons for configurable phone numbers (with addons up to 100 buttons)&lt;br /&gt;
* Status and remote control messages for integration in 3rd party applications&lt;br /&gt;
* Record and play 9 announcements (40 seconds each)&lt;br /&gt;
* Schedules for timer functions&lt;br /&gt;
* Alarm input&lt;br /&gt;
* Integrated VLAN switch&lt;br /&gt;
* Auto-provisioning&lt;br /&gt;
* Send an email if the callee is not available (with photo)&lt;br /&gt;
* Save your configuration in a config file&lt;br /&gt;
* 2 configurable potential free contacts&lt;br /&gt;
* Optional with security relay for remote installation&lt;br /&gt;
* Optional key pad, functions:&lt;br /&gt;
  - dialing&lt;br /&gt;
  - code lock&lt;br /&gt;
  - speed dialing for 100 call targets&lt;br /&gt;
* Optional display, functions:&lt;br /&gt;
  - 4 lines, 20 characters each&lt;br /&gt;
  - Display configurable messages&lt;br /&gt;
  - Phone book with up to 199 entries&lt;br /&gt;
&lt;br /&gt;
==Version==&lt;br /&gt;
Version of tested products for both 3rd-party-product and innovaphone:&lt;br /&gt;
&amp;lt;!-- by inno:&lt;br /&gt;
   - version of software that was tested, as declared by the vendor or reseller(in case of customer testimonial), please not if patches have been applied&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
* Behnke: SIP 2.0, Firmware BT: 4, Build: 169 (up to and including the 2023 model year).&lt;br /&gt;
* innovaphone: Virtual Appliance, Build 125487&lt;br /&gt;
For Behnke stations manufactured from 2024 onwards, please refer to the following articles:&lt;br /&gt;
[https://behnke.support/?page=wiki&amp;amp;language=german&amp;amp;path=innovaphone-Cloud-Anlage] &lt;br /&gt;
[https://behnke.support/?page=wiki&amp;amp;language=englisch&amp;amp;path=innovaphone-Cloud-system]&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
===Configuration (German)===&lt;br /&gt;
&lt;br /&gt;
* Legen Sie zunächst einen User für die Sprechstelle in der innovaphone PBX an. Die im Screenshot markierten Werte werden später für die Registrierung der Sprechstelle benötigt.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_01.png]]&lt;br /&gt;
&lt;br /&gt;
* Öffnen Sie dann die Weboberfläche der Sprechstelle, melden Sie sich an, und wählen Sie auf der Startseite links den gelb markierten Punkt &amp;quot;&#039;&#039;&#039;Einfach-Konfiguration&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* In den Feldern unter &amp;quot;&#039;&#039;&#039;SIP Einstellungen&#039;&#039;&#039;&amp;quot; werden die Werte des innovaphone Users entsprechend dem Screenshot unten eingetragen.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_02_de.png]]&lt;br /&gt;
&lt;br /&gt;
* Unter &amp;quot;&#039;&#039;&#039;Direktwahltasten&#039;&#039;&#039;&amp;quot; kann den Tasten der Sprechstelle eine Rufnummer zugeordnet werden, welche dann bei Tastendruck angewählt wird. Klicken Sie anschließend unten rechts auf &amp;quot;&#039;&#039;&#039;Übernehmen&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Configuration (English)===&lt;br /&gt;
&lt;br /&gt;
* Please add a user for the SIP intercom in your innovaphone PBX. The marked values in the screenshot below are required for registering the intercom with your PBX.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_01.png]]&lt;br /&gt;
&lt;br /&gt;
* Access the web interface of your intercom. On the left-hand side of the Home screen click the yellow button &amp;quot;&#039;&#039;&#039;Easy-Config&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Fill in the values of the innovaphone user under &amp;quot;&#039;&#039;&#039;VoIP Account&#039;&#039;&#039;&amp;quot; according to the screenshot below.&lt;br /&gt;
[[Image:Howto_Behnke_on_innovaphone_PBX_02_en.png]]&lt;br /&gt;
&lt;br /&gt;
* Under &amp;quot;&#039;&#039;&#039;Direct-dial keys&#039;&#039;&#039;&amp;quot; you can assign a phone number to the button of the intercom. Then click &amp;quot;&#039;&#039;&#039;Apply&#039;&#039;&#039;&amp;quot; at the bottom of the screen.&lt;br /&gt;
&lt;br /&gt;
==Known Issue==&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX Firmware 14r2SR7.&amp;lt;br&amp;gt;&lt;br /&gt;
There is an issue with DTMF transfer and ICE negotiation. Connection is established but you can not transfer the DTMF signal.&lt;br /&gt;
If you have this issue, activate on the Behnke site the option &amp;quot;no ICE&amp;quot;. &lt;br /&gt;
For the PBX object you have to activate the options &amp;quot;Media Relay&amp;quot; and &amp;quot;No SRTP&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Contact Details==&lt;br /&gt;
&lt;br /&gt;
Telecom Behnke GmbH&lt;br /&gt;
&lt;br /&gt;
Gewerbepark &amp;quot;An der Autobahn&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Robert-Jungk-Straße 3&lt;br /&gt;
&lt;br /&gt;
66459 Kirkel&lt;br /&gt;
&lt;br /&gt;
Deutschland / Germany&lt;br /&gt;
&lt;br /&gt;
[http://www.behnke-online.de www.behnke-online.de]&lt;br /&gt;
&lt;br /&gt;
[mailto:info@behnke-online.de info@behnke-online.de]&lt;br /&gt;
&lt;br /&gt;
[http://www.behnke-online.de/service/technik-support Support]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Compat|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=MyApps_Cloud_-_Comparison_table&amp;diff=69937</id>
		<title>MyApps Cloud - Comparison table</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=MyApps_Cloud_-_Comparison_table&amp;diff=69937"/>
		<updated>2023-11-28T12:07:06Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:myApps_Cloud|Comparison|{{PAGENAME}}]]&lt;br /&gt;
&amp;lt;!-- blackout, 24x7, hotline, myApps cloud, datacenter, RZ, active-active, GEO-redundancy, metrocluster, mirror --&amp;gt;&lt;br /&gt;
{{HOWTOMOD13r3 Translation Info}} &lt;br /&gt;
__toc__&lt;br /&gt;
&lt;br /&gt;
=Applies To=&lt;br /&gt;
This information applies to the innovaphone myApps Cloud versions:&lt;br /&gt;
*PREMIUM&lt;br /&gt;
*STANDARD&lt;br /&gt;
&lt;br /&gt;
=Briefly the facts=&lt;br /&gt;
&lt;br /&gt;
*The main advantages of &#039;&#039;&#039;PREMIUM&#039;&#039;&#039; over STANDARD environment are:&lt;br /&gt;
**the &#039;&#039;&#039;fully automated GEOredundancy&#039;&#039;&#039; between two &#039;&#039;&#039;High-Available Data-Centers&#039;&#039;&#039;&lt;br /&gt;
*** STANDARD has HA in one Data-Center with manual GEOredundancy&lt;br /&gt;
**the &#039;&#039;&#039;5-day power blackout protection&#039;&#039;&#039; is fully available. &lt;br /&gt;
*** STANDARD has one-day power protection&lt;br /&gt;
**the &#039;&#039;&#039;24x7 cloud infrastructure hotline&#039;&#039;&#039; as a default option.&lt;br /&gt;
*** STANDARD has this optional&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;text-align:left; font-size:13px; font-family:Arial, Helvetica, sans-serif !important;;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; background-color:#c0c0c0;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot; | Cloud-PREMIUM&lt;br /&gt;
! style=&amp;quot;text-align:center;&amp;quot; | Cloud-STANDARD&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | Cloud&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &lt;br /&gt;
&#039;&#039;&#039;Contract partner:&#039;&#039;&#039; Partner or end customer&amp;lt;br&amp;gt;&lt;br /&gt;
* GEO redundancy at different locations &lt;br /&gt;
* HA server and HA &#039;&#039;&#039;DataCenter&#039;&#039;&#039; redundancy&lt;br /&gt;
** Both data centers active,&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;=&amp;gt; active-active operating mode&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
** Third data center for backup data&lt;br /&gt;
* &#039;&#039;&#039;Daily&#039;&#039;&#039; backup - instances &amp;amp; infrastructur &lt;br /&gt;
* Restart time for data center failure: in the range of &#039;&#039;&#039;seconds&#039;&#039;&#039;&lt;br /&gt;
* Blackout / Autonomy time: &#039;&#039;&#039;120h&#039;&#039;&#039;&lt;br /&gt;
* Storage availability: RAID + &#039;&#039;&#039;GEO-DataCenter-Mirror&#039;&#039;&#039; + Backup &lt;br /&gt;
* Minimum consumption: not defined iSC / month &lt;br /&gt;
* Infrastructure-Hotline-License &#039;&#039;&#039; &#039;&#039;inclusive&#039;&#039; 24x7 hotline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Cloud_Compare_PREM-DC.png|600px]]&lt;br /&gt;
| style=&amp;quot;vertical-align:top&amp;quot; | &lt;br /&gt;
&#039;&#039;&#039;Contract partner:&#039;&#039;&#039; Partner or end customer&amp;lt;br&amp;gt;&lt;br /&gt;
* GEO redundancy at different locations&lt;br /&gt;
* HA server redundancy&lt;br /&gt;
** One active data center&lt;br /&gt;
** A Standby data center&amp;lt;br&amp;gt;&#039;&#039;=&amp;gt; active-passive operating mode&#039;&#039;&lt;br /&gt;
** Third data center for backup data&lt;br /&gt;
* &#039;&#039;&#039;Weekly&#039;&#039;&#039; backup of instances - infrastructure daily &lt;br /&gt;
* Restart time for data center failure: in the range of &#039;&#039;&#039;hours&#039;&#039;&#039;&lt;br /&gt;
* Blackout / Autonomy time: &#039;&#039;&#039;24h&#039;&#039;&#039;&lt;br /&gt;
* Storage availability: RAID + Backup&lt;br /&gt;
* Minimum consumption: 500 iSC / month&lt;br /&gt;
* Infrastructure-Hotline-License &#039;&#039;&#039; &#039;&#039;for optional&#039;&#039; 24x7 hotline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:Cloud_Compare_STD-DC.png|600px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top;&amp;quot; rowspan=&amp;quot;2&amp;quot;| Phone-&amp;lt;br&amp;gt;Hotline 24x7&lt;br /&gt;
| style=&amp;quot;border-bottom:hidden;&amp;quot; | Inclusive&lt;br /&gt;
| style=&amp;quot;border-bottom:hidden;&amp;quot; | Optional&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-top:hidden;&amp;quot; colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
&#039;&#039;&#039;Provision of services by:&#039;&#039;&#039; innovaphone&amp;lt;br&amp;gt;&lt;br /&gt;
* Emergency infrastructure hotline service &lt;br /&gt;
**Exclusively for certified partners&lt;br /&gt;
**For cloud instances in operation and completely licensed by Infrastructure-Hotline-License&lt;br /&gt;
* Qualified ticket opening by email before calling&lt;br /&gt;
**Authorization through confidential identification markers&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=HA concept of both myApps Cloud variants in detail=&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;  cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;text-align:left; font-size:13px; font-family:Arial, Helvetica, sans-serif !important;;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; background-color:#c0c0c0;&amp;quot; &lt;br /&gt;
! &lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | PREMIUM&lt;br /&gt;
! style=&amp;quot;text-align: center;&amp;quot; | STANDARD&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:#f2f2f2;&amp;quot; |&lt;br /&gt;
*Both innovaphone myApps Cloud variants are currently based on a GEOredundant disaster recovery concept within Germany. &lt;br /&gt;
*Due to the different levels of technical complexity, different service availability requirements are covered in the event of a disaster.&lt;br /&gt;
|-&lt;br /&gt;
| - 1 - &lt;br /&gt;
&#039;&#039;&#039;Restart time for data center failure / Downtimes&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
*&#039;&#039;&#039;&amp;quot;Fully automated&amp;quot;&#039;&#039;&#039; failure detection and restart time for the Cloud-Services &lt;br /&gt;
*Failure symptoms in the range of &#039;&#039;&#039;&#039;&#039;seconds / a few minutes&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
*&#039;&#039;&#039;&amp;quot;Manual&amp;quot;&#039;&#039;&#039; failure detection and restore of the Cloud-Services &lt;br /&gt;
*Failure symptoms in the range of &#039;&#039;&#039;&#039;&#039;some hours&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| - 2 - &lt;br /&gt;
&#039;&#039;&#039;DataCenter Lokations&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
*&amp;quot;&#039;&#039;&#039;active - active&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
**Two active DCs in Germany or EU (currently in Germany)&lt;br /&gt;
***Location for Backup-Data is the innovaphone headquater in Sindelfingen (Germany)&lt;br /&gt;
| &lt;br /&gt;
*&amp;quot;&#039;&#039;&#039;active&#039;&#039;&#039; - cold standby&amp;quot;&lt;br /&gt;
**One active DC in Germany or EU (currently in Germany)&lt;br /&gt;
***One other passive DC has server resources ready in the event of a disaster&lt;br /&gt;
***Location for Backup-Data is the innovaphone headquater in Sindelfingen (Germany)&lt;br /&gt;
|-&lt;br /&gt;
| - 3 - &lt;br /&gt;
&#039;&#039;&#039;Desaster-Recovery-Concept&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;„stretched-VMware-HA-Cluster“&#039;&#039;&#039;&#039;&#039; actual based on a Metrocluster Storage&lt;br /&gt;
*This is made possible by redundant &amp;quot;two-way&amp;quot; Darkfiber connected data centers in two cities.&lt;br /&gt;
**The operating LAN and an iSCSI SAN run over this, which keeps the VMware datastores mirrored at both data centers. &lt;br /&gt;
*If the darkfirber connection between the two data centers is interrupted (no more storage mirror), but the ESX servers in each data center are still in operation, a third additional connection via a separate &amp;quot;heartbeat network&amp;quot; was made available to avoid a &amp;quot;split brain&amp;quot; of the VMware database (lack of quorum accessibility of ALL ESX servers). &lt;br /&gt;
**This is then used to decide in which data center location the mirroring of the iSCSI SAN was interrupted (e.g. due to a component defect).&lt;br /&gt;
**Datastore operation is thus continued &amp;quot; unique&amp;quot; on the undamaged mirror datastore in a data center (automatic HA boot of the VMs from the damaged data center). &lt;br /&gt;
**Once the mirror connection is re-established, vSphere DRS redistributes the VMs across both data center locations.&lt;br /&gt;
*The route-redundant Internet breakout is routed via HSRP technology and, if necessary, relocated from one city to the other within a few seconds.&lt;br /&gt;
*In addition, we move nightly backups/replicas to the company headquarters in Sindelfingen.&lt;br /&gt;
[[Image:Cloud_Compare_PREM-DC_detail.png|600px]]&lt;br /&gt;
| &lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;„simple VMware-HA-Cluster“&#039;&#039;&#039;&#039;&#039; with &#039;&#039;Backup-Instances&#039;&#039; in the innovaphone headquater &lt;br /&gt;
*The simple disaster recovery concept requires a backup/restore or replication process in addition to VMware vSphere and vCenter. &lt;br /&gt;
**vSphere Replication&amp;quot; and &amp;quot;Site Recovery Manager&amp;quot; are VMware terms.&lt;br /&gt;
**For our STANDARD cloud, we use the backup variant, which offers us a more diverse range of possible use cases.&lt;br /&gt;
***both via the cloud instances &lt;br /&gt;
***as well as for all services from our company headquarters in Sindelfingen.&lt;br /&gt;
*In the event of a disaster, operations are only restarted on the resources provided in the standby data center after recovery/restore from the company headquarters in Sindelfingen.&lt;br /&gt;
**This requires a new Internet breakout under a new IP address &lt;br /&gt;
|-&lt;br /&gt;
| - 4 - &lt;br /&gt;
&#039;&#039;&#039;Blackout / Autonomy time&#039;&#039;&#039;&lt;br /&gt;
| &lt;br /&gt;
*Infrastructural protection of the two remote data centers by the provider&lt;br /&gt;
**Redundancies for Internet connection, air conditioning systems, UPS and emergency power generators as well as resulting autonomy time in the event of a regional power failure&lt;br /&gt;
***&#039;&#039;&#039;5 days&#039;&#039;&#039;&lt;br /&gt;
*!! In the event of a power failure in only one DataCenter, operation automatically switches to disaster mode at the latest after the autonomy time has expired, and thus to the remaining DataCenter location !!&lt;br /&gt;
| &lt;br /&gt;
*Infrastructural protection of the data center by the provider&lt;br /&gt;
**Redundancies for Internet connection, air conditioning systems, UPS and emergency power generators as well as resulting autonomy time in the event of a regional power failure&lt;br /&gt;
***&#039;&#039;&#039;1 day&#039;&#039;&#039;&lt;br /&gt;
*!! In the event of a power failure in the active DataCender that lasts longer than 24 hours, the disaster case Restore to standby location must be triggered, which means several hours of operational interruption !!&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;background-color:#f2f2f2;&amp;quot; | &#039;&#039;&#039;Both cloud variants use secondary services from the company headquarter in Sindelfingen&#039;&#039;&#039; &lt;br /&gt;
*Central services out of Sindelfingen are:&lt;br /&gt;
**Customer care by sales &amp;amp; support teams (central call acceptance &amp;amp; Mantis)&lt;br /&gt;
**my.innovapone portal (license management)&lt;br /&gt;
**App store (firmware and myApps updates)&lt;br /&gt;
**Push &amp;amp; provisioning server (smartphone synchronization &amp;amp; rollout of IP devices)&lt;br /&gt;
**Data center for the backup data of the STANDARD and PREMIUM cloud&lt;br /&gt;
&lt;br /&gt;
*The Internet presence of our company headquarters required for this is protected against a regional power blackout via UPS.&lt;br /&gt;
**~6h battery power&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Platform&amp;diff=67426</id>
		<title>Reference13r3:Concept App Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Platform&amp;diff=67426"/>
		<updated>2023-05-08T13:53:11Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Delete data inside an instance */&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&amp;lt;ref name=&amp;quot;partition-size&amp;quot;&amp;gt;Maximum partition sizes are given. The real sizes are returned by the linux &#039;df -h&#039;-command. These real values will be lower, but can grow in the future with new releases.&amp;lt;/ref&amp;gt;:&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 App Platform (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 App Platform in a specific scenario, we see that in a real life environment an App Platform 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;
&amp;lt;references/&amp;gt;&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;
* Multiple CPUs are supported, default is one CPU&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;
* partitions&amp;lt;ref name=&amp;quot;partition-size&amp;quot;&amp;gt;Maximum partition sizes are given. The real sizes are returned by the linux &#039;df -h&#039;-command. These real values will be lower, but can grow in the future with new releases.&amp;lt;/ref&amp;gt;:&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;
* VMWare Tools: Open VM Tools are installed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&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 [[{{NAMESPACE}}:IP4/ETH/IP|ETH0]] or [[{{NAMESPACE}}: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 [[{{NAMESPACE}}:IP4/ETH/IP|ETH0]] or [[{{NAMESPACE}}: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={{NAMESPACE}}: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 [[{{NAMESPACE}}: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/14/auth-pg-hba-conf.html&lt;br /&gt;
&lt;br /&gt;
 Please note that you do this on your own responsibility, that it makes sense to create a backup of the original pg_hba.conf &lt;br /&gt;
 and that you may break your database server if you do not know exactly what you do!&lt;br /&gt;
&lt;br /&gt;
Sometimes the Apps are not proper working after this. You can wait a while until everything is working again or you go the hard way:&lt;br /&gt;
* stop the manager&lt;br /&gt;
** &amp;lt;code&amp;gt;/etc/init.d/S92manager stop&amp;lt;/code&amp;gt;&lt;br /&gt;
* restart the database-service (maybe not really necessary, but makes a good feeling)&lt;br /&gt;
**&amp;lt;code&amp;gt;/etc/init.d/S50postgresql restart&amp;lt;/code&amp;gt;&lt;br /&gt;
* start the manager&lt;br /&gt;
** &amp;lt;code&amp;gt;/etc/init.d/S92manager start&amp;lt;/code&amp;gt;&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;
The &#039;&#039;Database name&#039;&#039; and &#039;&#039;Database user&#039;&#039; are both limited to a length of 63 characters.  By default, the App Manager would create &#039;&#039;&amp;lt;domain&amp;gt;&#039;&#039;_&#039;&#039;&amp;lt;instance-name&amp;gt;&#039;&#039; as value for both.  This is why it is recommended to use instance names so that length(name) + length(domain) is less than 63 characters.  However, if this is not possible, you can manually shorten the suggested values (both must still be unique on your App Platform).&lt;br /&gt;
&lt;br /&gt;
=== Cleanup database ===&lt;br /&gt;
You can cleanup the instance database inside the instance settings. This starts the vacuumdb process for the instance database which frees disk space of deleted rows.&lt;br /&gt;
 Note that this process locks the database and that sufficient disk space is needed to complete it!&lt;br /&gt;
&lt;br /&gt;
=== External database host ===&lt;br /&gt;
You can optionally configure an external database host, if the database shall be hosted on an external host.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that the App Platform Manager still creates a local database, which is then not used as long as the external host is configured.&lt;br /&gt;
&lt;br /&gt;
What are external databases useful for?:&lt;br /&gt;
* User data is too large (files are stored as BLOB in the database)&lt;br /&gt;
* Other (non-innovaphone) database servers are to be used due to other regulations&lt;br /&gt;
* There is already an external database cluster with its own backup/restore processes which should be used&lt;br /&gt;
* More performance is required (please note that a local UNIX socket provides much faster results than a remote database server). Depending on the app and the task of the app, it can still be useful to use a separate server if it is faster.&lt;br /&gt;
&lt;br /&gt;
==== Supported database types ====&lt;br /&gt;
In principle, &#039;&#039;PostgreSQL&#039;&#039; and &#039;&#039;MySQL&#039;&#039; are supported. However, please note that the respective app must be designed for the target database server type. If an app has been developed for PostgreSQL, it cannot be operated on a MySQL server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note:&#039;&#039;&#039; All innovaphone apps are developed exclusively as PostgreSQL apps.&lt;br /&gt;
&lt;br /&gt;
MySQL therefore only makes sense if own apps are developed and MySQL or certain MySQL features are to be used. For such apps, it is very important to deactivate the automatic Application Platform APP-Backup.&lt;br /&gt;
The database backup process of the App Platform uses PostgreSQL backup commands, which is why the backup would fail, so the app must be excluded from the backup, and you must take care of the backup yourself.&lt;br /&gt;
&lt;br /&gt;
==== Database creation ====&lt;br /&gt;
If you use an external database, you have to create the database itself.&lt;br /&gt;
The App Platform Manager itself creates a PostgreSQL database like this (you may respect this on your database host to be compatible with the database implementation inside the Apps):&lt;br /&gt;
* CREATE DATABASE &amp;quot;dbname&amp;quot; ENCODING &#039;UTF8&#039;;&lt;br /&gt;
* CREATE USER &amp;quot;dbuser&amp;quot;;&lt;br /&gt;
* ALTER USER &amp;quot;dbuser&amp;quot; WITH PASSWORD &#039;dbpassword&#039;;&lt;br /&gt;
* GRANT ALL PRIVILEGES ON DATABASE &amp;quot;dbname&amp;quot; TO &amp;quot;dbuser&amp;quot;;&lt;br /&gt;
* ALTER DATABASE &amp;quot;dbname&amp;quot; OWNER TO &amp;quot;dbuser&amp;quot;;&lt;br /&gt;
* REVOKE CONNECT ON DATABASE &amp;quot;dbname&amp;quot; FROM public;&lt;br /&gt;
&lt;br /&gt;
==== Database connection ====&lt;br /&gt;
There are different possibilities to specify the host. You can use a DNS-Name, IPv4 or IPv6. A port can be optionally added with a colon.&lt;br /&gt;
&lt;br /&gt;
Our PostgreSQL implementation sets sslmode=prefer, so SSL is used by default if enabled on the server.&lt;br /&gt;
&lt;br /&gt;
==== Backup/Restore ====&lt;br /&gt;
External databases are still backuped as normal, but you can&#039;t restore such a database with the App Platform Manager on the external host! You must restore such a dump manually on your database host.&lt;br /&gt;
&lt;br /&gt;
==== Database redundancy ====&lt;br /&gt;
In principle, it is possible to create redundancies for failure scenarios through this function.&lt;br /&gt;
&lt;br /&gt;
However, there are different scenarios that need to be evaluated on a case-by-case basis:&lt;br /&gt;
&lt;br /&gt;
* One database, multiple App Platforms (primary online / secondary &#039;&#039;&#039;offline&#039;&#039;&#039;) where multiple apps access the same database.&lt;br /&gt;
** This mode of operation is legal as long as you can really ensure that only one App Platform is active at a time.&lt;br /&gt;
&lt;br /&gt;
* One database, multiple App Platforms (primary online / secondary &#039;&#039;&#039;online&#039;&#039;&#039;) with multiple apps accessing the same database.&lt;br /&gt;
** This operating mode cannot be used for innovaphone apps, as the app itself would have to be developed for such a mode, which it is not.&lt;br /&gt;
&lt;br /&gt;
However, we advise great caution here! The use of the same databases from different nodes may only be used if you can ensure that the databases or runtime environments of apps cannot get into a &#039;&#039;split-brain&#039;&#039; mode.&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 App Platform for one customer&lt;br /&gt;
* One App Platform for many customers&lt;br /&gt;
* Many App Platforms for one customer&lt;br /&gt;
* Many App Platforms for many customers&lt;br /&gt;
&lt;br /&gt;
Attention: The V13 installer can only configure the scenario &amp;quot;&#039;&#039;One App Platform 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 App Platforms.&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;
= App Platform replication =&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* 13r3 on both standby servers and the primary server&lt;br /&gt;
* at least an App Platform image starting with version 110002 (otherwise postgresql is too old)&lt;br /&gt;
* standby and primary servers must have the same system architecture&lt;br /&gt;
** arm gateways (IPx11) just with arm gateways (IPx11)&lt;br /&gt;
** arm64 gateways (IPx13) just with arm64 gateways (IPx13)&lt;br /&gt;
** x86_64 virtual machines just with x86_64 virtual machines&lt;br /&gt;
* the disk size on standby servers must be at least equal as the disk size on the primary server&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
The configuration is done within the App Platform Manager next to the settings button under &amp;quot;Replication&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Off ===&lt;br /&gt;
No replication is done at all.&lt;br /&gt;
&lt;br /&gt;
=== Primary ===&lt;br /&gt;
The App Platform acts as primary server for one or multiple standby servers.&amp;lt;br/&amp;gt;&lt;br /&gt;
Max 8 standby servers can be configured.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Every standby server must get a unique name on the primary server which is then also configured on the standby server itself. This is due to the fact, that the primary server preserves data for every standby server while it&#039;s not reachable.&amp;lt;br/&amp;gt;&lt;br /&gt;
A standby server name must be a valid domain name, although this name is currently not used as DNS name (but might be used in the future).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The password is randomly pregenerated and must be used as handed by the App Platform Manager.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL port ====&lt;br /&gt;
The default PostgreSQL port is 5432 and can&#039;t be changed on the primary. It must be reachable through your firewall or at least forwarded on a different port towards this App Platform on port 5432.&lt;br /&gt;
&lt;br /&gt;
=== Standby ===&lt;br /&gt;
Configure the password from the primary and one of the not yet used standby server names.&amp;lt;br/&amp;gt;&lt;br /&gt;
The host and port must be reachable through the network. You can specify a non default port which then must be forwarded somewhere else to port 5432 on your primary.&lt;br /&gt;
&lt;br /&gt;
*Note: Do &#039;&#039;&#039;not&#039;&#039;&#039; configure the same standby name on different standby servers, as this will break the replication on at least one standby!&amp;lt;br&amp;gt;&lt;br /&gt;
*Note: On a standby, all &#039;&#039;&#039;locally installed apps are removed&#039;&#039;&#039; during installation&lt;br /&gt;
&lt;br /&gt;
== Failure detection ==&lt;br /&gt;
&lt;br /&gt;
The replication state on both primary and standby servers are continuously monitored.&amp;lt;br/&amp;gt;&lt;br /&gt;
In case of a broken connection, an alarm is triggered at once and just cleared if the failure goes away.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If such an alarm lasts for 5 minutes an email is send. The recipient address must be configured in the App Platform Manager settings under &amp;quot;Alarms and Events&amp;quot; and you must also provide a valid SMTP configuration.&lt;br /&gt;
&lt;br /&gt;
== Failover ==&lt;br /&gt;
&lt;br /&gt;
There is no automatic failover procedure. If you detect the failure state, you must get active yourself.&lt;br /&gt;
&lt;br /&gt;
=== Standby down ===&lt;br /&gt;
&lt;br /&gt;
Fix the standby server and see if the replication comes up again. If not, setup a new standby server which will replicate the whole database cluster from scratch.&lt;br /&gt;
&lt;br /&gt;
=== Primary down ===&lt;br /&gt;
&lt;br /&gt;
If the primary is down and cannot be brought into life again, you must take the following steps, depending on your configuration:&lt;br /&gt;
&lt;br /&gt;
==== One standby server ====&lt;br /&gt;
&lt;br /&gt;
* Disable the replication in the replication configuration. You will then have a standalone App Platform afterwards.&lt;br /&gt;
&lt;br /&gt;
==== Multiple standby servers ====&lt;br /&gt;
&lt;br /&gt;
* Change the replication type on one of the standby servers from standby to primary. Please note that the other standby entries must still exist here (they are automatically offered)!&lt;br /&gt;
* Change the host entry on the other standby servers to the new standby server. The standby server will sync the whole database cluster again, which will take time.&lt;br /&gt;
&lt;br /&gt;
==== Configuration changes ====&lt;br /&gt;
&lt;br /&gt;
You must also tell the PBXes and other tools to use the new primary server.&lt;br /&gt;
&lt;br /&gt;
* You may simply change the IP address behind the DNS of your primary server to point to the new primary server.&lt;br /&gt;
* Without DNS, you must currently modify the configuration by replacing the IP address of the old primary with the new address. &lt;br /&gt;
** This must be done in every master PBX configuration.&lt;br /&gt;
** This must be done in every App configuration which may use this IP address, e.g. Devices which rolls out an alarm server configuration&lt;br /&gt;
&lt;br /&gt;
== Technical backgrounds ==&lt;br /&gt;
&lt;br /&gt;
=== Streaming replication ===&lt;br /&gt;
&lt;br /&gt;
We use the asynchronous [https://www.postgresql.org/docs/9.3/warm-standby.html#STREAMING-REPLICATION streaming replication of PostgreSQL]. A transaction thus just waits for a commit on the primary server. Standby servers will receive the transaction asynchronously afterwards to avoid a reduced writing performance.&amp;lt;br/&amp;gt;&lt;br /&gt;
A primary server keeps the neccessary WAL files for every standby server until the standby fetched the neccessary information.&amp;lt;br/&amp;gt;&lt;br /&gt;
This fact can lead to higher disk space usage on the primary if one or multiple standby servers are offline for a while.&lt;br /&gt;
&lt;br /&gt;
 Take care to fix broken replications as soon as possible to avoid a full disk on the primary server!&lt;br /&gt;
&lt;br /&gt;
=== What is replicated ===&lt;br /&gt;
The whole database cluster of an app platform is replicated. This includes every database of every instance and the database of the App Platform Manager itself.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== App Services on standbys ===&lt;br /&gt;
The database of the App Platform Manager itself also contains the App service binaries to be able to restore applications in a failover case.&amp;lt;br/&amp;gt;&lt;br /&gt;
You do not have to install App services on the standby if you install them on the primary.&amp;lt;br/&amp;gt;&lt;br /&gt;
App Platform Manager and Webserver can be updated as usual through the App Store or the Devices App if the standby is connected to Devices.&lt;br /&gt;
&lt;br /&gt;
=== App Platform Manager configuration of the standby server ===&lt;br /&gt;
The App Platform Manager configuration of the standby server cannot be stored inside the database, as the database is readonly. So it is stored inside a configuration JSON file under &#039;&#039;/home/root/standby.conf&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
This configuration is backed up as usual by a Devices backup job and can be also manually restored on a standby (not on a primary though!).&lt;br /&gt;
&lt;br /&gt;
=== No automatic failover ===&lt;br /&gt;
&lt;br /&gt;
There is currently no automatic failover mechanism. PostgreSQL doesn&#039;t offer multi master replication, so writing is just possible on the primary itself. Standby servers have a readonly database.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Let&#039;s consider the following use case if we would implement an automatic failover with the current technical possibilities:&amp;lt;br/&amp;gt;&lt;br /&gt;
* The primary server is connected to a master PBX.&lt;br /&gt;
* A slave PBX is also connected to the primary server in another location.&lt;br /&gt;
* A standby server is in this location and replicates from the primary.&lt;br /&gt;
* The internet connection between primary and standby fails.&lt;br /&gt;
* The standby promotes itself to primary, so that the master PBX now writes to the old primary and the slave PBX now writes to the &amp;quot;new&amp;quot; primary.&lt;br /&gt;
* The internet connection comes up again and both primary and standby servers now have databases which are out of sync and which cannot be merged.&lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
* port 5432 must be reachable on the App Platform &lt;br /&gt;
* For every standby a PostgreSQL user is created with the REPLICATION role on the primary. Just this user has access to the database server from non localhost connections.&lt;br /&gt;
* You cannot establish a standard connection with such a user and modify/read from tables.&lt;br /&gt;
* The replication connection is established over TLS by default.&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 App Platform 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 App Platform booted the ramdisk.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Try to fetch the upgrade log file:&lt;br /&gt;
https://[APP-PLATFROM-IP/DNS]/manager/ramdisk.log&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If this doesn&#039;t work, 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 App Platform should boot and run the already updated image.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre style=&amp;quot;color: red; font-size:150%;&amp;quot;&amp;gt;---WARNING---&lt;br /&gt;
 If the file doesn&#039;t contain &amp;quot;finished&amp;quot; at the end, you may still need to wait, as an upgrade may take some time!&lt;br /&gt;
 Do not reconfigure without being sure that the upgrade has finished, otherwise your system may won&#039;t run!&amp;lt;/pre&amp;gt;&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 App Platform 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 App Platform 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 App Platform now.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The App Platform 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;
== Webserver doesn&#039;t respond after an image update ==&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t reach the web UI after an image update, please try to connect with SSH as admin user and delete old coredumps, which may prevent the App Platform Manager from starting correctly:&lt;br /&gt;
* su root (become root)&lt;br /&gt;
* rm -f /mnt/sda2/log/core_dumps/*/*&lt;br /&gt;
* /etc/init.d/S92manager restart&lt;br /&gt;
&lt;br /&gt;
Check if you can now reach the App Platform 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;
You can add the interface in wireshark with the string:&lt;br /&gt;
 rpcap://&amp;lt;APP-Platform-IP&amp;gt;/eth0&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please don&#039;t forget to disable RPCAP after your testing!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= How-Tos =&lt;br /&gt;
&lt;br /&gt;
== How to retrieve files from the App Platform ==&lt;br /&gt;
To retrieve files from the App Platform which can not be retrieved via the App Platform manager UI, you can connect to the App Platform using the SCP protocol on port 22.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
First copy files to /home/admin as root with Putty or another SSH client:&lt;br /&gt;
* use the &#039;&#039;DNS&#039;&#039; name or IP address of your App Platform (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;su root&#039;&#039; to be root (&#039;&#039;iplinux&#039;&#039; as default password)&lt;br /&gt;
&amp;lt;br/&amp;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;
&amp;lt;br/&amp;gt;&lt;br /&gt;
You can create a tar archive with all logs like this:&lt;br /&gt;
* cd /home/admin&lt;br /&gt;
* tar -cf - /var/log/* | xz -z - &amp;gt; log.tar.xz&lt;br /&gt;
** you may want to exclude coredumps (due to their size):&lt;br /&gt;
** tar -cf - --exclude=/var/log/core_dumps/* /var/log/* | xz -z - &amp;gt; log.tar.xz&lt;br /&gt;
* chown admin:admin /home/admin/log.tar.xz&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Then copy the files to your local system, e.g. with WinSCP&amp;lt;br/&amp;gt;&lt;br /&gt;
* use &#039;&#039;SCP&#039;&#039; as protocol (NB: WebDAV is not supported on most of the directories on the App Platform )&lt;br /&gt;
* use the &#039;&#039;DNS&#039;&#039; name or IP address of your App Platform (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;
* copy the needed files&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 App Platform . 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;
* optimize disk usage of the database by cliking on the button &amp;quot;Clean up database&amp;quot; under Edit instance. If this does not help, continue with the following steps. &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 App Platform ===&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 [[{{NAMESPACE}}: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 App Platform 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 [[{{NAMESPACE}}: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;
 Do &#039;&#039;&#039;NOT&#039;&#039;&#039; resize if you&#039;re running an App Platform version higher than &#039;&#039;&#039;110000&#039;&#039;&#039; and lower than &#039;&#039;&#039;110027&#039;&#039;&#039; or your data will be lost!&lt;br /&gt;
 Please update your App Platform to version 110027 or higher before you start resizing your disk.&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 database 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;
 You can also start this process through the instance settings as long as the App Platform Manager is still running.&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 App Platform 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 App Platform .&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;
* [[{{NAMESPACE}}:Gateway/CDR|CDRx]]&lt;br /&gt;
* [[{{NAMESPACE}}:PBX/Config/General|IP address for App Platform]] &lt;br /&gt;
* [[{{NAMESPACE}}:PBX/Config/myApps|Reset Password Page]]&lt;br /&gt;
* [[{{NAMESPACE}}:PBX/Config/Authentication|Verification link]]&lt;br /&gt;
&lt;br /&gt;
Depending on your change you have to activate/deactivate the Setting [[{{NAMESPACE}}: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 App Platform .&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.  (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;
* Reboot your VM&lt;br /&gt;
[[Category:Concept]]&lt;br /&gt;
&lt;br /&gt;
== How to create a memory dump of a running process ==&lt;br /&gt;
&lt;br /&gt;
Sometimes it&#039;s usefull to have a memory dump of a running process to investigate certain issues.&lt;br /&gt;
&lt;br /&gt;
* login with SSH and become root&lt;br /&gt;
* find out the PID of the relevant process, e.g. with &#039;&#039;ps aux | grep /apps/manager/manager | grep -v grep&#039;&#039;&lt;br /&gt;
* gdb --pid PID -ex gcore --batch&lt;br /&gt;
* this creates a core file core.PID&lt;br /&gt;
* download this core file with WinSCP or similar tools&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Connecting_3rd-party_SIP_devices_(general_considerations)&amp;diff=66282</id>
		<title>Howto:MyApps Cloud - Connecting 3rd-party SIP devices (general considerations)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Connecting_3rd-party_SIP_devices_(general_considerations)&amp;diff=66282"/>
		<updated>2023-02-07T15:25:55Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__toc__&lt;br /&gt;
&lt;br /&gt;
=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* myApps Cloud v13&lt;br /&gt;
* General considerations on 3rd-party SIP devices&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disclaimer==&lt;br /&gt;
This article is presenting a summary of our experience, connecting 3rd-party devices to the myApps Cloud Platform. As innovaphone is not able to track all changes in functionality or firmware of 3rd-party SIP devices, this document is meant to be an orientation to our certified partners. In any case, we recommended to our partners to verify the functionality of a 3rd-party product. As such innovaphone is not liable for any malfunction of, or caused through a 3rd-party product, even if the respective product is listed in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements to 3-rd party SIP devices, when connecting to the myApps Cloud ==&lt;br /&gt;
&lt;br /&gt;
# By default, the myApps Cloud service relies on the &#039;&#039;&#039;ICE protocol&#039;&#039;&#039; (according [https://tools.ietf.org/html/rfc8445 RFC 8445]) to establish peer-to-peer media communication between connected 3rd-party SIP devices. Thus, the connecting SIP device has to support STUN, TURN and the ICE mechanism.&lt;br /&gt;
#* In case ICE and TURN are not supported by the SIP device, the absolute minimum requirement is &#039;&#039;&#039;STUN support&#039;&#039;&#039; (in such case, the respective PBX User Object has to enable Media-Relay). In this scenario the media stream is always routed through the PBX (instead of peer-to-peer routing, when using the default ICE mechanism as described above).&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# The innovaphone PBX uses the standardized &#039;&#039;&#039;SIP Digest Access Authentication&#039;&#039;&#039; (according [https://tools.ietf.org/html/rfc3261 RFC 3261] &amp;quot;The Digest Authentication Scheme&amp;quot;) to verify the credentials of any connected 3rd-party SIP device.&lt;br /&gt;
#* If the selected 3rd-party device does not support this protocol, the Digest Authentication Reply Check can be disabled on the customer PBX, for all incoming SIP connections, with the following commands:&lt;br /&gt;
#** At the advanced PBX user interface &amp;gt; Maintenance &amp;gt; Diagnostics &amp;gt; Command&lt;br /&gt;
#** &amp;lt;code&amp;gt;!config add TSIP /disable-digest-replay-check &amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;!config add SIPS /disable-digest-replay-check &amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;!config write&amp;lt;/code&amp;gt;&lt;br /&gt;
#** &amp;lt;code&amp;gt;!config activate&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# Further the following features should be supported by the device&lt;br /&gt;
#* DTMF (according [https://tools.ietf.org/html/rfc2833 RFC 2833] &amp;quot;RTP payload for DTMF&amp;quot;)&lt;br /&gt;
#* Hold/Retrieve (according [https://tools.ietf.org/html/rfc3264 RFC 3264] &amp;quot;Offer/Answer Model for SDP&amp;quot;)&lt;br /&gt;
#* Transfer (according [https://tools.ietf.org/html/rfc3515 RFC 3515] &amp;quot;REFER Method&amp;quot;, [https://tools.ietf.org/html/rfc3891 RFC 3891] &amp;quot;Replaces Header)&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
# To ensure secure data connections, the myApps Cloud relies by default &#039;&#039;&#039;TLS&#039;&#039;&#039; encryption (e.g. SIPS or SIP/TLS). Thus, we recommend to select a 3rd-party SIP device supporting TLS. For this reason, the myApps Cloud platform already includes the root certificates of the following 3-rd party manufacturers:&lt;br /&gt;
#* Yealink &amp;lt;br /&amp;gt;(this list will be extended, step-by-step)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Some more hints for evaluating 3rd party devices can be found in the &#039;&#039;Things to consider&#039;&#039; section of [[Howto:Guidelines_for_Testing_3rd_Party_SIP_Terminal_Devices#Things_to_consider | Howto:Guidelines for Testing 3rd Party SIP Terminal Devices]].&lt;br /&gt;
&lt;br /&gt;
==Howto articles, for selected 3-rd party SIP devices==&lt;br /&gt;
&lt;br /&gt;
For the following 3-rd party devices, a specific description is available, describing details of the respective configuration:&lt;br /&gt;
* [https://wiki.innovaphone.com/index.php?title=Howto:Yealink_IP_phones_-_Yealink_-_3rd_Party_Product Howto:Yealink_IP_phones_-_Yealink_-_3rd_Party_Product]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Workaround: 3-rd party SIP devices without STUN support ==&lt;br /&gt;
If a 3rd-party SIP device (e.g. doorphone) does not meet the above defined minimum requirements, an additional local gateway (edge component) on the customers premises is needed, to connect the device to the myApps Cloud platform.&lt;br /&gt;
&lt;br /&gt;
[[Image:3rd-party-SIP-device.png]]&lt;br /&gt;
&lt;br /&gt;
[[Category:myApps_Cloud|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55561</id>
		<title>Howto:MyApps Cloud - Configuration of the Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55561"/>
		<updated>2020-03-06T16:43:57Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* More Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone Operator V9&lt;br /&gt;
* myApps Cloud &lt;br /&gt;
&lt;br /&gt;
The article&#039;s intent is to serve as the Operator 9 information center. The addressed audience is administrators, partners, resellers.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
*at least Windows 7 (and higher) - Windows Vista &amp;amp; Windows XP &#039;&#039;&#039;may&#039;&#039;&#039; work&lt;br /&gt;
*Windows Terminal Server&lt;br /&gt;
*1.5 GHz CPU (32-bit, or 64-bit), Dual-Core is recommended&lt;br /&gt;
*2 GB of RAM&lt;br /&gt;
*DirectX 9 capable graphics adapter&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
The innovaphone Operator 9 succeeds the innovaphone Operator 8.&amp;lt;br/&amp;gt;&lt;br /&gt;
All information are the same as already described under [[http://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator_Version_9]].&amp;lt;br/&amp;gt;&lt;br /&gt;
For the configuration, the following 2 particularities should be considered:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the configuration of the operator under General/IP Address, you need to enter the DNS of the PBX instead of the IP of the PBX.&lt;br /&gt;
* Create a PBX user object with &amp;quot;Groups/Call Forwards only&amp;quot; rights and set a password under PBX/Objects/User. This user (with his password set before) is required for the HTTP authentication (Red area on the screenshot)&lt;br /&gt;
[[Image:Operator 1 1 1.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Operator_1_1_1.jpg&amp;diff=55560</id>
		<title>File:Operator 1 1 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Operator_1_1_1.jpg&amp;diff=55560"/>
		<updated>2020-03-06T16:35:14Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55559</id>
		<title>Howto:MyApps Cloud - Configuration of the Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55559"/>
		<updated>2020-03-06T16:34:44Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* More Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone Operator V9&lt;br /&gt;
* myApps Cloud &lt;br /&gt;
&lt;br /&gt;
The article&#039;s intent is to serve as the Operator 9 information center. The addressed audience is administrators, partners, resellers.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
*at least Windows 7 (and higher) - Windows Vista &amp;amp; Windows XP &#039;&#039;&#039;may&#039;&#039;&#039; work&lt;br /&gt;
*Windows Terminal Server&lt;br /&gt;
*1.5 GHz CPU (32-bit, or 64-bit), Dual-Core is recommended&lt;br /&gt;
*2 GB of RAM&lt;br /&gt;
*DirectX 9 capable graphics adapter&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
The innovaphone Operator 9 succeeds the innovaphone Operator 8.&amp;lt;br/&amp;gt;&lt;br /&gt;
All information are the same as already described under [[http://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator_Version_9]].&amp;lt;br/&amp;gt;&lt;br /&gt;
For the configuration, the following 2 particularities should be considered:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the configuration of the operator under General/IP Address, you need to enter the DNS of the PBX instead of the IP of the PBX.&lt;br /&gt;
* Create a PBX user object with &amp;quot;Groups/Call Forwards only&amp;quot; rights and set a password under PBX/Objects/User. This user is required for the HTTP authentication (Red area on the screenshot)&lt;br /&gt;
[[Image:Operator 1 1 1.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55495</id>
		<title>Howto:MyApps Cloud - Configuration of the Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55495"/>
		<updated>2020-03-02T17:30:18Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone Operator V9&lt;br /&gt;
* myApps Cloud &lt;br /&gt;
&lt;br /&gt;
The article&#039;s intent is to serve as the Operator 9 information center. The addressed audience is administrators, partners, resellers.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
*at least Windows 7 (and higher) - Windows Vista &amp;amp; Windows XP &#039;&#039;&#039;may&#039;&#039;&#039; work&lt;br /&gt;
*Windows Terminal Server&lt;br /&gt;
*1.5 GHz CPU (32-bit, or 64-bit), Dual-Core is recommended&lt;br /&gt;
*2 GB of RAM&lt;br /&gt;
*DirectX 9 capable graphics adapter&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
The innovaphone Operator 9 succeeds the innovaphone Operator 8.&amp;lt;br/&amp;gt;&lt;br /&gt;
All information are the same as already described under [[http://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator_Version_9]].&amp;lt;br/&amp;gt;&lt;br /&gt;
For the configuration, the following 2 particularities should be considered:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the configuration of the operator under General/IP Address, you need to enter the DNS of the PBX  instead of the IP of the PBX.&lt;br /&gt;
* Create a new user with administrator rights under Configuration/General/Admin. This user is required for the HTTP authentication (Red area on the screenshot)&lt;br /&gt;
[[Image:Operator 1 1.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Operator_1_1.jpg&amp;diff=55494</id>
		<title>File:Operator 1 1.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Operator_1_1.jpg&amp;diff=55494"/>
		<updated>2020-03-02T17:26:28Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55492</id>
		<title>Howto:MyApps Cloud - Configuration of the Operator</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_the_Operator&amp;diff=55492"/>
		<updated>2020-03-02T17:24:46Z</updated>

		<summary type="html">&lt;p&gt;Gnd: New page: =Applies To= This information applies to * innovaphone Operator V9 * myApps Cloud   The article&amp;#039;s intent is to serve as the Operator 9 information center. The addressed audience is adminis...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Applies To=&lt;br /&gt;
This information applies to&lt;br /&gt;
* innovaphone Operator V9&lt;br /&gt;
* myApps Cloud &lt;br /&gt;
&lt;br /&gt;
The article&#039;s intent is to serve as the Operator 9 information center. The addressed audience is administrators, partners, resellers.&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
*at least Windows 7 (and higher) - Windows Vista &amp;amp; Windows XP &#039;&#039;&#039;may&#039;&#039;&#039; work&lt;br /&gt;
*Windows Terminal Server&lt;br /&gt;
*1.5 GHz CPU (32-bit, or 64-bit), Dual-Core is recommended&lt;br /&gt;
*2 GB of RAM&lt;br /&gt;
*DirectX 9 capable graphics adapter&lt;br /&gt;
&lt;br /&gt;
=More Information=&lt;br /&gt;
The innovaphone Operator 9 succeeds the innovaphone Operator 8.&amp;lt;br/&amp;gt;&lt;br /&gt;
All information are the same as already described under [[http://wiki.innovaphone.com/index.php?title=Reference9:Concept_Operator_Version_9]].&amp;lt;br/&amp;gt;&lt;br /&gt;
For the configuration, the following 2 particularities should be considered:&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* In the configuration of the operator under General/IP Address, you need to enter the DNS of the PBX  instead of the IP of the PBX.&lt;br /&gt;
* Create a new user with administrator rights under Configuration/General/Admin. This user is required for the HTTP authentication (Red area on the screenshot)&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54970</id>
		<title>Howto:MyApps Cloud - Configuration of a Standby from the master PBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54970"/>
		<updated>2020-02-05T16:18:05Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* v13&lt;br /&gt;
* The local Standby PBX is connecting to the Master PBX in the Cloud.&lt;br /&gt;
&lt;br /&gt;
== How to configure a Standby from the master PBX on the Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured ===&lt;br /&gt;
*PBX Mode&lt;br /&gt;
Standby&lt;br /&gt;
&lt;br /&gt;
*System Name&lt;br /&gt;
This stands for the Domaine Name of the Customer. Example: customerdomain.com&lt;br /&gt;
&lt;br /&gt;
*PBX Name&lt;br /&gt;
This muss be the same name configured in the master. In this case &amp;quot;master&amp;quot; is the correct one.&lt;br /&gt;
&lt;br /&gt;
*Registration to the Master&lt;br /&gt;
Should be with encryption (H.323/TLS)&lt;br /&gt;
&lt;br /&gt;
*Master&lt;br /&gt;
IP Address of the Master PBX: Use the Public one&lt;br /&gt;
&lt;br /&gt;
* Replicate from Master using TLS&lt;br /&gt;
&lt;br /&gt;
[[Image:Master-Standby.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Standby_Registration.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54969</id>
		<title>Howto:MyApps Cloud - Configuration of a Standby from the master PBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54969"/>
		<updated>2020-02-05T16:13:43Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Applies To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* v13&lt;br /&gt;
* The local Standby PBX is connecting to the Master PBX in the Cloud.&lt;br /&gt;
&lt;br /&gt;
== How to configure a Standby from the master PBX on the Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured ===&lt;br /&gt;
*PBX Mode&lt;br /&gt;
Standby&lt;br /&gt;
&lt;br /&gt;
*System Name&lt;br /&gt;
This stands for the Domaine Name of the Customer. Example: customerdomain.com&lt;br /&gt;
&lt;br /&gt;
*PBX Name&lt;br /&gt;
This muss be the same name configured in the master. In this case &amp;quot;master&amp;quot; is the correct one.&lt;br /&gt;
&lt;br /&gt;
*Registration to the Master&lt;br /&gt;
Should be with encryption (H.323/TLS)&lt;br /&gt;
&lt;br /&gt;
*Master&lt;br /&gt;
IP Address of the Master PBX: Use the Public one, the 151.80.245.242&lt;br /&gt;
&lt;br /&gt;
* Replicate from Master using TLS&lt;br /&gt;
&lt;br /&gt;
[[Image:Master-Standby.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Standby_Registration.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54967</id>
		<title>Howto:MyApps Cloud - Configuration of a Standby from the master PBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54967"/>
		<updated>2020-02-05T14:12:26Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* v13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to configure a Standby from the master PBX on the Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured ===&lt;br /&gt;
*PBX Mode&lt;br /&gt;
Standby&lt;br /&gt;
&lt;br /&gt;
*System Name&lt;br /&gt;
This stands for the Domaine Name of the Customer. Example: customerdomain.com&lt;br /&gt;
&lt;br /&gt;
*PBX Name&lt;br /&gt;
This muss be the same name configured in the master. In this case &amp;quot;master&amp;quot; is the correct one.&lt;br /&gt;
&lt;br /&gt;
*Registration to the Master&lt;br /&gt;
Should be with encryption (H.323/TLS)&lt;br /&gt;
&lt;br /&gt;
*Master&lt;br /&gt;
IP Address of the Master PBX: Use the Public one, the 151.80.245.242&lt;br /&gt;
&lt;br /&gt;
* Replicate from Master using TLS&lt;br /&gt;
&lt;br /&gt;
[[Image:Master-Standby.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Standby_Registration.jpg]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Standby_Registration.jpg&amp;diff=54966</id>
		<title>File:Standby Registration.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Standby_Registration.jpg&amp;diff=54966"/>
		<updated>2020-02-05T14:10:19Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Master-Standby.jpg&amp;diff=54965</id>
		<title>File:Master-Standby.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Master-Standby.jpg&amp;diff=54965"/>
		<updated>2020-02-05T14:09:54Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Standby_Config.jpg&amp;diff=54815</id>
		<title>File:Standby Config.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Standby_Config.jpg&amp;diff=54815"/>
		<updated>2020-01-22T13:59:59Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:Master_Config.jpg&amp;diff=54814</id>
		<title>File:Master Config.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:Master_Config.jpg&amp;diff=54814"/>
		<updated>2020-01-22T13:58:52Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54813</id>
		<title>Howto:MyApps Cloud - Configuration of a Standby from the master PBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyApps_Cloud_-_Configuration_of_a_Standby_from_the_master_PBX&amp;diff=54813"/>
		<updated>2020-01-22T13:57:31Z</updated>

		<summary type="html">&lt;p&gt;Gnd: New page: ==Applies To== This information applies to  * v13    == How to configure a Standby from the master PBX on the Cloud ==  === The following configuration is important to have a Standby PBX (...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* v13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== How to configure a Standby from the master PBX on the Cloud ==&lt;br /&gt;
&lt;br /&gt;
=== The following configuration is important to have a Standby PBX (from the Master PBX in the Cloud) configured ===&lt;br /&gt;
*PBX Mode&lt;br /&gt;
Standby&lt;br /&gt;
&lt;br /&gt;
*System Name&lt;br /&gt;
This stands for the Domaine Name of the Customer. Example: customerdomain.com&lt;br /&gt;
&lt;br /&gt;
*PBX Name&lt;br /&gt;
This muss be the same name configured in the master. In this case &amp;quot;master&amp;quot; is the correct one.&lt;br /&gt;
&lt;br /&gt;
*Registration to the Master&lt;br /&gt;
Should be with encryption (H.323/TLS)&lt;br /&gt;
&lt;br /&gt;
*Master&lt;br /&gt;
IP Address of the Master PBX: Use the Public one, the 151.80.245.242&lt;br /&gt;
&lt;br /&gt;
* Replicate from Master using TLS&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:3_EMAIL_ACCOUNT.jpg&amp;diff=54805</id>
		<title>File:3 EMAIL ACCOUNT.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:3_EMAIL_ACCOUNT.jpg&amp;diff=54805"/>
		<updated>2020-01-21T14:54:43Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:2_EDIT_EMAIL_ACCOUNT.jpg&amp;diff=54804</id>
		<title>File:2 EDIT EMAIL ACCOUNT.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:2_EDIT_EMAIL_ACCOUNT.jpg&amp;diff=54804"/>
		<updated>2020-01-21T14:54:04Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:1_PBXMG_EMAIL.jpg&amp;diff=54802</id>
		<title>File:1 PBXMG EMAIL.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:1_PBXMG_EMAIL.jpg&amp;diff=54802"/>
		<updated>2020-01-21T14:53:00Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:PBX_is_set_up.png&amp;diff=54751</id>
		<title>File:PBX is set up.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:PBX_is_set_up.png&amp;diff=54751"/>
		<updated>2020-01-13T17:21:07Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:PBX_Options.png&amp;diff=54750</id>
		<title>File:PBX Options.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:PBX_Options.png&amp;diff=54750"/>
		<updated>2020-01-13T17:12:54Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:1_Network_settings-Install_-_Kopie.png&amp;diff=54745</id>
		<title>File:1 Network settings-Install - Kopie.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:1_Network_settings-Install_-_Kopie.png&amp;diff=54745"/>
		<updated>2020-01-13T14:26:14Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:7_After_sucessfull_login_into_myApps.png&amp;diff=54719</id>
		<title>File:7 After sucessfull login into myApps.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:7_After_sucessfull_login_into_myApps.png&amp;diff=54719"/>
		<updated>2020-01-13T11:17:40Z</updated>

		<summary type="html">&lt;p&gt;Gnd: After_sucessfull_login_into_myApps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;After_sucessfull_login_into_myApps&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:6_Trust_certificates-Install.png&amp;diff=54718</id>
		<title>File:6 Trust certificates-Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:6_Trust_certificates-Install.png&amp;diff=54718"/>
		<updated>2020-01-13T11:17:23Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Trust_certificates-Install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trust_certificates-Install&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:5_Email_Account_configuration_-Install.png&amp;diff=54717</id>
		<title>File:5 Email Account configuration -Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:5_Email_Account_configuration_-Install.png&amp;diff=54717"/>
		<updated>2020-01-13T11:16:58Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Email_Account_configuration_-Install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Email_Account_configuration_-Install&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:4_Emergency_Administration_passwords_-Install.png&amp;diff=54716</id>
		<title>File:4 Emergency Administration passwords -Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:4_Emergency_Administration_passwords_-Install.png&amp;diff=54716"/>
		<updated>2020-01-13T11:16:33Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Emergency_Administration_passwords&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Emergency_Administration_passwords&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:3_App_Platform-Install.png&amp;diff=54715</id>
		<title>File:3 App Platform-Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:3_App_Platform-Install.png&amp;diff=54715"/>
		<updated>2020-01-13T11:16:10Z</updated>

		<summary type="html">&lt;p&gt;Gnd: App_Platform-Install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;App_Platform-Install&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:2_Login_to_Devices-Install.png&amp;diff=54714</id>
		<title>File:2 Login to Devices-Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:2_Login_to_Devices-Install.png&amp;diff=54714"/>
		<updated>2020-01-13T11:15:49Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Login_to_Devices-Install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Login_to_Devices-Install&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:1_Network_settings-Install.png&amp;diff=54713</id>
		<title>File:1 Network settings-Install.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:1_Network_settings-Install.png&amp;diff=54713"/>
		<updated>2020-01-13T11:15:05Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Network_settings-Install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Network_settings-Install&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_App_Platform&amp;diff=52836</id>
		<title>Reference13r1:Concept App Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:Concept_App_Platform&amp;diff=52836"/>
		<updated>2019-07-22T09:07:09Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &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;
* Virtual (x86_64): HyperV or VMWare&lt;br /&gt;
&lt;br /&gt;
== Default credentials ==&lt;br /&gt;
&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; (root login is not directly possible over SSH)&lt;br /&gt;
* web login &#039;&#039;&#039;pwd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= App Platform - arm (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;
= App Platform - x86-64 (Virtual Machine) =&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;
==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 connectionfrom 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;
== 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;
== 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 in the file &#039;&#039;/mnt/sda2/pgsql/pg_hba.conf&#039;&#039;. (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;
== 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.&lt;br /&gt;
Instances can optionally host (web) apps that can be opened in the myApps client.&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;
* [[Howto:V13_Install_many_APs_for_many_customers|Many APs for one customer]]&lt;br /&gt;
* [[Howto:V13_Install_one_AP_for_many_customers|One AP for many customers]]&lt;br /&gt;
* [[Howto:V13_Install_many_APs_for_one_customer|Many APs for many customers]]&lt;br /&gt;
&lt;br /&gt;
Attention: At the moment, 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;
=== Restrictions ===&lt;br /&gt;
Currently we don&#039;t have redundancy for app instances or APs.&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;
= How-Tos =&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;
* call &#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;
== Change IP Addresses / DNS Names ==&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 on various places.&lt;br /&gt;
&lt;br /&gt;
;App Platform&lt;br /&gt;
* &#039;&#039;App platform DNS name&#039;&#039; in the App &#039;&#039;Apps&#039;&#039; under Settings::General&lt;br /&gt;
* &#039;&#039;Hostname&#039;&#039; of the &#039;&#039;App Platform&#039;&#039; in the PBX Manager if possible.&lt;br /&gt;
* &#039;&#039;Domain&#039;&#039;, &#039;&#039;Webserver path&#039;&#039; in all App instances (&amp;quot;Name_of_the_App&amp;quot; - Edit instance)&lt;br /&gt;
* &#039;&#039;Devices Registration URL&#039;&#039; in all innovaphone devices and in the App &#039;&#039;Apps&#039;&#039; under Settings::General&lt;br /&gt;
* Open the Devices App and change the corresponding domain name (if necessary) and go through all device configurations which have URLs configured (e.g. Alarm server)&lt;br /&gt;
&lt;br /&gt;
;PBX&lt;br /&gt;
You can download the configuration and &#039;&#039;search/replace&#039;&#039; in the config file. Upload the config file and reboot.&lt;br /&gt;
* &#039;&#039;URL&#039;&#039; in all PBX Object (Apps, Voicemail ...)&lt;br /&gt;
* &#039;&#039;Domain Access Right&#039;&#039; in the PBX Object List&lt;br /&gt;
* &#039;&#039;Reverse Lookup URL&#039;&#039; in PBX::Config::General &lt;br /&gt;
* &#039;&#039;Verification link&#039;&#039; in PBX::Config::Authentication&lt;br /&gt;
* &#039;&#039;Reset Password Page&#039;&#039; in PBX::Config::myApps&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=52090</id>
		<title>Reference10:Concept Reporting</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Reporting&amp;diff=52090"/>
		<updated>2019-05-14T08:37:37Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Ldap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements==&lt;br /&gt;
&lt;br /&gt;
It is needed to have the [[Reference10:Concept_Linux_Application_Platform|application platform]] installed and running.&lt;br /&gt;
&lt;br /&gt;
===Calculation of required disk space===&lt;br /&gt;
&lt;br /&gt;
An average CDR requires 2080 bytes of disk space inside the database.&amp;lt;br&amp;gt;&lt;br /&gt;
So &#039;&#039;&#039;one GB&#039;&#039;&#039; disk space is needed for ~&#039;&#039;&#039;516222 CDRs&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
One call may have one or multiple CDRs depending on the call flow, the used PBX objects and their configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
It is strongly recommended that you try to precalculate your required disk space and configure a suiting value under [[#Configure_scheduled_CDR_cleanup]].&amp;lt;br&amp;gt;&lt;br /&gt;
If you will run out of space, and then try to delete old CDR&#039;s no diskspace will free up immediately because Postgres already occupy the space and will reuse it for new data. Use scheduled Cleanup to prevent this behaviour.&amp;lt;br /&amp;gt;&lt;br /&gt;
Don&#039;t forget to configure the alarm server under [[Reference10:Concept_Linux_Application_Platform#Alarm_Server]] to receive an alarm if the disk is nearly full (10% disk space remaining).&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest version of innovaphone reporting.&lt;br /&gt;
&lt;br /&gt;
Log into the application platform, go to the Applications tag, click on [[ Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|Upload/Update]] and upload the downloaded file. &lt;br /&gt;
The installation will start automatically and the page will refresh every two seconds showing the installation process. &lt;br /&gt;
If there is no error during the installation you will see at the end &amp;quot;Installation was succesfull&amp;quot;. Otherwise,&lt;br /&gt;
you will get &amp;quot;installation failed&amp;quot; and the reason why it went wrong.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Hotfix===&lt;br /&gt;
If you have already installed the latest version of Reporting, simply download the Reporting...HotfixIncremental for your platform (VM or IPxx10) or if you have missed some hotfixes, download the Reporting...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference10:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
===Device===&lt;br /&gt;
&lt;br /&gt;
====License====&lt;br /&gt;
It is required to have a Reporting license installed on your device. Check under [[ Reference10:General/License ]] if you already have one.&lt;br /&gt;
&lt;br /&gt;
 Set the Reporting flag for each PBX object, which should be reported on the objects properties page.&lt;br /&gt;
&lt;br /&gt;
====CDR Gateway====&lt;br /&gt;
Any innovaphone device which sends [[Reference10:Concept_Call_Detail_Record_CDR_PBX|CDRs]] to the reporting application must have at least one CDR interface configured under [[ Reference10:Gateway/CDR ]]:&lt;br /&gt;
&lt;br /&gt;
* Type: LOCAL-AP or REMOTE-AP/REMOTE-AP-S&lt;br /&gt;
&lt;br /&gt;
If HTTP/HTTPS is selected then some other parameters must be set:&lt;br /&gt;
&lt;br /&gt;
* Address: ip address of the application platform&lt;br /&gt;
* Port: 80 for REMOTE-AP&lt;br /&gt;
* Port: 443 for REMOTE-AP-S&lt;br /&gt;
* Method: POST/GET&lt;br /&gt;
* Path: ap/cdr.fcgi&lt;br /&gt;
&lt;br /&gt;
The application platform is by default password protected, so you&#039;ll have to perform one of these steps: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* configure an authenticated URL for &#039;&#039;&#039;ap/cdr.fcgi&#039;&#039;&#039; under [[ Reference10:Services/HTTP/Client ]] (recommended)&lt;br /&gt;
** If you configure an authenticated URL (with the linux webserver credentials), don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
* configure &#039;&#039;&#039;ap/cdr.fcgi&#039;&#039;&#039; as public web path on the innovaphone application platform [[ Reference10:Concept_Linux_Application_Platform#Change_web_server_properties_and_public_access_to_the_web.2Fwebdav|Public Web Paths ]]&lt;br /&gt;
&lt;br /&gt;
 Configure a second CDR interface, if you use [[#Replication|Replication]].&lt;br /&gt;
&lt;br /&gt;
====Enable PBX CDRs====&lt;br /&gt;
Enable the &amp;quot;Generate CDRs&amp;quot; flag under [[ Reference10:PBX/Config/General ]].&lt;br /&gt;
&lt;br /&gt;
===innovaphone Application Platform===&lt;br /&gt;
&lt;br /&gt;
If the reporting URL/user/password is not configured in your device as authenticated URL, configure &#039;&#039;&#039;ap/cdr.fcgi&#039;&#039;&#039; as public web path on the innovaphone application platform [[ Reference10:Concept_Linux_Application_Platform#Change_web_server_properties_and_public_access_to_the_web.2Fwebdav|Public Web Paths ]].&lt;br /&gt;
&lt;br /&gt;
===Database===&lt;br /&gt;
&lt;br /&gt;
Reporting creates the innovaphone-reporting database to store CDRs sent from any innovaphone devices (appendix 7.6 explains the database structure). &lt;br /&gt;
PostgreSQL is also available for other applications and any of them could create its own database. &lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
&lt;br /&gt;
Reporting creates the database user &#039;&#039;&#039;innovaphone-reporting&#039;&#039;&#039; with default password &#039;&#039;&#039;reporting&#039;&#039;&#039;. &lt;br /&gt;
This password may be changed at the innovaphone Reporting page under Config/Database.&lt;br /&gt;
&lt;br /&gt;
====Remote Access====&lt;br /&gt;
&lt;br /&gt;
There are tools (PgAdmin III) that allow to connect to application databases remotely. &lt;br /&gt;
It is first needed to configure the IP you are connecting from under Config/Database at the innovaphone reporting page.&lt;br /&gt;
&lt;br /&gt;
For the PgAdmin III it is imporant to use innovaphone-reporting as Service-DB (Wartungs-DB). Default login credentials - User: innovaphone-reporting - Password: reporting&lt;br /&gt;
&lt;br /&gt;
====Delete CDRs====&lt;br /&gt;
&lt;br /&gt;
You can delete CDRs for certain/all users in a certain timespan. If you enter &#039;&#039;&#039;%&#039;&#039;&#039; as object, all users are selected.&lt;br /&gt;
&lt;br /&gt;
 Note that PostgreSQL doesn&#039;t free the space on the disk! If you need free disk space, issue this command on the shell:&lt;br /&gt;
 &#039;&#039;sudo -u postgres vacuumdb -f innovaphone-reporting&#039;&#039;&lt;br /&gt;
 This may take some time and CDRs won&#039;t be received during this time.&lt;br /&gt;
&lt;br /&gt;
====Configure scheduled CDR cleanup====&lt;br /&gt;
&lt;br /&gt;
If you activate scheduled cleanup, CDRs older than the configured amount of months will be automatically deleted.&amp;lt;br&amp;gt;&lt;br /&gt;
The scheduled task is started once a day at 2 AM.&lt;br /&gt;
&lt;br /&gt;
===PBX===&lt;br /&gt;
&lt;br /&gt;
If you use multiple PBX devices which are not Master/Slave, you have to select, which identifier is unique for a user under Config/PBX:&lt;br /&gt;
* System Name (default)&lt;br /&gt;
* PBX Name&lt;br /&gt;
&lt;br /&gt;
The selected value determines, which values are shown in the PBX dropdown box for report creation or report mail configuration.&lt;br /&gt;
&lt;br /&gt;
===Replication===&lt;br /&gt;
&lt;br /&gt;
You can configure a second innovaphone application platform with an installed innovaphone Reporting for replication purposes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Mode:&lt;br /&gt;
** &#039;&#039;&#039;Off&#039;&#039;&#039;: no replication&lt;br /&gt;
** &#039;&#039;&#039;Master&#039;&#039;&#039;: the local server is the master server&lt;br /&gt;
** &#039;&#039;&#039;Standby&#039;&#039;&#039;: the local server is the standby server, filters will be replicated from the master and can&#039;t be changed here&lt;br /&gt;
* Master/Standby Server: the IP address of the master or standby server&lt;br /&gt;
* Database password: the PostgreSQL database password of the other server (default is &#039;&#039;&#039;reporting&#039;&#039;&#039;).&lt;br /&gt;
* Synchronisation interval: the interval in minutes (range 1-60) in which a sync is done&lt;br /&gt;
&lt;br /&gt;
Now configure a second [[#CDR_Gateway|CDR Gateway]] for the standby server.&lt;br /&gt;
&lt;br /&gt;
The current status can be seen here too. If the status is &#039;&#039;&#039;Failed&#039;&#039;&#039; take a look at the log file &#039;&#039;&#039;innovaphone Reporting Replication&#039;&#039;&#039; under [[ Reference10:Concept_Linux_Application_Platform#Logs|Diagnostics/Logs]] or look at the last trace output at the bottom of the page.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
How replication works is described [[#Replication_2|here]].&lt;br /&gt;
&lt;br /&gt;
===Ldap===&lt;br /&gt;
&lt;br /&gt;
Several LDAP servers and dialing locations can be configured here.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PBX field must correspond to a name of a PBX since PBX&#039;s names are available in CDRs. The received CDR is parsed to get the PBX name and this name will be used to find the corresponding LDAP server and dialing location needed to resolve names.&lt;br /&gt;
&lt;br /&gt;
Each configured LDAP server and dialing location can be activated/deactivated with the &#039;&#039;&#039;active&#039;&#039;&#039; flag.&lt;br /&gt;
&lt;br /&gt;
[[Image:ldap_update.png]]&lt;br /&gt;
&lt;br /&gt;
If the country where you configure LDAP does not have Trunk/National prefix you should leave &amp;quot;National Prefix&amp;quot; and &amp;quot;Area Code&amp;quot; empty.&lt;br /&gt;
&lt;br /&gt;
====remark====&lt;br /&gt;
* Unlike &amp;quot;number attributes&amp;quot; field in the configuration of &amp;quot;External LDAP Server&amp;quot; on the PBX under &amp;quot;Directories&amp;quot; here additional characters to the attributes like &amp;quot;:P&amp;quot;, &amp;quot;:D&amp;quot; or &amp;quot;@&amp;quot;, for instance &amp;quot;homePhone:P, mobile:M, telephoneNumber:D&amp;quot; are &#039;&#039;&#039;NOT&#039;&#039;&#039; allowed. Correct would be &amp;quot;homePhone, mobile, telephoneNumber&amp;quot; as you can see in the screenshot above.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;LDAP Internal Search flag&#039;&#039; allows reporting to perform name resolution also for internal numbers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Search Base H323&#039;&#039; checkbox means that h323 field of the CDR user will be used inside the LDAP Filter to resolve the telephone number.&lt;br /&gt;
&lt;br /&gt;
===Report Mails===&lt;br /&gt;
&lt;br /&gt;
Automatic report generation can be configured here:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;time&#039;&#039;&#039;: daytime at which the report is sent&lt;br /&gt;
* &#039;&#039;&#039;user reports&#039;&#039;&#039;: &lt;br /&gt;
** Creates for each matching user a separate report&lt;br /&gt;
** Users are matched by &#039;&#039;&#039;Object (Long Name)&#039;&#039;&#039;&lt;br /&gt;
** A user report only contains calls for this user&lt;br /&gt;
** The email address of the user is built by its &#039;&#039;&#039;H323 name&#039;&#039;&#039; and the &#039;&#039;&#039;System Name&#039;&#039;&#039; of its PBX (h323@systemname) or determined by the E-Mail field of the user&lt;br /&gt;
* &#039;&#039;&#039;interval&#039;&#039;&#039;: &lt;br /&gt;
** daily: Mail will be send daily with the automatic period &amp;quot;last day&amp;quot;&lt;br /&gt;
** weekly: Mail will be send weekly with the automatic period &amp;quot;last week&amp;quot;&lt;br /&gt;
** monthly: Mail will be send daily with the automatic period &amp;quot;last month&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;day&#039;&#039;&#039;: the day, at which the report is sent&lt;br /&gt;
* &#039;&#039;&#039;mail adresses&#039;&#039;&#039;: recipients of the report (comma separated)&lt;br /&gt;
* &#039;&#039;&#039;Sender E-Mail address&#039;&#039;&#039;: sender email address, which may be present as [[ Reference10:Concept_Linux_Application_Platform#Relay_Hosts | relay host ]]&lt;br /&gt;
* &#039;&#039;&#039;compress&#039;&#039;&#039;: compress the attachment or not&lt;br /&gt;
* &#039;&#039;&#039;sort by&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;sort order&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;language&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;send time&#039;&#039;&#039;: the time of a day, when the report is sent&lt;br /&gt;
&lt;br /&gt;
The explanation for the other settings can be found [[ #Report_Creation | here. ]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:mails.png]]&lt;br /&gt;
&lt;br /&gt;
===Users===&lt;br /&gt;
&lt;br /&gt;
You can configure multiple users, who shall have access to reports without having access to the whole reporting configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
The user can login with his user name and password on: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
http(s)://Linux-IP/apps/innovaphone-reporting/user/login.php&lt;br /&gt;
&lt;br /&gt;
The admin can assign one or more base filters to the user. A base filter is explained [[ #Base_filter | here]].&amp;lt;br&amp;gt;&lt;br /&gt;
If the user creates new reports, new own filters or report mails, he &#039;&#039;&#039;has&#039;&#039;&#039; to use one of his assigned base filters.&lt;br /&gt;
&lt;br /&gt;
 If you are using multiple PBX systems, the user has only access to these systems, which are configured in the base filters of the user.&lt;br /&gt;
 If the user has no base filter with a limitation to a certain &amp;quot;System Name&amp;quot;/&amp;quot;PBX Name&amp;quot; (depends on your [[ #PBX | PBX configuration ]]),&lt;br /&gt;
 he will have access to all systems!&lt;br /&gt;
&lt;br /&gt;
[[Image:users.jpg]]&lt;br /&gt;
&lt;br /&gt;
====User Login====&lt;br /&gt;
&lt;br /&gt;
A logged in user can create reports, own filters and report mails based on his assigned base filters.&lt;br /&gt;
&lt;br /&gt;
[[Image:Userlogin.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Images===&lt;br /&gt;
&lt;br /&gt;
You may upload images to be used as logo or footer in pdf reports.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Logos must be 32x32 and footer can have a maximum width of 450 pixels and a maximum height of 50 pixels.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These images can have jpeg or png format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Relay CDRs===&lt;br /&gt;
&lt;br /&gt;
Relay CDRs can be stored in log files by the Reporting application. Configure a CDR gateway as already described and relay CDRs will be written to the webdav file &#039;&#039;&#039;/cdr/cdr.txt&#039;&#039;&#039;.&lt;br /&gt;
The file is rotated on 1 MB size. The first rotated file is uncompressed, further files will be gz compressed. Max ten files are kept. Older files will be deleted:&amp;lt;br&amp;gt;&lt;br /&gt;
* cdr.txt&lt;br /&gt;
* cdr.txt.1&lt;br /&gt;
* cdr.txt.2.gz&lt;br /&gt;
* cdr.txt.3.gz&lt;br /&gt;
* cdr.txt.4.gz&lt;br /&gt;
* cdr.txt.5.gz&lt;br /&gt;
* cdr.txt.6.gz&lt;br /&gt;
* cdr.txt.7.gz&lt;br /&gt;
* cdr.txt.8.gz&lt;br /&gt;
* cdr.txt.9.gz&lt;br /&gt;
&lt;br /&gt;
You can modify the rotation strategy by modifying &amp;lt;code&amp;gt;/etc/logrotate.d/innovaphone-logs&amp;lt;/code&amp;gt; on the application platform.  However, keep up mind that such modifications will be overridden during an update to the application platform.  So you would need to re-do it after each update.&lt;br /&gt;
&lt;br /&gt;
===innovaphone-reporting web access===&lt;br /&gt;
&lt;br /&gt;
You can configure a separate authentication for the innovaphone-reporting web site [[Reference10:Concept_Linux_Application_Platform#Change_application_access_credentials|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the reporting site with this access.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Integration Voice recorder===&lt;br /&gt;
&lt;br /&gt;
The innovaphone voice recording can be integrated and a remote control of the player is possible, see relative article. &lt;br /&gt;
&lt;br /&gt;
==Filters==&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
Filters are set up to create reports based on certain conditions. A filter can have multiple conditions and multiple filters can be combined on report creation (combine is performed with an &#039;&#039;&#039;OR&#039;&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
A filter has a unique &#039;&#039;&#039;name&#039;&#039;&#039; with an optional &#039;&#039;&#039;description&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
&lt;br /&gt;
[[Image:filter.png]]&lt;br /&gt;
&lt;br /&gt;
There are five or seven condition sections depending on what is selected under &#039;&#039;&#039;States&#039;&#039;&#039;. Conditions inside same section are &#039;&#039;&#039;OR&#039;&#039;&#039; associated while different sections are &#039;&#039;&#039;AND&#039;&#039;&#039; associated.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Object == Terra &#039;&#039;&#039;OR&#039;&#039;&#039; Object == Uranus) &#039;&#039;&#039;AND&#039;&#039;&#039; (PBX == sifi) &#039;&#039;&#039;AND&#039;&#039;&#039; (Number == 0049%)&lt;br /&gt;
&lt;br /&gt;
====Base filter====&lt;br /&gt;
&lt;br /&gt;
If you select another filter as base filter, the conditions of the base filter are implicitly &#039;&#039;&#039;AND&#039;&#039;&#039; conjuncted, when the current filter is used.&amp;lt;br&amp;gt;&lt;br /&gt;
So if the base filter defines two PBX values, e.g. &amp;quot;Berlin&amp;quot; and &amp;quot;Hamburg&amp;quot; and the current filter defines one PBX value, e.g. &amp;quot;Berlin&amp;quot;, only objects of the PBX &amp;quot;Berlin&amp;quot; will be filtered:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 (pbx=&amp;quot;Berlin&amp;quot;) AND (pbx=&amp;quot;Berlin&amp;quot; OR pbx=&amp;quot;Hamburg&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If a user defines an own filter for his reports, he has to use a base filter, which he is allowed to use. So each filter, which he uses, will have at least one base filter condition, which the admin has defined.&lt;br /&gt;
&lt;br /&gt;
 You have to take care with the conditions of the current filter and the base filter, &lt;br /&gt;
 as it is now easy to create a filter with mutually exclusive conditions, e.g. if &lt;br /&gt;
 the filter has pbx=&amp;quot;Berlin&amp;quot; and the base filter pbx=&amp;quot;Hamburg&amp;quot; =&amp;gt; no matching records.&lt;br /&gt;
&lt;br /&gt;
====Anonym====&lt;br /&gt;
&lt;br /&gt;
If you check this flag, a report created with this filter or with a filter, where this filter is a basefilter, will by anonymized.&lt;br /&gt;
&lt;br /&gt;
====Local====&lt;br /&gt;
&lt;br /&gt;
Define one ore more conditions for the local party, defined by:&lt;br /&gt;
&lt;br /&gt;
* Object: the cn/PBX object name&lt;br /&gt;
* Number: the number&lt;br /&gt;
* Groups: a group of the PBX object&lt;br /&gt;
&lt;br /&gt;
====Remote====&lt;br /&gt;
&lt;br /&gt;
Define one or more conditions for the remote party, defined by:&lt;br /&gt;
&lt;br /&gt;
* Number: the number&lt;br /&gt;
* Remote display name: the display name&lt;br /&gt;
&lt;br /&gt;
====PBX====&lt;br /&gt;
&lt;br /&gt;
Define one ore more conditions for the PBX, defined by:&lt;br /&gt;
&lt;br /&gt;
* PBX: the PBX name&lt;br /&gt;
* Node: the node name&lt;br /&gt;
&lt;br /&gt;
====States====&lt;br /&gt;
&lt;br /&gt;
* No Response&lt;br /&gt;
* Connected&lt;br /&gt;
* Busy&lt;br /&gt;
* No Channel&lt;br /&gt;
&lt;br /&gt;
====Directions====&lt;br /&gt;
&lt;br /&gt;
* Incoming&lt;br /&gt;
* Outgoing&lt;br /&gt;
* Transfer: calls, which have been transferred to the current local party&lt;br /&gt;
* Call Forward: calls, which have been forwarded to the current local party&lt;br /&gt;
&lt;br /&gt;
====Call Duration====&lt;br /&gt;
&lt;br /&gt;
Time the call was connected.&lt;br /&gt;
&lt;br /&gt;
This condition will be &#039;&#039;&#039;AND&#039;&#039;&#039; with the others if all &#039;&#039;&#039;States&#039;&#039;&#039; are selected.&amp;lt;br&amp;gt;&lt;br /&gt;
If Busy, No Channel or No Response is unselected, then the filter will search for Connected calls with connected time greater or smaller than &#039;&#039;&#039;Call Duration&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
====Alert Duration====&lt;br /&gt;
&lt;br /&gt;
Time the call was ringing independent of the status of the call afterwards.&lt;br /&gt;
&lt;br /&gt;
This condition will be &#039;&#039;&#039;AND&#039;&#039;&#039; with the others if all &#039;&#039;&#039;States&#039;&#039;&#039; are selected.&amp;lt;br&amp;gt;&lt;br /&gt;
If Busy, No Channel or Connected is unselected, then the filter will search only for Not Connected Calls that were ringing more or less time than &#039;&#039;&#039;Alert Duration&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Report times====&lt;br /&gt;
&lt;br /&gt;
Define the time where calls should be counted.&amp;lt;br&amp;gt;&lt;br /&gt;
You can optionally define the weekday(s) of calls.&lt;br /&gt;
&lt;br /&gt;
====Images====&lt;br /&gt;
&lt;br /&gt;
* Logo: This must be 32x32 pixel image in jpeg or png format.&amp;lt;br&amp;gt;&lt;br /&gt;
* Footer: Maximum width of 450 pels and maximum height of 50 pels. Also jpeg or png format.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Using Patterns====&lt;br /&gt;
&lt;br /&gt;
You can use these [[ #PostgreSQL_Patterns | PostgreSQL Patterns ]] for every condition.&lt;br /&gt;
&lt;br /&gt;
==Report Creation==&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
It is possible to generate call lists for single users or more complex reports by means of filters.&lt;br /&gt;
&lt;br /&gt;
===Web Interface===&lt;br /&gt;
&lt;br /&gt;
Reporting application provides a web interface to generate reports.&lt;br /&gt;
&lt;br /&gt;
[[Image:Report_hide.png]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;PBX&#039;&#039;&#039;: select the PBX for the report. The values of the drop down box depend on your [[#PBX | PBX configuration]]&lt;br /&gt;
* &#039;&#039;&#039;Object (Long Name)&#039;&#039;&#039;: corresponds to the PBX Long Name assigned to a specific user (% is a special postgresql character, which matches any string)&lt;br /&gt;
* &#039;&#039;&#039;Filter&#039;&#039;&#039;: one or multiple filters can be defined (&#039;&#039;&#039;OR&#039;&#039;&#039; joined)&lt;br /&gt;
* &#039;&#039;&#039;Group by&#039;&#039;&#039;: the result can be grouped by Date or Object&lt;br /&gt;
* &#039;&#039;&#039;Hide last X digits&#039;&#039;&#039;: you may replace the last digits of an external number with a &#039;*&#039;. &lt;br /&gt;
** LDAP must be configured in order to use this capability but if you want no LDAP funtionality, just unset the Active Box in LDAP.&lt;br /&gt;
** Actually, the pbx/phys value of a call is matched against the LDAP pbx value and if the number starts with the external line prefix.&lt;br /&gt;
* &#039;&#039;&#039;Anonym&#039;&#039;&#039;: do not show internal names/numbers&lt;br /&gt;
** If anonym is set, hide last digits is set to 3, if not set&lt;br /&gt;
* &#039;&#039;&#039;Filter Info&#039;&#039;&#039;: the report will contain information about the configured settings and filter information&lt;br /&gt;
* &#039;&#039;&#039;Displayed Duration&#039;&#039;&#039;: &lt;br /&gt;
** Call Duration (Total): the total call duration, e.g. with the duration of a subsequent transfer&lt;br /&gt;
** Call Duration (User): just the time, the user was connected&lt;br /&gt;
** Billing Duration: the duration, a user must be billed for&lt;br /&gt;
** None of these durations contain the alert duration, which is separatly listed&lt;br /&gt;
&lt;br /&gt;
[[Image:reporting_report.png | A normal report. The summary shows incoming / outgoing summaries]]&lt;br /&gt;
&lt;br /&gt;
[[Image:grouped_report.png | A grouped report. Each group has an own summary]]&lt;br /&gt;
&lt;br /&gt;
====Print====&lt;br /&gt;
&lt;br /&gt;
Click the print icon to open a printable version of the report.&lt;br /&gt;
&lt;br /&gt;
====Save====&lt;br /&gt;
You can save the report as &#039;&#039;&#039;pdf&#039;&#039;&#039; or as &#039;&#039;&#039;xml&#039;&#039;&#039; by using the corresponding icon.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download a report in &#039;&#039;&#039;csv&#039;&#039;&#039; format without call history. The report uses &#039;&#039;&#039;comma&#039;&#039;&#039; as delimeter character, &#039;&#039;&#039;&amp;quot;&#039;&#039;&#039; as text qualifier and &#039;&#039;&#039;PBX Object/Remote Party&#039;&#039;&#039; columns should be defined as Text (avoid telephone numbers to be considered as numbers by Excel). &#039;&#039;&#039;UTF-8&#039;&#039;&#039; must be used as character set.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sorting====&lt;br /&gt;
&lt;br /&gt;
Each sortable column has a clickable column head. This sorting will be also used when opening the printable version or saving the report as PDF.&lt;br /&gt;
&lt;br /&gt;
====Icons====&lt;br /&gt;
The icons are explained in the [[#Call list icons|appendix]].&lt;br /&gt;
&lt;br /&gt;
===Remote Interface===&lt;br /&gt;
&lt;br /&gt;
See [[#Remote_Interface_2|Remote Interface Appendix]]&lt;br /&gt;
&lt;br /&gt;
==Backup and Restore==&lt;br /&gt;
&lt;br /&gt;
You can both manually and automatically backup the database and configuration files for Reporting under [[Reference10:Concept_Linux_Application_Platform#Backup|Administration/Backup]] in the application platform.&lt;br /&gt;
&lt;br /&gt;
Configuration details for the update server can be found [[Reference10:Concept_Linux_Application_Platform#Backup|here]].&lt;br /&gt;
&lt;br /&gt;
===Configuration Files===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportingcfgs&#039;&#039;&#039; is the command used to automatically save configuration files with the [[Reference10:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
===Data===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportingdb&#039;&#039;&#039; is the command to automatically backup the whole innovaphone Reporting database with the [[Reference10:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
 If you restore the reporting database, you should keep in mind, that this might take several hours for a system&lt;br /&gt;
 on a CF card, depending on the size of the restored database. The backup process itself is quite fast with a few minutes.&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;saveinnovaphone-reportinglogs&#039;&#039;&#039; to save log files with the [[Reference10:Concept_Linux_Application_Platform#Command_File|Command File]].&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===PostgreSQL Patterns===&lt;br /&gt;
For filter conditions or for the pbx object value you can use the following patterns inside a string:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;%&#039;&#039;&#039;: matches any string of zero or more characters&lt;br /&gt;
* &#039;&#039;&#039;_&#039;&#039;&#039;: matches any single character&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 &#039;&#039;&#039;Sat%&#039;&#039;&#039; will match all pbx objects, which start with the string &#039;&#039;&#039;Sat&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
 We do always perform case insensitiv searches!&lt;br /&gt;
&lt;br /&gt;
===innovaphone Reporting XML===&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
    &amp;lt;application&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;innovaphone Reporting&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;desc&amp;gt;Reporting software&amp;lt;/desc&amp;gt;&lt;br /&gt;
    &amp;lt;directory&amp;gt;innovaphone-reporting&amp;lt;/directory&amp;gt;&lt;br /&gt;
    &amp;lt;href&amp;gt;report.php&amp;lt;/href&amp;gt;&lt;br /&gt;
    &amp;lt;linux-username&amp;gt;innovaphone-reporting&amp;lt;/linux-username&amp;gt;&lt;br /&gt;
    &amp;lt;packages&amp;gt;&lt;br /&gt;
        &amp;lt;package&amp;gt;php5-gd&amp;lt;/package&amp;gt;&lt;br /&gt;
        &amp;lt;package&amp;gt;php5-ldap&amp;lt;/package&amp;gt;&lt;br /&gt;
    &amp;lt;/packages&amp;gt;&lt;br /&gt;
    &amp;lt;database name=&amp;quot;innovaphone-reporting&amp;quot; username=&amp;quot;innovaphone-reporting&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;cronjobs&amp;gt;&lt;br /&gt;
        &amp;lt;cronjob script=&amp;quot;/etc/cron.d/reporting_replication&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;cronjob script=&amp;quot;/etc/cron.d/reporting_cleanup&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;cronjob script=&amp;quot;/etc/cron.d/reporting_mails&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/cronjobs&amp;gt;&lt;br /&gt;
    &amp;lt;log-files&amp;gt;&lt;br /&gt;
        &amp;lt;log title=&amp;quot;Postgresql-8.4&amp;quot; no-clear=&amp;quot;true&amp;quot;&amp;gt;/var/log/postgresql/postgresql-8.4-main.log&amp;lt;/log&amp;gt;&lt;br /&gt;
        &amp;lt;log title=&amp;quot;Reporting cleanup&amp;quot;&amp;gt;/var/www/innovaphone/apps/innovaphone-reporting/log/reporting_cleanup.log&amp;lt;/log&amp;gt;&lt;br /&gt;
        &amp;lt;log title=&amp;quot;innovaphone Reporting&amp;quot;&amp;gt;/var/www/innovaphone/apps/innovaphone-reporting/log/innovaphone-reporting.log&amp;lt;/log&amp;gt;&lt;br /&gt;
        &amp;lt;log title=&amp;quot;innovaphone Reporting Replication&amp;quot;&amp;gt;/var/www/innovaphone/apps/innovaphone-reporting/log/reporting_replication.log&amp;lt;/log&amp;gt;&lt;br /&gt;
    &amp;lt;/log-files&amp;gt;&lt;br /&gt;
    &amp;lt;config-files&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/etc/postgresql/8.4/main/pg_hba.conf&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/etc/postgresql/8.4/main/postgresql.conf&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/home/innovaphone-reporting/reporting.conf&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/home/root/ssl_cert/server.key&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/home/root/ssl_cert/server.crt&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/etc/cron.d/reporting_replication&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/etc/cron.d/reporting_cleanup&amp;lt;/conf&amp;gt;&lt;br /&gt;
        &amp;lt;conf&amp;gt;/etc/cron.d/reporting_mails&amp;lt;/conf&amp;gt;&lt;br /&gt;
	&amp;lt;conf&amp;gt;/var/www/innovaphone/apps/innovaphone-reporting/report_images&amp;lt;/conf&amp;gt;&lt;br /&gt;
    &amp;lt;/config-files&amp;gt;&lt;br /&gt;
    &amp;lt;backup&amp;gt;&lt;br /&gt;
        &amp;lt;command title=&amp;quot;Save innovaphone Reporting configuration files&amp;quot; cmd=&amp;quot;saveinnovaphone-reportingcfgs&amp;quot; script=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;command title=&amp;quot;Save innovaphone Reporting database&amp;quot; cmd=&amp;quot;saveinnovaphone-reportingdb&amp;quot; script=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;command title=&amp;quot;Save innovaphone Reporting log files&amp;quot; cmd=&amp;quot;saveinnovaphone-reportinglogs&amp;quot; script=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/backup&amp;gt;&lt;br /&gt;
    &amp;lt;restore&amp;gt;&lt;br /&gt;
        &amp;lt;command title=&amp;quot;Restore innovaphone Reporting configuration files&amp;quot; cmd=&amp;quot;restoreinnovaphone-reportingcfgs&amp;quot; script=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;action&amp;gt;/etc/init.d/postgresql restart&amp;lt;/action&amp;gt;&lt;br /&gt;
            &amp;lt;action&amp;gt;/etc/init.d/cron restart&amp;lt;/action&amp;gt;&lt;br /&gt;
        &amp;lt;/command&amp;gt; &lt;br /&gt;
        &amp;lt;command title=&amp;quot;Restore innovaphone Reporting database&amp;quot; cmd=&amp;quot;restoreinnovaphone-reportingdb&amp;quot; script=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/restore&amp;gt;&lt;br /&gt;
    &amp;lt;uninstall script=&amp;quot;/usr/bin/sudo /usr/local/bin/uninstall_script.sh -f &#039;innovaphone-reporting.xml&#039; -linux_user yes -linux_group yes -database yes -database_user yes -log_script &#039;/var/www/innovaphone/log/appl_uninstall.log&#039;&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;to-delete&amp;gt;&lt;br /&gt;
            &amp;lt;to-del path=&amp;quot;/usr/local/bin/reporting_cleanup.sh&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;to-del path=&amp;quot;/usr/local/bin/reporting_replication.out&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;to-del path=&amp;quot;/usr/local/bin/reporting_replication.sh&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;to-del path=&amp;quot;/home/innovaphone-reporting/tmp&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/to-delete&amp;gt;&lt;br /&gt;
    &amp;lt;/uninstall&amp;gt;&lt;br /&gt;
    &amp;lt;lighttpd-auth&amp;gt;1&amp;lt;/lighttpd-auth&amp;gt;&lt;br /&gt;
    &amp;lt;public-web-paths&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;mypbx&amp;lt;/path&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;user&amp;lt;/path&amp;gt;&lt;br /&gt;
    &amp;lt;/public-web-paths&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Installed Debian Packages===&lt;br /&gt;
&lt;br /&gt;
The following packages (and their dependencies) are installed with innovaphone Reporting:&lt;br /&gt;
&lt;br /&gt;
* php5-gd&lt;br /&gt;
* php5-ldap&lt;br /&gt;
&lt;br /&gt;
===Configuration Files===&lt;br /&gt;
&lt;br /&gt;
pg_hba.conf is the client authentication configuration file and controls which hosts are allowed to connect, how clients&lt;br /&gt;
are authenticated, which PostgreSQL user names they can use and which databases they can access.&lt;br /&gt;
&lt;br /&gt;
postgresql.conf is the PostgreSQL configuration file&lt;br /&gt;
&lt;br /&gt;
===Data Files===&lt;br /&gt;
&lt;br /&gt;
If you backup the innovaphone reporting database, you&#039;ll get a gz archiv, which contains the whole innovaphone-reporting database.&lt;br /&gt;
&lt;br /&gt;
===Report XML and CSV===&lt;br /&gt;
The field description below applies for the &#039;&#039;&#039;XML&#039;&#039;&#039; and &#039;&#039;&#039;CSV&#039;&#039;&#039; columns! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;report&amp;gt;&lt;br /&gt;
    &amp;lt;record&amp;gt;&lt;br /&gt;
      ....&lt;br /&gt;
      &amp;lt;time time=&amp;quot;1301303966&amp;quot; utc=&amp;quot;1301303966&amp;quot;&amp;gt;2011-03-28 11:19:26&amp;lt;/time&amp;gt;&lt;br /&gt;
      &amp;lt;obj&amp;gt;Saturn&amp;lt;/obj&amp;gt;&lt;br /&gt;
      &amp;lt;id&amp;gt;870998fee909d311b2ec009033105dc9&amp;lt;/id&amp;gt;&lt;br /&gt;
      &amp;lt;call&amp;gt;int&amp;lt;/call&amp;gt;&lt;br /&gt;
      &amp;lt;alert-duration seconds=&amp;quot;0&amp;quot;&amp;gt;0:00&amp;lt;/alert-duration&amp;gt;&lt;br /&gt;
      &amp;lt;flow&amp;gt;&lt;br /&gt;
        &amp;lt;ev caller=&amp;quot;ep1&amp;quot; ep1_number=&amp;quot;101&amp;quot; ep1_name=&amp;quot;saturn&amp;quot; ep1_dn=&amp;quot;Saturn&amp;quot; &lt;br /&gt;
                         ep2_number=&amp;quot;102&amp;quot; ep2_name=&amp;quot;uranus&amp;quot; ep2_dn=&amp;quot;Uranus&amp;quot; status=&amp;quot;co&amp;quot; entry=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/flow&amp;gt;&lt;br /&gt;
      &amp;lt;call-duration seconds=&amp;quot;2&amp;quot;&amp;gt;0:02&amp;lt;/call-duration&amp;gt;&lt;br /&gt;
      &amp;lt;billing-duration seconds=&amp;quot;2&amp;quot;&amp;gt;0:02&amp;lt;/billing-duration&amp;gt;&lt;br /&gt;
      &amp;lt;conn-duration seconds=&amp;quot;2&amp;quot;&amp;gt;0:02&amp;lt;/conn-duration&amp;gt;&lt;br /&gt;
      &amp;lt;groups&amp;gt;&lt;br /&gt;
        &amp;lt;group&amp;gt;test&amp;lt;/group&amp;gt;&lt;br /&gt;
        &amp;lt;group&amp;gt;test2&amp;lt;/group&amp;gt;&lt;br /&gt;
      &amp;lt;/groups&amp;gt;&lt;br /&gt;
      &amp;lt;node&amp;gt;root&amp;lt;/node&amp;gt;&lt;br /&gt;
      &amp;lt;pbx&amp;gt;.&amp;lt;/pbx&amp;gt;&lt;br /&gt;
      &amp;lt;cause&amp;gt;&amp;lt;/cause&amp;gt;&lt;br /&gt;
      &amp;lt;dir&amp;gt;o&amp;lt;/dir&amp;gt;&lt;br /&gt;
      &amp;lt;status&amp;gt;co&amp;lt;/status&amp;gt;&lt;br /&gt;
      &amp;lt;type/&amp;gt;&lt;br /&gt;
      &amp;lt;remote number=&amp;quot;102&amp;quot; name=&amp;quot;uranus&amp;quot; dn=&amp;quot;Uranus&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;callback  number=&amp;quot;456&amp;quot; name=&amp;quot;abc&amp;quot; dn=&amp;quot;123&amp;quot; time=&amp;quot;1301305962&amp;quot;&amp;gt;2011-03-28 11:52:42&amp;lt;/callback&amp;gt;&lt;br /&gt;
    &amp;lt;/record&amp;gt;&lt;br /&gt;
    ....&lt;br /&gt;
  &amp;lt;/report&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* time: the node contains a formatted time string of the local time&lt;br /&gt;
** attribute &#039;&#039;&#039;time&#039;&#039;&#039; is a unix timestamp (referring to the local time stamp of the CDR)&lt;br /&gt;
** attribute &#039;&#039;&#039;utc&#039;&#039;&#039; is a unix timestamp (referring to the utc time stamp of the CDR)&lt;br /&gt;
* obj: the PBX object name (also called cn)&lt;br /&gt;
* id: the conference id of the call&lt;br /&gt;
* call: &#039;&#039;&#039;int&#039;&#039;&#039; (internal) or &#039;&#039;&#039;ext&#039;&#039;&#039; (external) call&lt;br /&gt;
* flow &#039;&#039;&#039;(XML only)&#039;&#039;&#039;: the call flow&lt;br /&gt;
** ev&lt;br /&gt;
***ep1 (ep1_number, ep1_name, ep1_dn): the left side of the call&lt;br /&gt;
***ep2 (ep2_number, ep2_name, ep2_dn): the right side of the call&lt;br /&gt;
***caller: &#039;&#039;&#039;ep1&#039;&#039;&#039;, &#039;&#039;&#039;ep2&#039;&#039;&#039; or empty, if unknown&lt;br /&gt;
***status: &#039;&#039;&#039;co&#039;&#039;&#039; (connected), &#039;&#039;&#039;al&#039;&#039;&#039; (alert), &#039;&#039;&#039;er&#039;&#039;&#039; (error) or &#039;&#039;&#039;bu&#039;&#039;&#039; (busy) state of the current event&lt;br /&gt;
***entry: &#039;&#039;&#039;true&#039;&#039;&#039; for the entry event of the local object&lt;br /&gt;
***type: &#039;&#039;&#039;cf&#039;&#039;&#039; (call forward), &#039;&#039;&#039;ct&#039;&#039;&#039; (call transfer)&lt;br /&gt;
* Original Called &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: In case of Call flow; The original called device&lt;br /&gt;
* Diverting &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: In case of Call flow; The diverting device&lt;br /&gt;
* Transferring &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: In case of Call flow; The transferring device&lt;br /&gt;
* groups &#039;&#039;&#039;(XML only)&#039;&#039;&#039;: the groups of the PBX object&lt;br /&gt;
* node: the node of the PBX object&lt;br /&gt;
* pbx: the pbx of the PBX object&lt;br /&gt;
* cause: the decimal disconnect reason of the call (see [[Reference:ISDN_Cause_Codes]])&lt;br /&gt;
* remote:&lt;br /&gt;
** outgoing calls -&amp;gt; dialed endpoint&lt;br /&gt;
** incoming calls -&amp;gt; first ep2 above entry event or entry event if this is the first one&lt;br /&gt;
** incoming calls with incoming transfer after entry event -&amp;gt; transfer target&lt;br /&gt;
* status:&lt;br /&gt;
** outgoing calls -&amp;gt; best found status in call flow&lt;br /&gt;
** incoming calls -&amp;gt; status of entry event&lt;br /&gt;
* type: the type of the entry event or, if not set, the type of the next event, if given&lt;br /&gt;
** empty: direct call&lt;br /&gt;
** &#039;&#039;&#039;ct&#039;&#039;&#039;: call transfer&lt;br /&gt;
** &#039;&#039;&#039;cf&#039;&#039;&#039;: call forward&lt;br /&gt;
** &#039;&#039;&#039;cct&#039;&#039;&#039;: call transfer with consultation&lt;br /&gt;
** &#039;&#039;&#039;pu&#039;&#039;&#039;: call pickup&lt;br /&gt;
* dir: o (outgoing) if the first event is the entry event and the caller is ep1&lt;br /&gt;
* dir: i (incoming) if not o&lt;br /&gt;
* alert-duration: alert time&lt;br /&gt;
*Billing Duration: the duration, a user must be billed for&lt;br /&gt;
**  outgoing call -&amp;gt; duration from the first event until the last event in the flow&lt;br /&gt;
**  incoming call -&amp;gt; duration from the first transfer/forward event until the last event in the flow&lt;br /&gt;
* call-duration/Call Duration (Total): duration of the whole call, e.g. with the duration of a subsequent transfer&lt;br /&gt;
* conn-duration/Call Duration (User): just the time, the user was connected. Duration from the entry event until the event, where the local endpoint isn&#039;t connected any more&lt;br /&gt;
* callback: &#039;&#039;&#039;name&#039;&#039;&#039;, &#039;&#039;&#039;number&#039;&#039;&#039;, &#039;&#039;&#039;dn&#039;&#039;&#039; and &#039;&#039;&#039;time&#039;&#039;&#039; if this call has been callbacked using mypbx (time referrs to the UTC time of the callback)&lt;br /&gt;
* Further Registration: If more than one devices is registered to the same object, each device creates a CDR. This field identifies the additional CDRs for the same call&lt;br /&gt;
* Object Info &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: combination of object names and number&lt;br /&gt;
* Date &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: extracted date only from the time_string&lt;br /&gt;
* Time_2 &#039;&#039;&#039;(CSV only)&#039;&#039;&#039;: extracted time only from the time_string&lt;br /&gt;
&lt;br /&gt;
===Database Structure===&lt;br /&gt;
&lt;br /&gt;
====cdrs====&lt;br /&gt;
Each received cdr-xml is formed by a cdr tag and an undefined number of event and group tags.&lt;br /&gt;
(Refer to: [[Reference10:Concept_Call_Detail_Record_CDR_PBX|CDR]])&lt;br /&gt;
&lt;br /&gt;
This section is composed by four tables: cdrs, events, groups and cdr_properties.&lt;br /&gt;
The first three tables contain the corresponding fields to store the information contained in the cdr, event and group tags.&amp;lt;br&amp;gt;&lt;br /&gt;
Each CDR represents the call in the view of one PBX object. So there might be multiple CDRs for one call if multiple PBX objects are used within the call.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;cdr fields:&#039;&#039;&#039; id, guid, sys, pbx, node, device, cn, e164, h323, dir, utc, local.&lt;br /&gt;
* &#039;&#039;&#039;event fields:&#039;&#039;&#039; id, msg, type, e164, h323, conf, cause, time, cdr_id, order_index.&lt;br /&gt;
* &#039;&#039;&#039;group fields:&#039;&#039;&#039; id, name, active, type, cdr_id.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;id&#039;&#039;&#039; field is assigned by postgresql for each entry and has nothing to do with the information present in the cdr. It is different for each entry inside the table.&lt;br /&gt;
&lt;br /&gt;
The events table has two additional fields, called cdr_id, to associate these events to the corresponding cdr entry and order_index to keep their position inside the cdr.&lt;br /&gt;
Groups table has also the cdr_id field to associate the group entries to the corresponding cdr and events entries.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;cdr_properties&#039;&#039;&#039; table contains relevant information associated with the call such as call_length, alert_length or call_flow. It also presents a cdr_id field.&lt;br /&gt;
&lt;br /&gt;
====filters====&lt;br /&gt;
&lt;br /&gt;
This section is composed by three tables: filter_columns, filter_conditions and filters. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;filter_columns&#039;&#039;&#039; is not used for the time being. This is supposed to contain the columns the user wants to see in his report, but right now, just default columns (Time/Object/Duration/Left/Direction/State/Right) are shown.&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; contains the filter name and description plus two conditions call_state (No Response, Connected, Busy and No Channel) and direction (Incoming, Outgoing, Transfer and Call Forward).&lt;br /&gt;
* &#039;&#039;&#039;filter_conditions&#039;&#039;&#039; contains the defined conditions for a filter&lt;br /&gt;
&lt;br /&gt;
All three tables are related through an id.&lt;br /&gt;
&lt;br /&gt;
====cdr_users====&lt;br /&gt;
&lt;br /&gt;
This table contains a timestamp &#039;&#039;&#039;missed_calls_time&#039;&#039;&#039; for the last report access by a user &#039;&#039;&#039;cn&#039;&#039;&#039; + (&#039;&#039;&#039;pbx&#039;&#039;&#039; OR &#039;&#039;&#039;sys&#039;&#039;&#039;) with mypbx. It is used to retrieve information about missed calls since the last use of mypbx.&amp;lt;br&amp;gt;&lt;br /&gt;
The timestamp &#039;&#039;&#039;clear_report_time&#039;&#039;&#039; indicates the last clearance time.&amp;lt;br&amp;gt;&lt;br /&gt;
email, sys (system name) and pbx (PBX name) are also stored for each user.&lt;br /&gt;
&lt;br /&gt;
====replication====&lt;br /&gt;
&lt;br /&gt;
Contains information of the last replication run, which is used to sync master/standby installations.&lt;br /&gt;
&lt;br /&gt;
===Replication===&lt;br /&gt;
&lt;br /&gt;
The replication between the master and standby servers is divided into two steps:&lt;br /&gt;
&lt;br /&gt;
====CDRs====&lt;br /&gt;
Both master and standby server keep an information about the last replicated CDR. From this CDR on, they retrieve all CDR guids (32 bytes) from all new CDRs from the other server. If a guid already exists in the local database, the CDR is skipped, otherwise it is replicated.&amp;lt;br&amp;gt;&lt;br /&gt;
So there is a minimal data exchange for already existing CDRs and each new CDR is only processed once.&lt;br /&gt;
&lt;br /&gt;
====Filters/LDAP/Report Mails/Users====&lt;br /&gt;
The master server does nothing here, but the &#039;&#039;&#039;standby&#039;&#039;&#039; deletes all filters, LDAP servers, report mails and users and replicates all from the master.&amp;lt;br&amp;gt;&lt;br /&gt;
So these items from the master server can be used, but not changed, on the standby server.&lt;br /&gt;
&lt;br /&gt;
===Remote Interface===&lt;br /&gt;
&lt;br /&gt;
You can retrieve the PDF/XML/CSV report with a remote interface.&amp;lt;br&amp;gt;&lt;br /&gt;
Make a POST or GET HTTP request to &#039;&#039;&#039;http(s)://Linux-IP/apps/innovaphone-reporting/report.php&#039;&#039;&#039; with the following parameters:&lt;br /&gt;
&lt;br /&gt;
* remote: mandatory for a remote request!&lt;br /&gt;
** &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
* from : the from date/time as UNIX timestamp &#039;&#039;&#039;OR&#039;&#039;&#039; date/time string as described [ http://www.php.net/manual/de/datetime.formats.php | here ].&lt;br /&gt;
* to: the to date/time (format see &#039;&#039;&#039;from&#039;&#039;&#039;)&lt;br /&gt;
* [format]: the return format, allowed values:&lt;br /&gt;
** &#039;&#039;&#039;xml&#039;&#039;&#039;: default&lt;br /&gt;
** &#039;&#039;&#039;pdf&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;csv&#039;&#039;&#039;&lt;br /&gt;
* [sortby] : the report sorting, allowed values:&lt;br /&gt;
** &#039;&#039;&#039;time&#039;&#039;&#039;: default&lt;br /&gt;
** &#039;&#039;&#039;obj&#039;&#039;&#039;: sort by pbx object name&lt;br /&gt;
** &#039;&#039;&#039;call-duration&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;alert-duration&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;dir&#039;&#039;&#039;: sort by call direction&lt;br /&gt;
* [sortorder]: the report sort order, allowed values:&lt;br /&gt;
** &#039;&#039;&#039;ascending&#039;&#039;&#039;: default&lt;br /&gt;
** &#039;&#039;&#039;descending&#039;&#039;&#039;&lt;br /&gt;
* [groupby]: report grouping&lt;br /&gt;
** default empty/not set: no grouping&lt;br /&gt;
** &#039;&#039;&#039;local_stamp&#039;&#039;&#039;: group by time&lt;br /&gt;
** &#039;&#039;&#039;cn&#039;&#039;&#039;: group by pbx object name&lt;br /&gt;
* [hidedigits]: hide the last X digits of external numbers&lt;br /&gt;
* pbx: search for this PBX (mandatory!)&lt;br /&gt;
* pbxobject: search for this PBX object (you can leave this, if you use filterX)&lt;br /&gt;
* filterX: use a filter with its name. You can use multiple filters with filter1=test, filter2=test2...&lt;br /&gt;
* [filterinfo]: show the filter information in a created report (&amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;)&lt;br /&gt;
* [lang]: the language, e.g. &amp;quot;en&amp;quot; or &amp;quot;de&amp;quot;&lt;br /&gt;
* [displayedduration]: &lt;br /&gt;
** &#039;&#039;&#039;call_duration&#039;&#039;&#039;: default Call Duration (Total)&lt;br /&gt;
** &#039;&#039;&#039;conn_duration&#039;&#039;&#039;: Call Duration (User)&lt;br /&gt;
** &#039;&#039;&#039;billing_duration&#039;&#039;&#039;: Billing Duration&lt;br /&gt;
* [anonym]: anonymize internal names/numbers (&amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;)&lt;br /&gt;
* [bulk]: creates user reports (see [[ #Report_Mails | Report Mails ]])&lt;br /&gt;
* [sender]: sender email adress of the report&lt;br /&gt;
* [confid]: query calls of a certain conference ID&lt;br /&gt;
** you can omit the following fields, if using confid: &#039;&#039;&#039;from&#039;&#039;&#039;, &#039;&#039;&#039;to&#039;&#039;&#039;, &#039;&#039;&#039;pbx&#039;&#039;&#039;, &#039;&#039;&#039;pbxobject&#039;&#039;&#039;, &#039;&#039;&#039;filterX&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Parameters in [] are optional.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;pbxobject&#039;&#039;&#039; supports [[ #PostgreSQL_Patterns | PostgreSQL Patterns ]].&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 https://172.16.14.123/apps/innovaphone-reporting/report.php?remote=1&amp;amp;from=2011-03-29&amp;amp;to=2011-03-30&amp;amp;format=xml&amp;amp;pbxobject=Saturn&lt;br /&gt;
 Gets all records between 2011-03-29 and 2011-03-30 for the pbx object Saturn.&lt;br /&gt;
&lt;br /&gt;
 Example:&lt;br /&gt;
 https://172.16.14.123/apps/innovaphone-reporting/report.php?remote=1&amp;amp;from=2011-03-29&amp;amp;to=2011-03-30&amp;amp;format=xml&amp;amp;filter1=test&amp;amp;filter2=test2&lt;br /&gt;
 Gets all records between 2011-03-29 and 2011-03-30 for the filters test and test2.&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====PGAdmin====&lt;br /&gt;
&lt;br /&gt;
[http://www.pgadmin.org/ PGAdmin] is an administration tool for PostgreSQL databases.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
===Call list icons===&lt;br /&gt;
The direction of the icon arrow depends on the call flow.&lt;br /&gt;
&lt;br /&gt;
* [[Image:reporting_conn.jpg]]: a connected call&lt;br /&gt;
* [[Image:reporting_busy.jpg]]: busy destination&lt;br /&gt;
* [[Image:reporting_no_res.jpg]]: no response from destination&lt;br /&gt;
* [[Image:reporting_error.jpg]]: an error occurred, like &amp;quot;no channel available&amp;quot; during the call setup&lt;br /&gt;
* [[Image:reporting_ct.jpg]]: call transfer&lt;br /&gt;
* [[Image:reporting_cct.jpg]]: call transfer with consultation&lt;br /&gt;
* [[Image:reporting_cf.jpg]]: call forward&lt;br /&gt;
* [[Image:Reporting_pickup.jpg]]: call pickup (or SOAP redirect)&lt;br /&gt;
* [[Image:reporting_dir.jpg]]: call direction&lt;br /&gt;
&lt;br /&gt;
A small arrow on a call state icon indicates a callback done with mxPBY, e.g.:&lt;br /&gt;
* [[Image:reporting_busy_callback.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
===Replication===&lt;br /&gt;
====Callback information====&lt;br /&gt;
The callback information get lost in the following scenario:&lt;br /&gt;
* The callback CDR is already replicated on both master and standby&lt;br /&gt;
* Master or standby is down&lt;br /&gt;
* A user calls back the CDR from point 1&lt;br /&gt;
&lt;br /&gt;
====Missed calls====&lt;br /&gt;
The information for missed calls is not replicated. So the first time, a standby server is used with mypbx, the missed calls information will be wrong. The second time will be correct again.&lt;br /&gt;
&lt;br /&gt;
===CDRs===&lt;br /&gt;
If the innovaphone Reporting is not running, for whatever reaseon, the device, which sends CDRs, currently stores up to 300kB CDRs data. So if one CDR has up to 2kB, 150 CDRs can be stored until the innovaphone Reporting should be up again, to avoid data loss.&lt;br /&gt;
&lt;br /&gt;
===Missing values for PBX drop down box===&lt;br /&gt;
If your database currently contains no CDRs of one of your PBX systems, you won&#039;t be able to select this system as PBX for report creation or report mail configuration!&lt;br /&gt;
&lt;br /&gt;
===Restoring Database with more than 2GB===&lt;br /&gt;
&lt;br /&gt;
When restoring database using the web browser there is a 2GB upload limit, so if our database have a bigger size the upload will fail.&lt;br /&gt;
&lt;br /&gt;
As alternative solution (if there is enough space):&lt;br /&gt;
&lt;br /&gt;
 1. Copy the gz database dump (dump.gz) to the webdav folder (/var/www/innovaphone/webdav/)&lt;br /&gt;
 2. Uncompress this dump: &lt;br /&gt;
    $ /bin/gzip -cd /var/www/innovaphone/webdav/dump.gz --uncompress &amp;gt; /tmp/db.dump&lt;br /&gt;
 3. Switch Directory:&lt;br /&gt;
    $ cd /tmp&lt;br /&gt;
 4. Start the restore: &lt;br /&gt;
    $ /usr/local/bin/config.sh postgres db-restore /tmp/output_pg_schema.dump /tmp/db.dump innovaphone-reporting&lt;br /&gt;
 5. be patient, this might take a while&lt;br /&gt;
 6. if database works fine, delete backups and files from restore procedure&lt;br /&gt;
    $ rm /tmp/db.dump /var/www/innovaphone/webdav/dump.gz /tmp/output_pg_schema.dump&lt;br /&gt;
&lt;br /&gt;
If you get errors like this, [[Howto:Extend V10 LinuxAP HDD Size (VM)|expand your HDD Size]] and restart the restore process&lt;br /&gt;
    $ psql:/tmp/psqladd.yvSpB:12: ERROR:  could not extend file &amp;quot;base/17668/17943&amp;quot;: No space left on device&lt;br /&gt;
&lt;br /&gt;
===PDF generation for many CDRs may fail===&lt;br /&gt;
You may experience a &#039;&#039;&#039;Server error 500&#039;&#039;&#039; if you generate PDFs with many CDRs. The PDF library which is used to generate the PDFs fails.&lt;br /&gt;
Please generate multiple PDFs with a smaller timespan in such a case.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Howto save and restore Linux AP data/database if the webgui is not available===&lt;br /&gt;
See [[Reference10:Concept_Linux_Application_Platform#Howto_save_and_restore_Linux_AP_data.2Fdatabase_if_the_webgui_is_not_available|Troubleshooting Linux AP]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Integration_reporting_and_voice_recording]]&lt;br /&gt;
*[[Howto:Extend V10 LinuxAP HDD Size (VM)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Reporting]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=48571</id>
		<title>Reference10:Concept Voice Recording 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=48571"/>
		<updated>2017-11-30T14:50:04Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Known Problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Voice Recorder application allows recording while the innovaphone Player application a comfortable search and playback of phone calls. &lt;br /&gt;
&lt;br /&gt;
All kinds of calls can be recorded:&lt;br /&gt;
&lt;br /&gt;
*Incoming calls&lt;br /&gt;
&lt;br /&gt;
*Outgoing calls&lt;br /&gt;
&lt;br /&gt;
*Calls from innovaphone IP Phones&lt;br /&gt;
&lt;br /&gt;
*Calls form 3rd party IP-Phones&lt;br /&gt;
&lt;br /&gt;
*Calls from IP-DECT phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from analogue phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from with mobile phones (mobility, forking)&lt;br /&gt;
&lt;br /&gt;
*Calls done on a legacy PBX (soft migrations scenarios)&lt;br /&gt;
&lt;br /&gt;
The records are stored in a first step on the Conpact flash or webdav server and processed then form the recorder tool.&lt;br /&gt;
&lt;br /&gt;
Voice recording can be done on a logical or fiscal gateway (BRI, GW, SIP etc.), and therefore all kind of audio traffic can be recorded. Technically spoken a gateway is doing media relay and writes the audio data to the webdav or CF.&lt;br /&gt;
&lt;br /&gt;
The second way to record is recording directly from the innovaphone IP-Phone. In this case the phone itself writes the audio data to the CF or webdav server.&lt;br /&gt;
&lt;br /&gt;
See the “Scenarios” for further details.&lt;br /&gt;
&lt;br /&gt;
The solution requires an innovaphone PBX, the reporting tool and two applications;&lt;br /&gt;
&lt;br /&gt;
*a recording tool described in this document called “Recorder”&lt;br /&gt;
&lt;br /&gt;
*a search and playback tool called “Player”. &lt;br /&gt;
&lt;br /&gt;
The usage of the Player is not part of this description, a separate localized help and user manual is available. &lt;br /&gt;
&lt;br /&gt;
While the recorder (this description) has to be installed by professionals and the maintenance is done by system administrations people (and therefore English wording and this description is good enough) the player is operated by End user and may be not digital native, skilled or knowledge base workers. &lt;br /&gt;
&lt;br /&gt;
Note also that the setup of the player is a typical admin job and not described in the player manual.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: All users that should be recorded need the REPORTING! We recommend reporting for all user, see chapter “Requirements” for further details.  &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
As webdav server just the innovaphone webdav server (on a GW, IPVA or innovaphone LinuxAP) is supported.&lt;br /&gt;
&lt;br /&gt;
The recorder use HTTP and HTTPS access and not a webdav protocol to access.&lt;br /&gt;
&lt;br /&gt;
The Recorder must be physically and logically “nearby” the main PBX.  “nearby” means in the same location (not remote), in the same network and also on a physical machine.&lt;br /&gt;
&lt;br /&gt;
Our solutions are tested on single physical machines and we are not able to support the huge amount of virtualisation software (and there edition and version).&lt;br /&gt;
 &lt;br /&gt;
We recommend to user normal Windows software, so not a “server” edition.&lt;br /&gt;
&lt;br /&gt;
Disable &amp;quot;Power Saving Mode&amp;quot; on the windows machine that runs the recorder application, so the SOAP connection it&#039;s not interrupt.&lt;br /&gt;
&lt;br /&gt;
Voice recorder and Player could run on the same PC as well one single PC can also be used for the reporting, recording, playing and webdav server (and PBX if you like). So anything on one server is theoretically possible, but not recommended. &lt;br /&gt;
Please note that a working Webdav is mandatory, otherwise records will be lost! If recording is critical please define a second logical GW with recording and record on an independent webdav too as backup (you have to clear that drive manually to avoid disk full). Do never use the Flash memory ad webdav.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PBX===&lt;br /&gt;
You require a PBX version 11 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reporting===&lt;br /&gt;
&lt;br /&gt;
The recording feature requires the innovaphone Reporting.  Please update your platform to the latest Hotfix. Minimum Build 10043 is required.&lt;br /&gt;
&lt;br /&gt;
Each user for whom calls are physically recorded (by creating a pcap fiel for the call using the &#039;&#039;Record to (URL)&#039;&#039; feature) must have reporting enabled and hence requires a reporting license.  Although the recorder will discard all physically recorded calls if the user involved has no recording license, it still needs the CDR information for the call (without this information, the recorder can not determine the user the recorded file belongs to).  If the recorder needs to process files for which no CDR is available, it will malfunction.&lt;br /&gt;
&lt;br /&gt;
So generally, we recommend that all users in the PBX should have the reporting on as this is is the simplest solution.  However, if this is not feasible, then all users for whom recording pcap files are created must have reporting.  Please note that if you configure the pcap creation on the trunk gateway all users that possibly could do calls through this trunk (which practically means: all users) must have recording.  To limit the number of recording licenses you need to configure pcap creation on the endpoints (i.e. phones) rather.&lt;br /&gt;
&lt;br /&gt;
=== Recorder ===&lt;br /&gt;
&lt;br /&gt;
This document describes Build 1134. &lt;br /&gt;
&lt;br /&gt;
The recorder and Player application was tested on Windows 10, win 7 or higher should also be fine, framework 4.5 is required (no windows XP).&lt;br /&gt;
&lt;br /&gt;
Disk space: One minute of conversation requires about 1 MB of memory if stored in Wave or Pcap Format. &lt;br /&gt;
The wave voice data is not pure PCM but a G.711 format in a wave container. PCM requires about 2 times  much more disk space and is not used for storing. The audio files can also be encrypted. Encryption would double the required disk space. &lt;br /&gt;
&lt;br /&gt;
The recorded conversation is a stereo file where the external caller is on the left channel whiles the internal one in the right channel. &lt;br /&gt;
&lt;br /&gt;
It is possible down mix the conversation to mono; this would save about 50%.&lt;br /&gt;
&lt;br /&gt;
It is also possible compress the audio data to mp3.&lt;br /&gt;
&lt;br /&gt;
The following table shows the required disk space for one minute of conversation:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup07.png]]&lt;br /&gt;
&lt;br /&gt;
Example: 500GB Hard disk, mp3 compression without encryption -&amp;gt; 1.389 days = 3,8 years of conversation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No particular memory or CPU speed is requested, standard editions are quite good enough. Invest better in a good quality because in professional environments those machines have to work for many years.&lt;br /&gt;
&lt;br /&gt;
Voice recording requires a Version 11 innovaphone PBX and a actual Build of the Reporting tool. No compatibility with older versions is possible. PBX and/or Reporting can run on a gateway as well as on VMware. &lt;br /&gt;
&lt;br /&gt;
The recording of the pcap file is done by the PBX firmware and requires a Compact flash or a WebDAV server. The recorder software will detect those records and copy them on the real storage path. Therefore the storage requirement for the CF/mSATA/WebDAV not real high (but remember always 1 Minute =1 MB, so if you must record 30 conversations for 30 minutes = 900MB).&lt;br /&gt;
&lt;br /&gt;
The two extreme setups are: &lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the GW, reporting on the GW, pcap recording on the CF, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the PC, reporting on the PC, pcap recording on the PC, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
Each combination between is possible. &lt;br /&gt;
&lt;br /&gt;
Remember that the CF is a relative slow drive, you will note this if you copy a file from the CF to the local HD of your PC. Exact this file copy is one of the task of the recorder, even a critical one (so not a good idea do anything else in between). The result is that the copy of a huge file (a long conversation) or many files will virtually froze the recorder software. In reality the recorder is just hanging around and waits that the file copy is finally done. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Codecs ===&lt;br /&gt;
Recording can only be done using G.711, G.729 or G.722 (Build 1134) codec.&lt;br /&gt;
&lt;br /&gt;
Note: if you update an older recorder version to build 1134 delete first the file pcap2wav.exe in the directory where the recorder run and/or in the log path of the recorder.Note: if you update an older recorder version to build 1134 delete first the file pcap2wav.exe in the directory where the recorder run and/or in the log path of the recorder.&lt;br /&gt;
&lt;br /&gt;
=== Player ===&lt;br /&gt;
&lt;br /&gt;
The player application requires a PC with Windows OS Win 7 or higher, the Mediaplayer is necessary. All that on a standard office PC is installed and you have to do nothing in particularly.&lt;br /&gt;
Require Framework 4.5. &lt;br /&gt;
In theory also a Windows server 2008 could host the player, but in the server versions the media player typically is not installed and there are also different DLL missing. So if you have time or you are well Microsoft server trained face also that if necessary (normally not).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In theory it should work on any CPU, the Player was tested under Win7 32BIT, Win7 64Bit and Win8 64Bit and Win10.&lt;br /&gt;
&lt;br /&gt;
===License===&lt;br /&gt;
&lt;br /&gt;
The license model is based on user, so for each user to record a license is required.&lt;br /&gt;
&lt;br /&gt;
The current implementation allows a recording of objects of type user or executive. Recordings on other objects will be discarded.&lt;br /&gt;
&lt;br /&gt;
So in short: Per recorded user or executive object you need to have&lt;br /&gt;
* one recording license&lt;br /&gt;
* one reporting license&lt;br /&gt;
&lt;br /&gt;
In start-up the recorder will read out the number of recording license in the PBX. After that the recorder will read out all users and check if a user is in the recording group (defined in the recorder setup). If a user with that group is found one license is counted down. If there are no more license but user in group detected they will be skipped. The recorder shows how many license where detected in the PBX and how many user are in the recording group. If there are more users than licenses a warning is show.&lt;br /&gt;
&lt;br /&gt;
Remember that just users in the recorder user table are recorded; all other records are automatic deleted! This can be usefully if for example for internal reasons not just the user to record passes through the recording gateway but also others; not being in the group the records will be destroyed. But of course this will cause senseless PBX CPU workload because a recording anyway is done, just the recorder will delete after the files.&lt;br /&gt;
&lt;br /&gt;
=== Legal Aspects ===&lt;br /&gt;
&lt;br /&gt;
Please take extremely care about the legal issue: in most country voice recording of telephone calls is forbidden and persecuted by law as a crime.  In some country it is legal in certain circumstances, for example you have to inform the caller that the call will be recorded. That can be done automatically (using for example a waiting queue) or “manually”, telling the far person that this call will be recorded. Of cause also this announcement should be recorded. In some country recording is legal without any announcement for certain services, for example in case of emergency calls or calls to the police. In most country authority like the secret service do not really care about all that stuff and do what they want, but this is probably not your case. &lt;br /&gt;
&lt;br /&gt;
So inform yourself and the customer about the local legal situation. Using the recording tools is on your own risk and innovaphone will not take any responsibility, even not for eventual malfunctions. See also our general trading terms, valid even for this solution. If you have any doubt about legal questions in using voice recording; don´t do it, don’ use it!&lt;br /&gt;
&lt;br /&gt;
== Feature list ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
•	Using an innovaphone IP-Phone set immediately after call end the recording can be listened using the phone. One feature key stroke and the conversation is reproduced and repeated endless (auto replay). This call can also be transferred or put in a 3 party conference (immediate sharing) &lt;br /&gt;
&lt;br /&gt;
•	Online Help and tooltips for application and setup&lt;br /&gt;
&lt;br /&gt;
•	Setup password protected, setup files are encrypted&lt;br /&gt;
&lt;br /&gt;
•	Recorder in Demo Mode (20 minutes) , Player for free&lt;br /&gt;
&lt;br /&gt;
•	Many recorder in one system and unlimited number of players&lt;br /&gt;
&lt;br /&gt;
=== Recorder ===&lt;br /&gt;
&lt;br /&gt;
•	Recording of any type of calls direction &lt;br /&gt;
&lt;br /&gt;
•	Recording of calls from any device: IP-Phones (innovaphone and 3rt Party), analogue phones, GSM (mobility), IP-DECT&lt;br /&gt;
&lt;br /&gt;
•	Recording of calls from/to legacy PBX (smooth migration)&lt;br /&gt;
&lt;br /&gt;
•	Recording can be done in a logical gateway or direct from a innovaphone phone set&lt;br /&gt;
&lt;br /&gt;
•	Recording of encrypted calls&lt;br /&gt;
&lt;br /&gt;
•	Standard and thread call recording. If thread call recording is on after a settable time period (for example 5 minutes) a call will be automatically deleted. If the user calls inside the time period a code the last call will be saved. This marking to keep the recorded call can be done from any type of phone. If the phone is a innovaphone IP Phone the marking can be done also during conversation&lt;br /&gt;
&lt;br /&gt;
•	Storage of all relevant data including the time to answer for each call&lt;br /&gt;
&lt;br /&gt;
•	Detail protocol of each call, documentation of the entire call flow, not just the recording period but even previous and following one. Detail report on all call situations, transfer, call forwarding, pick-up, group call, conference etc. Also calls in waiting queues or announcements are reported with second accuracy&lt;br /&gt;
&lt;br /&gt;
•	Encrypted protocol data &lt;br /&gt;
&lt;br /&gt;
•	Display number of channels in recording with start timestamp&lt;br /&gt;
&lt;br /&gt;
•	Error and  Event log files&lt;br /&gt;
&lt;br /&gt;
•	Email alert in case of master alarm&lt;br /&gt;
&lt;br /&gt;
•	Automatic backup (copy to mass storage archive)&lt;br /&gt;
&lt;br /&gt;
•	Automatic delete of records older than 2-99 month (not on archives)&lt;br /&gt;
&lt;br /&gt;
•	Recordings are saved as wave files, can be reproduced with any player&lt;br /&gt;
&lt;br /&gt;
•	Wave data integrity supervision&lt;br /&gt;
&lt;br /&gt;
•	File name contains primary data (Timestamp, Caller and called, direction, time to answer, UID)&lt;br /&gt;
&lt;br /&gt;
•	Counter of recorded conversations&lt;br /&gt;
&lt;br /&gt;
•	Data Link to player, remote control of the recorder from player&lt;br /&gt;
&lt;br /&gt;
•	Interface to external applications, via TCP or URL, recorder provides data for later retrieving. Player can be controlled sending commands to the recorder (3rd party)&lt;br /&gt;
&lt;br /&gt;
•	Mark record during a conversation on the IP-Phone (build 1077)&lt;br /&gt;
&lt;br /&gt;
•	Https from Build 10087 on&lt;br /&gt;
&lt;br /&gt;
•	Slave sites from Build 10089 on&lt;br /&gt;
&lt;br /&gt;
•	G722 Codec from Build 1134 on&lt;br /&gt;
&lt;br /&gt;
•	PCAP recording from Build 1134 on&lt;br /&gt;
&lt;br /&gt;
•	Work as a service from Build 1134 on&lt;br /&gt;
&lt;br /&gt;
•	Work as http player server and/or PCAP to Wave/MP3 converter from Build 1134 on&lt;br /&gt;
&lt;br /&gt;
•	Work as a service from Build 1135 on&lt;br /&gt;
&lt;br /&gt;
=== Player ===&lt;br /&gt;
&lt;br /&gt;
•	Integrity of the recorded wave files are recognized and displayed&lt;br /&gt;
&lt;br /&gt;
•	Agent note, a Player displays automatically agent notes and can add text notes to each call&lt;br /&gt;
&lt;br /&gt;
•	Integration with iQM server, display of missed calls, possibility to recall immediately &lt;br /&gt;
&lt;br /&gt;
•	Naming of Players &lt;br /&gt;
&lt;br /&gt;
•	Month and Day filter&lt;br /&gt;
&lt;br /&gt;
•	Filter for internal and external number with wildcards&lt;br /&gt;
&lt;br /&gt;
•	Filter for incoming and outgoing calls&lt;br /&gt;
&lt;br /&gt;
•	View of oldest or newest call on top&lt;br /&gt;
&lt;br /&gt;
•	SOS mode can be switched on/off with just one click. If on all unnecessary key are hide, the newest calls are displayed on top of the call list and filters are switched off&lt;br /&gt;
&lt;br /&gt;
•	Selection of calls, one single call, more single selected calls, from to, all&lt;br /&gt;
&lt;br /&gt;
•	Online search and display, can be switched off&lt;br /&gt;
&lt;br /&gt;
•	Copy, move and delete of calls&lt;br /&gt;
&lt;br /&gt;
•	Move and delete operations are logged in centralized manipulation log &lt;br /&gt;
&lt;br /&gt;
•	Permissions &lt;br /&gt;
&lt;br /&gt;
•	Multiple selected calls can are transferred automatically in a playlist and can be reproduced&lt;br /&gt;
&lt;br /&gt;
•	Display record size&lt;br /&gt;
&lt;br /&gt;
•	Display number of records in playlist and actual play&lt;br /&gt;
&lt;br /&gt;
•	Jump forward and backward in playlist &lt;br /&gt;
&lt;br /&gt;
•	Jump to next/previous title in search result list if playlist contains just one record&lt;br /&gt;
&lt;br /&gt;
•	Marc record in playlist, select actual record and clear all others&lt;br /&gt;
&lt;br /&gt;
•	Play one title after the other in playlist&lt;br /&gt;
&lt;br /&gt;
•	Play a beep if record change in playlist (loop playlist)&lt;br /&gt;
&lt;br /&gt;
•	Repeat play (loop record), up to 4 positions, stored automatically&lt;br /&gt;
&lt;br /&gt;
•	Repeat play of all stored memory positions&lt;br /&gt;
&lt;br /&gt;
•	Display internal and external number with name resolution&lt;br /&gt;
&lt;br /&gt;
•	Display timestamp, time to answer an call ID&lt;br /&gt;
&lt;br /&gt;
•	Display System and Player status&lt;br /&gt;
&lt;br /&gt;
•	Display if local remote control interface is on&lt;br /&gt;
&lt;br /&gt;
•	Display of play was forced be recorder remote control&lt;br /&gt;
&lt;br /&gt;
•	Keys for Stop, Play, Fast Forwarding, Rewind, Pause and Eject &lt;br /&gt;
&lt;br /&gt;
•	Display duration record&lt;br /&gt;
&lt;br /&gt;
•	Display elapsed time or count down, switchable &lt;br /&gt;
&lt;br /&gt;
•	Original time elapsing display&lt;br /&gt;
&lt;br /&gt;
•	Progress bar adjustable, direct jump to selected position, drag and drop&lt;br /&gt;
&lt;br /&gt;
•	Start and Stop position can be marked an played in loop (selection loop)&lt;br /&gt;
&lt;br /&gt;
•	Volume control with audio meter and peek indication&lt;br /&gt;
&lt;br /&gt;
•	Delta level Indication (L-R and R-L meter)&lt;br /&gt;
&lt;br /&gt;
•	Overflow level audio meter&lt;br /&gt;
&lt;br /&gt;
•	Enhanced sensitivity for audio meter&lt;br /&gt;
&lt;br /&gt;
•	Attenuation left and right channel adjustable&lt;br /&gt;
&lt;br /&gt;
•	Audio setup can be stored and recalled&lt;br /&gt;
&lt;br /&gt;
•	Audio level at maximum&lt;br /&gt;
&lt;br /&gt;
•	Levels are stored and set on restart&lt;br /&gt;
&lt;br /&gt;
•	Level meter with peek indicator for left and right channel&lt;br /&gt;
&lt;br /&gt;
•	Mute&lt;br /&gt;
&lt;br /&gt;
•	Large additional display with call details&lt;br /&gt;
&lt;br /&gt;
•	Automatic decryption if files are copied&lt;br /&gt;
&lt;br /&gt;
•	Player can be limited to display just calls of one extension&lt;br /&gt;
&lt;br /&gt;
•	Communication with recorder, display of link status, last master alarm and channels in recording&lt;br /&gt;
&lt;br /&gt;
•	Reset recorder from player&lt;br /&gt;
&lt;br /&gt;
•	Search an play on backup directories&lt;br /&gt;
&lt;br /&gt;
•	Operate as Media player, reproduction of audio format wav, mp3, wmp and video format avi, wmv, mp4 and mpg&lt;br /&gt;
&lt;br /&gt;
•	1rst and 3rd party remote control&lt;br /&gt;
&lt;br /&gt;
•	Document security, manipulation is detected and displayed&lt;br /&gt;
&lt;br /&gt;
•	Browse last played records (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Browse marked records on this player (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Browse marked records in a system wide available directory (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Mark records on player and for system wide access (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Copy records marked in a player to the system wide available directory (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Write a central log for all player listening’s (build 1071) &lt;br /&gt;
&lt;br /&gt;
•	Work over http connections (build 1074)  &lt;br /&gt;
&lt;br /&gt;
•	Limit view to a list of extensions (build 1077)&lt;br /&gt;
&lt;br /&gt;
•	Play PCAP files (build 1134)&lt;br /&gt;
&lt;br /&gt;
•	Double password for unlocking (build 1134)&lt;br /&gt;
&lt;br /&gt;
== Scenarios ==&lt;br /&gt;
&lt;br /&gt;
If the recorded files are in a wave format and can be played with a normal Mediaplayer, the delivered Player allows additional features.&lt;br /&gt;
&lt;br /&gt;
The recorded records are stored in an indicated path and a copy of the records can be done automatically.&lt;br /&gt;
&lt;br /&gt;
Errors and events are stored in a log file and alarms tracked; a mail can be send if an alarm occurs. &lt;br /&gt;
&lt;br /&gt;
It is possible to limit the duration of the storing period; older files will be deleted automatically. This is to avoid disk full errors, keep in mind that this kind of systems usually works unattended all the time.&lt;br /&gt;
&lt;br /&gt;
The number of player and recorder is unlimited.&lt;br /&gt;
&lt;br /&gt;
=== Recording on a central point ===&lt;br /&gt;
&lt;br /&gt;
Recording is possible on each logical Gateway and therefore on external lines (ISDN, SIP or H323 Trunks). In theory “external” is just a convention, even internal calls passing through those gateways could be recorded, but this is more a theoretical issue. An innovaphone gateway can also be used as a “recording” bar and introduced between a legacy PBX and the PSTN. Remember anyway that the innovaphone PBX must be activated and the Reporting tool is required. &lt;br /&gt;
&lt;br /&gt;
Being recording defined on a logical Gateway opens different options, for example activate recoding just for a dedicated route. For example just for incoming calls or just for some outgoing calls. Typical examples for such a setup are business and private calls, where just business calls should be recorded. For example if a call is done using “0” as prefix recording is done, using “9” not. &lt;br /&gt;
&lt;br /&gt;
Or normally (“0”) no voice recording is done, but if a user access to a trunk with a particular prefix (“9”), recording is on. This for example is widely used in selling contracts by phone (like mobile phone carrier do); they call the customer and if the customer agrees in the commercial proposal to extend or to “sign” the contract they will call back the customer again using another prefix and record now the conversation. &lt;br /&gt;
&lt;br /&gt;
Recording rules can also be executed automatically because configured in the gateway setup. For example you can exclude certain user from recording or vice versa, doing recording just for some users.  For example all calls to the financial operators are recorded, all other calls not. Or all users are recorder but the management not.&lt;br /&gt;
&lt;br /&gt;
All that is a question of setup in then innovaphone gateway (and PBX) and not described in detail in this document, being standard features and described in many other articles (and being part of the advanced technical training).&lt;br /&gt;
&lt;br /&gt;
Please note that recording starts when a connection is established and terminates when the connection is terminated. That means that eventual waiting situations in waiting queues, music on hold sequences calls etc. are recorded too.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that each extension that should be recorded must be active in the reporting, means require a recording license. Even if you operate a soft migration you must go up in the PBX to a dummy user with reporting on and back again down to the relay.&lt;br /&gt;
&lt;br /&gt;
Notes:  Recording can be done just in G711A/G729/G722 on a logical gateway as endpoint. If you want record internal calls in this way calls must always transit a logical gateway (with the media relay flag on). &lt;br /&gt;
&lt;br /&gt;
=== Recording with the IP-Phone ===&lt;br /&gt;
&lt;br /&gt;
Recording can be done also directly from the innovaphone IP-Phone.&lt;br /&gt;
If switched on all calls from and to this phone are recorded, there are no recording rules. Calls could be stored in different files, because a new call means also a new file. If for example a phone put on hold a conversations and establish a second call this second call will be stored a an separate file.&lt;br /&gt;
&lt;br /&gt;
Doing voice recording using the IP-Phone or using a Gateway has advantages and disadvantages; it depends on your point of view and the scenario.&lt;br /&gt;
&lt;br /&gt;
Here some issues to remember: &lt;br /&gt;
&lt;br /&gt;
Recording on a gateway is like the old “ISDN Recording”: anything passing that interface is recorded. That has the advantage that any type of endpoint (IP, 3rt party, Dect, analog etc.) will be recorded. The disadvantage is that internal calls are not recorded. Also the CPU load of the PBX will rise while recording with an IP-Phone has nearly no influence. &lt;br /&gt;
&lt;br /&gt;
Recording directly from the Phone has the limitation that just innovaphone IP-Phone are able to doing that. Only innovaphone IP-Phones IP2x2, IP11x, IP241 and IP240A with bigger DRAM (http://wiki.innovaphone.com/index.php?title=Howto:Upgrade_IPxxxA_to_support_more_DRAM_Memory) can performing Voice Recording directly.&lt;br /&gt;
If you mix both setup in a scenario you should avoid that a Phone is doing recording and cross a gateway doing recording too. If that happen recording is done in two points and you double for nothing disk space and resources (and confuse everybody).&lt;br /&gt;
&lt;br /&gt;
In the V11r1 IP recording on the phone can just switched on or off in the setup, not from the user. In V11r2 recording can switched on and off by the user (similar to the 3party version). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: The recording described here does not require a phone 3 party conference; therefore a 3party conference is possible on the phone while Voice Recording 2014 is running.&lt;br /&gt;
&lt;br /&gt;
== Recording Modes ==&lt;br /&gt;
=== Standard Recording ===&lt;br /&gt;
&lt;br /&gt;
Operating in the “Standard Recording” (STD) mode recorded calls are converted and saved after the call has finished. &lt;br /&gt;
&lt;br /&gt;
Note: A recorder canoperate just in one mode (for example &amp;quot;Standard&amp;quot;). Mixed scenario are possible but require two or more recorders, the setup in this case has to be done very carefully.&lt;br /&gt;
&lt;br /&gt;
=== Thread Call Recording ===&lt;br /&gt;
&lt;br /&gt;
Operating in the “Thread Call Recording” (TCR) mode only marked calls are converted and saved, all other calls are deleted automatically.&lt;br /&gt;
&lt;br /&gt;
A call can be marked manually from the user or automatically from his innovaphone IP-Phone. A call can be marked during the call or after call, but within a defined time period (for example until 5 minutes after the call-end). Not marked calls are deleted while marked calls will contain the entire call, so from the beginning on (even if marking is done during or after the call).&lt;br /&gt;
&lt;br /&gt;
Marking calls during the conversation can be done only using innovaphone IP-Phones while all type of phones can mark a call after the conversation. To mark a call after a conversation the user must call a XML object.&lt;br /&gt;
&lt;br /&gt;
In a typical setup the user will hear a confirmation if he is marking a call, something like “the last conversation was recorded and will be saved” or similar. &lt;br /&gt;
&lt;br /&gt;
If marking is done using an innovaphone IP-Phone during the call (pressing the redial key) audio or no audio can be played. For example an automatic advice like “this conversation will be recorded” or similar can be played.&lt;br /&gt;
==== Setup TCR ====&lt;br /&gt;
&lt;br /&gt;
This paragraph discusses the different setups and aspects for Thread Call Recording. If you are not interested in those details skip it.&lt;br /&gt;
&lt;br /&gt;
TCR require a XML (TCRec.xml included in the software package of the Last call recording feature, see Related Articles, see Related Articles, go to the article and follow the download [http://download.innovaphone.com/ice/wiki-src#lcr http://download.innovaphone.com/ice/wiki-src#lcr] ), you have to create a sub-directory TCR in your PCAP recording directory and copy the xml in, create a VM-Object in the PBX and insert those parameters in the recorder setup (TCR panel). Example: Your PCAp directory is http://172.16.88.98/DRIVE/CF0/REC, therefore the directory create is is http://172.16.88.98/DRIVE/CF0/REC/TCR. The XML can be called directly or using the recording functions on the innovaphone phones. If called directly the xml will play the audio file Track1.g711a, if called through the recording function of the IP-Phone the file Track2.g711a. If the files are not present the user will hear nothing. A solution for the confirmation could also be to play just a “beep” if calling directly the xml. You could copy the beep.g711a file (for example from the VM) and rename it. A better option is record them using the universal track recording tool, see related articles at the end iof this page.&lt;br /&gt;
&lt;br /&gt;
Some additional information if you use the recoding function of the innovaphone IP-Phone:&lt;br /&gt;
Keep in mind that this function will not really recording the voice but just calling the XML (the recoding is done by the Gateway or the phone, but directly and not using this function). As explained the XML will play the file Track2.g711a if present, but to hear the announcement you have to use on your phone at least version 10.0887 or higher and switch on the flag “Two Way Media” in the Recording section of the phone setup. The rest is the usual one, if you setup “Mode=transparent” each call will flagged as “to record”, if Mode=manual you have to press the redial key to flag. No problem if the user presses more than one time the record key, just the actual call will be recorded. &lt;br /&gt;
&lt;br /&gt;
The xml itself will terminate after playing the Tack 1 or 2, delayed for 2 seconds. If the user press the redial key in this way he will see in the display of his IP-Phone appear “Recording” for 2 seconds and has a feedback (even if no tone is played) that the conversation is flagged to record.&lt;br /&gt;
&lt;br /&gt;
=== Random recording ===&lt;br /&gt;
The recorder can work in this mode also as an alternative to the Standard- or Threat call recording. Random recording will record just a sample of calls on normal Agents (User), typically for quality check purposes.&lt;br /&gt;
 &lt;br /&gt;
The system allows record just each x call where x can be set in the setup. The system can even record just each y call for an agent. Only “to recording” calls are counted, not calls in general. &lt;br /&gt;
&lt;br /&gt;
Example: “Record in System just each 3. Call”’: the system will store one record and then skip the following 2 one. &lt;br /&gt;
&lt;br /&gt;
Example: “Record for a Gent just each 2. Call”: for each agent one call will be recorded and one not.&lt;br /&gt;
&lt;br /&gt;
Both setups can be set isolated, but combined (3rd in system and 2nd for a agent) the system will first skip 2 calls and then for the specific agent skip each 2nd one. &lt;br /&gt;
&lt;br /&gt;
Calls typically are not foreseeable especially if they are more agent involved and therefore it is for a single agent a “random” recording.&lt;br /&gt;
&lt;br /&gt;
This feature requires build 1071 or higher.&lt;br /&gt;
&lt;br /&gt;
=== PCAP Recording (1134) ===&lt;br /&gt;
If switched on the recorder keeps the native PCAP file format. While encryption is possible also in this recording mode no down mix to mono or single cannel recording (just the internal caller) id possible, of cause MP3 can also not be switched on in this recording mode.&lt;br /&gt;
&lt;br /&gt;
Please note that this mode is mandatory if the recorder works as a service. A second recorder working in foreground can convert PCAP to wave or MP3 and also process the additional audio down mix. See relative articles.&lt;br /&gt;
&lt;br /&gt;
=== Manual/Transparent/Optional recording ===&lt;br /&gt;
&lt;br /&gt;
V11r2 (in the Phone) is required. &lt;br /&gt;
&lt;br /&gt;
If the recording is done using a innovaphone IP Phone there are 3 recording modes possible:&lt;br /&gt;
&lt;br /&gt;
- Manual: the user switch recording on/off using a Feature key&lt;br /&gt;
&lt;br /&gt;
- Transparent: recording is always on&lt;br /&gt;
&lt;br /&gt;
- Optional: recording is on by default but the user can switch it off using a feature key&lt;br /&gt;
&lt;br /&gt;
The manual and optional mode is widely used because the operator can switch on and off recording during a conversation. For example if the customer want to buy the operator starts recording and give the advice that from now on the recording is on (by the way: that can be played also automatically modifying the [[Howto:Last_Call_Recording|last call recording]]). Switching off recording is usefully also if for example during a conversation a secret info (like a password) is stated and should not be recorded ad all.&lt;br /&gt;
&lt;br /&gt;
The Recording link (url) to the Webdav or CF is defined in the user setup:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup08.png]]&lt;br /&gt;
&lt;br /&gt;
The mode is selected in the &amp;quot;recording&amp;quot; section: &lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup09.png]]&lt;br /&gt;
&lt;br /&gt;
Note: The recording described here does NOT require a phone 3 party conference; therefore a 3party conference is possible on the phone while recording is running.&lt;br /&gt;
&lt;br /&gt;
== SRTP ==&lt;br /&gt;
&lt;br /&gt;
Recording of encrypt conversation is possible, no particular setup is necessary, the system will decrypt automatically the media stream and store the conversation in unecnryptet  wave files for further processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Last Call Recording/Repeat ==&lt;br /&gt;
&lt;br /&gt;
See relative article. &lt;br /&gt;
&lt;br /&gt;
Do not confuse this feature with the Instant Play (rescue mode) feature of the innovaphone Player.&lt;br /&gt;
&lt;br /&gt;
== Working as a Fileserver for the Player ==&lt;br /&gt;
&lt;br /&gt;
In this operational mode the recorder will not record any file or communicate with the PBX or the reporting but just act a http Fileserver for the innovaphone Player. The application can run in this mode on the same PC than the one of the recording, in huge scenarios for better workload share it is better to separate the two applications. For more information see the article “Player over http”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Working as a PCAP converter ==&lt;br /&gt;
&lt;br /&gt;
The recorder can also keep the original pcap file format; this is mandatory if the recorder work as a service. The player is able to reproduce even files in PCAP file format. &lt;br /&gt;
&lt;br /&gt;
If a recorder works in PCAP recording mode no audio down mix to mono or single audio cannel is possible. Please note that encryption of PCAP can be done in the recorder.&lt;br /&gt;
&lt;br /&gt;
If the customer wants down mix features and/or wave or mp3 files a recorder can be started in converter foreground mode doing this. &lt;br /&gt;
&lt;br /&gt;
Similar to the Fileserver mode the recorder will not perform any recording task or communicate with PBX or reporting. Please note that the same application can work as a PCAP recorder and fileserver at the same time, the application has not to be started twice; in large scenarios for a better workload sharing anyway it is possible to start the two modes even on different PC´s.&lt;br /&gt;
&lt;br /&gt;
In this working mode the recorder scan periodically all sub directory of the storing directory and if a PCAP file is detected it will be converted to Wave or mp3 and the down mix options will be observed. &lt;br /&gt;
&lt;br /&gt;
If the original PCAP file is encrypted also the resulting wave or mp3 file will be encrypted. If the original PCAP file is not encrypted encryption is only done if the relative flag in the setup of the converter is switched on.&lt;br /&gt;
&lt;br /&gt;
The idea of the converter mode is that the application is always on; the recording service provide the PCAP files and performs all the other tasks like the communication with the PBX, the file copy from the CF/mSATA/Webdav, renaming, encryption, TCR etc. while the converter in a second step convert. Anyway it is also possible start the converter in a second moment; of cause if there are many files to convert it will require some time until all PCAP files are converted. Therefore a typical situation is that the converter runs always, but if this operation fails (or example after a restart of the PC where only the service will start automatically or a logout of the user) the missing work can be done in a second moment or form another PC.&lt;br /&gt;
&lt;br /&gt;
For the operation of the recorder as a service see relative article.&lt;br /&gt;
&lt;br /&gt;
== Command line arguments ==&lt;br /&gt;
The recorder application “innovaphone_Recorder.exe” can be started with command parameters. &lt;br /&gt;
&lt;br /&gt;
This option is only required if the application is started as a service (se relative article). &lt;br /&gt;
&lt;br /&gt;
The order of the parameter has neither influence nor eventual characters between.&lt;br /&gt;
&lt;br /&gt;
The Setup parameters itself are not case sensitive, but the value (the path itself) is case sensitive.&lt;br /&gt;
&lt;br /&gt;
 recpath=c:\abc  is equal to RECPATH=c:\abc  but not equal to &amp;lt;&amp;gt; RECPATH=c:\AbC&lt;br /&gt;
&lt;br /&gt;
Example for fine imputs: &lt;br /&gt;
&lt;br /&gt;
innovaphone_recorder.exe recpath=c:\myiqmdir\ setup&lt;br /&gt;
&lt;br /&gt;
innovaphone_recorder.exe /recpath=c:\myiqmdir\/setup&lt;br /&gt;
&lt;br /&gt;
innovaphone_recorder.exe recpath=c:\myiqmdir\ -setup&lt;br /&gt;
&lt;br /&gt;
The parameter  “Setup” forces the application to open just the setup. No timer or interfaces are started. An exit of the setup will terminate the program. &lt;br /&gt;
&lt;br /&gt;
The parameter “recpath” defines where the setup is stored.&lt;br /&gt;
&lt;br /&gt;
The parameter can be inserted in the cmd box (DOS like) or using a batch file. Please note that the cmd should be executed as administrator (windows 8: press the windows key, enter cmd and select pressing the right mouse key “execute as administrator”).&lt;br /&gt;
&lt;br /&gt;
A batch file can be created easy, open the editor and enter the command string, for example &lt;br /&gt;
&lt;br /&gt;
 innovaphone_recording.exe setup&lt;br /&gt;
&lt;br /&gt;
Now save the file as a batch file, for example RecordingSetup.bat in the directory where the Recorder is. If you click the file the application will start just showing the setup. &lt;br /&gt;
&lt;br /&gt;
Note also here that it could be necessary to start the batch file with the administrator rights. Of cause you can make a shortcut for example to the Desktop.&lt;br /&gt;
&lt;br /&gt;
If you start the recorder as a service it is also usefully being able to stop the service and start the recorder in foreground using the same setup, therefore just running in foreground, mainly for trouble shooting and maintenance reasons. &lt;br /&gt;
&lt;br /&gt;
Also in this case you can start the recorder in a command line indicating the setup path or create a bat file.&lt;br /&gt;
&lt;br /&gt;
If you have to start more recorder on one single PC (for example a recorder and a recorder as a fileserver) it will be also necessary indicate individual setup path using a command parameters.&lt;br /&gt;
&lt;br /&gt;
Also the batch files should be started with administrator rights. To start an batch file with admin rights a little trick must be applied. After writing your .bat file, create a shortcut and put it for example on your desktop. Now press the right mouse, select property and select “Advanced Properties”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The recording itself is done by the innovaphone gateway. In each logical gateway a recording path can be configured as a URL; that means that the voice will be recorded in a file, this file can be on a compact flash or on an external WebDAV server. The recorder application copy the recorded file, read out the reporting, combine both, and rename the file. The original file on the compact flash/WebDAV is deleted. The new filename is formed using date and time, caller and called user, direction of the call, the time to answer (ringing time) and the unique ID number.  The recorder converts the file from pcap to the wave format and stores the converted file in a directory. If requested a copy of this record can be saved in a second directory (for example a SAN or NAS disk area). A maximum number of storage time expressed in month can be defined, older files will be deleted automatically. In this way no disk space overflow will be in unattended systems. Parallel to the payload (the wave voice file) also a XML file containing the reporting data is created, the name of the file is the same than the one of the voce and just the extension is xml instead of wav. That is basically what the recorder is doing; copy and convert recorded files, retrieve data from the reporting, renaming of the files and copy them to different destinations as well as keeping track of history.&lt;br /&gt;
&lt;br /&gt;
The player allows searching and browsing of records, show the oldest or newest first, can filter the search etc. For example it can be displayed calls in any direction or just incoming or outgoing calls, or calls from a certain number or to a certain number, using even wildcards for quick filter options. See relative description for details. Once the calls a displayed they can be marked using windows usual methods (one, many, all, range, etc.). The marked files can be copy, past, deleted or played in a playlist. A record in the playlist can be marked and the player allows the usual operations of a windows media player. Looping and audio signal before playing the next record in the playlist is included as well as moving inside the playlist from one call to the other. If all that sounds complicated calm down, it is quite simple in using and designed for “users”.&lt;br /&gt;
&lt;br /&gt;
The player can even operate in a mode called “rescue mode” or “direct play mode”. If switched in this mode the latest record is always on top. This is a typical requirement for an emergency center operator, he is interested in replay the last or lasted recordings in a quick and simple mode.&lt;br /&gt;
&lt;br /&gt;
The player shows also the reporting details and generally the most important data of the conversation. If recorded files are copied also the relative reporting information is copied. &lt;br /&gt;
Many player can be installed and work in the same moment in a scenario, while the recorder typically is just one. So the recorder is a kind of server and the player a kind of client. More recorders can be installed in a scenario and if necessary a player can be installed on the same PC where a recorder is working. Being the recorder always on usually it will be installed on a dedicated machine doing just that located in the server room.&lt;br /&gt;
&lt;br /&gt;
But remember that the recording job is done as described by the gateway. So even if a recorder application is switched off voice recording is done. The idea anyway is not that the recorder is switched off and just sometimes switched on to retrieve the files. But if you must shut down the application or reboot or enter in setup, no data will lose.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the logical interfaces between the innovaphone voice recorder, the innovaphone player and the rest of the equipment.&lt;br /&gt;
&lt;br /&gt;
[[Image:Player07.png]]&lt;br /&gt;
&lt;br /&gt;
(*) = Option&lt;br /&gt;
&lt;br /&gt;
The player main data source is the disk where the records are stores. There could be active many player at the same time, and in theory also more than one recorder. One player could monitor just one recorder, but it is possible to start more player on the same PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation Step by Step==&lt;br /&gt;
&lt;br /&gt;
In this and many other wiki articles everything you need to install and operate the product is (hopefully) described. Partners some time have the problem that they could not find a logical flow in the description and the do not realize what is important and what interesting, but not essential. &lt;br /&gt;
&lt;br /&gt;
To help here a simple step by step instruction, all details and comments are in the other paragraph and, of course, in other articles. &lt;br /&gt;
&lt;br /&gt;
1.	Check the Software version of your PBX, it must be 10 or higher otherwise do an upgrade or forget this recording. Your PBX must be up and running and to test you need at least 2 Phones.&lt;br /&gt;
&lt;br /&gt;
2.	Check that you have a valid license for the recording, if not just a demo-mode is possible, after 20 minutes the recorder stop and you have to restart him again.&lt;br /&gt;
&lt;br /&gt;
3.	Your CF should be working fine, create a directory to buffer the pcap files (for example http://123.123.123.123/DRIVE/CF0/IF_REC). &lt;br /&gt;
&lt;br /&gt;
4.	Setup the recording gateway, see http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/System_Setup#Gateway_Setup . If you want to do a test with internal phones you have to assure that in call from one user to the other this gateway will be involved. Create for example a access code to this GW and flag Media-Relay. If you call this access code followed by the internal number ths should happen. Of course if you have a real trunk the you will do all that using the relative GW. At the end of the story your call must passing the recording gateway, check it; open you PBX interface, click on gateway and calls: you should see that the call goes through the recording GW. A pcap file will created at the CF directory indicated in the setup of the gateway (the same one you create in pass 3).&lt;br /&gt;
&lt;br /&gt;
5.	Start up the reporting (on a xx10 GW or IPVA), it must be up and working, you should be able to see the reports of the call done using the recording gateway.&lt;br /&gt;
&lt;br /&gt;
6.      Create SOAP user, a blank empty user object called SOAP (or _TAPI_ or _whatever_)&lt;br /&gt;
&lt;br /&gt;
7.	Create a root directory where the recorded files should be stores (for example “c:\mytest\” or “G:\myExternalDrive\”).&lt;br /&gt;
&lt;br /&gt;
8.	Start the application and open the setup.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
While the Recorder works “hidden” for the user, the Player has a huge user interface. The Player is typically installed on one or more PC of users. Therefore for the Player more effort to design a foolproof interface was done. The Player description is available, please check the relative section in the innovaphone Wiki.&lt;br /&gt;
Recorder and player applications are single executable file. The setup is stored in a xml file located in the same directory where the application is running; no registry entry is done; if you delete the directory where the recorder/player is in, the application is de-installed. If you like install on the same computer the recorder and the player application you have to create two different directories and copy the applications twice. Automatic execution is possible inserting in the auto start directory the recorder application.&lt;br /&gt;
&lt;br /&gt;
Please note that the setup file is in xml format, but his content is encrypted.&lt;br /&gt;
&lt;br /&gt;
The installation tool will copy all reqired files, if you install manually copping file note the following issues:&lt;br /&gt;
&lt;br /&gt;
If you install a recorder application manually you must copy the “pcap2wav.exe” utility in the same directory!&lt;br /&gt;
&lt;br /&gt;
Note: This utility “pcap2wav.exe” can be downloaded in the V7 application folder, access to a directory and download the “tools” Zip file; inside you will find the pcap2wav.exe. &lt;br /&gt;
The recorder is not a service because there is a full user interface available. To ensure that the recorder starts up even after a boot put the application in your autostart folder. In the setup an option to start up minimized is available.&lt;br /&gt;
&lt;br /&gt;
Before starting the recorder application check the following items on the recorder PC:&lt;br /&gt;
&lt;br /&gt;
*the directory where the recordings should be stored must be visible and it must be possible to create subdirectories, try using the file explorer&lt;br /&gt;
&lt;br /&gt;
*If backup is requested also a write access to the backup path must be possible (but it is not necessary to be able create subfolders).&lt;br /&gt;
&lt;br /&gt;
*Access to the reporting tool must be possible, use a browser to check&lt;br /&gt;
&lt;br /&gt;
*The access to the CF (or the WebDAV server) must be possible, try to map a drive and access to the directory where the pcap files are&lt;br /&gt;
&lt;br /&gt;
Do the setup the innovaphone PBX, the gateway and the reporting.&lt;br /&gt;
&lt;br /&gt;
See eventually also http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup for a better understanding of the requirements.&lt;br /&gt;
&lt;br /&gt;
If you do now a call which has to be recorded this call must be logged in the reporting tool and a pcap file must be created in the indicated url path. Go only ahead if that is up and running.&lt;br /&gt;
&lt;br /&gt;
Now start the recording software and open the setup and set the values. An online help will explain the single parameters. Maybe it is also a good idea reading first the rest of this article.&lt;br /&gt;
&lt;br /&gt;
The installation of the Player is similar just simpler. After installing start the application, enter the setup and that its. But it has no sense install or setup a Player without before having a working recorder.&lt;br /&gt;
 &lt;br /&gt;
On a single PC multiple Recorder and Player can be installed, simple install and run them on different directories.&lt;br /&gt;
&lt;br /&gt;
For installation as a service see relative article.&lt;br /&gt;
&lt;br /&gt;
=== CPU load ===&lt;br /&gt;
&lt;br /&gt;
The power of the innovaphone CPU on the different gateway models is high enough to ensure the recording of all ISDN cannels (or the same number of SIP/H323 Trunk) on that gateway. If recording is done on a CF the innovaphone PBX CPU will be involved also in the copy operation (if recording is done on an external WebDAV server no CPU load of the PBX for copy is required). After the copy operation no more CPU power of the PBX CPU is required. &lt;br /&gt;
&lt;br /&gt;
The reporting CPU (which is anyway the second core in case of a gateway or a separate CPU in case of VMware) has some small workload because the recorder checks each 5 seconds the reporting. &lt;br /&gt;
Using the player will cause no workload for PBX, reporting or recorder CPU, so just the local workstation CPU power is require. Therefore the number of player is practically insignificant for any CPU load. &lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
&lt;br /&gt;
Recorder and the Player applications write an individual error log, this log is a text file and stored in the same directory where the application is. See online help for file names and description of the other files used by this applications. &lt;br /&gt;
&lt;br /&gt;
The recorder can also write a trace file; if tracing option is switched on all operations of the recorder are logged in a file named “iREC_sys_log.txt”. Please not that this files become very large if the option is always on, and this file will not be deleted or resized automatically. The idea is not to keep on tracing all the time but to switch on the trace during the first period or in case of trouble checking.  &lt;br /&gt;
If enabled in the setup the player stores all special operations in a central log file. All copy, delete and move operations done using the player are in this way stored automatically in a central log file.&lt;br /&gt;
&lt;br /&gt;
A “user operational” log file is in a central point and unique for all players installed. Here all user manipulations done using the player applications are reported, so copy or delete is traced. This file is named “iREC_Player_log.txt” and located in the “\TMP” subdirectory of the root recording directory. In this way all operations of all Player-User are visible at a glance in one single file. &lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
The setup of the recorder and player is stored in an AES encrypted setup xml file. Therefore the user cannot manipulate or read out setup values. The access to the setup can be protected with a password. If a user deletes the setup file the software assumes that this is a new installation and allows access to the setup without password. If the user enters the correct path for the recording the software read out a centralized password and it is not possible to save the setup without that password. There is no way to read out or decode the password and this means that if you, as administrator, forget the password you have to clear the centralized password and the setup of the recorder and re-configure all. Try to avoid that situation and remember your password.&lt;br /&gt;
&lt;br /&gt;
The centralized password is in the located in the “\TMP” subdirectory of the root recording directory and named “SPlayer.xml”. It is also encrypted of cause.&lt;br /&gt;
&lt;br /&gt;
The Reporting xml data string is even encrypt. &lt;br /&gt;
&lt;br /&gt;
In the first column header of the player a looked/unlooked symbol is displayed showing the encrypt/clear file mode. If (using the player) a encrypt records is copied it will be automatically decrypt, while moving a file (cut and paste) will not change the original file mode. In this way a clear copy of a xml can be done from an authentic encrypted data string.&lt;br /&gt;
&lt;br /&gt;
=== Date ===&lt;br /&gt;
&lt;br /&gt;
As most application also the recorder requires a correct date and time. But also the PBX Date and time must be correct and the same as the one on the recording PC.&lt;br /&gt;
&lt;br /&gt;
Basically obviously, writing a file all file data should be correct, and also the CDR ticket data should. &lt;br /&gt;
&lt;br /&gt;
So verify that both, PBX and PC have always a correct and synchronized date and time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Voice Recorder operation ==&lt;br /&gt;
&lt;br /&gt;
As a normal application the recorder can operate in 3 layouts; minimized in the taskbar, viewing a small window or an extended panel. &lt;br /&gt;
&lt;br /&gt;
[[Image:RecE112B2.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between small and large view is done pressing the “&amp;gt;” key, press “_” for minimize.&lt;br /&gt;
&lt;br /&gt;
For operation as a service see relative article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Start up ===&lt;br /&gt;
&lt;br /&gt;
During start up the basic operational parameter are checked while the master alarm is disabled. The master alarm supervision is just switched on after about 20 seconds. This is necessary because sometimes network operation during start up fails, but becomes up in a second attempt. The sequence of testing is done by design and the software will not proceed in operation if a parameter fails but continuously try to fix it. &lt;br /&gt;
&lt;br /&gt;
This initial health check during start-up is done in the following order:&lt;br /&gt;
&lt;br /&gt;
*checking setup: try to understand if the setup parameters are reasonable.&lt;br /&gt;
&lt;br /&gt;
*checking reporting: pings the reporting, if ping is o.k. try to load a dummy page. If ping or dummy fails the “REPORTING” lamp is red, error message “Reporting Link failure” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking to access to the recording directory (url): try to read out the indicated path, if fails “PCAP” lamp is red, error message “PCAP directory access fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking if access to the storage path is possible: If reading fails the “DISK” lamp is red, error message “Store path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If in the setup no backup path is indicated this last task is skipped and the Backup lamp is grey. Otherwise the access to the path is tested, if access fails the “BACKUP” lamp is red, error message “Backup path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If a test is passed the relative lamp becomes green. If after start up 6 lamps are green (or 5 green and one grey) everything is working fine and the message “Normal Operation” is displayed in the System status line. &lt;br /&gt;
&lt;br /&gt;
After 20 second the Master alert supervision is switched to active, an eventual error causes a Master Alarm (see relative section).&lt;br /&gt;
&lt;br /&gt;
=== Normal operation ===&lt;br /&gt;
&lt;br /&gt;
The check counter shows you how many times the recorder reads out the recording directory and checks the reporting. As you see al 5 seconds a reading attempt is done, if data are found further processing operation will start. This counter goes automatically to 0 reaching 9999 and shows you that the software is working and checking but has no further signification.&lt;br /&gt;
&lt;br /&gt;
The counter “Channels in recording” shows you how many recordings are ongoing. The panel shows you the ID of each recording file and the initial recording time. In this way you can see how long a call is jet in recording. &lt;br /&gt;
&lt;br /&gt;
If the call ends it will disappear from the list. If there are more records then default lines a scroll down will automatically appear. &lt;br /&gt;
&lt;br /&gt;
If you click the innovaphone logo the software version is displayed. The version is also displayed in the headline of the setup.&lt;br /&gt;
&lt;br /&gt;
===Extended view ===&lt;br /&gt;
&lt;br /&gt;
If you enlarge the window with the “&amp;gt;” key two additional panels appears. &lt;br /&gt;
 &lt;br /&gt;
The left one shows the regular normal operations, the right one the errors and basic messages (like Start-up). The messages displayed of the error panel are stored automatically in an error log file while the messages of the status panel only file if that is enabled in setup. Both windows can be cleared pressing the relative button. This clearage is just an “optical” issue; no file is deleted or similar. Both windows shows up to 100 entries, if entry becomes too large a scrollbar appear automatically. If “full” the oldest message will be cleared. On top the error panel can also display the last 30 Error reading out the error file. &lt;br /&gt;
&lt;br /&gt;
Pressing the “&amp;lt;” key the windows will be resized again. &lt;br /&gt;
&lt;br /&gt;
There is no operational difference between the different layouts. The recording application starts always with the small window stile. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows two alarms, Reporting (because there where files without CDR records) and Software (because there was a license overflow).&lt;br /&gt;
&lt;br /&gt;
[[Image:RecXX.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
Open a separate window, see relative online help.&lt;br /&gt;
&lt;br /&gt;
http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup&lt;br /&gt;
&lt;br /&gt;
Note: during setup the recording timers are disabled, this means that no normal operation is done. For normal operation the setup must be terminated (with or without saving).&lt;br /&gt;
&lt;br /&gt;
=== Alarms ===&lt;br /&gt;
&lt;br /&gt;
[[Image:VR011.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
About 20 seconds after startup, and always during normal operation, alarms are detected from a particular master alarm routine. Some alarms are self-healing, others not. If an alarm occurs the relative source is switched from green to red, if an alarm disappears from red to green. You can simply test is, just shut down the reporting during operation and you will see that the reporting indicator becomes red. If you start up the reporting again the indication will switch automatically from red to green. &lt;br /&gt;
&lt;br /&gt;
An alarm master routine will control the system and summarize the alarms. On the left side there is an indicator “Master alarm” and two buttons, “RESET” and “OFF”.  While the alarms can toggle and appear and disappear, the master alarm once triggered will indicate that there was at least one serious error. The detail can be shown in the error log, but the point is that the master alarm shows you the correct operation in time and store the error event. &lt;br /&gt;
&lt;br /&gt;
With the “OFF” button the master alert can be switched manually off. If the master alarm is switched off the “OFF” button will blink red to indicate this exceptional situation. A manual switch off of the master alarm could be necessary during setup or test, or simply to avoid receive alarm emails being anyway in front of the application or similar. &lt;br /&gt;
&lt;br /&gt;
If the master alarm detect at least one error it will be switch on the Master Alarm status, the relative indicator will blink red, a warning triangle will appear and, if configured in the setup, and a warning email is send to the administrator. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR012.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The icon of the application in the taskbar is changed and a warning triangle appears on the recorder logo; also operating in minimized status the Master Alert situation is visible. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR013.png]] &lt;br /&gt;
&lt;br /&gt;
As explained the master alarm will not recover if an error disappears: to reset the master alarm the “RESET” button has to be clicked. Clicking the Reset Key the Master Alarm becomes again armed and will trigger again if an error is detected.&lt;br /&gt;
&lt;br /&gt;
The single errors are partly described in the startup section while the “SOFTWARE” indicator will go into alarm if there is an unexpected error in the software. While some errors are expected and supported and will not cause such an error (for example “no files” if you browse an empty directory) others are not (for example if the decoding of pcap file fails). So while some errors could be an exception (like the failing of file conversation) others could be persisting (like “disk full”) or are simply bugs.&lt;br /&gt;
&lt;br /&gt;
A particular expected, but not tolerable error is described in the next section.&lt;br /&gt;
&lt;br /&gt;
=== Reporting time out error ===&lt;br /&gt;
&lt;br /&gt;
Basically calls that should not be recorded should not be recorded even on the CF, this is desirable, but not always feasible. &lt;br /&gt;
&lt;br /&gt;
In normal operations the recorder is connected to the PBX with a SOAP link and can so detect when a call is finished and the party involved. If there is a PCAP file and a SOAP connection fine, because in the very first step anything is clear and the recorder can decide to save or to just delete the PCAP file. But there is also the possibility that the recorder starts up later and “found” PCAP files stored in the meantime. In this case there could be or even not any SOAP information, if the call terminated before the recorder starts there will no SOAP info. Therefore if PCAP files are detected without any SOAP indication the recorder ask the reporting if there is any record to that PCAP. If yes the processing will follow the normal way, stored or just deleted. But if the reporting has no data there are more possible reasons. CDR data or the reporting could be “late”, so maybe in a few seconds data are in and processed. Or the reporting was just temperately busy or offline, a good idea is wait and try later again. Exactly that the recorder is doing, from build 1070 on the number of trial can be set in a range from 5 to 9999, default value is 5. On earlier build this value was set fix to 1444. Arrived to zero the call is deleted. Deleting recorded calls not knowing about the party involved is critical and therefore the recorder is so carefully. &lt;br /&gt;
&lt;br /&gt;
The real problem is if in a system there are extensions creating PCAP files, but they did not produce CDR tickets / have no CDR license. In this case after a start-up each stored call will produce a PCAP file, the reporting query will fail and the recorder will try later again. To avoid large quantity of PCAP files and slow call processing switch on the reporting feature on each extension creating PCAP files. Or avoid that extension without a reporting creates PCAP files. &lt;br /&gt;
&lt;br /&gt;
Receiving an answer form the reporting the recorder understand immediately the involved parties and can delete the file if the caller was not an Agent or store it.&lt;br /&gt;
&lt;br /&gt;
=== Terminating ===&lt;br /&gt;
&lt;br /&gt;
If you try to stop the application a warning message appears, if you confirm the recorder application stops.&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
Voice files are stored a subdirectory of the indicated path in the recorder setup.&lt;br /&gt;
&lt;br /&gt;
The files are Wave stereo files where the left channel contains one speaker and the right channel the other one. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two working sub directories: the directory “/TMP” contains the central activity log file where the player applications will report their activities (“iRec_Player_Log.txt”). The second is the directory “/REC”, it is a working folder. Both folders are created automatically.  The recorder creates a subdirectory for each month, so for June 2013 for example a directory “2013_06” is created and all recorded files in that period will be stored there. Note that in the backup folder no subdirectory folder are created and therefore all files in the backup path are in the same folder. &lt;br /&gt;
&lt;br /&gt;
The recording files are always a couple, one file contains the audio (in wave format, can be reproduced using also standard audio player) and an xml file with the same name containing connection data. Both files are anyway independent and our player handles automatically a single wave file as well as the pair with additional detailed connection data.&lt;br /&gt;
&lt;br /&gt;
One goal of the recorder was to produce a wave file that contains all relevant data. &lt;br /&gt;
&lt;br /&gt;
The format of the name of the Wave file is the following:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Date and Time of conversation start&amp;quot; + &amp;quot;internal user&amp;quot; + &amp;quot;direction&amp;quot; + &amp;quot;external user&amp;quot; + &amp;quot;time to answer in seconds&amp;quot; + &amp;quot;serial number&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.wav”&lt;br /&gt;
&lt;br /&gt;
Date: 24.06.2013&lt;br /&gt;
&lt;br /&gt;
Time: 16:38&lt;br /&gt;
&lt;br /&gt;
Internal: 39&lt;br /&gt;
&lt;br /&gt;
Direction: o = outgoing&lt;br /&gt;
&lt;br /&gt;
External: 0800107&lt;br /&gt;
&lt;br /&gt;
Time to answer: 7 seconds&lt;br /&gt;
&lt;br /&gt;
Serial: 75c1f48e909d31188fc00903306225f&lt;br /&gt;
&lt;br /&gt;
The file “2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.xml” contains the reporting data of this call. &lt;br /&gt;
&lt;br /&gt;
Eventual notes are stored in a file named “2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.txt”.&lt;br /&gt;
&lt;br /&gt;
This file is AES encrypt, see relative chapter. If this file is copied with the innovaphone Player it will be automatically decrypt and becomes a standard XML file.&lt;br /&gt;
&lt;br /&gt;
The player retrieves the name of the wave file and displays the data from the xml file if present, otherwise at least the data inside the filename.&lt;br /&gt;
&lt;br /&gt;
If you like you can open the xml file even with an editor and see all the relevant data, much more then displayed using the player.&lt;br /&gt;
&lt;br /&gt;
The player shows also the duration of the call (the recoding) and other details. See relative description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Encryption==&lt;br /&gt;
&lt;br /&gt;
The setup files for player and recorder are encrypted, as fix key is used an innovaphone specific secret key. The notes are not encrypted while the reporting and security file (the .xml) is encrypted.&lt;br /&gt;
&lt;br /&gt;
So the reporting and security files are encrypted (those ending with “.xml”) using again as default the innovaphone system key. This default encryption key can be replaced with a customer specific key. In the in the setup of the recorder can be defined a customer key. The only reason to define a customer key is to avoid that other customer can decrypt the files, a remote and strange, but thinkable situation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is done in the Recorder also in all Players must be set this customer decrypt key. Be careful in handling that key, because if you forget the key you will lose all encrypted information. The Player can handle contemporaneously the default key and the specific key. There is no update procedure foreseen if you change the key.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
After 3 month of default operation you decide to insert a customer specific encryption key, for example “MySuperSecret007Key”. &lt;br /&gt;
&lt;br /&gt;
You modify also the Player and insert in the setup this new key. Now you will observe that all data, the one of the first 3 month and the following one, will be decrypt automatically correct; the user will see no difference. &lt;br /&gt;
&lt;br /&gt;
After other 5 Month you decide to return to the default key (leaving blank the key field again in recorder and player).  Anything is going well, all records are decrypted correctly. &lt;br /&gt;
&lt;br /&gt;
After other 2 Month you decide to enter a key named “MyBrandNewKey”, doing setup of recorder and player. You will observe now that the data of the month period 0 to 3 ,  5 to 7 and after Month 7 will be decrypt while Month 3 to 5 (the one with the old key) will be displayed without CDR data and status “unknown”.  &lt;br /&gt;
&lt;br /&gt;
Therefore think well about your key, basically once selected it should remain. If you have the list of all Keys you can of cause change it on the fly in a player and decode the records in the period. &lt;br /&gt;
&lt;br /&gt;
=== Audio encryption ===&lt;br /&gt;
The security system is based on AES encrypted xml data file. That file contains the CDR data but even the security parameter of the audio file. Therefore if an audio file is manipulated (changed in any way) that will be detected and show in the player (the “manipul” red label is on while off and the green “original” on if the audio file is the original one).&lt;br /&gt;
&lt;br /&gt;
That means that the audio file itself is not encrypted, some customers want reproducing the file even with other media player.  &lt;br /&gt;
&lt;br /&gt;
But there are also customer that have another view and are worried about for example that such an audio file once copied is no more controllable. Or they simply do not thrust that the security features described works fine. &lt;br /&gt;
&lt;br /&gt;
Therefore also the audio file itself can be AES encrypted if that option is switched on in the recorder. The player will detect automatically that an audio file is encrypted and reproduced it anyway.&lt;br /&gt;
Here how a player shows a detected Audio encryption:&lt;br /&gt;
&lt;br /&gt;
[[Image:SEC21.png]]&lt;br /&gt;
&lt;br /&gt;
Of cause an encrypted audio file can be reproduced just with the innovaphone player, no other media player will work. &lt;br /&gt;
&lt;br /&gt;
Please note that any innovaphone player can do the decryption, so if you want to assure that just “your” player can reproduce you have to define a customer decrypt key in the recorder (and player).&lt;br /&gt;
&lt;br /&gt;
The recorder shows switched on encryption in the main view (see picture above).&lt;br /&gt;
&lt;br /&gt;
Audio encryption has also disadvantages, recorder and player has more workload and require more disk space; in fact size of the audio files will double if encrypted!&lt;br /&gt;
&lt;br /&gt;
==Audio compression==&lt;br /&gt;
&lt;br /&gt;
=== Wave ===&lt;br /&gt;
As default the files are saved in the wave format. More precisely in G711 because wave is a container format and pure PCM would require near the double disk size than G711.&lt;br /&gt;
&lt;br /&gt;
=== PCAP (Build 1134) ===&lt;br /&gt;
&lt;br /&gt;
A recorder can save files also in the original PCAP format. As well as using wave or MP3 format encoding is supported also using PCAP files. A PCAP file require more or less the same disk space than wave recordings. Also the Player form Build 1134 on support PCAP file play.&lt;br /&gt;
&lt;br /&gt;
Note: If the recorder work as a service only PCAP Recording is possible. See relative article.&lt;br /&gt;
&lt;br /&gt;
Note: The Recorder can work also as PCAP to Wave or MP3 converter and/or http Player server. See relative articles.&lt;br /&gt;
&lt;br /&gt;
=== MP3 ===&lt;br /&gt;
&lt;br /&gt;
As an option a mp3 compression can be activated. The required disk size is about 75% less, so one minute in wave requires about 1Mb while the same data in mp3 will require 250kb.&lt;br /&gt;
&lt;br /&gt;
If you wonder why the savings are not much higher consider that even the wave format itself is jet compressed as explained.&lt;br /&gt;
&lt;br /&gt;
All other functions like encryption (an encrypted file size is again doubled, so one minute of mp3 audio encrypted requires about 500kb) or reproducing are the same, the user has nothing to do and the player works always in the same mode.&lt;br /&gt;
&lt;br /&gt;
There is just one situation where an action is required: if the recorder works for a certain period with wave and then with mp3 (or vice versa) in the directory of that month there will be mixed files (wave and mp3). The player detect this and shows automatically an additional key where the user must  switch between those two formats: if a directory has just one type of files no action is required and the button is hided.&lt;br /&gt;
&lt;br /&gt;
===MP3 Stereo to Mono conversion===&lt;br /&gt;
&lt;br /&gt;
If the MP3 option is on, files could also be converted form stereo to mono. The file size savings will be nearly 50%, so one minute conversation in mono MP3 requires about 130kB. &lt;br /&gt;
&lt;br /&gt;
Note that conversion from wav to mp3 causes quality lost and stereo to mono even. Once converted, there is no possibility to return to the original format in terms of quality or format. So a bad mono mp3 quality cannot be recovered and even the stereo separation of the cannels cannot be done once converted to mono.&lt;br /&gt;
&lt;br /&gt;
===MP3 just internal channel===&lt;br /&gt;
&lt;br /&gt;
An interesting option in using MP3 is to record just one channel, the left (default) or the right one. The result is a mono file (130kB/min) where just one party is recorded. &lt;br /&gt;
&lt;br /&gt;
If a GW point to an external trunk the internal user is always talking on the left channel. Therefore with this option on just the voice of the internal user is recorded, and doing that in many countries is simply allowed without any restrictions (basically I can record myself).&lt;br /&gt;
&lt;br /&gt;
If recording is done on the phone the channel assignment is vice-versa, the internal caller (the phone) is recorded always in the right channel. Therefore in the setup of the recorder can be selected which cannel should be recorded. That means also that no mixed scenarios (GW and Phone recording) are supported for that feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:SetupR01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
The recorder is able to handle redundancy scenarios with active and standby devices.&lt;br /&gt;
The recorder has to handle 3 sources in different scenarios, the PBX itself, the reporting and the CF or webdav server. Those devices can be all together in one single device (for example in an active IP6010 with reporting and CF and a standby IP6010 with reporting and CF) or on different devices (for example an active and a standby IP800 and two reporting on two different PCs). &lt;br /&gt;
Another example is active and standby PBX on Gateways but reporting on a high availability VMware environment, so at the end just one reporting from the recorder point of view.&lt;br /&gt;
&lt;br /&gt;
Therefore the standby can be defined for each of those devices.&lt;br /&gt;
If you have no redundancy scenario just leave blank the relative setup values.&lt;br /&gt;
&lt;br /&gt;
=== Active/Standby PBX ===&lt;br /&gt;
&lt;br /&gt;
The failure of the PBX is detected because the SOAP connection will go down. If that happen the recorder will try to establish an alternative link to the standby PBX, if that fails he try again with the primary PBX and so one. That means also that a breakdown of the SOPA connection, for example if you reset the PBX, will require some more seconds until the system is up again (because first the recorder try the standby PBX, this will also fail and after that the main SOAP will be up again). &lt;br /&gt;
&lt;br /&gt;
Note that after a restart the recorder try always the first the main address and then the standby one.&lt;br /&gt;
&lt;br /&gt;
In the panel of the recorder near the PBX status indicator is shown the actual link: if the “ACT” lamp is green than the active PBX is tempted, if gray and the “STB” lamp on the standby link is on.&lt;br /&gt;
&lt;br /&gt;
Please note that the recorder can handle differences in active and standby mode just regarding the IP address. All other parameter must be the same, so for example the path to the reporting must be the same.&lt;br /&gt;
&lt;br /&gt;
=== Active/Standby Reporting ===&lt;br /&gt;
&lt;br /&gt;
If the link to the reporting fails and there is a standby address indicated the recorder try to reach the reporting using the standby IP address for the reporting. If there is just one reporting leave the standby address blank.&lt;br /&gt;
&lt;br /&gt;
As you (hopefully) know the reporting can also be installed on two devices, in that case both PBX (the active and the standby one) will transmit CDR ticket to both reporting applications. The reporting database is replicated and therefore if both devices are on the recorder will find the same informations on each reporting. So in theory if both are on it is not important where the reports are requested. In fact if the active reporting fails the recorder will try a connection to the standby reporting. Now if the active device and relative reporting is on again the recorder could also continue get records from the standby reporting. And he will do that until he is restarted or the standby reporting is down because the reporting will answer. If that is not desired flag the option in the recorder setup (“follow Standby/Active PBX”); doing so the recorder will communicate again with the reporting on the active PBX if the active PBX is up again. So basically the switch is done on link down but also following the SOAP. &lt;br /&gt;
&lt;br /&gt;
=== Active/Standby CF/mSATA ===&lt;br /&gt;
&lt;br /&gt;
If the PCAP files are buffered on a CF/mSATA and the PBX goes down also the recorder has to re-map his drive to the standby PBX. In the setup there is a flag in the PCAP section (“follow Standby/Active PBX”), if on the recorder will try to reach the CF of the standby PBX (he takes the IP address of the standby PBX) in the setup.&lt;br /&gt;
&lt;br /&gt;
In scenarios where an external Webdav server is used that flag should not be switched on. The redundancy in that case is demanded to the external devices (for example VMware).&lt;br /&gt;
&lt;br /&gt;
So if you have a “classic” innovaphone redundancy (for example two IP6010 with reporting and CF) indicate the standby address in the PBX and Reporting panel and switch on the “follow Standby/Active PBX” in the reporting and PCAP panel and anything is fine.&lt;br /&gt;
&lt;br /&gt;
== External Applications == &lt;br /&gt;
&lt;br /&gt;
The recorder as well the player can be interfaced with external applications like booking or ticketing systems or similar.&lt;br /&gt;
&lt;br /&gt;
The basic idea is that the external application will share common information in his database with the recorder and pilot a player. The user should be able to play a recorder conversation directly from his application interface.&lt;br /&gt;
&lt;br /&gt;
In this chapter the interface is described. If you are not interested is such a feature you can skip this paragraph.&lt;br /&gt;
&lt;br /&gt;
This description is done for the software developer of the external applications. No particular setup for the recorder or player is described, part of other descriptions.&lt;br /&gt;
&lt;br /&gt;
For better understanding the description “hides” all other interfaces.&lt;br /&gt;
&lt;br /&gt;
The “recorder” is a software solution running on a Windows “server” (can also be a simple PC). In the network there will be one or several “players” able to reproducing the recorded conversations.&lt;br /&gt;
&lt;br /&gt;
Under “agent” in this description we understand operators working with the voice recording and using an external application.&lt;br /&gt;
&lt;br /&gt;
It is possible to have a TCP connection between player and recorder but this is not mandatory because the player just access to stored data and read out setup file in the network. The number of player has no limit while the number of player connected to the recorder via TCP is limited to 100. That means that the external application can control up to 100 “agents” trough the recorder. But it is also possible to control a player directly; in this case the remote control has no limit. &lt;br /&gt;
&lt;br /&gt;
Contact us if you have more than 100 agents with voice recording using an external application, we can easily extend this limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Principle and definition ===&lt;br /&gt;
&lt;br /&gt;
This is the described scenario:&lt;br /&gt;
&lt;br /&gt;
Recorder communicates with Player 1, Player 2 … Player x&lt;br /&gt;
&lt;br /&gt;
The Application server communicates with the Application Client 1,  2, … xx&lt;br /&gt;
&lt;br /&gt;
This description regards the TCP/IP interface in the following picture, the only one to build new from the application point of view.&lt;br /&gt;
&lt;br /&gt;
[[Image:Layout02.png]] &lt;br /&gt;
&lt;br /&gt;
Going on in the description as “Appclient” is intended the User frontend (“Application on terminal x” in the picture). &lt;br /&gt;
&lt;br /&gt;
“AppServer” is called the server of the application (Application Server in the picture), so the server for the ticketing or booking system or whatever.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that just one AppServer can communicate with the Recorder while even each Player can be called even directly from the Appserver or an AppClient. Do not confuse: There are two ways to interface the voice recording system, via TCP and via URL. The smarter and better way is the TCP one. We describe both, read both because in the second section some concepts described in the first one are not repeated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TCP/IP Interfacing === &lt;br /&gt;
&lt;br /&gt;
This is the preferred and smart way to realize the interface.&lt;br /&gt;
All messages and command goes to one single interface as shown in the picture. The Appserver act as a TCP/IP “Master” and will receive from the recorder messages and can send commands to the single Players trough the recorder. So it is a 3rt Party interface, piloting single player using one single IP address. The “play” command for a certain player is send to the recorder (and not to the relative player).&lt;br /&gt;
&lt;br /&gt;
If for example a AppClient wants that the Player starts reproducing a record the command flow will be:&lt;br /&gt;
&lt;br /&gt;
AppClientX press the play key -&amp;gt;  AppServer send command to the -&amp;gt; Recorder -&amp;gt; Recorder send a command to -&amp;gt; PlayerX&lt;br /&gt;
&lt;br /&gt;
So the idea is that in the applications is a “Play” and a “Stop” button; if the agent press this button the recording relative to the displayed database record will start to play, pressing stop the play will stop. &lt;br /&gt;
Therefore the applications database must contain the record name.&lt;br /&gt;
&lt;br /&gt;
The problem is that the entire information about the record is available just a certain time period after the call end. In most of the cases the application session is terminated or a new one started. Therefore the link is provided in two times.&lt;br /&gt;
&lt;br /&gt;
When voice recording starts, the recorder will send a first record to the AppServer in the following format:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!FRST!&amp;lt;Extension Number of the Agent&amp;gt;!&amp;lt;UID&amp;gt;!&amp;lt;Agentname&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;FRST&amp;gt; = indicate that this is the first (of two records)&lt;br /&gt;
&lt;br /&gt;
Extension Number = the Phone number of the Agent&lt;br /&gt;
&lt;br /&gt;
&amp;lt;UID&amp;gt; = a unique ID of the record&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Agentname&amp;gt; =  the CN (common name) of the Agent in the PBX&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!FRST!24!c03a55c2e909d311b6450090331b3e3b!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;“24”&#039;&#039; is the extension number of the agent, &#039;&#039;“c03a55c2e909d311b6450090331b3e3b”&#039;&#039; is the unique “serial number” of the record and &#039;&#039;“Rossi”&#039;&#039; the name of the agent.&lt;br /&gt;
&lt;br /&gt;
Just the filed &#039;&#039;“!FRST!”&#039;&#039; has a fix length, all the others not; the single field therefore has to be separated searching the “!”.&lt;br /&gt;
&lt;br /&gt;
At this point the applications probably store this information (number, ID and Name) in his database or buffer this info until the Agent has his client ready or similar. Important is that the database record of the application is linked to the record UID. &lt;br /&gt;
&lt;br /&gt;
Basically it is necessary for later data processing that the application server knows the name of the player (in our example “Rossi”). The simplest way to do that is giving the extension in the PBX the right common name (the same name than the application user name). If that is not possible (for example because the application has other items to identify a user) the application has to hold a cross reference table: application user name 1 = recording user name 1 etc. Consider also that not necessarily a record is played only on the player of a certain agent; recording for agent 1 can be required to be played on work station agent 2. &lt;br /&gt;
&lt;br /&gt;
When a call has terminated, the record converted, saved etc. (means, ready to be played) a second record is transmitted from the recording server to the AppServer:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!LAST!&amp;lt;Extension Number of the Agent&amp;gt;!&amp;lt;UID&amp;gt;!&amp;lt;Track&amp;gt;!&amp;lt;Agentname&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Track&amp;gt; = Name of the recorded file, to transmit later to the recorder to play.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!LAST!24!93adee5ee909d311b6450090331b3e3b!2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You see that the UID is in again and on the same position; even the extension number and name is repeated. In this way the application can easily search the UID in his database (and the name and/or the number) and when found complete the record entry with the record name (in the example &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;). &lt;br /&gt;
You see the UID is also part of the record name and in theory the original “stand alone” UID in the application database is no longer required. Therefore a overwriting of the UID field in the application database with the record name is possible. &lt;br /&gt;
&lt;br /&gt;
Note: In the actual version a reverse search is not implemented (that the player told the application to display a record). If implemented in the future the search string will be the entire record name and not just the UID, therefore the stand alone UID has no further sense from the voice recording point of view. &lt;br /&gt;
&lt;br /&gt;
From the timing point of view the first message is critical because the UID has to be written until the Agent has opened his application record and that can be even a short time. &lt;br /&gt;
&lt;br /&gt;
The last string is not very time critical because the retrieving of a record and a update can be done in every moment.&lt;br /&gt;
&lt;br /&gt;
The recorder software has a small send buffer (about 25 recordings) where the messages will be buffered if the AppServer is not reachable or the link is down or. If for example the AppServer is switched off and later on again, the recorder will send to the AppServer the FRST and LAST messages buffered during downtime. The Buffer is a Fifo (first in first out) but not an Overflow-Fifo; if full not the oldest but simply all newer messages are lost. The buffering is done just to buffer short time periods, for example to allow a restart of the AppServer PC without losing information (but not for a “offline” operation). &lt;br /&gt;
&lt;br /&gt;
In the application software design should also be considered the possibility that the AppServer receives a First record, is then stopped, and receives the second one after the restart. &lt;br /&gt;
&lt;br /&gt;
That’s all regarding the recording part, now we discuss the remote control of the player. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember that a name can be assigned to a player, for external applications that is mandatory. The name can be defined in the player setup; a good idea to simplify the scenario is to give the player the common name of the phone. So in our example we will name the player of the agent “Rossi” just “Rossi”. Not a must of cause, you can call the player of Rossi even “myFirstAgent” or “1234”; but in doing so the external application must store a table where “Rossi” is mapped to “myFirstAgent”. To avoid such complication we suggest unifying the names and assigning to the phone user, Player name and application user in the same one.&lt;br /&gt;
&lt;br /&gt;
To force a certain player to reproduce a certain recording the AppSever has to transmit to the recorder the following command string:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TRAC!&amp;lt;PN&amp;gt;!&amp;lt;Track&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PN&amp;gt;=player name&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TRAC!Rossi!2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Player with the name “Rossi” will start playing the record &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There are not foreseen any error messages, if for example the player will not find the record or is switched off nothing will be transmitted to the AppServer. In case of record not found on the Player a blank result will indicate the fail. If the recorder start reproducing a record a green “RC” label (for Remote Control) near the play symbol shows that a remote control message and not a manual play key press has started the reproduction.&lt;br /&gt;
&lt;br /&gt;
There are available also other commands:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;STOP&#039;&#039; (Stops the actual play)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;EJEC&#039;&#039; (the actual record is unloaded, the player stops)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PAUS&#039;&#039; (the actual record is paused)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PLAY&#039;&#039; (the actual record is played again)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;EJEC!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Will force the player Rossi to stop the reproduction of the track and go in an idle mode.&lt;br /&gt;
&lt;br /&gt;
Generally it is not necessary that the AppServer takes care about the actual Player status or observe command flows. If the Player is for example playing a track and the application server send the command to play another track he will Eject the actual track and play the desired one. &lt;br /&gt;
&lt;br /&gt;
Note also that the player can work minimized in the taskbar and play “invisible”, so the user will see just the application. In the setup of the player can also be defined an automatic popup if a remote play is received and automatic hiding if an eject-command is received. If this is enabled in this way the player is minimized in the taskbar and the user works just with the application screen. &lt;br /&gt;
&lt;br /&gt;
The TCP/IP link between recorder and AppServer is based on the fact that the recorder acts as a slave while the AppServer act as a Server. In the Setup of the recorder the IPadress and the port of the AppServer has to be indicated. The recorder expects on the same port where he is transmitting the response from the AppServer.&lt;br /&gt;
&lt;br /&gt;
The recording server performs a keep alive with an interval settable in seconds. The keep alive message send from the recorder to the AppServer each xx seconds is:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;RecKA&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The message has no further meaning and can be thrown away from the AppServer. If any command is received from the Appserver the keep alive will be skipped and repeated after the, in the recorder setup indicated timespan. Unknown messages form the application server will be throw away from the recorder server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== URL Interfacing ===&lt;br /&gt;
&lt;br /&gt;
URL interfacing is available only on a local port (127.0.0.1) and used for interfacing with the reporting (see relative article). The following description is just for internal use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPLTRAC&amp;gt;&amp;lt;PN&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are also available the commands&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLPLAY&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLSTOP&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLEJECT&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLPAUS&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLTRAC2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
will force the player to reproduce the indicated record &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Basically the interface of the player is anyway a TCP/IP interface and no mini Webserver is integrated. But a “Get” from an browser will be detected and decoded, but no answer occurs. That means if you try to launch a command with a browser it will work, but the browser will show you “no page”. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If you post in your browser “&#039;&#039;http://127.0.0.1:9090/IPLPLAY&#039;&#039;“, the player will start to play the marked record.  &lt;br /&gt;
&lt;br /&gt;
If a port for direct remote control is switched on a “RC on” label is displayed in the player status line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== General Note ===&lt;br /&gt;
&lt;br /&gt;
The first UID will be detected form the recording using the SOAP interface in the PBX. Therefore all Agents has to be in the same group that the SOAP user object.&lt;br /&gt;
&lt;br /&gt;
Example: You have a simple user object called “MYSOAP”, put that object in an active group called “Recording” and now put all you Agents in the same group.&lt;br /&gt;
&lt;br /&gt;
Remember that basically recording is done even without the group stuff. So the group is just required to detect the UID in “advanced”. But there is also an additional benefit; the reporting has less stress because the recorder will query the reporting just at the end of the call (knowing via SOAP when the “end” is) while calls without the group are detected as “finished” because the reporting has a valid CDR record, and so the recorder polls each 4 second the reporting on active calls. That means that it is in any case a good idea put the agents in a group, even if no external application is running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recording rules ==&lt;br /&gt;
&lt;br /&gt;
The recording rules describe how the innovaphone PBX and the innovaphone voice recorder works in complex situations.&lt;br /&gt;
&lt;br /&gt;
While basic calls are simple and strait forward in logic, voice recording behavior becomes non clear in complex situations. &lt;br /&gt;
&lt;br /&gt;
What about voice recording if for example a recorded user transfers the call to a “normal” user? Answer: This call will be entirely recorded and booked under the recording user by design; those behaviors are intended under “recording rules”.&lt;br /&gt;
From a technical point of view mostly no other solution is possible, form a political point of view any rule could be endless discussed. &lt;br /&gt;
&lt;br /&gt;
Remember that in this chapter “Agent” is just the wording for “user enabled to recording with license” while “user” is a “normal” user, eventually even recording pcap files, but he is not in the recording user group. &lt;br /&gt;
&lt;br /&gt;
In theory senseless recording should not be done. So deleting a record because it should not be stored is a task of the recorder; not recording at all if not necessary is better. That can be achieved avoiding or forcing extensions to the recording gateways or doing recoding directly from the IP-Phone.&lt;br /&gt;
&lt;br /&gt;
The length (or contend) of a record depends; if the recording is done on a GW the entire call will be recorded (if not you will find a note in the rules), from his very first answer to the end. Therefore all the parties involved are even recorded. If recording is done on the phone level just the active call time on that phone will be recorded.&lt;br /&gt;
&lt;br /&gt;
Generally spoken there are not necessary recording rules if the recording is done from the  innovaphone IP-Phone: the recording starts when the phone answer the call and ends when the phone hangs up. &lt;br /&gt;
&lt;br /&gt;
So the following table shows the recording rules if recording is done on a GW level.&lt;br /&gt;
&lt;br /&gt;
“External” is the external calling or called party. Of cause if you record even internals calls (forcing all calls in a GW) in some situation the “External” is in reality a internal user, but this will not change the rules. The recorder recognizes the “external” party involved simply because it is the longest number involved. &lt;br /&gt;
&lt;br /&gt;
The recorder stores always even the reporting data and therefore all details are visible in case of doubts. The audio filename anyway if formed just from the internal user number and the external user number even if more numbers are involved in the call (for example in a 3party conference).&lt;br /&gt;
&lt;br /&gt;
Example: External call from number 012345 goes to the Agent number 24, after 3 second he will answer: the result will be a file name like “2014-05-12 14:00_24_i_012345_3_UID”.&lt;br /&gt;
&lt;br /&gt;
Later on in the player you can search “24” or “012345” (or a fraction of it like “0123*” ecc.). In the reporting you can search also all other fields (like other involved extensions) and start the player than from the reporting (see relative function in the innovaphone player).&lt;br /&gt;
&lt;br /&gt;
Note: the following rules works on any type of call transfer (with or without announcement).&lt;br /&gt;
&lt;br /&gt;
“Delete” means that the call will be deleted on the CF. “Call” means that they talk. For example “Agent calls External” indicated the direction and means also that the involved parties talk (or at least produce a pcap file).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent = Agent &lt;br /&gt;
  &lt;br /&gt;
•	External call to User = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent, User pick-up the call = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to User, Agent pick-up the call = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to broadcast group, Agent answer = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to broadcast group, User answer = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External call to User, User hold and transfer to Agent = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent A hold and transfer to Agent B = Agent A&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent B pick up the call = Agent A&lt;br /&gt;
&lt;br /&gt;
•	External call to WQ, WQ call XML with DTMF input, XML call WQ, WQ call Agent = Agent (just the external Number is considered, not the DTMF codes and numbers between)&lt;br /&gt;
&lt;br /&gt;
•	Agent call External = Agent &lt;br /&gt;
&lt;br /&gt;
•	Agent call External, Agent hold and call transfer to User = Agent&lt;br /&gt;
&lt;br /&gt;
•	Agent call User, User hold and transfer to External = Deleted&lt;br /&gt;
&lt;br /&gt;
•	Agent call External, Agent hold and talk with User but no call transfer = Agent (just external conversation is recorded)&lt;br /&gt;
&lt;br /&gt;
•	Agent A call External, Agent A hold and transfer to Agent B = Agent A&lt;br /&gt;
&lt;br /&gt;
•	Agent B call External, Agent B hold and transfer to Agent A = Agent B&lt;br /&gt;
&lt;br /&gt;
•	User call to Agent, Agent hold and transfer to External = Agent&lt;br /&gt;
&lt;br /&gt;
•	User call External, User hold and transfer to Agent = Agent&lt;br /&gt;
&lt;br /&gt;
•	User call External = Deleted&lt;br /&gt;
&lt;br /&gt;
•	User call External, User hold and talking with Agent but no call transfer = Deleted&lt;br /&gt;
&lt;br /&gt;
•	User call Agent, Agent hold and Agent talk with External = Agent (just the external conversation is recorded)&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent, Agent has activated a unconditional call forward (CFU) to a User = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent, Agent has activated a call forward on busy (CFB) to a User and is busy = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent, Agent has activated a call forward on no response (CFNR) to a User, User answer after timeout = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent A has activated a unconditional call forward (CFU) to Agent B = Agent B&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent A, Agent A has activated a call forward on busy (CFB) to Agent B and is busy = Agent B&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent A, Agent A has activated a call forward on no response (CFNR) to Agent B, Agent B answer after timeout = Agent A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: If Threat call recording is on a call can be marked to store from the calling or called agent. But if both parties are Agent, the called Agent has to dial the code for storing: if the caller dials the code the record will not be saved.&lt;br /&gt;
&lt;br /&gt;
From version 11 on the generated pcap file have a different format. While in former versions the name of a pcap file was a unique single long number form version 11r1 on the ticket as two additional id, one is build form the serial number of the device and the other one if an increasing number. This new format is also generated when recording is done form directly the phone. The recorder can handle both formats automatically, no special setup is required.&lt;br /&gt;
 &lt;br /&gt;
We want to focus your attention on the reason of the new format. If for example the recording is done on the phone the phone will generate a new pcap file each time a new call is opened form the PBX point of view. &lt;br /&gt;
&lt;br /&gt;
Example: Phone rings and the user answers, the recording starts with record 1. Then the user put the call on hold and call another extension, this generates record number 2. Then the phone returns to the first call and continuous talking that will be the 3td call. Of cause using the player you will see those 3 calls one after the other (using the user as filter). That this is one situation you recognize looking the reporting details displayed and if you select the 3 calls the player will play one after the other (switch on the loop key) and you listen the entire call in one shoot. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TAN ==&lt;br /&gt;
&lt;br /&gt;
Build 1167&lt;br /&gt;
&lt;br /&gt;
TAN stand for “Transaction authentication number” used mainly in electronic banking and is a 6 digit long number. Of cause also other applications could use numbers like ticket systems or project handling. &lt;br /&gt;
&lt;br /&gt;
In voice recording a record should be assigned to a TAN and a filter (search) should be possible. The actual integrated function work exclusive with a 6 digit number. &lt;br /&gt;
&lt;br /&gt;
Please note that also a automatic association is possible as described in the relative chapter in this document: in this case all TAN issues are handled by the 3rt party application while this feature works without 3rt party application. &lt;br /&gt;
&lt;br /&gt;
The operation depends of the Recording Mode in the innovaphone IP-phone.&lt;br /&gt;
&lt;br /&gt;
If the Recording Mode in the IP-phone is switched on to “transparent” or “off” during a conversation the agent press the redial key. &lt;br /&gt;
&lt;br /&gt;
If the Recording Mode in the phone is switched to “manual” or “optional” during a conversation the agent press a feature key (Redirect).&lt;br /&gt;
&lt;br /&gt;
Than the agent enter the prefix for the TAN feature (the prefix for the TAN feature depends of the setup, see installation) and the 6 digit TAN code (without * and #) of this conversation.&lt;br /&gt;
&lt;br /&gt;
During that operation the agent is in conversation with the far party, no DTMF tones are transmitted. In any moment (but during the conversation, not after) the Agent press the redial button to store the number. His phone release and ring again, during that the far party hear a call control tone. If the agent picks up the receiver the connection is again established. Therefore it is good practice to inform the far party that he will be shortly disconnected for operational reasons. &lt;br /&gt;
&lt;br /&gt;
The call can be terminated now in any moment normally, the TAN information will be in the record and also in the reporting. The Recorder has not to be online in that moment because all information about the TAN is in the reporting.&lt;br /&gt;
&lt;br /&gt;
A record can be edited in any moment using the player (if relative permission is switched on in the setup). A TAN can be edited (for example because erroneous operation in the online operation) and to any record can be added a TAN number. Please note that once a TAN number was add to the record the number can be modified but not cancel. Best practice is to assign “000000” as TAN for “no TAN records”. Please note that the option to add TAN to records and filter for TAN can be used also without the recorder just using the player.&lt;br /&gt;
In the player a filter for TAN can be activated and combined with any other filter. To filter enter the 6 digit TAN code and press enter. To reset the filter clear at least one digit and press enter.&lt;br /&gt;
&lt;br /&gt;
[[Image:TAN02.png]]&lt;br /&gt;
&lt;br /&gt;
In the record name the TAN is at the end of the filename, starting with a “T”.&lt;br /&gt;
&lt;br /&gt;
The TAN feature is designed to work with innovaphone IP-Phones. The feature works also if a player-server is installed (http access to records). The feature is integrated in the reporting, therefore a player could be controlled directly as usual also from the reporting.&lt;br /&gt;
&lt;br /&gt;
The feature works in the same way regardless if the Agent was called or has called a customer.&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
In the Setup of the Agent, Tab “permission” the “TAN” checkmark enables the player to search and modify TAN numbers. If that checkmark is on the main view of the player shows automatically the relative optional window with tooltip support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:TAN01.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To enable the online input during the conversation there are more setups required. Copy the xml “TAN.xml” on the CF/msata/webdav and create a VM object pointing on it. The number of this object will be the “TAN prefix”. Open the Recorder setup, tab “PBX” and enter the TAN prefix.&lt;br /&gt;
&lt;br /&gt;
TCR require a XML (TAN.xml included in the software package of the Last call recording feature, see Related Articles, see Related Articles, go to the article and follow the download [http://download.innovaphone.com/ice/wiki-src#lcr http://download.innovaphone.com/ice/wiki-src#lcr] ).&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
===Open a ticket===&lt;br /&gt;
&lt;br /&gt;
If you have a problem with the recording tool you have to open a ticket as usual. Describe your problem, but send us also the following information:&lt;br /&gt;
&lt;br /&gt;
- Setup of your PBX (with standard password or tell us the password)&lt;br /&gt;
&lt;br /&gt;
- Version of the reporting &lt;br /&gt;
&lt;br /&gt;
- Attach all log and error files and the setup of the recorder. All those files are in the log folder (so zip the entire folder), you find the path and link to the folder in the recorder setup.&lt;br /&gt;
&lt;br /&gt;
- Make some screenshots if possible.&lt;br /&gt;
&lt;br /&gt;
- Open the reporting and do a query where the recorded conversations are in (if possible). Do an export in XML and attached it.&lt;br /&gt;
&lt;br /&gt;
=== No CDR ticket after start-up ===&lt;br /&gt;
&lt;br /&gt;
If a record is not found on the CF and there is no SOAP info about that (for example if you start the recording and there are old terminated calls) the recording checks if the reporting has a related record. If a record is found and it is an Agent involved the record is stored as usual, if no Agent is involved the record will be deleted. &lt;br /&gt;
&lt;br /&gt;
But if there is a recording file found and in the recording there is no related record, the recorder cold simply deletes that record; but this could be fatal. For example the reporting could answer once bad, or the link between the reporting and the PBX is temporary down; in that cases the recording will be lost if simply deleted. Therefore the recorder waits in this situation and asks the reporting again after 2 hours. If even after 2 hours the reporting answer with no record found the file will be deleted (otherwise normally processed and stored or deleted as described before). &lt;br /&gt;
&lt;br /&gt;
Note that the reporting is not aware about the health of the connection between PBX and the Reporting. If the recorder gets no answer from the reporting an alarm occurs and the reporting will not proceed with the storage. But the answer “no record found” is not a clear situation for the software. Therefor this situation has to be avoided and occurs for example if pcaps are recorded, but the users involved have no reporting while the recorder is down and starts up later. So the recorder will “find” pcap files but no reporting information.&lt;br /&gt;
&lt;br /&gt;
During online operation this will not happen, because the SOAP driver will tell the recorder that a specific record has to be deleted, and so the recorder will not check the reporting. This is done even to speed up the recorder because the communication with the reporting is relatively slow. If for example there are many users doing a recording (because a bad setup or simply because a huge PBX) and there are only few users to record a huge amount of files are simply to delete without any further processing. Deleting of files is relatively fast during online operation while in case of startup and then recover historic records it becomes slow, and very slow if there are no CDR tickets. The online deleting of files is just “relatively fast” because the SOAP is very fast but the recorded file has to be closed before deleting. Trying to delete a not closed file will cause an error, if that happen the system after e while will recover, but it is not nice. On top there is no way on a CF to understand if a file is in use or not. Therefore the system will wait 2 seconds before deleting a file.&lt;br /&gt;
&lt;br /&gt;
=== No CDR ticket online ===&lt;br /&gt;
&lt;br /&gt;
There is even an unclear situation in online operation. Imagine that an Agent transmits no CDR information to the reporting (for example because there is no reporting license assigned to that user) or, because of a bad setup in the PBX, the ticket will not arrive to the reporting. A call of an Agent is terminated, the SOAP driver informs the upper layer of the software about that and now the recording ask the reporting about the CDR details. Note that the reporting is not down; the recorder can reach the reporting and get also answers (otherwise the REP alarm would be on).  If after a detected call end of an Agent signaled by SOAP and a timeout of 5 seconds no CDR is in the reporting a garbage select routine is activated in the recorder software; this routine ask a second time after other 5 seconds the reporting. If even now the response is “no record found” the reporting waits for this call 2 hours. After 2 hours a third time the reporting is asked, if no record is found the pcap is deleted, otherwise normal processed.&lt;br /&gt;
&lt;br /&gt;
If a record is waiting in the 2 hours timeout status in the field “status” the countdown proceed is shown, for example “P1443”, after 5 seconds “P1442” and so one (number*5/60 = time in minutes to zero).&lt;br /&gt;
&lt;br /&gt;
To fix it just stop the recording, solve the problem if possible (if you are lucky for example the CDR data are in the PBX buffer and will be send to the reporting when connection is up again), if not save the Pcap file, at least it will not be deleted. Then delete the pcap file on the CF to avoid a slowdown of the entire system.&lt;br /&gt;
&lt;br /&gt;
A simple but good idea is to enable the CDR on the recording trunk line, in this case “some information” for the call is retrieved all time and at least the system will not face that problem.&lt;br /&gt;
&lt;br /&gt;
All described can be the result of a bad or erroneous setup, or the customer is aware of that and simply not interested in a good working application. So a “no record” answer could be a real alarm or not. Therefore in the setup that can be selected. &lt;br /&gt;
&lt;br /&gt;
See recording setup, panel reporting, option “Alarm if no CDR ticket found”.&lt;br /&gt;
&lt;br /&gt;
=== Asynchronous reporting/PBX date and time ===&lt;br /&gt;
&lt;br /&gt;
PBX and reporting must have the same date and time. If not, the reporting will detect that and display error and warning messages about a possible manipulation in the files. &lt;br /&gt;
&lt;br /&gt;
So check first the actual date and time of PBX and reporting. &lt;br /&gt;
&lt;br /&gt;
IPVA: Remember that date can be set in the reporting in administration, General, Configure NTP server.&lt;br /&gt;
&lt;br /&gt;
===Voice Recorder Window is truncated===&lt;br /&gt;
&lt;br /&gt;
It could happen that the Voice Recorder Window is truncated. The reason for this is the screen resolution setting in windows. To solve the problem, the screen resolution adaptation must be switched off (set to 100%) in windows system settings.&lt;br /&gt;
&lt;br /&gt;
=== Player Crash on start-up===&lt;br /&gt;
&lt;br /&gt;
If the player won’t start try first play a wave file using the Windows media Player.  If the Windows Media Player cannot reproduce the wave file (for example because there is no audio device or the audio device is not ready) the player will not start up. Fix first the PC problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Recorder stopped responding after the start ===&lt;br /&gt;
&lt;br /&gt;
We have had reports that recording did not run on windows 2008 r2. Symptoms were: recorder stopped responding after the start (recorder hang) and the link to the PBX was down. This had been fixed by running sfc.exe.&lt;br /&gt;
&lt;br /&gt;
=== PBX Trap ===&lt;br /&gt;
&lt;br /&gt;
If the PBX is doing a restart during a recording no CDR record will be produced. Therefore the partial PCAP File will be dropped. If the trap of the PBX is during a file copy from the Webdav, the recorder try up to 5 minutes, but will recover the operation automatically after that time.&lt;br /&gt;
&lt;br /&gt;
===Recorder stopped converting records into mp3===&lt;br /&gt;
It can happen that the Recorder do not convert any record into mp3, event if the mp3 driver are detected and the mp3 conversion is on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;quot;()&amp;quot;,&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Player_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Last_Call_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Universal_Track_Recording_Tool]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Integration_reporting_and_voice_recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Soft-migration_%28looping_in_a_innovaphone_gateway%29_and_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Player_over_http]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Marking_a_record_in_Voicerecording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Voice_Recording_in_Master_Slave_scenarios]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Recorder_as_a_service]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Player_Voice_Recording&amp;diff=48569</id>
		<title>Reference10:Player Voice Recording</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Player_Voice_Recording&amp;diff=48569"/>
		<updated>2017-11-30T13:16:32Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Note */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a layout of the innovaphone voice recording Player Build 1135. &lt;br /&gt;
&lt;br /&gt;
The figures in the descriptions maybe slightly different, but the functions are equal.&lt;br /&gt;
&lt;br /&gt;
Note that this help shows all options enabled, your setup could hide some functions&lt;br /&gt;
&lt;br /&gt;
The innovaphone voice recording software is intended for professional use.&lt;br /&gt;
&lt;br /&gt;
It is presumed that the solution is operated only by trained personnel. Setup and servicing is reserved to skilled technicians.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the 3 main sections of the innovaphone player.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_01_01.png]]&lt;br /&gt;
&lt;br /&gt;
In the entire solution tooltips gives you additional information and hints. During a play the volume slider for the left and right channel shows the number of the relative participants.&lt;br /&gt;
&lt;br /&gt;
All sections and items are described further on.&lt;br /&gt;
&lt;br /&gt;
== Views ==&lt;br /&gt;
&lt;br /&gt;
The Player functions can be limited in the setup, the following picture shows a player with all options switched off in the player setup, note the difference to the picture above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_02.png]]&lt;br /&gt;
&lt;br /&gt;
The user can also minimize views clicking on the relative sliders:&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_03.png]]&lt;br /&gt;
&lt;br /&gt;
The following picture shows some possible views:&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_04.png]]&lt;br /&gt;
&lt;br /&gt;
The player stores automatically the user setup and views when stopped. At the next start you will see the previous view mode, filter and audio settings etc.&lt;br /&gt;
&lt;br /&gt;
The player works also if minimized in the taskbar. A typical example is the remote control of the player directly from the reporting. &lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_05.png]]&lt;br /&gt;
&lt;br /&gt;
If a CDR ticket has a voice record a play symbol is displayed, and as tooltip the basic player elements (play/pause/stop) appears.&lt;br /&gt;
A click on those elements controls the player even if minimized. &lt;br /&gt;
&lt;br /&gt;
==Headline==&lt;br /&gt;
&lt;br /&gt;
The following picture shows the headline elements described from left to right.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_06.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;lock&#039;&#039;&#039; symbol is only shown if the player has one or two User password. A click in the icon will lock the player; the result is shown in the picture, the user interface is “closed”. If the player is locked a click on the lock symbol will open on the left side of the headline an input box for the password. If there are two passwords defined in the setup after the first one the second one has to be entered (4 eyes principle).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;setup&#039;&#039;&#039; icon opens a menu, the options “Beep at end” and “Transcription” will be shown only if enabled in the setup. If the option “Beep at end” is switched on (the icon has a border like in the left menu shown) the PC reproduce a ”beep” at the end of the reproduction of a track if the repeat play function is switched on. Particularly usefully if more tracks are played from a playlist. See player section for mor einformation.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;transcription&#039;&#039;&#039; feature can be switched on and off, the relative window and control elements on the player will appear. This feature is described further on. &lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;&#039;setup&#039;&#039;&#039; is protected by a password you must enter the password on the left side of the headline to access.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;help&#039;&#039;&#039; Button will open online this document, the &#039;&#039;&#039;about&#039;&#039;&#039; shows software and build information.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;minimized&#039;&#039;&#039; button puts the Player in the taskbar.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;exit&#039;&#039;&#039; button will show a dialog box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Records=&lt;br /&gt;
In the record section you can search and view records, select and play, decrypt, copy, cut and delete them and add notes.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_15.png]]&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_07.png]]&lt;br /&gt;
&lt;br /&gt;
The records in the selected &#039;&#039;&#039;Year&#039;&#039;&#039; and Month will be displayed in the &#039;&#039;&#039;actual&#039;&#039;&#039; record list. &lt;br /&gt;
Note the colour of the list stack; in the picture it is orange, that indicates active and so the list will immediately act when you switch on for example a filter or change the Year/month. In some cases that is not usefully, for example if there are many records it could be better set first all the parameter and then push a query. A click to the Actual button will switch off the online display and the stack will have a grey colour, to display again the actual status press again the actual button.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;last played&#039;&#039;&#039; button shows the list of the last played records. The number of entry can be limited in the setup (max. 99).&lt;br /&gt;
 &lt;br /&gt;
There are two types of &#039;&#039;&#039;favourite&#039;&#039;&#039; lists: a &#039;&#039;&#039;global&#039;&#039;&#039; one, visible from all players and a personal one (“my”), visible just on this specific player. During reproduction of a track you can mark a record in one or both favourite list. Typically there are records that should be listen again or for example be shared with other player.&lt;br /&gt;
&lt;br /&gt;
If there is a &#039;&#039;&#039;backup&#039;&#039;&#039; drive defined the player will browse records from there. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;last record&#039;&#039;&#039; view or “SOS” mode switch off all filter and simply shows the latest records first. Such mode is typically for emergency applications where a quick access to the last records is important.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Media player&#039;&#039;&#039; switches off the recording issues and you can select a searching path, the audio files in there are displayed and can be reproduced.&lt;br /&gt;
&lt;br /&gt;
== Filter ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_08.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Day&#039;&#039;&#039; filter limit the list view to the record of one day, blank = all days in the source month.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;internal&#039;&#039;&#039; number limits the list to calls to/from a specific internal extension, on the left audio cannel and left column of the list view. In the setup this filter can be set to a fix value, in this mode the player shows just calls from a specific number, typically the “own” calls. It is also possible set a list of numbers, if that is switched on the extension can be selected form a list displayed automatically. A typical application is a team leader that should be able to view just the calls of his team members. &lt;br /&gt;
&lt;br /&gt;
The internal number must match exactly; if for example there is the number 361 and 362 the filter 36 will show no results. Wildcards are possible, for example 3* will show all numbers beginning with 3, 3?6 all numbers from 306 to 396.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;external&#039;&#039;&#039; number is the one the right cannel/ right column. External numbers have not to match exactly; therefore for example 36 has the same effect than 36*, 0703?730 again shows all numbers from 07030730* to 07039730*. &lt;br /&gt;
&lt;br /&gt;
Calls can be filtered by direction to display &#039;&#039;&#039;incoming&#039;&#039;&#039; or &#039;&#039;&#039;outgoing&#039;&#039;&#039; calls, if a direction filter is selected the relative symbol will be displayed in orange.&lt;br /&gt;
&lt;br /&gt;
If in a directory there are file in different formats the relative filter will appear automatically. Typically this will not happen because the recorder record in just one format. But if for example during a month the format is switched to on other one the filter criteria appear automatically. In normal situation no format is shown, even if you switch from a month with a specific format to a different one the player will change automatically the search mode. &lt;br /&gt;
&lt;br /&gt;
== Convert Pcap to Wave == &lt;br /&gt;
&lt;br /&gt;
Build 1157&lt;br /&gt;
&lt;br /&gt;
Player is able to convert pcap files to wave files if the source pcap files are not encrypted.&lt;br /&gt;
&lt;br /&gt;
If pcap files are displayed a covert button appears automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;order&#039;&#039;&#039; button switch the list order, form the newest to the oldest or vice versa.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;direction&#039;&#039;&#039; shows if A called B or vice versa.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;record status&#039;&#039;&#039; indicates if the marked record is the original one. Please not that this feature work just in normal recording modes, for example not in pcap recording. Anyway the integrity of a record can be granted if the record is encoded by the recorder. The player will show if a record is encoded or not.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;record count&#039;&#039;&#039; shows the number of records in the list considering the filter parameter.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_09.png]]&lt;br /&gt;
&lt;br /&gt;
Each records shows &#039;&#039;&#039;Date and Time&#039;&#039;&#039; (start time), the &#039;&#039;&#039;internal and external&#039;&#039;&#039; parties and the call direction. The &#039;&#039;&#039;file size&#039;&#039;&#039; in kB is just displayed if the player access to the filesystem (not if working with an http Player Server).&lt;br /&gt;
&lt;br /&gt;
In the example one record is &#039;&#039;&#039;marked&#039;&#039;&#039; (blue), to mark a record just click on it. It is possible to mark multiple records using the Microsoft marking directives; Shift + click = from the marked record to the one indicated, Ctrl + click to mark single records. &lt;br /&gt;
&lt;br /&gt;
Once a record is marked you can open the &#039;&#039;&#039;file operations&#039;&#039;&#039; list clicking the right mouse button. These options can be limited in the setup of the player, so do not wonder if no list appears at all. Please note also that some operations are only possible if a connection to the recorder is up. This is usefully because the recorder will update the reporting if for example a record is deleted. &lt;br /&gt;
&lt;br /&gt;
A double click on a single record will start the player and the record will be reproduced. If more records are selected all marked records will be stored in a playlist and reproduced one after the other. See player section for more details.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;info&#039;&#039;&#039; button toggles the list view and display the real filename.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_10.png]]&lt;br /&gt;
&lt;br /&gt;
Observe that the filename contains jet some important information: date and time, internal number, direction, external number, ringing time in seconds, a unique number and the file format.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
If the details view is open notes are displayed automatically when a record is selected. If enabled in the setup you can add or modify notes, just put the cursor in the notes files and write your note. &lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_16.png]]&lt;br /&gt;
&lt;br /&gt;
Save the note clicking on the icon situated on the left side of the text field.&lt;br /&gt;
&lt;br /&gt;
Remark:&lt;br /&gt;
It is not possible to add a Note to a record if a TAN has already been assign to it.&lt;br /&gt;
The &amp;quot;no note possible&amp;quot; text will be displayed on the Note text field if you select that record.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
If enabled call details records of the call are displayed automatically when e record is selected. The information of the displayed CDR is the same than the one in the reporting, so the exact call flow is shown. This information is always encrypted and stored independently. Please note that in the recorder this feature can be switched off and therefor no details are shown. &lt;br /&gt;
&lt;br /&gt;
= Audio=&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_13_01.png]]&lt;br /&gt;
&lt;br /&gt;
== Counter ==&lt;br /&gt;
&lt;br /&gt;
The upper part shows the track position counters in 1/10 second precision. Please note that the counter will jump to the relative values if the position in the record is changed manually (see player section).&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;historic timestamp&#039;&#039;&#039; shows the historic timestamp. In the example the playing reproduce the conversation recorder at 9:55 AM and 41 seconds. This counter will only be visible if the information is present (present in the CDR ticket), for example not if a normal audio file is played. &lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;countdown&#039;&#039;&#039; shows the missing time to the end of the record, in the example missing 14 second to the end of the record.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;cuntup&#039;&#039;&#039; is a traditional track time counter, in the example one second was reproduced up to now.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_11.png]]&lt;br /&gt;
&lt;br /&gt;
== Volume and Metering ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;volume&#039;&#039;&#039; of the left and right channel can be modified, that is usefully because typically the internal caller is much louder than the external (far) one. Therefore there is a volume slider for the right and left audio level and a general volume slider. Please note that the volume of this application is done on application level, and therefore the general audio level of the PC is not modified. In this way the application can be adapted to other audio sources.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;level&#039;&#039;&#039; of left, right and general is displayed, this values are the volumes send to the PC audio device (as explained, the real level depend on the general volume set on the PC). &lt;br /&gt;
&lt;br /&gt;
Clicking on the loudspeaker icon the single channels and the overall audio output can be &#039;&#039;&#039;muted&#039;&#039;&#039;. If a single channel is muted and then unmuted, the restored volume is the one before muting. &lt;br /&gt;
&lt;br /&gt;
A click to the &#039;&#039;&#039;max volume&#039;&#039;&#039; label will bring all slider to 100%. &lt;br /&gt;
&lt;br /&gt;
The audio level setup can also be stored pressing the &#039;&#039;&#039;store my Volume&#039;&#039;&#039; icon label; pressing the label the stored setup is switched on. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The audio meter bridge shows also the &#039;&#039;&#039;channel difference&#039;&#039;&#039; with two delta level indicators, left channel minus the right channel and vice versa. &lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_12.png]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;double sensitivity&#039;&#039;&#039; button allows displaying better very low audio levels. Please note that in telephony the audio level is about 60% lower than the usually PC audio level. &lt;br /&gt;
&lt;br /&gt;
The two buttons for &#039;&#039;&#039;meter dynamic&#039;&#039;&#039; responses switch the meter display from integration to peak indication. &lt;br /&gt;
&lt;br /&gt;
In the example a peak is shown, the meter bridge shows and clears &#039;&#039;&#039;peak values&#039;&#039;&#039; automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Player =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_14.png]]&lt;br /&gt;
&lt;br /&gt;
== Information ==&lt;br /&gt;
&lt;br /&gt;
The Information panel shows some information of the actual in the player loaded record, basically the information stored inside the name of the record itself; the track (extension) &#039;&#039;&#039;number&#039;&#039;&#039; of the two participant, the left (typically internal) and the right (typically external) and the &#039;&#039;&#039;call direction&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_17.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example the extension 24 calls the number 5736. The &#039;&#039;&#039;ringing time&#039;&#039;&#039; shows in seconds the time to answer. The player analysed the file format and eventual &#039;&#039;&#039;encryption&#039;&#039;&#039; before playing. If a reproduced record is encrypted the relative symbol appear automatically. The &#039;&#039;&#039;Record ID&#039;&#039;&#039; is the unique number of this recording.&lt;br /&gt;
&lt;br /&gt;
The slider &#039;&#039;&#039;audio features&#039;&#039;&#039; opens the memory recorder feature.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_18.png]]&lt;br /&gt;
&lt;br /&gt;
The recorder can store up to 4 “from” – “to” positions in a record and play one or all positions. This is useful if in a long recorded conversation should be retrieved or repeated some portions. The player stores automatically that memory entry and if in a second time this record is loaded again the timestamps are displayed automatically. &lt;br /&gt;
&lt;br /&gt;
To mark a position select a &#039;&#039;&#039;memory position&#039;&#039;&#039;, starting with the first if all are blank. In the example the sleeted active button is M2. Press at the desired moment the &#039;&#039;&#039;“from”&#039;&#039;&#039; key to fix the start point and the &#039;&#039;&#039;“to”&#039;&#039;&#039; key to indicate the stop point. This can be done as described for 4 positions. In the example the first memory start at 49 seconds an terminated at 1 minute and 17 second. &lt;br /&gt;
&lt;br /&gt;
A active memory position (M2 in the example) can be deleted using the delete memory icon.&lt;br /&gt;
&lt;br /&gt;
A memory position can be played, select the memory position and press the &#039;&#039;&#039;play memory&#039;&#039;&#039; button.  Now the player will reproduce in a loop this partial track. If key play memory is pressed again the player go on playing the entire track. &lt;br /&gt;
&lt;br /&gt;
If there are more memory positions like in our example the &#039;&#039;&#039;memory looping&#039;&#039;&#039; can be pressed, if active one memory position after the other will be reproduced. In our example first form 00:49 to 1:47, that form 3:12 to 3:23 and then again from 0:49 to 1:17 an do so one.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Slider information&#039;&#039;&#039; closed this panel.&lt;br /&gt;
&lt;br /&gt;
== Position ==&lt;br /&gt;
&lt;br /&gt;
The slider can be dragged to any position, once dropped the player will continue playing at the new position and also the counters will following in real time the movements.&lt;br /&gt;
&lt;br /&gt;
A click on the position slider causes a jump to the new position.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_19.png]]&lt;br /&gt;
&lt;br /&gt;
Once loaded the historic &#039;&#039;&#039;start and stop time&#039;&#039;&#039; is displayed as well the &#039;&#039;&#039;date&#039;&#039;&#039; of the recording. &#039;&#039;&#039;Duration&#039;&#039;&#039; is displayed; remember that the counter in the audio section displays in real time the &#039;&#039;&#039;actual position&#039;&#039;&#039;. You can see the approximate actual position also in the position slider. &lt;br /&gt;
&lt;br /&gt;
== Operation ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Play&#039;&#039;&#039; key toggles with the &#039;&#039;&#039;Pause&#039;&#039;&#039; function if in play mode.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Stop&#039;&#039;&#039; key stops the player, unlike using the Pause function if now play is pressed the player starts again from the beginning.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Eject&#039;&#039;&#039; key unload the record form the player and enabled again the search section.&lt;br /&gt;
&lt;br /&gt;
If one track is loaded in the player and the previous key is pressed the player reproduce the previous track in the list of records, the same mechanism applies the next key, next track in file list will be played.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_20.png]]&lt;br /&gt;
&lt;br /&gt;
In the file list more records can be marked, if in this situation play is pressed all the selected records are stored in a &#039;&#039;&#039;playlist&#039;&#039;&#039; an reproduced one after the other (max. 99 tracks). The Playlist counters are shown automatically if more than one track is loaded. The &#039;&#039;&#039;Actual rack&#039;&#039;&#039; counter shows the track actual in play, the &#039;&#039;&#039;Total track&#039;&#039;&#039; counter how many track are in the playlist. In the example track 2 of 5 is in play. &lt;br /&gt;
&lt;br /&gt;
During a loaded playlist the previous and next key will jump to the previous and next track in the playlist.&lt;br /&gt;
&lt;br /&gt;
A click on the actual track during the reproduction of a playlist will stop the player, clear the playlist but hold the actual record that could be started again. This is useful if in searching a record the record is found and should be now further processed. If in the setup the feature “beep at end” is switched on the PC will beep between each record of the playlist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
If the &#039;&#039;&#039;repeat play&#039;&#039;&#039; feature is switched on like in the example the player loop the record. If switched off (symbol is in grey colour) reached the end of the track the player stops. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_21.png]]&lt;br /&gt;
&lt;br /&gt;
The actual record can marked as favourite: if marked as &#039;&#039;&#039;global favourite&#039;&#039;&#039; all player in a system will see these records in the global favourite list. Tracks marked as &#039;&#039;&#039;favourite&#039;&#039;&#039; (“my”) are visible just by this player.&lt;br /&gt;
&lt;br /&gt;
A loaded record can be &#039;&#039;&#039;export&#039;&#039;&#039;ed, the audio file will be automatically encoded if encrypted, the encrypted XML file will be encoded.&lt;br /&gt;
&lt;br /&gt;
If the player is controlled from &#039;&#039;&#039;remote&#039;&#039;&#039;, typically from the reporting, a advising is switched on.&lt;br /&gt;
&lt;br /&gt;
==Recorder==&lt;br /&gt;
&lt;br /&gt;
The recorder can be supervised and controlled from remote. See relative description in the article for recorder as a service. The information in this chapter is just for document completeness.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_22.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channel in use&#039;&#039;&#039; shows how many recording are actually in use. If a recording is detected the status icon shows turning recoding wheels. &#039;&#039;&#039;Files recorded&#039;&#039;&#039; are the number of files recorded from the beginning on. &lt;br /&gt;
&#039;&#039;&#039;Files to process&#039;&#039;&#039; are files detected but not jet converted or in converting. The &#039;&#039;&#039;file converting&#039;&#039;&#039; icon is green during file audio processing while grey during other recorder operation. The &#039;&#039;&#039;Heartbeat&#039;&#039;&#039; will flash during inactivity of all other process to signal active recorder status. The &#039;&#039;&#039;Stop recorder&#039;&#039;&#039; icon allows to stop the recorder from remote.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Transcription ==&lt;br /&gt;
&lt;br /&gt;
The transcription tool is used if a transcription of the conversation (for example on a Word document) is required.&lt;br /&gt;
&lt;br /&gt;
The Autostop function will stop the player automatically each time the actual not talking party volume threshold is reached.&lt;br /&gt;
&lt;br /&gt;
Once activated a second small window allows a remote control of the player. This window is hold in foreground while the player is not. Typically the word document is open and the small pilot window is on top. In our example the small window is dragged over the player to show the relation between the commands.&lt;br /&gt;
&lt;br /&gt;
[[Image:P1035_23.png]]&lt;br /&gt;
&lt;br /&gt;
If one channel reaches the Autostop trigger level the player stops automatically and start again pressing the play button. The Trigger cannel causing the stop is indicated as well the number speaking on the left and right channel.&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=48550</id>
		<title>Reference12r1:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=48550"/>
		<updated>2017-11-27T11:45:47Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* What Can I Do In Case Of Boot-Problem: &amp;#039;&amp;#039;perf-counter not enabled!&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept12r1|{{PAGENAME}}]]&lt;br /&gt;
&amp;lt;!--ipva virtual virtuell va--&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V12r1 SR7&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation &lt;br /&gt;
**Player &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.x-6.x&lt;br /&gt;
**ESXi 6.0&lt;br /&gt;
*For support of Hyper-V, refer to this [[Concept_IPVA_On_Hyper-V|article]].&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
;ipva-ovf.zip:&lt;br /&gt;
The compressed archive &#039;&#039;ipva-ovf.zip&#039;&#039; contains the file ipva.ova. A virtual machine according to the &#039;&#039;&#039;O&#039;&#039;&#039;pen &#039;&#039;&#039;V&#039;&#039;&#039;irtualization &#039;&#039;&#039;F&#039;&#039;&#039;ormat specification. A deployment of ipva.ova will result in a set of 5 files - the file names may differ from the following list:&lt;br /&gt;
*ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
*hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**On IDE 0:0&lt;br /&gt;
*hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**On IDE 0:1&lt;br /&gt;
*hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**On IDE 1:0&lt;br /&gt;
*hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
**On IDE 1:1&lt;br /&gt;
&lt;br /&gt;
;ipva.bin:&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
;ipva-vmx.zip:&lt;br /&gt;
A legacy zip file containing the IPVA according to a VMware proprietary format.&lt;br /&gt;
&lt;br /&gt;
===VMware Player And VMware Workstation===&lt;br /&gt;
*Copy the file ipva.ova to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.ova.&lt;br /&gt;
**The IPVA is going to be imported.&lt;br /&gt;
*Edit the file ipva.vmx according to [[#What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]&lt;br /&gt;
**&#039;&#039;&#039;Note&#039;&#039;&#039;: Skipping this configuration setting will let the IPVA crash&lt;br /&gt;
*Power-on the machine&lt;br /&gt;
&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
*Import ipva.ova by means of &#039;&#039;&#039;File/Deploy OVF-Template...&#039;&#039;&#039; (de: &#039;&#039;&#039;Datei/OFV-Vorlage bereitstellen...&#039;&#039;&#039;) and follow instructions.&lt;br /&gt;
*Edit the file ipva.vmx according to [[#What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]&lt;br /&gt;
**&#039;&#039;&#039;Note&#039;&#039;&#039;: Skipping this configuration step will let the IPVA crash&lt;br /&gt;
*Power-on the machine&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
* v12r1: https://download.innovaphone.com/ice/12r1/#firmware&lt;br /&gt;
* v12r2: https://download.innovaphone.com/ice/12r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Customer who are running Fw v12r1 (up to sr6) with ESXi 6.0 and VEEAM 9 reported that after a backup with VEEAM 9, the restored IPVA was not starting. &lt;br /&gt;
At this point, there is no possibility to solve this problem. The only workaround in that case is to delete the machine, reinstall a new one, and restore a configuration saved before.&lt;br /&gt;
&lt;br /&gt;
If you did not run into the problem yet, for prevention, we recommend to replace the Boot disk of your working IPVA.vmx with one of the IPVA.ova. Please follow the steps below (be aware that this will upgrade the firmware on the IPVA to 12r2, due to the fact that actually, IPVA.ova is only available from version 12r2):&lt;br /&gt;
&lt;br /&gt;
1. Remove the Boot disk of the virtual machine (vmx)(is normaly the first one).&amp;lt;br&amp;gt;&lt;br /&gt;
* Power off the VM&lt;br /&gt;
* Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Remove&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;OK&#039;&#039; to save your changes.&lt;br /&gt;
&lt;br /&gt;
2. Add the Boot disk of the ova virtual machine to the vmx one.&lt;br /&gt;
* Identify the size of the boot disk of the ova virtual machine (will be needed on the step when navigating to boot disk)&lt;br /&gt;
* On the powered off VM, Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Add&#039;&#039;.&lt;br /&gt;
* Select Use “an existing virtual disk” then click &#039;&#039;Next&#039;&#039;.&lt;br /&gt;
* Navigate to the boot disk of the ova Virtual machine then click &#039;&#039;next&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;Finish&#039;&#039;.&lt;br /&gt;
Now the vmx virtual machine should have the Fw version 12r2.&lt;br /&gt;
&lt;br /&gt;
The .ova version will be available also in V12r1 sr7&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
=== IPVA on ESX 6.5 ===&lt;br /&gt;
We have reports that the IPVA does not run properly on ESX 6.5.  The IPVA boots up properly but the clock does not run.  Running the .ova based variation available in v12r2 fixed the issue or edit the file ipva.vmx according to [[#What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
=== Administration: Avoid &#039;reboot&#039; Command. Use &#039;reset&#039; Command ===&lt;br /&gt;
Alwas use the &#039;reset&#039; command to restart an IPVA. &lt;br /&gt;
The &#039;reboot&#039; command makes sense only on physical applicances, where its purpose is to deploy a new bootcode by means of a forced watchdog trap. The resulting post-reboot state will be as if an unsolicited trap/crash had occurred.&lt;br /&gt;
&lt;br /&gt;
=== No Fault Tolerance Support from VMWare vSphere 6.5 ===&lt;br /&gt;
We have reports that VMWare vSphere 6.5 Fault Tolerance (FT) no longer works. For further information regarding this feature, please refer to the respective note in [[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Implement PBX with zero downtime using IPVA and VMWare Fault_Tolerance]].&lt;br /&gt;
&lt;br /&gt;
=== Voice Quality Issues ===&lt;br /&gt;
When dealing with media streams (e.g. for announcements), the IPVA needs to fulfil real-time processing requirements, for example to process RTP packets in a timely fashion.  To do so, the IPVA relies on the capabilities of the virtualization platform it runs on. &lt;br /&gt;
&lt;br /&gt;
It is therefore important to configure the platform so that it supports real-time applications best. If you experience voice quality or latency issues, consider &lt;br /&gt;
* to make sure that all of the IPVAs memory is &#039;&#039;reserved&#039;&#039; to the IPVA (&#039;&#039;Latency Sensitivity&#039;&#039; set to &#039;&#039;High&#039;&#039;)&lt;br /&gt;
* to guarantee exclusive PCPU access&lt;br /&gt;
This helps to reduce CPU halt/wake-up states.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by an OVA-import of the IPVA. The appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039; requires a VMware proprietary configuration line that&#039;s not specifiable within an OVA-file. &lt;br /&gt;
&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
*The vmx file should be edited after the installation of the IPVA.&lt;br /&gt;
*The vmx file should NOT be edited with Text editor&lt;br /&gt;
*To our knowledge, a converter is always necessary for the installation with vmx.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:Ipva-fw-load-failed.png|center|thumb|200px|Console displays &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a calculation fault within the boot-code. &lt;br /&gt;
*The solution requires a replacement of the boot disk hd-boot.vmdk. &lt;br /&gt;
**Download an IPVA package from on 11r2 sr22.&lt;br /&gt;
**Replace the 1st disk with the one from the downloaded package&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*With ipva.ova deploy a fresh IPVA by means of &#039;&#039;&#039;File/Deploy OVF-Template...&#039;&#039;&#039; (de: &#039;&#039;&#039;Datei/OFV-Vorlage bereitstellen...&#039;&#039;&#039;) and follow instructions.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*In the old IPVA remove the 1st disk on IDE 0:0.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA&#039;s directory.&lt;br /&gt;
*In the old IPVA add the 1st disk on IDE 0:0.&lt;br /&gt;
*In the old IPVA confirm and start the machine&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference10:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r2:General/SSD/Image&amp;diff=48387</id>
		<title>Reference11r2:General/SSD/Image</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r2:General/SSD/Image&amp;diff=48387"/>
		<updated>2017-11-14T13:05:53Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===General===&lt;br /&gt;
You have to unmount/remove the SSD, before you can upload an SSD image to your card.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Image size====&lt;br /&gt;
As uploads of files &amp;gt; 2 GB are not supported by browsers, images must be downloaded and uploaded in 2 GB parts.&amp;lt;br&amp;gt;&lt;br /&gt;
Select the current part and submit the change before you download or upload the part.&lt;br /&gt;
&lt;br /&gt;
===Upload===&lt;br /&gt;
Select an uncompressed image file and upload it to your SSD.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &#039;&#039;&#039;Warning&#039;&#039;&#039;: this will delete all partitions and files, which are currently present on your SSD!&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
Downloads the currently selected part.&lt;br /&gt;
&lt;br /&gt;
Image file parts needs to be downloaded manually and one after the other.&lt;br /&gt;
You have to select the first image part and download it. After the first one as been completly downloaded (Size of the disk_image File about 2GB), then select the next one, download this etc. until the last image part.&lt;br /&gt;
The name of the image part indicates the actual image part and last image part to be downloaded.&lt;br /&gt;
Example: disk_image-1(15).img &lt;br /&gt;
1:  image file part 1 (the first one).&lt;br /&gt;
15: the last image file part to be downloaded.&lt;br /&gt;
&lt;br /&gt;
===External tools===&lt;br /&gt;
To create an own image from an SSD under windows, you can use the [http://www.securepoint.de/securepoint-downloads.html Securepoint Imaging Tool].&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to upload such an image, you have to split it into 2.147.483.136 bytes sized parts. There are enough free tools available for this job.&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45509</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45509"/>
		<updated>2017-01-10T14:44:17Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* How to run a restored backup that fails to start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
* v12r1: http://download.innovaphone.com/ice/12r1/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Customer who are running Fw v12r1 (up to sr6) with ESXi 6.0 and VEEAM 9 reported that after a backup with VEEAM 9, the restored IPVA was not starting. &lt;br /&gt;
At this point, there is no possibility to solve this problem. The only workaround in that case is to delete the machine, reinstall a new one, and restore a configuration saved before.&lt;br /&gt;
&lt;br /&gt;
If you did not run into the problem yet, for prevention, we recommend to replace the Boot disk of your working IPVA.vmx with one of the IPVA.ova. Please follow the steps below (be aware that this will upgrade the firmware on the IPVA to 12r2, due to the fact that actually, IPVA.ova is only available from version 12r2):&lt;br /&gt;
&lt;br /&gt;
1. Remove the Boot disk of the virtual machine (vmx)(is normaly the first one).&amp;lt;br&amp;gt;&lt;br /&gt;
* Power off the VM&lt;br /&gt;
* Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Remove&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;OK&#039;&#039; to save your changes.&lt;br /&gt;
&lt;br /&gt;
2. Add the Boot disk of the ova virtual machine to the vmx one.&lt;br /&gt;
* Identify the size of the boot disk of the ova virtual machine (will be needed on the step when navigating to boot disk)&lt;br /&gt;
* On the powered off VM, Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Add&#039;&#039;.&lt;br /&gt;
* Select Use “an existing virtual disk” then click &#039;&#039;Next&#039;&#039;.&lt;br /&gt;
* Navigate to the boot disk of the ova Virtual machine then click &#039;&#039;next&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;Finish&#039;&#039;.&lt;br /&gt;
Now the vmx virtual machine should have the Fw version 12r2.&lt;br /&gt;
&lt;br /&gt;
The .ova version will be available also in V12r1 sr7&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on ESX 6.5 ===&lt;br /&gt;
We have reports that the IPVA does not run properly on ESX 6.5.  The IPVA boots up properly but the clock does not run.  Running the .ova based variation available in v12r2 fixed the issue.&lt;br /&gt;
&lt;br /&gt;
From V12r1 sr7 on, the .ova version is available in v12r1 too.&lt;br /&gt;
&lt;br /&gt;
=== Administration: Avoid &#039;reboot&#039; Command. Use &#039;reset&#039; Command ===&lt;br /&gt;
Alwas use the &#039;reset&#039; command to restart an IPVA. &lt;br /&gt;
The &#039;reboot&#039; command makes sense only on physical applicances, where its purpose is to deploy a new bootcode by means of a forced watchdog trap. The resulting post-reboot state will be as if an unsolicited trap/crash had occurred.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:Ipva-fw-load-failed.png|center|thumb|200px|Console displays &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a calculation fault within the boot-code. &lt;br /&gt;
*The solution requires a replacement of the boot disk hd-boot.vmdk. &lt;br /&gt;
**Download an IPVA package from on 11r2 sr22.&lt;br /&gt;
**Replace the 1st disk with the one from the downloaded package&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
*&#039;&#039;&#039;[Update  22 December 2016]&#039;&#039;&#039; with the release of 12r2 beta an OVA file was made available. Watch out for the folder &#039;&#039;&#039;ovf&#039;&#039;&#039; within the downloadable zip file.&lt;br /&gt;
*&#039;&#039;&#039;[Update  10 January 2017]&#039;&#039;&#039; with the release 12r1 sr7 an OVA file was made available. Watch out for the folder &#039;&#039;&#039;ovf&#039;&#039;&#039; within the downloadable zip file.&lt;br /&gt;
**Read section [[#What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21|What Can I Do In Case Of Boot-Problem:perf-counter not enabled?]]&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45491</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45491"/>
		<updated>2017-01-05T13:36:51Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* How to run a restored backup that fails to start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
* v12r1: http://download.innovaphone.com/ice/12r1/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some Customer who are running Fw v12r1 with ESXi 6.0 and VEEAM 9 reported that after a backup with VEEAM 9, the restored IPVA was not starting. &lt;br /&gt;
At this point, there is no possibility to solve this problem. The only workaround in that case is to delete the machine, reinstall a new one, and restore a configuration saved before.&lt;br /&gt;
&lt;br /&gt;
If you did not run into the problem yet, for prevention, we recommend to replace the Boot disk of your working IPVA.vmx with one of the IPVA.ova. Please follow the steps below (be aware that this will upgrade the firmware on the IPVA to 12r2, due to the fact that actually, IPVA.ova is only available from version 12r2):&lt;br /&gt;
&lt;br /&gt;
1. Remove the Boot disk of the virtual machine (vmx)(is normaly the first one).&amp;lt;br&amp;gt;&lt;br /&gt;
* Power off the VM&lt;br /&gt;
* Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Remove&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;OK&#039;&#039; to save your changes.&lt;br /&gt;
&lt;br /&gt;
2. Add the Boot disk of the ova virtual machine to the vmx one.&lt;br /&gt;
* Identify the size of the boot disk of the ova virtual machine (will be needed on the step when navigating to boot disk)&lt;br /&gt;
* On the powered off VM, Select the Virtual Machine &amp;gt; Settings.&lt;br /&gt;
* On the Hardware tab, select the virtual hard disk and click &#039;&#039;Add&#039;&#039;.&lt;br /&gt;
* Select Use “an existing virtual disk” then click &#039;&#039;Next&#039;&#039;.&lt;br /&gt;
* Navigate to the boot disk of the ova Virtual machine then click &#039;&#039;next&#039;&#039;.&lt;br /&gt;
* Click &#039;&#039;Finish&#039;&#039;.&lt;br /&gt;
Now the vmx virtual machine should have the Fw version 12r2.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on ESX 6.5 ===&lt;br /&gt;
We have reports that the IPVA does not run properly on ESX 6.5.  The IPVA boots up properly but the clock does not run.  Running the .ova based variation available in v12r2 fixed the issue.&lt;br /&gt;
&lt;br /&gt;
=== Administration: Avoid &#039;reboot&#039; Command. Use &#039;reset&#039; Command ===&lt;br /&gt;
Alwas use the &#039;reset&#039; command to restart an IPVA. &lt;br /&gt;
The &#039;reboot&#039; command makes sense only on physical applicances, where its purpose is to deploy a new bootcode by means of a forced watchdog trap. The resulting post-reboot state will be as if an unsolicited trap/crash had occurred.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:Ipva-fw-load-failed.png|center|thumb|200px|Console displays &#039;&#039;Loading failed for image=IPVA    BIN&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a calculation fault within the boot-code. &lt;br /&gt;
*The solution requires a replacement of the boot disk hd-boot.vmdk. &lt;br /&gt;
**Download an IPVA package from on 11r2 sr22.&lt;br /&gt;
**Replace the 1st disk with the one from the downloaded package&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[Update  22 December 2016]&#039;&#039;&#039; with the release of 12r2 beta an OVA file was made available. Watch out for the folder &#039;&#039;&#039;ovf&#039;&#039;&#039; within the downloadable zip file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45186</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45186"/>
		<updated>2016-12-06T13:15:57Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* How to run a restored backup that fails to start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you perform backup and restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&amp;lt;br&amp;gt;&lt;br /&gt;
You can proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* Download the &amp;quot;ipva.ova&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Import and deploy it in your ESXi 6 Server.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Go to File-&amp;gt; Deploy OVF template.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Select the File or the url where the ova file is located and follow the steps on the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a backup of the IPVA using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
* Then delete the not working IPVA from the ESXi datacenter.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a restore of using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
* Upload the config of the old IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45185</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45185"/>
		<updated>2016-12-06T10:19:59Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Restored IPVA may not run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you perform backup and restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&amp;lt;br&amp;gt;&lt;br /&gt;
You can proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* Download the &amp;quot;ipva.ova&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Import and deploy it in your ESXi 6 Server.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Go to File-&amp;gt; Deploy OVF template.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Select the File or the url where the ova file is located and follow the steps on the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a backup of the IPVA using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
* Then delete the not working IPVA from the ESXi datacenter.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a restore of using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45184</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45184"/>
		<updated>2016-12-06T10:15:08Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* How to run a restored backup that fails to start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
Note: If you perform Backup and Restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&lt;br /&gt;
To import and deploy an ipva.ova in your ESXi 6 Server,&lt;br /&gt;
go to File-&amp;gt; Deploy OVF template.&lt;br /&gt;
Select the File or the url where the ova file is located and follow the steps on the screen.&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you perform backup and restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&amp;lt;br&amp;gt;&lt;br /&gt;
You can proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* Download the &amp;quot;ipva.ova&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Import and deploy it in your ESXi 6 Server.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Go to File-&amp;gt; Deploy OVF template.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;gt;Select the File or the url where the ova file is located and follow the steps on the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a backup of the IPVA using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
* Then delete the not working IPVA from the ESXi datacenter.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a restore of using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45183</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45183"/>
		<updated>2016-12-06T10:10:22Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* How to run a restored backup that fails to start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
Note: If you perform Backup and Restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&lt;br /&gt;
To import and deploy an ipva.ova in your ESXi 6 Server,&lt;br /&gt;
go to File-&amp;gt; Deploy OVF template.&lt;br /&gt;
Select the File or the url where the ova file is located and follow the steps on the screen.&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
If you perform backup and restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&amp;lt;br&amp;gt;&lt;br /&gt;
You can proceed as follows:&lt;br /&gt;
&lt;br /&gt;
* Download the &amp;quot;ipva.ova&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
* Import and deploy it in your ESXi 6 Server.&amp;lt;br&amp;gt;&lt;br /&gt;
  Go to File-&amp;gt; Deploy OVF template.&amp;lt;br&amp;gt;&lt;br /&gt;
  Select the File or the url where the ova file is located and follow the steps on the screen.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a backup of the IPVA using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
* Then delete the not working IPVA from the ESXi datacenter.&amp;lt;br&amp;gt;&lt;br /&gt;
* Perform a restore of using Veeam 9.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45179</id>
		<title>Reference10:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=45179"/>
		<updated>2016-12-05T17:48:25Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Restored IPVA may not run */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to:&lt;br /&gt;
*V10&lt;br /&gt;
*innovaphone Virtual Appliance&lt;br /&gt;
*Intel/AMD CPUs&lt;br /&gt;
*VMware &lt;br /&gt;
**Workstation 7.1&lt;br /&gt;
**Player 3.x &amp;lt;ref&amp;gt;VMware Player Download(free): http://vmware.com/download/player/&amp;lt;/ref&amp;gt;&lt;br /&gt;
**vSphere 4.1&lt;br /&gt;
**vSphere 5.x&lt;br /&gt;
***[[User:Inno-mst|Inno-mst]] 14:25, 16 October 2013 (CEST): vSphere &#039;&#039;&#039;5.5&#039;&#039;&#039; compatibility has been reported&lt;br /&gt;
**vSphere 6.0 and also the Operating System ESXi 6.0&lt;br /&gt;
**Fusion 5.x (Mac OS X 10.7)&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The innovaphone Virtual Appliance (IPVA) is a virtual machine to be run on a virtualization platform.&lt;br /&gt;
Whereby, VMware&amp;lt;ref&amp;gt;http://www.vmware.com&amp;lt;/ref&amp;gt; is is the solely supported virtualization platform to-date.&lt;br /&gt;
&lt;br /&gt;
The IPVA is a software-only solution. It appears as and performs as an innovaphone &amp;quot;hard-box&amp;quot; excluding DSP-, ISDN-/AB-resources.&lt;br /&gt;
&lt;br /&gt;
The following core-components are contained within the IPVA:&lt;br /&gt;
*innovaphone PBX&lt;br /&gt;
*innovaphone Gateway (a.k.a &#039;&#039;Relay&#039;&#039;)&lt;br /&gt;
*integrated mass-storage (alike innovaphones&#039; CF-card support)&lt;br /&gt;
&amp;lt;!-- Keywords: IP-VA ip-va ipva --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
[[#Download|Download]] the IPVA. &lt;br /&gt;
&lt;br /&gt;
*The compressed archive &#039;&#039;ipva-vmx.zip&#039;&#039; contains 1 virtual machine configuration file (*.vmx) and 4 virtual machine disk files (*.vmdk):&lt;br /&gt;
**ipva.vmx:     The virtual machine configuration file&lt;br /&gt;
**hd-boot.vmdk: The virtual boot harddisk (hd)&lt;br /&gt;
**hd-cf.vmdk:   The hd for emulation of a Compact Flash card&lt;br /&gt;
**hd-flash.vmdk:    The hd for emulation of flash memory&lt;br /&gt;
**hd-dump.vmdk: The hd serving as a store for a crash dump&lt;br /&gt;
&lt;br /&gt;
The file &#039;&#039;ipva.bin&#039;&#039; is the firmware file, which is only needed for update purposes.&lt;br /&gt;
&lt;br /&gt;
===VMware Player===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
A shortcut (*.lnk file) to the vmx-file will start the IPVA without additional user interaction. Such a shortcut may also be copied into the Windows &#039;&#039;Autostart&#039;&#039; program folder, in order to have the IPVA started automatically on windows startup.&lt;br /&gt;
===VMware Workstation===&lt;br /&gt;
*Copy the IPVA to e.g. your desktop&lt;br /&gt;
*Double-click on ipva.vmx&lt;br /&gt;
The IPVA is going to be started.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Workstation 7&#039;&#039; directory comprises the command line utility &#039;&#039;vmrun.exe&#039;&#039;. A batch file according to the following pattern may be crafted to programmatically start the IPVA.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;D:\Programme\VMware\VMware Workstation\vmrun&amp;quot; start &amp;quot;C:\Users\Tester\Desktop\ipva\ipva.vmx&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: By altering &#039;&#039;start&#039;&#039; into &#039;&#039;stop&#039;&#039; a virtual machine may be stopped.&lt;br /&gt;
===VMware vSphere===&lt;br /&gt;
This applies to vSphere 4.x and later (such as e.g. vSphere 5.5, vSphere 6.0). &amp;lt;!-- vsphere5 vsphere5.0 vsphere5.1 vsphere5.2 vsphere5.3 vsphere5.4 vsphere5.5 vsphere55 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====VMware vCenter Converter Standalone====&lt;br /&gt;
The IPVA offered for downloading must be converted into a vSphere-processable form.&lt;br /&gt;
The IPVA can be converted by means of the tool &#039;&#039;VMware vCenter Converter Standalone&#039;&#039;&amp;lt;ref&amp;gt;VMware vCenter Converter Standalone: https://www.vmware.com/tryvmware/?p=converter&amp;lt;/ref&amp;gt;.&lt;br /&gt;
*The user guide can be found [http://www.vmware.com/pdf/convsa_50_guide.pdf here] and also a step-by-step guide may be found [https://kb.swivelsecure.com/wiki/index.php/VMWare_Converter_How_to_Guide here].  &lt;br /&gt;
Make sure you &#039;&#039;always use the latest VMware converter&#039;&#039; to convert your IPVA.&lt;br /&gt;
&lt;br /&gt;
See [[#Why_Isn.27t_There_An_OVA.2FOVF_File_Made_Available.3F | here]] for a discussion why the conversion is needed.&lt;br /&gt;
&lt;br /&gt;
===Network Configuration===&lt;br /&gt;
Manufacturer-configured as DHCP client only. I.e. a DHCP server must be available. Afterwards the network configuration may be administrated as used to within the web ui of other innovaphone boxes. If there&#039;s in no case a DHCP server available for the 1st-time configuration, read through [[#What_Is_The_Console_Good_For?|What Is The Console Good For?]].&lt;br /&gt;
&lt;br /&gt;
====VMWare Player and Workstation====&lt;br /&gt;
In order to assign a new MAC address on a VMWare Workstation or VMWare Player:&lt;br /&gt;
*Power-off the virtual machine&lt;br /&gt;
*Open the file ipva.vmx for editing within a text editor.&lt;br /&gt;
*Edit the last 3 hex-values of the lines starting with &#039;&#039;ethernet0.generatedAddress&#039;&#039; &amp;amp; &#039;&#039;uuid.bios&#039;&#039; from e.g.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:d9&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 d9&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
into e.g&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.generatedAddress = &amp;quot;00:0c:29:f4:c6:da&amp;quot;&lt;br /&gt;
uuid.bios = &amp;quot;56 4d 64 b9 52 ce 38 57-66 29 e8 f2 77 f4 c6 da&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Note: in this example just the very last hex-value &#039;&#039;&#039;d9&#039;&#039;&#039; is going to be altered into &#039;&#039;&#039;da&#039;&#039;&#039;)&lt;br /&gt;
*Within my.innovaphone.com try once again to generate licenses for the virtual machine with the new MAC address.&lt;br /&gt;
&lt;br /&gt;
===License Configuration===&lt;br /&gt;
For the IPVA10 license see [[Reference10:Licenses]].&lt;br /&gt;
&lt;br /&gt;
The licensing procedure is the same as for other innovaphone products, except for one peculiarity: The MAC address, generated by VMware, may have been assigned already to another customer/installation. Such a conflict must be settled manually as explained below.&lt;br /&gt;
&lt;br /&gt;
If, while generating licenses within &#039;&#039;my.innovaphone.com&#039;&#039;, a message ([[Reference:My_Innovaphone#IP-VA_MAC_exists|My_Innovaphone#IP-VA_MAC_exists]]) is displayed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IP-VA MAC exists&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
then a new MAC address must be assigned manually to the affected installation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; We recommend to not use auto-generated MAC Address for the IPVA machine. Please assign a static MAC address like &#039;00-50-56-...&#039; to prevent license issues if the machine must be rebuild since you will assign the same MAC address after and not the auto-generated MAC.&lt;br /&gt;
&lt;br /&gt;
====VMWare vSphere, ESX/ESXi 4.1 and ESXi====&lt;br /&gt;
For information related to vSphere, ESX/ESXi 4.1 and ESXi 5.x, see the Mac Addresses section of the [https://www.vmware.com/support/pubs/vsphere-esxi-vcenter-server-pubs.html vSphere Networking Guide] for your version of ESX/ESXi.&lt;br /&gt;
&lt;br /&gt;
==Provision Of External Resources==&lt;br /&gt;
External Resources are required, in order to provide:&lt;br /&gt;
*Access to ISDN interfaces&lt;br /&gt;
*DSP conferencing channels&lt;br /&gt;
&lt;br /&gt;
The IP1060&amp;lt;ref&amp;gt;[[IP1060 Technical Data]]&amp;lt;/ref&amp;gt; or IP1130&amp;lt;ref&amp;gt;[[IP1130 Technical Data EN]]&amp;lt;/ref&amp;gt; media gateways may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
IPVA.zip&lt;br /&gt;
&lt;br /&gt;
* v9: http://download.innovaphone.com/ice/9.00/#firmware &lt;br /&gt;
* v10: http://download.innovaphone.com/ice/10.00/#firmware&lt;br /&gt;
* v11r1: http://download.innovaphone.com/ice/11r1/#firmware&lt;br /&gt;
* v11r2: http://download.innovaphone.com/ice/11r2/#firmware&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
Support procedures are commonly identical to the ones known from innovaphones&#039; physical appliances. Except for:&lt;br /&gt;
*&#039;&#039;&#039;Post-Mortem Logs&#039;&#039;&#039; A post-mortem log must be retrieved by clicking on &#039;&#039;Admistration/Diagnostics/&#039;&#039;&#039;trace(crash-dump)&#039;&#039;&#039;&#039;&#039; (alternatively: http://a.b.c.d/crash_dump.txt).&lt;br /&gt;
**Note: Deviating from innovaphones&#039; physical appliances, the DRAM-content(with may be post-mortem info) does not survive a CPU-reset. This is why post-mortem information is going to be stored persistent on the 4th disk, named &#039;&#039;hd-dump.vmdk&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some known issues are listed further below under [[#FAQ | FAQ]].&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===ESX 3.x is unsupported===&lt;br /&gt;
The IPVA does not run under ESX 3.x and below, since virtual IDE disks aren&#039;t supported.&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use Maintenance/Upload/DRAM on vSphere 4===&lt;br /&gt;
Until further notice this way of uploading a new firmware is currently not supported. The VMM detects and assumes the guest (IPVA) is going to shutting-off. All the virtual harddisks may get lost in the aftermath.&lt;br /&gt;
vmware.log shows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Mar 02 13:02:25.439: vcpu-0| Vix: [4864986 vmxCommands.c:9609]: VMAutomation_HandleCLIHLTEvent. Do nothing.&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| MsgHint: msg.monitorevent.halt (sent)&lt;br /&gt;
Mar 02 13:02:25.462: vcpu-0| The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.&lt;br /&gt;
&lt;br /&gt;
...and then when trying to power-on later...&lt;br /&gt;
&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide0:1 vscsi=8303&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.260: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
Mar 03 08:37:00.260: vmx| Destroying virtual dev for ide1:0 vscsi=8304&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIStopVports: Invalid handle&lt;br /&gt;
Mar 03 08:37:00.261: vmx| VMMon_VSCSIDestroyDev: Not found&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--===Release Note For V9HF1===&lt;br /&gt;
This Note refers to the fix [[Support:DVL-Roadmap_Firmware_V9#IPVA.2C_RAM-Dependent_Flash_Limitation | Support:DVL-Roadmap Firmware V9#IPVA RAM-Dependent Flash Limitation]]&lt;br /&gt;
*From on V9HF1 the available flash directory&amp;lt;ref&amp;gt;Flash Directory: Storage for PBX objects&amp;lt;/ref&amp;gt; space will be constrained, depending on the available RAM. A loss of PBX objects may occur after an upgrade to V9HF1. In order to prevent such a loss perform the upgrade as follows:&lt;br /&gt;
**1)Download and save the current configuration of the affected IPVA.&lt;br /&gt;
**2)Upload the new firmware file and reboot.&lt;br /&gt;
**3)Upload the config from step 1).&lt;br /&gt;
*From on V9HF1 an administrative reduction of the available RAM may lead into a loss of PBX objects. I.e. increasing the RAM isn&#039;t critical, while in contrast lowering the amount of RAM lowers the amount of flash directory space. &lt;br /&gt;
&lt;br /&gt;
 ===V9HF4 Needed For vSphere 5===&lt;br /&gt;
V9 Hotfix4 is needed, in order to run the IPVA under vSphere 5. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restored IPVA may not run ===&lt;br /&gt;
We have seen issues where an IPVA which had been backed up using one of the available backup tools for VMWare do not start up properly when they have been restored. &lt;br /&gt;
&lt;br /&gt;
We strongly suggest to not rely on VMWare backup mechanism but instead to use the standard innovaphone backup scheme (that is, save the configuration on a regular basis).&lt;br /&gt;
&lt;br /&gt;
Note: If you perform Backup and Restore under ESXi6 and Veeam 9, you should use an &amp;quot;ipva.ova&amp;quot; (available from V12r2).&lt;br /&gt;
To import and deploy an ipva.ova in your ESXi 6 Server,&lt;br /&gt;
go to File-&amp;gt; Deploy OVF template.&lt;br /&gt;
Select the File or the url where the ova file is located and follow the steps on the screen.&lt;br /&gt;
&lt;br /&gt;
==== How to run a restored backup that fails to start ====&lt;br /&gt;
Here is the procedure to run an IPVA from an IPVA if the restored virtual machine does not boot up properly:&lt;br /&gt;
&lt;br /&gt;
* restore the backed up V10 IPVA&lt;br /&gt;
* create a new, empty V11r1 IPVA (you will need this merely to copy the boot disk from)&lt;br /&gt;
*replace the boot disk of the failing V10 IPVA by the boot disk of the fresh V11r1 IPVA (see [[#How_To_Replace_The_Boot_Disk_On_vSphere.3F | How To Replace The Boot Disk On vSphere]] for details)&lt;br /&gt;
* start the restored and fixed V10 IPVA (it should run fine now)&lt;br /&gt;
* downgrade this V10 IPVA to desired V10 firmware&lt;br /&gt;
* remove the fresh V11r1 IPVA&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on Citrix Cloud Platform ===&lt;br /&gt;
Reportedly, the Citrix cloud platform - although based on VMware - cannot run the IPVA.  Amongst other issues, the platform does not allow 4 virtual disks, which are required for the IPVA.&lt;br /&gt;
&lt;br /&gt;
=== IPVA does not run on VCloud Air ===&lt;br /&gt;
VCloud Air apparently does not support the timekeeping mechanism required by the IPVA.&lt;br /&gt;
&lt;br /&gt;
[[User:Ckl|ckl]] 15:50, 30 November 2016 (CET) We have seen the IPVA v12r2 running on vCloud Air. Use the ova import.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
===Are Firmware Updates Possible?===&lt;br /&gt;
Yes, alike the well-known *.bin firmware files for other innovaphone products (ip6000.bin, ip2000.bin,..) , there&#039;s a similar bin-file (ipva.bin) for the IPVA. The file is contained on the boot-hd and can be found by browsing to e.g. http://192.168.0.5/drive/HD-BOOT . The versioning of ipva.bin is the same as for the other products. The firmware file may exactly be uploaded as for other products:&lt;br /&gt;
* by &#039;&#039;Upload/Firmware&#039;&#039;&lt;br /&gt;
* by &#039;&#039;Upload/Dram&#039;&#039;&lt;br /&gt;
* by a script for the innovaphone Update Process&lt;br /&gt;
&lt;br /&gt;
===What is the ipva default password?===&lt;br /&gt;
*user: admin&lt;br /&gt;
*password: ipva&lt;br /&gt;
&lt;br /&gt;
===Do I Always Need To Download The Entire IPVA?===&lt;br /&gt;
No, after the 1st-time deployment of an entire IPVA only the firmware file &#039;&#039;ipva.bin&#039;&#039; needs to be downloaded from &#039;&#039;download.innovaphone.com&#039;&#039;. See [[#Are_Firmware_Updates_Possible.3F| Are Firmware Updates Possible?]] for how to proceed further.&lt;br /&gt;
===How Is The Network Connection Being Handled?===&lt;br /&gt;
The network connection is pre-configured to: &#039;&#039;Bridged: Connected directly to the physical network&#039;&#039;&lt;br /&gt;
===What Is The Size Of the Emulated CompactFlash?===&lt;br /&gt;
1GB&lt;br /&gt;
&lt;br /&gt;
===Can The Emulated CompactFlash Be Increased In Size?===&lt;br /&gt;
Yes, from within the &#039;&#039;Edit Virtual Machine&#039;&#039; dialog. Doing so just increases the size of the virtual harddisk. The emulated CompactFlash must be formatted afterwards and accordingly to benefit from the increased size. That step can be administrated from &#039;&#039;Administration/Compact Flash/Format&#039;&#039;. Note: A recommendation for an upper size limit is not given.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;vSphere / vSphere Client&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1. At first backup all of your files from CF card&amp;lt;br&amp;gt;&lt;br /&gt;
2. Shutdown the corresponding IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
3. Choose &amp;quot;Properties&amp;quot; of the IPVA&amp;lt;br&amp;gt;&lt;br /&gt;
4. Delete &amp;quot;Harddrive 2&amp;quot; (Hardrive file xxx/xxx_1.vmdk)&amp;lt;br&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 hd-boot.vmdk  &amp;gt; xxx.vmdk&lt;br /&gt;
 hd-cf.vmdk    &amp;gt; xxx_1.vmdk&lt;br /&gt;
 hd-flash.vmdk &amp;gt; xxx_2.vmdk&lt;br /&gt;
 hd-dump.vmdk  &amp;gt; xxx_3.vmdk&lt;br /&gt;
&lt;br /&gt;
5. Create new harddrive&amp;lt;br&amp;gt;&lt;br /&gt;
6. Configure the required size&amp;lt;br&amp;gt;&lt;br /&gt;
7. As &amp;quot;Node of virtual device&amp;quot; select &amp;quot;IDE(0:1)&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
8. Start the IPVA.&amp;lt;br&amp;gt;&lt;br /&gt;
9. &amp;quot;Format&amp;quot; the CF Card and &amp;quot;mount&amp;quot; it (General/Compact-Flash/General)&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the emulated Flash Storage on the IPVA?===&lt;br /&gt;
The virtual flash storage used to store configuration file of the IPVA and LDAP directory of the PBX is defined with 64 MB and can not be changed. This is two times more than on IP6010. The VMDK-File hd-flash.vmdk is allocated with 100 MB, because VMWare can not handle smaller virtual disks.&lt;br /&gt;
&lt;br /&gt;
===What Is The Size Of the Flash Directory on the IPVA?===&lt;br /&gt;
As noted above, the virtual flash memory on the IPVA is fixed to a size of 64MB.  Most of the flash is used by the &#039;&#039;flash directory&#039;&#039; (FLASHDIR0) which amongst other things provides storage for PBX objects.&lt;br /&gt;
&lt;br /&gt;
The size of the flash directory depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available if 192MB or more RAM is available. If less RAM is available, the size of the flash directory is decreased accordingly.  For this reason, it is unsafe to reduce RAM size in a given IPVA, as the flash directory size may be decreased so that objects from the flash directory get lost.&lt;br /&gt;
&lt;br /&gt;
The easiest method to see how much flash directory space is available is to investigate the boot trace. For the standard configuration of 64MB the respective trace output is going to look as follows and informs about a size of 14MB:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
0:0000:081:4 - start flashdir FLASHDIR0&lt;br /&gt;
0:0000:081:4 - fdir: segments=901-&amp;gt;224(14.0MB)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Much RAM Is Required Per IPVA Instance?===&lt;br /&gt;
The downloadable virtual appliance comes preconfigured with 64MB RAM. This amount is seen as a good trade-off for the majority of all installations.&lt;br /&gt;
The RAM-size can be administrated by VMware-means.&lt;br /&gt;
&lt;br /&gt;
The minimum RAM size allocatable to an IPVA in VMware is 20MB.  This results in a DRAM size seen by the IPVA of 17MB and roughly 8MB allocatable runtime memory after boot.  Note though that even a small IP302 model has 17MB allocatable runtime memory after boot.&lt;br /&gt;
&lt;br /&gt;
===What Is The Maximum Amount Of RAM?===&lt;br /&gt;
The maximum meaningful RAM setting is 3GB. Memory space beyond that limit will be left unused. Assigning more than 3GB to an IPVA instance doesn&#039;t provide any benefit.&lt;br /&gt;
&lt;br /&gt;
===Why Does &#039;&#039;General/Info/DRAM&#039;&#039; Show Less Than the Configured Memory?===&lt;br /&gt;
Not all of the configured memory is available to the IPVA. E.g. a bit of memory is occupied by the VMM&amp;lt;ref&amp;gt;Virtual Machine Monitor: A component belonging to the virtualization platform&amp;lt;/ref&amp;gt;. The indicator &#039;&#039;General/Info/DRAM&#039;&#039; displays the memory available to the IPVA and is truncated down to a whole number. A boot-trace reveals a bit more about IPVA-available memory as shown in the following excerpt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
0:0000:030:4 - Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz&lt;br /&gt;
0:0000:030:4 - mem(64946176)=61.93MB ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How Many IPVA Instances Are Possible Per Host?===&lt;br /&gt;
There&#039;s no worst-case estimate available. For a best-case calculation, &lt;br /&gt;
*see [http://www.vmware.com/pdf/vsphere4/r41/vsp_41_config_max.pdf  Configuration Maximums VMware vSphere 4.1]&lt;br /&gt;
*see [[#How_Much_RAM_Is_Required_Per_IPVA_Instance.3F | How Much RAM Is Required Per IPVA Instance?]]&lt;br /&gt;
Additional preformance reflections&lt;br /&gt;
*see [[HOWTO:A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
===Where Has PPP-Functionality Gone?===&lt;br /&gt;
PPP-scenarios (PPTP, PPPoE) are not envisaged with the IPVA, because it has only one network interface controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;(07.Mar.2011), from on 90468: &lt;br /&gt;
*PPP has been integrated&lt;br /&gt;
*a second network interface is available (now ETH0 and ETH1)&lt;br /&gt;
**ETH1 comes pre-configured: &#039;&#039;host-only, disconnected&#039;&#039;. I.e. it must be reconfigured manually and by VMware means to become functional.&lt;br /&gt;
&lt;br /&gt;
===Does The IPVA Support Non-VMware Hypervisor Products?===&lt;br /&gt;
No, currently it doesn&#039;t.&lt;br /&gt;
&lt;br /&gt;
===How do I perform a factory reset?===&lt;br /&gt;
&lt;br /&gt;
replace the 3rd disk, served on IDE 1:0, named hd-flash.vmdk with an empty disk:&lt;br /&gt;
&lt;br /&gt;
[[Image:VM_Settings.png]]&lt;br /&gt;
&lt;br /&gt;
1)download the IPVA and watch out for the file hd-flash.vmdk&lt;br /&gt;
&lt;br /&gt;
2)Power-off the IPVA instance&lt;br /&gt;
&lt;br /&gt;
3)Replace hd-flash.vmdk with the one downloaded in step 1). If on vsphere it may have been assigned a different name. Ensure it’s the one on IDE 1:0.&lt;br /&gt;
&lt;br /&gt;
4)Power-on the IPVA instance&lt;br /&gt;
&lt;br /&gt;
===Is VMWare Fault Tolerance (FT) supported by IPVA?===&lt;br /&gt;
&lt;br /&gt;
Yes, we have successfully tested&amp;lt;ref&amp;gt;[[Howto:Implement_PBX_with_zero_downtime_using_IPVA_and_VMWare_Fault_Tolerance | Howto:Implement PBX with zero downtime using IPVA and VMWare Fault Tolerance]]&amp;lt;/ref&amp;gt; VMWare Fault Tolerance&amp;lt;ref&amp;gt;VMWare Fault Tolerance: http://www.vmware.com/products/fault-tolerance/overview.html&amp;lt;/ref&amp;gt; with a virtual machine running IPVA on VMWare vSphere 4.1.&lt;br /&gt;
&lt;br /&gt;
===What About VMware Tools?===&lt;br /&gt;
VMware Tools are not supported.&lt;br /&gt;
&lt;br /&gt;
===What Is The Console Good For?===&lt;br /&gt;
The console is a remains of the early development phase. It resembles the IP3000&#039;s serial console. It doesn&#039;t offer any convenience like command history or backspace funtionality. Nevertheless may the console be of help in exceptional situations where e.g. the required DHCP server isn&#039;t available for 1st-time configuration or in situations where the ip configuration was misconfigured. Thereby any command from a device&#039;s config is acceptable. &lt;br /&gt;
&lt;br /&gt;
For instance to configure the static IP address 1.2.3.4/24 on ETH0:&lt;br /&gt;
*Click into the console&lt;br /&gt;
*Press ENTER&lt;br /&gt;
*Enter credentials&lt;br /&gt;
*Enter&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Since no backspace is offered it may become a daring task to enter a single line without typos. In case of a typo hit ENTER and input the same line again.&lt;br /&gt;
The keyboard layout is the US layout.&lt;br /&gt;
[[Image:Ip-via-console.png|center|thumb|200px|Console-edit of IP address]]&lt;br /&gt;
&lt;br /&gt;
Display the IP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show IP0 ETH0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display the DHCP configuration for ETH0:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config show DHCP0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional the DNS-server(s) and the default gateway can be configured:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config change IP0 ETH0 /addr 1.2.3.4 /mask 255.255.255.0 /dns 8.8.8.8 /dns2 8.8.4.4&lt;br /&gt;
config change IP0 RT0 /gateway 1.2.3.254&lt;br /&gt;
config change DHCP0 /mode off&lt;br /&gt;
config write&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also some simple diagnostics (ping and traceroute) are possible via the console (output is given in the console):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd PING0 tracert 8.8.8.8&lt;br /&gt;
mod cmd PING0 ping 8.8.8.8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resetting the entire FLASH space - &#039;&#039;&#039;Note, all configuration will get lost&#039;&#039;&#039;. this is similar method to the manufacturer reset method from above [[#How_do_I_perform_a_factory_reset.3F|How do I perform a factory reset?]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mod cmd FLASHMAN0 reset all&lt;br /&gt;
reset&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of A Checksum Boot Error?===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checksum wrong! Loading failed for image=IPVA    BIN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-crc-wrong.jpg|center|thumb|200px|Console displays CRC boot error]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Replace the boot harddisk by a fresh one. The boot harddisk is the 1st hd(originally named &#039;&#039;hd-boot.vmdk&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur on a system crash while a firmware update is taking place.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;NIC unavailable!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NIC unavailable!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:ipva-nic-unavailable.jpg|center|thumb|200px|Console displays &#039;&#039;NIC unavailable!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
*Power-off the IPVA&lt;br /&gt;
*Administrate by VMware means: Ensure the correct/expected type of network interface controller(NIC) is going to be offered by the hypervisor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The IPVA offers driver support for:&lt;br /&gt;
*AMD NIC: Am79C970A PCnet-PCI II Single-Chip Full-Duplex Ethernet Controller&lt;br /&gt;
**a.k.a &#039;&#039;PCNet32&#039;&#039;&lt;br /&gt;
**a.k.a &#039;&#039;Vlance&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AMD-NIC is kind of default. However, the NIC type may be overriden manually and accordingly within the configuration file ipva.vmx as follows&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ethernet0.virtualDev = &amp;quot;vlance&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This problem may occur after a VMware re-configuration of the network settings.&lt;br /&gt;
&lt;br /&gt;
===What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;===&lt;br /&gt;
This paragraph applies, if you experience the following start-up problem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptom&#039;&#039;&#039;&lt;br /&gt;
*the IPVA doesn&#039;t start properly&lt;br /&gt;
*the console displays&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perfcounter-not enabled!!!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Image:screenshot-ipva-perfcounter-nok.jpg|center|thumb|200px|Console displays &#039;&#039;perfcounter-not enabled!!!&#039;&#039;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
This problem is likely caused by a faulty configuration file &#039;&#039;ipva.vmx&#039;&#039;. Such a situation will definitely occur after importing the appliance into vSphere without importing the appliance&#039;s configuration file &#039;&#039;ipva.vmx&#039;&#039;. &lt;br /&gt;
*The solution therefore is a complete conversion of the IPVA as outlined above [[#VMware vSphere | VMware vSphere]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarks&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
The IPVA utilizes a VMware proprietary mechanism for its internal timekeeping&amp;lt;ref&amp;gt;Timekeeping in Virtual Machines http://www.vmware.com/pdf/vmware_timekeeping.pdf&amp;lt;/ref&amp;gt;. That mechanism is only available after adding the following line to the configuration file &#039;&#039;ipva.vmx&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
monitor_control.pseudo_perfctr = TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If that line is not present, the hypervisor is going to throw a CPU exception. Hint: In vSphere a VMX-file can be edited under &#039;&#039;&#039;Edit Settings/Options/Advanced/General/Configuration Parameters&#039;&#039;&#039;&amp;lt;ref&amp;gt;vmware Labs - How to edit vmx file in ESXi vSphere: https://www.youtube.com/watch?v=ICICoq-maB0&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why Isn&#039;t There An OVA/OVF File Made Available?===&lt;br /&gt;
Simply because of the feature discussed in [[##What_Can_I_Do_In_Case_Of_Boot-Problem:_perf-counter_not_enabled.21 | What Can I Do In Case Of Boot-Problem: &#039;&#039;perf-counter not enabled!&#039;&#039;]]. That feature can only be described in VMX files and is not projectable onto an OVA/OVF file.&lt;br /&gt;
&lt;br /&gt;
===Are Additional vCPUs useful?===&lt;br /&gt;
No, the innovaphone OS is a single task OS. Additional virtual CPUs(vCPUs) cannot be utilized.&lt;br /&gt;
&lt;br /&gt;
===How To Replace The Boot Disk On vSphere?===&lt;br /&gt;
The recommended way is as follows:&lt;br /&gt;
*Convert and deploy a fresh IPVA.&lt;br /&gt;
**Its use to just serve as a copy source.&lt;br /&gt;
*Power-Off the old IPVA.&lt;br /&gt;
*From the new IPVA copy the 1st harddisk(on IDE 0:0) towards the old IPVA.&lt;br /&gt;
**The old boot disk gets thereby replaced by the fresh one.&lt;br /&gt;
&lt;br /&gt;
This procedure guarantees that the new boot disk conforms to vSphere&#039;s disk format.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Reference9:Licenses]]&lt;br /&gt;
&lt;br /&gt;
[[#A_rough_estimate_of_IPVA_Performance | A rough estimate of IPVA Performance]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Innovaphone Virtual Appliance]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=44931</id>
		<title>Reference9:Concept Linux Application Platform</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Linux_Application_Platform&amp;diff=44931"/>
		<updated>2016-11-22T17:19:38Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Linux Application Platform (VMWare) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Linux Application Platform permits to install innovaphone or custom applications for certain purposes, like Reporting or a Fax Server.&amp;lt;br&amp;gt;&lt;br /&gt;
It also allows to backup/restore configuration files, uninstall applications or see and backup logs.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The Linux distribution Debian 6 (Squeeze) is used and linux kernel is 2.6.35.4.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The architecture of the platform is armel.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
There are two ways to use the innovaphone Linux Application Platform:&lt;br /&gt;
&lt;br /&gt;
===On an IPxx10 Gateway===&lt;br /&gt;
* An IP810, IP0010, IP3010 or IP6010 Gateway&lt;br /&gt;
* Firmware Version 9&lt;br /&gt;
* A compact flash card with UDMA support (minimum 4 GB)&lt;br /&gt;
** We recommend SanDisk Extreme with UDMA and 90 MB/s or above&lt;br /&gt;
&lt;br /&gt;
===As a Virtual Machine===&lt;br /&gt;
* VMWare Player&lt;br /&gt;
* VMWare Workstation&lt;br /&gt;
* VMWare Server&lt;br /&gt;
* VMWare vSphere&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Download the latest Linux Application Platform from [https://download.innovaphone.com download.innovaphone.com ].&amp;lt;br&amp;gt;&lt;br /&gt;
You can download and install two different packages:&lt;br /&gt;
&lt;br /&gt;
===Default Credentials===&lt;br /&gt;
* Web/Webdav: &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039;&lt;br /&gt;
* Root-Login (e.g. with Putty): &#039;&#039;&#039;root&#039;&#039;&#039;/&#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Disk space usage after first time installation===&lt;br /&gt;
&lt;br /&gt;
====IPxx10 Gateways====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 32 MB (fat32 partition with kernel, which is started by the IPxx10)&lt;br /&gt;
* /dev/sda2: 450 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda3: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda4: 600 MB / xx GB depending of the size of the used CF card (ext4 partition, which is actually booted)&lt;br /&gt;
&lt;br /&gt;
 All in all about 1.2 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
* /dev/sda1: 665 MB (ext2 initial installation partition)&lt;br /&gt;
* /dev/sda2: 120 MB (swap partition)&lt;br /&gt;
* /dev/sda3: 680 MB / xx GB depending of your pre installation configuration (ext3 partition, which is actually booted) &lt;br /&gt;
&lt;br /&gt;
 All in all about 1.5 GB are already in use after the initial installation.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (IPxx10 Gateways)===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use CF-Cards with sizes of 8GB or more and the card &#039;&#039;&#039;must&#039;&#039;&#039; support UDMA!&amp;lt;br&amp;gt;&lt;br /&gt;
* Enable Linux under Linux General.&lt;br /&gt;
  [[image:IPxx10_Linux_-_enable.png]]&lt;br /&gt;
* Enable Proxy-ARP on ETH0 or ETH1 [[ Reference:Configuration/ETH/IP|here ]]&lt;br /&gt;
* Decompress the downloaded package. You should have an image file like &amp;lt;code&amp;gt;linux_ipxx10_armel.img&amp;lt;/code&amp;gt; now.&lt;br /&gt;
* Upload the decompressed file over the gateways web interface under [[ Reference9:General/Compact-Flash/Image ]]. Unmount the CF card if necessary. Select &amp;quot;Part 1&amp;quot; before starting the upload!&lt;br /&gt;
  [[image:IPxx10_Linux_-_upload_image.png‎]]&lt;br /&gt;
* Reset the box (which also activates the config change of step 1).&lt;br /&gt;
* Configure IP under [[ Reference9:Linux/IP ]]: select either &amp;quot;Disabled&amp;quot; to assign a static IP or ETH0/ETH1 to receive an IP-Address from DHCP-Server behind ETH0 or ETH1.&lt;br /&gt;
* Configure the kernel file, which you find under [[ Reference9:General/Compact-Flash/General#Browse_CF_Content ]] on [[ Reference9:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039; (Currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Configure &amp;lt;code&amp;gt;root=/dev/sda2&amp;lt;/code&amp;gt; under [[ Reference9:Linux/General ]] &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;.&lt;br /&gt;
* If you want, configure the autostart flag.&lt;br /&gt;
* Submit your changes.&lt;br /&gt;
* Click the [[ Reference9:Linux/General ]] &#039;&#039;&#039;Start&#039;&#039;&#039;-Link. The page refreshes until Linux gets an IP and then tries to get a link to the Linux Web Server, which can take some time for the first time installation (~ 5 minutes to 2 hours).&lt;br /&gt;
[[Image:device_conf.jpg]]&lt;br /&gt;
* Open the Linux Web Server to see the installation progress (which might take several minutes too). The default credentials are &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; for both platforms.&lt;br /&gt;
[[Image:installation.jpg]]&lt;br /&gt;
* Enter the innovaphone device admin credentials when the installation has finished. Now wait until the page refrehses. The web server credentials are now the innovaphone device admin credentials, e.g. &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;ip6010&#039;&#039;&#039;.&lt;br /&gt;
** If the device couldn&#039;t be reconfigured, you will get an error message &#039;&#039;&#039;Command line at the PBX could not be changed...&#039;&#039;&#039; In this case, you have to open [[ Reference9:Linux/General ]] on your device, click stop and enter &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Kernel command line&#039;&#039;&#039;. Then start again. Your Linux webserver credentials will be &#039;&#039;&#039;admin&#039;&#039;&#039;/&#039;&#039;&#039;linux&#039;&#039;&#039; in this case.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
* You will see now &amp;lt;code&amp;gt;root=/dev/sda4&amp;lt;/code&amp;gt; under [[ Reference9:Linux/General ]] since Linux is running in on the fourth partition. You shouldn&#039;t change that unless you want to install Linux again.&lt;br /&gt;
&lt;br /&gt;
===Linux Application Platform (VMWare)===&lt;br /&gt;
&lt;br /&gt;
* Decompress the downloaded archive. You should have two files: &#039;&#039;&#039;IP-Debian.vmx&#039;&#039;&#039; and &#039;&#039;&#039;IP-Debian.vmdk&#039;&#039;&#039;.&lt;br /&gt;
* We can open using Vmware Player/Workstation, if you wish to run on Vsphere 4.x or later please convert it by the same method it&#039;s done with the IPVA (see [[Reference10:Concept_Innovaphone_Virtual_Appliance#VMware_vSphere | Using VMware vSphere]])&lt;br /&gt;
* Now you have two possibilities (example for VMWare Player, VMWare Workstation should be similar):&lt;br /&gt;
** If you want to assign more than 4 GB disk space (8 GB since Hotfix 7):&lt;br /&gt;
*** Do &#039;&#039;&#039;not&#039;&#039;&#039; directly start/doubleclick the vmx file!&lt;br /&gt;
*** Start the VMware Player and Open the vmx file with &#039;&#039;&#039;Open a Virtual Machine&#039;&#039;&#039;.&lt;br /&gt;
*** Open &#039;&#039;&#039;Edit virtual machine settings&#039;&#039;&#039;.&lt;br /&gt;
*** Select the hard disk and &#039;&#039;&#039;Expand&#039;&#039;&#039; it under &#039;&#039;&#039;Utilities&#039;&#039;&#039; to the wished size.&lt;br /&gt;
*** Apply the change and klick &#039;&#039;&#039;Play virtual machine&#039;&#039;&#039;.&lt;br /&gt;
** If 4 GB (8 GB since Hotfix 7) are enough, simply double click the vmx file and Linux will start.&lt;br /&gt;
* The first time, a script will automatically configure a new partition, the web server etc., which will take some time. The waiting time depends on the CPU of the computer running the vmware player. In some cases the waiting time can be up to 30 minutes, in most cases the installation finishes in about 2-5 minutes.&lt;br /&gt;
* In the meantime, fetch your IP from the VMWare Player screen or login as root and get your IP address with the command &#039;&#039;&#039;ifconfig&#039;&#039;&#039;.&lt;br /&gt;
* Login to the web server to see the installation progress (it may take some minutes until the web server is up).&lt;br /&gt;
* Linux will restart automatically after the first time installation has finished.&lt;br /&gt;
* Linux install has finished.&lt;br /&gt;
&lt;br /&gt;
===Hotfix Installation===&lt;br /&gt;
If you have already installed the latest version of the Linux Application Platform, simply download the Linux...HotfixIncremental for your platform (VM or IPxx10) or if you have missed some hotfixes, download the Linux...HotfixCumulative archive, which contains all hotfixes since hotfix1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Upload this hotfix archive [[Reference9:Concept_Linux_Application_Platform#Upload.2FUpdate|here]].&lt;br /&gt;
&lt;br /&gt;
====Refreshing issue on installation====&lt;br /&gt;
You might get a PHP error when the browser is refreshing during the installation. Just refresh (F5) the page and you&#039;ll get the installation progress again.&lt;br /&gt;
&lt;br /&gt;
===Static IP?===&lt;br /&gt;
The Linux itself &#039;&#039;&#039;must&#039;&#039;&#039; be running in DHCP client mode to run properly. If you want to assign a static IP address, do it like this:&lt;br /&gt;
&lt;br /&gt;
* On an IPxx10: assign a static IP under [[ Reference9:Linux/IP ]]&lt;br /&gt;
* On a VMWare: assign a static IP in your local DHCP server for your MAC address defined in the *.vmx file&lt;br /&gt;
&lt;br /&gt;
==Administration==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Change the root credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials of the Linux root user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;iplinux&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Configure Authenticated URLs====&lt;br /&gt;
&lt;br /&gt;
Configure credentials for authenticated URLs. These credentials will be used in automatic backups.&amp;lt;br&amp;gt;&lt;br /&gt;
You can add/remove Urls with the &#039;&#039;&#039;+&#039;&#039;&#039; and &#039;&#039;&#039;-&#039;&#039;&#039; at the right side of the list.&lt;br /&gt;
&lt;br /&gt;
* URL: the URL, e.g. https://172.16.123.123/backup&lt;br /&gt;
* User: the user for this URL&lt;br /&gt;
* Password: the password for this URL&lt;br /&gt;
&lt;br /&gt;
====Configure NTP server====&lt;br /&gt;
&lt;br /&gt;
Configures a NTP server.&lt;br /&gt;
&lt;br /&gt;
* NTP Server: the IP of the NTP Server&lt;br /&gt;
&lt;br /&gt;
====Change Timezone====&lt;br /&gt;
&lt;br /&gt;
Default is Europe/Berlin but you can change that to a valid timezone (an error is given if timezone not present).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Change postgresql admin password====&lt;br /&gt;
&lt;br /&gt;
If innovaphone Reporting is installed, you can configure another password for the postgres admin user.&amp;lt;br&amp;gt;&lt;br /&gt;
Default password: &#039;&#039;&#039;postgres&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Web Server===&lt;br /&gt;
&lt;br /&gt;
We use lighttpd version 1.4.28. The linux web server user is &#039;&#039;&#039;www-data&#039;&#039;&#039; and group user also &#039;&#039;&#039;www-data&#039;&#039;&#039;. Root directory for the web-server is &#039;&#039;&#039;/var/www/innovaphone&#039;&#039;&#039;. This information is mainly relevant if you plan to develope custom applications and integrate them into linux application platform.&lt;br /&gt;
&lt;br /&gt;
Default users and password for the different levels on the Linux application plattform (see figure below):&lt;br /&gt;
[[image:Linux_Application_hierarki.PNG]]&lt;br /&gt;
&lt;br /&gt;
====Change web server properties and public access to the web/webdav====&lt;br /&gt;
* Force HTTPS: enables redirection for HTTP to HTTPS&lt;br /&gt;
* Public Web Paths: these paths are not password protected, e.g. &#039;/ap&#039;&lt;br /&gt;
* Public Webdav Paths: these webdav paths are not password protected, e.g. &#039;/backup&#039;&lt;br /&gt;
** These paths are by default readonly. You can set the &#039;Write&#039; flag to make the path also writable. This flag will be anyway ignored if credentials are provided.&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Enter a single &#039;/&#039; for a public root directory. All sub directories and files will be also public then.&amp;lt;br&amp;gt;&lt;br /&gt;
If you enter e.g. &#039;/update/&#039;, the directory &#039;update&#039; and all sub directories/files will be public.&amp;lt;br&amp;gt;&lt;br /&gt;
If you enter e.g. &#039;/update&#039;, only the directory &#039;update&#039; and its files will be public.&lt;br /&gt;
&lt;br /&gt;
====Change the Linux web server credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for Web Server access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change the Linux webdav access credentials====&lt;br /&gt;
&lt;br /&gt;
Here you can change the credentials for webdav access.&lt;br /&gt;
&lt;br /&gt;
If running VMWare, default password is &#039;&#039;&#039;linux&#039;&#039;&#039;. If running IPXX10, password is the one entered at the end of first installation (admin password of the device where linux is running)&lt;br /&gt;
&lt;br /&gt;
====Change application access credentials====&lt;br /&gt;
&lt;br /&gt;
If you have installed an application, which has the lighttpd-auth property set in its configuration file, you can configure a separate user/password for the applications web site.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to disable the separate authentication, leave the &#039;&#039;&#039;user&#039;&#039;&#039; field empty and enter the currently configured password. The authentication will be the same as the root web server authentication afterwards.&amp;lt;br&amp;gt;&lt;br /&gt;
One can just login on the application web site with this access.&lt;br /&gt;
&lt;br /&gt;
A configured access overrides a configured public web path to &#039;/apps/application-name&#039;!&lt;br /&gt;
&lt;br /&gt;
===Certificates===&lt;br /&gt;
&lt;br /&gt;
The current server certificate installed on the web server is shown here. A self signed certificate, innovaphone-linux, is installed by default. It is recommended to change it with your own certificate.&lt;br /&gt;
&lt;br /&gt;
It is also possible to trust or reject other certificates.&lt;br /&gt;
&lt;br /&gt;
===Backup===&lt;br /&gt;
&lt;br /&gt;
The web server can be configured to poll a Command File URL (on a web server).&amp;lt;br&amp;gt;&lt;br /&gt;
The backup process is similar to [[Reference9:Services/Update]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alarm server can be also configured to receive alarms during an automatic backup: [[ #Alarm_Server | Alarm Server under Diagnostics ]].&lt;br /&gt;
&lt;br /&gt;
At the bottom you will see a list of the current automatic backup serials from the Command File URL and the log of the last automatic backups.&lt;br /&gt;
&lt;br /&gt;
[[Image:backup_restore.jpg]]&lt;br /&gt;
&lt;br /&gt;
====Command File====&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 saveinnovaphonecfgs http://172.16.123.123/webdav/backup/cfgs-#i-#b10.tar.gz&lt;br /&gt;
&lt;br /&gt;
The available default commands are:&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonecfgs=====&lt;br /&gt;
&lt;br /&gt;
Saves all neccessary configuration files (no application specific files) as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====saveinnovaphonelogs=====&lt;br /&gt;
&lt;br /&gt;
Saves all available (also application related) log files as a tar gz archive (so you should use .tar.gz as ending).&lt;br /&gt;
&lt;br /&gt;
=====times=====&lt;br /&gt;
Executes the following command(s) only, if the specified time matches and only once per hour (independent of poll timeout value).&amp;lt;br&amp;gt;&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# both commands always executed&lt;br /&gt;
saveinnovaphonelogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-logs-#i-#m-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphonecfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-cfg-#i-#m-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
# commands only from monday till saturday at 10am and 11am executed. &lt;br /&gt;
times day:1,2,3,4,5 hour:10,11 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
# commands only Saturdays and Sundays at 00am executed. &lt;br /&gt;
times day:6,7 hour:00 &lt;br /&gt;
saveinnovaphone-reportingcfgs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-cfgs-#i-#d-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportinglogs http://xxx.xxx.xxx.xxx.xxx/webdav/backup/linux-innovaphone-reporting-logs-#i-#d-#b10.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* day goes from 1 (Monday) to 7 (Sunday).&amp;lt;br&amp;gt;&lt;br /&gt;
* hour goes from 00 to 23.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can specify multiple times commands to override the last one.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Backup file name macros=====&lt;br /&gt;
&lt;br /&gt;
You can use some macros for the backup filename:&lt;br /&gt;
&lt;br /&gt;
* #i - will be replaced with the current IP address&lt;br /&gt;
* #m - will be replaced with the current MAC address&lt;br /&gt;
* #d - will be replaced with date/time in format Ymd-His (20110231-111010)&lt;br /&gt;
* #bxx - will be replaced with the current backup index, whilst xx is the maximum index&lt;br /&gt;
&lt;br /&gt;
====Save configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to see all available files/data/logs to download them manually.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be saved!&lt;br /&gt;
&lt;br /&gt;
====Restore configuration files/data====&lt;br /&gt;
&lt;br /&gt;
Open this link to restore all available files/data.&lt;br /&gt;
&lt;br /&gt;
 Password files for web server authentication won&#039;t be restored!&lt;br /&gt;
&lt;br /&gt;
===Mails===&lt;br /&gt;
&lt;br /&gt;
The Application Platform contains a mail client which speaks smtp (mutt+sendmail). This is used by default.&amp;lt;br&amp;gt;&lt;br /&gt;
Mail could be also configured to send mails via an external server (smtp relay).&lt;br /&gt;
&lt;br /&gt;
[[Image:smtp.png]]&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
&lt;br /&gt;
===List===&lt;br /&gt;
&lt;br /&gt;
A list of all currently installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
If an application has an own web interface, you can reach it by using the application name link.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Uninstall====&lt;br /&gt;
Use the uninstall link in the list to uninstall an application.&lt;br /&gt;
&lt;br /&gt;
===Upload/Update===&lt;br /&gt;
&lt;br /&gt;
Here all new applications, application updates and application platform updates are installed.&amp;lt;br&amp;gt;&lt;br /&gt;
After uploading the file, the installation will start automatically and the installation process will be shown. The page refreshes until the installation has finished.&lt;br /&gt;
&lt;br /&gt;
==Diagnostics==&lt;br /&gt;
&lt;br /&gt;
===Logs===&lt;br /&gt;
&lt;br /&gt;
Here you can view, download or clear the available log files from the application platform or from installed applications.&amp;lt;br&amp;gt;&lt;br /&gt;
You can also download all log files at once (this archiv also contains older versions from the log files).&lt;br /&gt;
&lt;br /&gt;
===RPCAP===&lt;br /&gt;
&lt;br /&gt;
Enable/disable RPCAP for use with Wireshark.&amp;lt;br&amp;gt;&lt;br /&gt;
A link will be displayed, which you can use within Wireshark.&lt;br /&gt;
&lt;br /&gt;
===Alarm Server===&lt;br /&gt;
&lt;br /&gt;
Configure an innovaphone device as alarm server:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ip&#039;&#039;&#039;: IP address of the innovaphone device&lt;br /&gt;
* [&#039;&#039;&#039;port&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;user&#039;&#039;&#039;]: user for authentication to the alarm server &lt;br /&gt;
* [&#039;&#039;&#039;password&#039;&#039;&#039;]&lt;br /&gt;
* [&#039;&#039;&#039;https&#039;&#039;&#039;]: use https to send the alarm&lt;br /&gt;
&lt;br /&gt;
Options in &#039;&#039;&#039;[]&#039;&#039;&#039; are optional.&lt;br /&gt;
&lt;br /&gt;
 Alarms from installed applications or the application platform itself will be sent to this configured server.&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&lt;br /&gt;
View the disk usage.&lt;br /&gt;
&lt;br /&gt;
===Reset===&lt;br /&gt;
====IPxx10====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform. You&#039;ll have to restart it over the IPxx10 gateway.&lt;br /&gt;
&lt;br /&gt;
====VMWare====&lt;br /&gt;
&lt;br /&gt;
Shutdown the application platform or reboot it.&lt;br /&gt;
&lt;br /&gt;
===Status PHP script===&lt;br /&gt;
http://LinuxAP/status.php returns a xml file containing the output from the following linux commands:&amp;lt;br&amp;gt;&lt;br /&gt;
* df -H&lt;br /&gt;
* free -h&lt;br /&gt;
* uptime&lt;br /&gt;
* ps -wwweo pid,lstart,time,etime,pcpu,pmem,rsz,vsz,args&lt;br /&gt;
* ss -A inet -ap&lt;br /&gt;
* top -b -n 1&lt;br /&gt;
&lt;br /&gt;
==Use as Log or Alarm Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as a server for innovaphone logs.&amp;lt;br&amp;gt;&lt;br /&gt;
Configure Local-AP(-s)/Remote-AP(-s) on [[Reference9:Services/Logging]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The following scripts are used to retrieve the logs/alarms:&lt;br /&gt;
* logs: /ap/log.fcgi&lt;br /&gt;
* alarms: /ap/alarm.fcgi&lt;br /&gt;
&lt;br /&gt;
So you can make the path &#039;&#039;&#039;/ap&#039;&#039;&#039; public on the &#039;&#039;Linux Web Server&#039;&#039; or you configure an authenticated URL for these files/this path on your &#039;&#039;innovaphone gateway&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 If you configure an authenticated URL, don&#039;t forget to configure port 80 or port 443 for secure transport (Remote-AP-S) like&lt;br /&gt;
 https://111.111.111.111:443/ap or http://111.111.111.111:80/ap&lt;br /&gt;
&lt;br /&gt;
==Use as File/VM-Server==&lt;br /&gt;
&lt;br /&gt;
You can use the application platform as file server, e.g. for udpate scripts, voicemail etc.&amp;lt;br&amp;gt;&lt;br /&gt;
You can access the server with a webdav client via &#039;&#039;&#039;http(s)://Linux-IP/webdav&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Public access to certain paths etc. can be configured under the [[Reference9:Concept_Linux_Application_Platform#Web_Server | web server configuration]].&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the Linux Filesystem(ext3) is case sensetive. The PBX will always search for lowercase letters. If you name your file ‘greetings.G711A’ it won’t be found. You have to name the file ‘greetings.g711a’.&lt;br /&gt;
&lt;br /&gt;
==Enable further Tracing==&lt;br /&gt;
There are different trace options, which can be enabled by calling a certain php script:&amp;lt;br&amp;gt;&lt;br /&gt;
 https://LINUX-IP/trace.php?level=63&lt;br /&gt;
&lt;br /&gt;
The level is calculated by the addition of one or multiple of the following trace options:&lt;br /&gt;
&lt;br /&gt;
{| border=1&lt;br /&gt;
 || &#039;&#039;&#039;Option&#039;&#039;&#039; || &#039;&#039;&#039;To add&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_STD || 1&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_DB || 2&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_TIME || 4&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW_TOTAL || 8&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_CALL_FLOW || 16&lt;br /&gt;
|-&lt;br /&gt;
 || TRACE_PARSE_CFG || 32&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So currently all trace options are enabled with the level &#039;&#039;&#039;63&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Appendix==&lt;br /&gt;
===Creating own applications===&lt;br /&gt;
See [[Reference9:Concept Linux Application]]&lt;br /&gt;
&lt;br /&gt;
===Tools===&lt;br /&gt;
&lt;br /&gt;
====NetDrive====&lt;br /&gt;
&lt;br /&gt;
[http://www.heise.de/software/download/netdrive/55134 NetDrive] is a usefull webdav client, which can be used to access webdav of the innovaphone application platform.&lt;br /&gt;
&lt;br /&gt;
====Putty====&lt;br /&gt;
&lt;br /&gt;
[http://www.putty.org/ Putty] is SSH client to connect to the linux application platform.&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
===Manual Debian Upgrade===&lt;br /&gt;
If you have installed one of our upgrade hotfixes and you had installed packages, which weren&#039;t included in innovaphone applications, the upgrade of some packages might have failed. You will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
The following packages couldn&#039;t be upgraded due to missing dependencies: php5-cgi php5-cli&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have to perfom some actions yourself:&lt;br /&gt;
* make sure, your Linux Application Platform has internet access&lt;br /&gt;
* login with a terminal client like Putty&lt;br /&gt;
* start &#039;apt-get update&#039;&lt;br /&gt;
* start &#039;apt-get install php5-cgi php5-cli&#039; (list the packages of the warning message)&lt;br /&gt;
* delete the file /var/www/innovaphone/log/missing_packages.log to clear the warning message:&lt;br /&gt;
** rm /var/www/innovaphone/log/missing_packages.log&lt;br /&gt;
&lt;br /&gt;
Your installation should be now up to date again.&lt;br /&gt;
&lt;br /&gt;
===Configuring a new Kernel===&lt;br /&gt;
If you have installed a hotfix with a new kernel, you will see a warning message on your application platform. Something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code type=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
You&#039;re not running the latest kernel Image-6010-3.4.10!&lt;br /&gt;
Take a look at our wiki to see, what you have to do now!&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change to the new kernel, you have to reconfigure something on your device, where the CF card is plugged in.&lt;br /&gt;
* First shutdown your Linux (see [[ Reference9:Concept_Linux_Application_Platform#IPxx10 ]])&lt;br /&gt;
* Stop Linux under [[ Reference9:Linux/General ]]&lt;br /&gt;
* Configure the latest kernel file (currently &amp;lt;code&amp;gt;Image-6010-3.4.10&amp;lt;/code&amp;gt;) under [[ Reference9:Linux/General ]] &#039;&#039;&#039;Linux kernel file&#039;&#039;&#039;&lt;br /&gt;
* Start Linux under [[ Reference9:Linux/General ]]&lt;br /&gt;
&lt;br /&gt;
===Alarms of the Application Platform===&lt;br /&gt;
If you have configured an [[ #Alarm_Server | Alarm Server]], you will receive certain alarms.&amp;lt;br&amp;gt;&lt;br /&gt;
Currently, the following alarms exist:&lt;br /&gt;
&lt;br /&gt;
* Disk Usage &amp;gt;= 90%&lt;br /&gt;
* Alarms for the innovaphone Reporting Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Exchange Calendar Connector Application, if installed&lt;br /&gt;
* Alarms for the innovaphone Faxserver Application, if installed&lt;br /&gt;
&lt;br /&gt;
=== Configure apt-get update with proxy server ===&lt;br /&gt;
&lt;br /&gt;
For setting the proxy server, declare the file : /etc/apt/apt.cond.d/01proxy&lt;br /&gt;
&lt;br /&gt;
With this following line:&lt;br /&gt;
 Acquire::http::Proxy &amp;quot;http://mylogin:mypass@ip-of-my-proxy:port&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
==Known Issues==&lt;br /&gt;
===Separate authentication for innovaphone applications===&lt;br /&gt;
If you configured a separate authentication, it depends on the used browser, whether you have to re-authenticate on switching between the root web and the innovaphone application web access or not.&lt;br /&gt;
&lt;br /&gt;
===Refreshing issue on hotfix installation===&lt;br /&gt;
[[ Reference9:Concept_Linux_Application_Platform#Refreshing_issue_on_installation | See here. ]]&lt;br /&gt;
&lt;br /&gt;
===Kernel Update in VM Platform===&lt;br /&gt;
The installation of a new kernel fails and this process leaves the system unstable, not being able to install any more debian packages. Hotfix installations will probably fail.&lt;br /&gt;
&lt;br /&gt;
===IP810 with Linux Application Platform V1 hotfix 11 or previous===&lt;br /&gt;
If a Linux Application Platform V1 hotfix 11 or previous is installed, an innovaphone firmware V9 hotfix 20 or later can not be used on the IP810. It is necessary to update the Linux Application Platform to V1 hotfix 12 or later first before updating the innovaphone firmware. The LAP V1 hotfix 12 installs a new Linux kernel which is necessary for the IP810 with the latest firmware.&lt;br /&gt;
&lt;br /&gt;
===Outdated packages? Debian Upgrade?===&lt;br /&gt;
From time to time we will deliver upgraded debian packages with a new hotfix. As we have to insure compatibility with our applications, we won&#039;t perform an upgrade for each hotfix!&lt;br /&gt;
&lt;br /&gt;
===Don&#039;t use more than one blank in your update script===&lt;br /&gt;
&lt;br /&gt;
If your script looks like this you will get an error message &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Backup saveinnovaphone-reportingdb failed: curl: (6) Couldn&#039;t resolve host &#039;innovaphone-reporting_xx.xx.xx.xx.gz&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
saveinnovaphone-faxservercfgs http://xx.xx.xx.xx/webdav/backup/backup-app-fax-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportingcfgs http://xx.xx.xx.xx/webdav/backup/backup-app-reporting-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportingdb   http://xx.xx.xx.xx/webdav/backup/backup-app-reporting-database-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphonecfgs           http://xx.xx.xx.xx/webdav/backup/backup-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it has to look like this script, without the blanks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
saveinnovaphone-faxservercfgs http://xx.xx.xx.xx/webdav/backup/backup-app-fax-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportingcfgs http://xx.xx.xx.xx/webdav/backup/backup-app-reporting-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphone-reportingdb http://xx.xx.xx.xx/webdav/backup/backup-app-reporting-database-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
saveinnovaphonecfgs http://xx.xx.xx.xx/webdav/backup/backup-cfgs-#d-#b14.tar.gz &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|Linux Application Platform]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:IP4/ETH/DHCP-Server&amp;diff=44328</id>
		<title>Reference12r1:IP4/ETH/DHCP-Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:IP4/ETH/DHCP-Server&amp;diff=44328"/>
		<updated>2016-09-27T11:36:20Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Offer Parameters: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Offer Parameters: ==&lt;br /&gt;
All settings marked with a &amp;quot;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;quot; are innovaphone vendor-specific settings recognized only by innovaphone devices. &lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Network Mask:&#039;&#039;&#039;&lt;br /&gt;
| The (sub)network mask to be used by the client. The mask is silently adjusted to cover only &#039;&#039;classful&#039;&#039; mask for the IP-Adresses to be provided (for example, the &#039;&#039;classful&#039;&#039; mask for the class-C address 192.168.0.1 is 255.255.255.0, for the class-B address 172.16.0.1 it is 255.255.0.0).&lt;br /&gt;
If not specified, the mask configured at the ethernet interface of the DHCP server is used.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Default Gateway:&#039;&#039;&#039;&lt;br /&gt;
| Standard router address (for example, 192.168.1.1).&lt;br /&gt;
If not specified, this will be defaulted to the DHCP server&#039;s IP address&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TOS Priority *:&#039;&#039;&#039;&lt;br /&gt;
| Two comma separated 8 bit values for the TOS/DSCP field in the IP header of UDP-RTP and TCP-signalling packets (Bit 0..2 &#039;precedence&#039;, bit 3..6 &#039;type of service&#039;). The default for RTP packets is 0xb8 (RFC 3246 - Expedited Forwarding), for signalling packets it is 0x68 (RFC 3246 - Assured Forwarding).  0xb8,0x68 for example define the default values. &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;IP Routing:&#039;&#039;&#039;&lt;br /&gt;
| List of static IP-Routes in form of comma separated &#039;&#039;Address:Mask:Gateway&#039;&#039; triples (for example, 192.168.20.0:255.255.255.0:192.168.1.2,192.168.30.0:255.255.255.0:192.168.1.3). Note if you have only one IP Route you need to finish with &amp;quot;comma&amp;quot; in the end, using the previous example would be: 192.168.20.0:255.255.255.0:192.168.1.2,&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;DNS Server 1:&#039;&#039;&#039;&lt;br /&gt;
| Primary DNS server address.&lt;br /&gt;
If not specified, this will be defaulted to the DHCP server&#039;s IP address&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;DNS Server 2:&#039;&#039;&#039;&lt;br /&gt;
| Secondary DNS server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Domain Name:&#039;&#039;&#039;&lt;br /&gt;
| Domain name that client should use when resolving hostnames via DNS (aka primary DNS prefix).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;SYSLOG Server:&#039;&#039;&#039;&lt;br /&gt;
| SYSLOG server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TFTP Server:&#039;&#039;&#039;&lt;br /&gt;
| The TFTP server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Time Server 1:&#039;&#039;&#039;&lt;br /&gt;
| Primary Time server address.&lt;br /&gt;
If not specified, this will be defaulted to the DHCP server&#039;s IP address&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Time Server 2:&#039;&#039;&#039;&lt;br /&gt;
| Secondary Time server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Timezone String *:&#039;&#039;&#039;&lt;br /&gt;
| Time zone setting according to the IEEE POSIX standard (for example, CET-1CEST-2,M3.5.0/2,M10.5.0/3).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;WINS Server:&#039;&#039;&#039;&lt;br /&gt;
| The WINS server address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Node Type:&#039;&#039;&#039;&lt;br /&gt;
|NetBIOS over TCP/IP name resolution method (e.g. 2 for P-node)&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Primary Gatekeeper *:&#039;&#039;&#039;&lt;br /&gt;
| The primary gatekeeper IP address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Secondary Gatekeeper *:&#039;&#039;&#039;&lt;br /&gt;
| The alternative Gatekeeper IP address.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;VoIP Protocol *:&#039;&#039;&#039;&lt;br /&gt;
| The VoIP Protocl to be used for the Primary Registration (User-1), one of:&amp;lt;br/&amp;gt;&lt;br /&gt;
H.323, H.323/TCP, H.323/TLS, SIP/UDP, SIP/TCP, SIP/TLS&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Coder *:&#039;&#039;&#039;&lt;br /&gt;
| Coder preferences for VoIP telephones. You get additional information&#039;s in this article [[Reference11r1:DHCP client]]&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Gatekeeper Identifier *:&#039;&#039;&#039;&lt;br /&gt;
| The VoIP gatekeeper or the gatekeeper ID for VoIP telephones.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Dial Tones *:&#039;&#039;&#039;&lt;br /&gt;
| The dial tone that is transmitted as the standard dial tone to the VoIP telephones (for example, German PBX = as German PBX, US = US dial tone, UK = British dial tone).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Enblock Dialling Timeout [s] *:&#039;&#039;&#039;&lt;br /&gt;
| Switches on enbloc dialling for VoIP telephones.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Faststart [0|1] *:&#039;&#039;&#039;&lt;br /&gt;
| Faststart 0/1 turns off/on the H.323 Faststart procedure. If this option is not defined the default (on) applies. &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Tunneling [0|1] *:&#039;&#039;&#039;&lt;br /&gt;
| Tunneling 0/1 turns off/on the H.245 Tunneling procedure. If this option is not defined the default (on) applies. &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Local Networks *:&#039;&#039;&#039;&lt;br /&gt;
| List of local networks in form of comma separated &#039;&#039;Address:Mask&#039;&#039; pairs (for example, 192.168.1.0:255.255.255.0,192.168.2.0:255.255.255.0). For VoIP Calls that end up in a local network the device will try to use the coder preferred for the local network (as provided in the Coder option or defined locally). &lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Language *:&#039;&#039;&#039;&lt;br /&gt;
| The language to be used as default language on a VoIP Telefone, one of the shorthands:&amp;lt;br/&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|Shorthand  || Language&lt;br /&gt;
|-&lt;br /&gt;
| ger || Deutsch&lt;br /&gt;
|-&lt;br /&gt;
| eng || English&lt;br /&gt;
|-&lt;br /&gt;
| frn || Française&lt;br /&gt;
|-&lt;br /&gt;
| dut || Nederlands&lt;br /&gt;
|-&lt;br /&gt;
| ita || Italiano&lt;br /&gt;
|-&lt;br /&gt;
| esp || Español&lt;br /&gt;
|-&lt;br /&gt;
| swe || Svenska&lt;br /&gt;
|-&lt;br /&gt;
| dan || Dansk&lt;br /&gt;
|-&lt;br /&gt;
| nor || Norsk&lt;br /&gt;
|-&lt;br /&gt;
| fin || Suomi&lt;br /&gt;
|-&lt;br /&gt;
| cze || Cestina&lt;br /&gt;
|-&lt;br /&gt;
| est || Eesti&lt;br /&gt;
|-&lt;br /&gt;
| por || Português&lt;br /&gt;
|-&lt;br /&gt;
| lat || Latvieðu&lt;br /&gt;
|-&lt;br /&gt;
| cro || Hrvatski&lt;br /&gt;
|-&lt;br /&gt;
| pol || Polski&lt;br /&gt;
|-&lt;br /&gt;
| rus || Русский&lt;br /&gt;
|-&lt;br /&gt;
| slo || Slovenija&lt;br /&gt;
|-&lt;br /&gt;
| hun || Magyar&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Dialling Location *:&#039;&#039;&#039;&lt;br /&gt;
| Defines the various PBX access numbers on VoIP telephones for directory access. This character string must contain /cc, /ac, /ntp, /itp, /col and /pbx options. The &amp;quot;Max Internal Number Length&amp;quot; is optional and coded with the tag /len. A valid string may look like this one: &amp;lt;code&amp;gt;/cc 49 /ac 7031 /ntp 0 /itp 00 /col 0 /pbx 7 /len 3&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;AM/PM Clock [0|1] *:&#039;&#039;&#039;&lt;br /&gt;
| Enables/disables the English time format for VoIP telephones. The German time format is displayed as standard: &amp;quot;dd.mm.yy hh:mm, 24-hour clock.&amp;quot; If a 1 is entered in this field, the English time format &amp;quot;mm/dd hh:mm xm, 12-hour am/pm clock&amp;quot; is displayed.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;LDAP Directory *:&#039;&#039;&#039;&lt;br /&gt;
| To allocate a functioning LDAP configuration to all VoIP devices integrated via DHCP, a configuration character string can be entered in the LDAP Directory field. You obtain this configuration character string by executing the following command in the browser of a configured device: &amp;quot;&amp;lt;IP-Adresse of the VoIP device&amp;gt;/!mod cmd PHONE/DIR ldap-config&amp;quot;. When this command has been executed, a configuration character string is output in the browser, which you copy and paste into the LDAP Directory field of the DHCP server. In this way, all further devices are given a correct LDAP configuration.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Update Interval [min] *:&#039;&#039;&#039;&lt;br /&gt;
| All devices integrated via DHCP are assigned the interval specified here in the Interval [min] field of the update server (see chapter entitled &amp;quot;[[{{NAMESPACE}}:Services/Update|Services/Update]]&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Update Server URL *:&#039;&#039;&#039;&lt;br /&gt;
| All devices integrated via DHCP are assigned the URL specified here (for example, &amp;lt;nowiki&amp;gt;http://192.168.1.2/update/script.htm&amp;lt;/nowiki&amp;gt;) in the Command File URL field of the update server (see chapter entitled &amp;quot;[[{{NAMESPACE}}:Services/Update|Services/Update]]&amp;quot;). An automated update of the devices is thereby ensured.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;802.1q VLAN ID *:&#039;&#039;&#039;&lt;br /&gt;
| The configuration at the switch must be observed for setting the VLAN ID. An empty 802.1q VLAN ID field (16 bit) assumes the value 0. The VLAN ID with the value 0 switches QoS (Quality of Service) off according to 802.1q ab. If the switch at the port to the innovaphone device happens to be configured to a different VLAN ID, the same value must be specified here to allow a prioritisation from the Ethernet. To be able to distinguish between the VLANs, the Ethernet packet is extended by 4 bytes, of which 12 bits are intended for the inclusion of the VLAN ID, making 4094 VLANs possible (VLAN ID 0 and 4095 are reserved or invalid).&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;802.1p VLAN Priority *:&#039;&#039;&#039;&lt;br /&gt;
| In the 802.1p VLAN Priority field (3 bit), the associated VLAN priority level (a value between 0 and 7) can be specified, in order that voice data is given priority forwarding, for example.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;STUN Server *:&#039;&#039;&#039;&lt;br /&gt;
| See [[{{NAMESPACE}}:IP4/General/STUN]] for the format.&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;TURN Server *:&#039;&#039;&#039;&lt;br /&gt;
| See [[{{NAMESPACE}}:IP4/General/STUN]] for the format.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=43231</id>
		<title>Reference10:Concept Voice Recording 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=43231"/>
		<updated>2016-07-07T16:13:42Z</updated>

		<summary type="html">&lt;p&gt;Gnd: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The innovaphone Voice Recorder application allows recording while the innovaphone Player application a comfortable search and playback of phone calls. &lt;br /&gt;
&lt;br /&gt;
All kinds of calls can be recorded:&lt;br /&gt;
&lt;br /&gt;
*Incoming calls&lt;br /&gt;
&lt;br /&gt;
*Outgoing calls&lt;br /&gt;
&lt;br /&gt;
*Calls from innovaphone IP Phones&lt;br /&gt;
&lt;br /&gt;
*Calls form 3rd party IP-Phones&lt;br /&gt;
&lt;br /&gt;
*Calls from IP-DECT phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from analogue phone sets&lt;br /&gt;
&lt;br /&gt;
*Calls from with mobile phones (mobility, forking)&lt;br /&gt;
&lt;br /&gt;
*Calls done on a legacy PBX (soft migrations scenarios)&lt;br /&gt;
&lt;br /&gt;
The records are stored in a first step on the Conpact flash or webdav server and processed then form the recorder tool.&lt;br /&gt;
&lt;br /&gt;
Voice recording can be done on a logical or fiscal gateway (BRI, GW, SIP etc.), and therefore all kind of audio traffic can be recorded. Technically spoken a gateway is doing media relay and writes the audio data to the webdav or CF.&lt;br /&gt;
&lt;br /&gt;
The second way to record is recording directly from the innovaphone IP-Phone. In this case the phone itself writes the audio data to the CF or webdav server.&lt;br /&gt;
&lt;br /&gt;
See the “Scenarios” for further details.&lt;br /&gt;
&lt;br /&gt;
The solution requires an innovaphone PBX, the reporting tool and two applications;&lt;br /&gt;
&lt;br /&gt;
*a recording tool described in this document called “Recorder”&lt;br /&gt;
&lt;br /&gt;
*a search and playback tool called “Player”. &lt;br /&gt;
&lt;br /&gt;
The usage of the Player is not part of this description, a separate localized help and user manual is available. &lt;br /&gt;
&lt;br /&gt;
While the recorder (this description) has to be installed by professionals and the maintenance is done by system administrations people (and therefore English wording and this description is good enough) the player is operated by End user and may be not digital native, skilled or knowledge base workers. &lt;br /&gt;
&lt;br /&gt;
Note also that the setup of the player is a typical admin job and not described in the player manual.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: All users that should be recorded need the REPORTING! We recommend reporting for all user, see chapter “Requirements” for further details.  &lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
As webdav server just the innovaphone webdav server (on a GW or IPVA) is supported.&lt;br /&gt;
&lt;br /&gt;
The recorder use HTTP and HTTPS access and not a webdav protocol to access.&lt;br /&gt;
&lt;br /&gt;
===PBX===&lt;br /&gt;
You require a PBX version 11 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Reporting===&lt;br /&gt;
&lt;br /&gt;
The recording feature requires the innovaphone Reporting.  Please update your platform to the latest Hotfix. Minimum Build 10043 is required.&lt;br /&gt;
&lt;br /&gt;
At least any user that should be recorded must have the reporting. If user will generate pcap files (do a recording) it is recommended that also those users should have a recording; generally we recommend that all users in the PXN should have the recording on. Here is why: if the recorder found a pcap file (an audio file) he will “ask” the reporting about the involved users. If the reporting has no information (because those users have no reporting) the answer will be a “not found”.  Therefore the recorder will try later on more times to found the record in the recording, all that will slow down the entire system.&lt;br /&gt;
&lt;br /&gt;
=== Recorder ===&lt;br /&gt;
&lt;br /&gt;
This document describes Build 10089. Please note that from build 10084 on no more drive mapping is done and 10089 supports https.&lt;br /&gt;
&lt;br /&gt;
The recorder application requires a PC or server with Windows OS Win 7 or higher, also windows server 2008 (Windows 2003 server not tested) or higher is supported. &lt;br /&gt;
&lt;br /&gt;
Disk space: One minute of conversation requires about 1 MB of memory. &lt;br /&gt;
The stores voce data is not PCM but a G.711 format in a wave container. PCM require much more disk space and is not used for storing. The audio files can also be encrypted. Encryption would double the required disk space. The recorded conversation is a stereo file where the external caller is on the left channel whiles the internal one in the right channel. It is possible down mix the conversation to mono; this would save about 50%. It is also possible compress the audio data to mp3.&lt;br /&gt;
&lt;br /&gt;
The following table shows the required disk space for one minute of conversation:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup07.png]]&lt;br /&gt;
&lt;br /&gt;
Example: 500GB Hard disk, mp3 compression without encryption -&amp;gt; 1.389 days = 3,8 years of conversation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
No particular memory or CPU speed is requested, standard editions are quite good enough. Invest better in a good quality because in professional environments those machines have to work for many years.&lt;br /&gt;
&lt;br /&gt;
Voice recording requires a Version 11 innovaphone PBX and a actual Build of the Reporting tool. No compatibility with older versions is possible. PBX and/or Reporting can run on a gateway as well as on VMware. &lt;br /&gt;
&lt;br /&gt;
The recording of the pcap file is done by the PBX firmware and requires a Compact flash or a WebDAV server. The recorder software will detect those records and copy them on the real storage path. Therefore the storage requirement for the CF/WebDAV not real high (but remember always 1 Minute =1 MB, so if you must record 30 conversations for 30 minutes = 900MB).&lt;br /&gt;
&lt;br /&gt;
Voice recorder and Player could run on the same PC as well one single PC can also be used for the reporting, recording, playing and webdav server (and PBX if you like). So anything on one server is theoretically possible. &lt;br /&gt;
&lt;br /&gt;
The two extreme setups are: &lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the GW, reporting on the GW, pcap recording on the CF, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
*innovaphone PBX on the PC, reporting on the PC, pcap recording on the PC, recording application on a PC&lt;br /&gt;
&lt;br /&gt;
Each combination between is possible. &lt;br /&gt;
&lt;br /&gt;
Remember that the CF is a relative slow drive, you will note this if you copy a file from the CF to the local HD of your PC. Exact this file copy is one of the task of the recorder, even a critical one (so not a good idea do anything else in between). The result is that the copy of a huge file (a long conversation) or many files will virtually froze the recorder software. In reality the recorder is just hanging around and waits that the file copy is finally done. So a recording on an external webdav server will solve this, but the CF has the nice flair working even if all PC’s are down. Take your choices and live with them.&lt;br /&gt;
&lt;br /&gt;
Require Framework 4.5.&lt;br /&gt;
&lt;br /&gt;
=== Codecs ===&lt;br /&gt;
Recording can only be done in G.711 or G.729.  Calls with different codes (e.g. G.722) will still be recorded, but no wave files will be converted!&lt;br /&gt;
&lt;br /&gt;
=== Player ===&lt;br /&gt;
&lt;br /&gt;
The player application requires a PC with Windows OS Win 7 or higher, the Mediaplayer is necessary. All that on a standard office PC is installed and you have to do nothing in particularly.&lt;br /&gt;
Require Framework 4.5. &lt;br /&gt;
In theory also a Windows server 2008 could host the player, but in the server versions the media player typically is not installed and there are also different DLL missing. So if you have time or you are well Microsoft server trained face also that if necessary (normally not).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In theory it should work on any CPU, the Player was tested under Win7 32BIT, Win7 64Bit and Win8 64Bit.&lt;br /&gt;
&lt;br /&gt;
===License===&lt;br /&gt;
&lt;br /&gt;
The license model is based on user, so for each user to record a license is required.&lt;br /&gt;
&lt;br /&gt;
The current implementation allows a recording of objects of type user or executive. Recordings on other objects will be discarded.&lt;br /&gt;
&lt;br /&gt;
So in short: Per recorded user or executive object you need to have&lt;br /&gt;
* one recording license&lt;br /&gt;
* one reporting license&lt;br /&gt;
&lt;br /&gt;
In start-up the recorder will read out the number of recording license in the PBX. After that the recorder will read out all users and check if a user is in the recording group (defined in the recorder setup). If a user with that group is found one license is counted down. If there are no more license but user in group detected they will be skipped. The recorder shows how many license where detected in the PBX and how many user are in the recording group. If there are more users than licenses a warning is show.&lt;br /&gt;
&lt;br /&gt;
Remember that just users in the recorder user table are recorded; all other records are automatic deleted! This can be usefully if for example for internal reasons not just the user to record passes through the recording gateway but also others; not being in the group the records will be destroyed. But of course this will cause senseless PBX CPU workload because a recording anyway is done, just the recorder will delete after the files.&lt;br /&gt;
&lt;br /&gt;
=== Legal Aspects ===&lt;br /&gt;
&lt;br /&gt;
Please take extremely care about the legal issue: in most country voice recording of telephone calls is forbidden and persecuted by law as a crime.  In some country it is legal in certain circumstances, for example you have to inform the caller that the call will be recorded. That can be done automatically (using for example a waiting queue) or “manually”, telling the far person that this call will be recorded. Of cause also this announcement should be recorded. In some country recording is legal without any announcement for certain services, for example in case of emergency calls or calls to the police. In most country authority like the secret service do not really care about all that stuff and do what they want, but this is probably not your case. &lt;br /&gt;
&lt;br /&gt;
So inform yourself and the customer about the local legal situation. Using the recording tools is on your own risk and innovaphone will not take any responsibility, even not for eventual malfunctions. See also our general trading terms, valid even for this solution. If you have any doubt about legal questions in using voice recording; don´t do it, don’ use it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Feature list ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
•	Using an innovaphone IP-Phone set immediately after call end the recording can be listened using the phone. One feature key stroke and the conversation is reproduced and repeated endless (auto replay). This call can also be transferred or put in a 3 party conference (immediate sharing) &lt;br /&gt;
&lt;br /&gt;
•	Online Help and tooltips for application and setup&lt;br /&gt;
&lt;br /&gt;
•	Setup password protected, setup files are encrypted&lt;br /&gt;
&lt;br /&gt;
•	Recorder in Demo Mode (20 minutes) , Player for free&lt;br /&gt;
&lt;br /&gt;
•	Many recorder in one system and unlimited number of players&lt;br /&gt;
&lt;br /&gt;
=== Recorder ===&lt;br /&gt;
&lt;br /&gt;
•	Recording of any type of calls direction &lt;br /&gt;
&lt;br /&gt;
•	Recording of calls from any device: IP-Phones (innovaphone and 3rt Party), analogue phones, GSM (mobility), IP-DECT&lt;br /&gt;
&lt;br /&gt;
•	Recording of calls from/to legacy PBX (smooth migration)&lt;br /&gt;
&lt;br /&gt;
•	Recording can be done in a logical gateway or direct from a innovaphone phone set&lt;br /&gt;
&lt;br /&gt;
•	Recording of encrypted calls&lt;br /&gt;
&lt;br /&gt;
•	Standard and thread call recording. If thread call recording is on after a settable time period (for example 5 minutes) a call will be automatically deleted. If the user calls inside the time period a code the last call will be saved. This marking to keep the recorded call can be done from any type of phone. If the phone is a innovaphone IP Phone the marking can be done also during conversation&lt;br /&gt;
&lt;br /&gt;
•	Storage of all relevant data including the time to answer for each call&lt;br /&gt;
&lt;br /&gt;
•	Detail protocol of each call, documentation of the entire call flow, not just the recording period but even previous and following one. Detail report on all call situations, transfer, call forwarding, pick-up, group call, conference etc. Also calls in waiting queues or announcements are reported with second accuracy&lt;br /&gt;
&lt;br /&gt;
•	Encrypted protocol data &lt;br /&gt;
&lt;br /&gt;
•	Display number of channels in recording with start timestamp&lt;br /&gt;
&lt;br /&gt;
•	Error and  Event log files&lt;br /&gt;
&lt;br /&gt;
•	Email alert in case of master alarm&lt;br /&gt;
&lt;br /&gt;
•	Automatic backup (copy to mass storage archive)&lt;br /&gt;
&lt;br /&gt;
•	Automatic delete of records older than 2-99 month (not on archives)&lt;br /&gt;
&lt;br /&gt;
•	Recordings are saved as wave files, can be reproduced with any player&lt;br /&gt;
&lt;br /&gt;
•	Wave data integrity supervision&lt;br /&gt;
&lt;br /&gt;
•	File name contains primary data (Timestamp, Caller and called, direction, time to answer, UID)&lt;br /&gt;
&lt;br /&gt;
•	Counter of recorded conversations&lt;br /&gt;
&lt;br /&gt;
•	Data Link to player, remote control of the recorder from player&lt;br /&gt;
&lt;br /&gt;
•	Interface to external applications, via TCP or URL, recorder provides data for later retrieving. Player can be controlled sending commands to the recorder (3rd party)&lt;br /&gt;
&lt;br /&gt;
•	Mark record during a conversation on the IP-Phone (build 1077)&lt;br /&gt;
&lt;br /&gt;
•	Https from Build 10087 on&lt;br /&gt;
&lt;br /&gt;
•	Slave sites from Build 10089 on&lt;br /&gt;
&lt;br /&gt;
=== Player ===&lt;br /&gt;
&lt;br /&gt;
•	Integrity of the recorded wave files are recognized and displayed&lt;br /&gt;
&lt;br /&gt;
•	Agent note, a Player displays automatically agent notes and can add text notes to each call&lt;br /&gt;
&lt;br /&gt;
•	Integration with iQM server, display of missed calls, possibility to recall immediately &lt;br /&gt;
&lt;br /&gt;
•	Naming of Players &lt;br /&gt;
&lt;br /&gt;
•	Month and Day filter&lt;br /&gt;
&lt;br /&gt;
•	Filter for internal and external number with wildcards&lt;br /&gt;
&lt;br /&gt;
•	Filter for incoming and outgoing calls&lt;br /&gt;
&lt;br /&gt;
•	View of oldest or newest call on top&lt;br /&gt;
&lt;br /&gt;
•	SOS mode can be switched on/off with just one click. If on all unnecessary key are hide, the newest calls are displayed on top of the call list and filters are switched off&lt;br /&gt;
&lt;br /&gt;
•	Selection of calls, one single call, more single selected calls, from to, all&lt;br /&gt;
&lt;br /&gt;
•	Online search and display, can be switched off&lt;br /&gt;
&lt;br /&gt;
•	Copy, move and delete of calls&lt;br /&gt;
&lt;br /&gt;
•	Move and delete operations are logged in centralized manipulation log &lt;br /&gt;
&lt;br /&gt;
•	Permissions &lt;br /&gt;
&lt;br /&gt;
•	Multiple selected calls can are transferred automatically in a playlist and can be reproduced&lt;br /&gt;
&lt;br /&gt;
•	Display record size&lt;br /&gt;
&lt;br /&gt;
•	Display number of records in playlist and actual play&lt;br /&gt;
&lt;br /&gt;
•	Jump forward and backward in playlist &lt;br /&gt;
&lt;br /&gt;
•	Jump to next/previous title in search result list if playlist contains just one record&lt;br /&gt;
&lt;br /&gt;
•	Marc record in playlist, select actual record and clear all others&lt;br /&gt;
&lt;br /&gt;
•	Play one title after the other in playlist&lt;br /&gt;
&lt;br /&gt;
•	Play a beep if record change in playlist (loop playlist)&lt;br /&gt;
&lt;br /&gt;
•	Repeat play (loop record), up to 4 positions, stored automatically&lt;br /&gt;
&lt;br /&gt;
•	Repeat play of all stored memory positions&lt;br /&gt;
&lt;br /&gt;
•	Display internal and external number with name resolution&lt;br /&gt;
&lt;br /&gt;
•	Display timestamp, time to answer an call ID&lt;br /&gt;
&lt;br /&gt;
•	Display System and Player status&lt;br /&gt;
&lt;br /&gt;
•	Display if local remote control interface is on&lt;br /&gt;
&lt;br /&gt;
•	Display of play was forced be recorder remote control&lt;br /&gt;
&lt;br /&gt;
•	Keys for Stop, Play, Fast Forwarding, Rewind, Pause and Eject &lt;br /&gt;
&lt;br /&gt;
•	Display duration record&lt;br /&gt;
&lt;br /&gt;
•	Display elapsed time or count down, switchable &lt;br /&gt;
&lt;br /&gt;
•	Original time elapsing display&lt;br /&gt;
&lt;br /&gt;
•	Progress bar adjustable, direct jump to selected position, drag and drop&lt;br /&gt;
&lt;br /&gt;
•	Start and Stop position can be marked an played in loop (selection loop)&lt;br /&gt;
&lt;br /&gt;
•	Volume control with audio meter and peek indication&lt;br /&gt;
&lt;br /&gt;
•	Delta level Indication (L-R and R-L meter)&lt;br /&gt;
&lt;br /&gt;
•	Overflow level audio meter&lt;br /&gt;
&lt;br /&gt;
•	Enhanced sensitivity for audio meter&lt;br /&gt;
&lt;br /&gt;
•	Attenuation left and right channel adjustable&lt;br /&gt;
&lt;br /&gt;
•	Audio setup can be stored and recalled&lt;br /&gt;
&lt;br /&gt;
•	Audio level at maximum&lt;br /&gt;
&lt;br /&gt;
•	Levels are stored and set on restart&lt;br /&gt;
&lt;br /&gt;
•	Level meter with peek indicator for left and right channel&lt;br /&gt;
&lt;br /&gt;
•	Mute&lt;br /&gt;
&lt;br /&gt;
•	Large additional display with call details&lt;br /&gt;
&lt;br /&gt;
•	Automatic decryption if files are copied&lt;br /&gt;
&lt;br /&gt;
•	Player can be limited to display just calls of one extension&lt;br /&gt;
&lt;br /&gt;
•	Communication with recorder, display of link status, last master alarm and channels in recording&lt;br /&gt;
&lt;br /&gt;
•	Reset recorder from player&lt;br /&gt;
&lt;br /&gt;
•	Search an play on backup directories&lt;br /&gt;
&lt;br /&gt;
•	Operate as Media player, reproduction of audio format wav, mp3, wmp and video format avi, wmv, mp4 and mpg&lt;br /&gt;
&lt;br /&gt;
•	1rst and 3rd party remote control&lt;br /&gt;
&lt;br /&gt;
•	Document security, manipulation is detected and displayed&lt;br /&gt;
&lt;br /&gt;
•	Browse last played records (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Browse marked records on this player (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Browse marked records in a system wide available directory (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Mark records on player and for system wide access (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Copy records marked in a player to the system wide available directory (build 1071)&lt;br /&gt;
&lt;br /&gt;
•	Write a central log for all player listening’s (build 1071) &lt;br /&gt;
&lt;br /&gt;
•	Work over http connections (build 1074)  &lt;br /&gt;
&lt;br /&gt;
•	Limit view to a list of extensions (build 1077)&lt;br /&gt;
&lt;br /&gt;
== Scenarios ==&lt;br /&gt;
&lt;br /&gt;
The recorded files are in a wave format and can be played with a normal Mediaplayer, the delivered Player allows additional features.&lt;br /&gt;
&lt;br /&gt;
The recorded records are stored in an indicated path and a copy of the records can be done automatically.&lt;br /&gt;
&lt;br /&gt;
Errors and events are stored in a log file and alarms tracked; a mail can be send if an alarm occurs. &lt;br /&gt;
&lt;br /&gt;
It is possible to limit the duration of the storing period; older files will be deleted automatically. This is to avoid disk full errors, keep in mind that this kind of systems usually works unattended all the time.&lt;br /&gt;
&lt;br /&gt;
The number of player and recorder is unlimited.&lt;br /&gt;
&lt;br /&gt;
=== Recording on a central point ===&lt;br /&gt;
&lt;br /&gt;
Recording is possible on each logical Gateway and therefore on external lines (ISDN, SIP or H323 Trunks). In theory “external” is just a convention, even internal calls passing through those gateways could be recorded, but this is more a theoretical issue. An innovaphone gateway can also be used as a “recording” bar and introduced between a legacy PBX and the PSTN. Remember anyway that the innovaphone PBX must be activated and the Reporting tool is required. &lt;br /&gt;
&lt;br /&gt;
Being recording defined on a logical Gateway opens different options, for example activate recoding just for a dedicated route. For example just for incoming calls or just for some outgoing calls. Typical examples for such a setup are business and private calls, where just business calls should be recorded. For example if a call is done using “0” as prefix recording is done, using “9” not. &lt;br /&gt;
&lt;br /&gt;
Or normally (“0”) no voice recording is done, but if a user access to a trunk with a particular prefix (“9”), recording is on. This for example is widely used in selling contracts by phone (like mobile phone carrier do); they call the customer and if the customer agrees in the commercial proposal to extend or to “sign” the contract they will call back the customer again using another prefix and record now the conversation. &lt;br /&gt;
&lt;br /&gt;
Recording rules can also be executed automatically because configured in the gateway setup. For example you can exclude certain user from recording or vice versa, doing recording just for some users.  For example all calls to the financial operators are recorded, all other calls not. Or all users are recorder but the management not.&lt;br /&gt;
&lt;br /&gt;
All that is a question of setup in then innovaphone gateway (and PBX) and not described in detail in this document, being standard features and described in many other articles (and being part of the advanced technical training).&lt;br /&gt;
&lt;br /&gt;
Please note that recording starts when a connection is established and terminates when the connection is terminated. That means that eventual waiting situations in waiting queues, music on hold sequences calls etc. are recorded too.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that each extension that should be recorded must be active in the reporting, means require a recording license. Even if you operate a soft migration you must go up in the PBX to a dummy user with reporting on and back again down to the relay.&lt;br /&gt;
&lt;br /&gt;
Notes:  Recording can be done just in G711A or G729 on a logical gateway as endpoint. If you want record internal calls in this way calls must always transit a logical gateway (with the media relay flag on). &lt;br /&gt;
&lt;br /&gt;
=== Recording with the IP-Phone ===&lt;br /&gt;
&lt;br /&gt;
Recording can be done also directly from the innovaphone IP-Phone.&lt;br /&gt;
If switched on all calls from and to this phone are recorded, there are no recording rules. Calls could be stored in different files, because a new call means also a new file. If for example a phone put on hold a conversations and establish a second call this second call will be stored a an separate file.&lt;br /&gt;
&lt;br /&gt;
Doing voice recording using the IP-Phone or using a Gateway has advantages and disadvantages; it depends on your point of view and the scenario.&lt;br /&gt;
&lt;br /&gt;
Here some issues to remember: &lt;br /&gt;
&lt;br /&gt;
Recording on a gateway is like the old “ISDN Recording”: anything passing that interface is recorded. That has the advantage that any type of endpoint (IP, 3rt party, Dect, analog etc.) will be recorded. The disadvantage is that internal calls are not recorded. Also the CPU load of the PBX will rise while recording with an IP-Phone has nearly no influence. &lt;br /&gt;
&lt;br /&gt;
Recording directly from the Phone has the limitation that just innovaphone IP-Phone are able to doing that. Only innovaphone IP-Phones IP2x2, IP111, IP241 and IP240A with bigger DRAM (http://wiki.innovaphone.com/index.php?title=Howto:Upgrade_IPxxxA_to_support_more_DRAM_Memory) can performing Voice Recording directly.&lt;br /&gt;
If you mix both setup in a scenario you should avoid that a Phone is doing recording and cross a gateway doing recording too. If that happen recording is done in two points and you double for nothing disk space and resources (and confuse everybody).&lt;br /&gt;
&lt;br /&gt;
In the V11r1 IP recording on the phone can just switched on or off in the setup, not from the user. In V11r2 recording can switched on and off by the user (similar to the 3party version). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: The recording described here does not require a phone 3 party conference; therefore a 3party conference is possible on the phone while Voice Recording 2014 is running.&lt;br /&gt;
&lt;br /&gt;
== Recording Modes ==&lt;br /&gt;
=== Standard Recording ===&lt;br /&gt;
&lt;br /&gt;
Operating in the “Standard Recording” (STD) mode recorded calls are converted and saved after the call has finished. &lt;br /&gt;
&lt;br /&gt;
Note: A recorder canoperate just in one mode (for example &amp;quot;Standard&amp;quot;). Mixed scenario are possible but require two or more recorders, the setup in this case has to be done very carefully.&lt;br /&gt;
&lt;br /&gt;
=== Thread Call Recording ===&lt;br /&gt;
&lt;br /&gt;
Operating in the “Thread Call Recording” (TCR) mode only marked calls are converted and saved, all other calls are deleted automatically.&lt;br /&gt;
&lt;br /&gt;
A call can be marked manually from the user or automatically from his innovaphone IP-Phone. A call can be marked during the call or after call, but within a defined time period (for example until 5 minutes after the call-end). Not marked calls are deleted while marked calls will contain the entire call, so from the beginning on (even if marking is done during or after the call).&lt;br /&gt;
&lt;br /&gt;
Marking calls during the conversation can be done only using innovaphone IP-Phones while all type of phones can mark a call after the conversation. To mark a call after a conversation the user must call a XML object.&lt;br /&gt;
&lt;br /&gt;
In a typical setup the user will hear a confirmation if he is marking a call, something like “the last conversation was recorded and will be saved” or similar. &lt;br /&gt;
&lt;br /&gt;
If marking is done using an innovaphone IP-Phone during the call (pressing the redial key) audio or no audio can be played. For example an automatic advice like “this conversation will be recorded” or similar can be played.&lt;br /&gt;
==== Setup TCR ====&lt;br /&gt;
&lt;br /&gt;
This paragraph discusses the different setups and aspects for Thread Call Recording. If you are not interested in those details skip it.&lt;br /&gt;
&lt;br /&gt;
TCR require a XML (TCRec.xml included in the software package of the Last call recording feature, see Related Articles, see Related Articles, go to the article and follow the download [http://download.innovaphone.com/ice/wiki-src#lcr http://download.innovaphone.com/ice/wiki-src#lcr] ), you have to create a sub-directory TCR in your PCAP recording directory and copy the xml in, create a VM-Object in the PBX and insert those parameters in the recorder setup (TCR panel). Example: Your PCAp directory is http://172.16.88.98/DRIVE/CF0/REC, therefore the directory create is is http://172.16.88.98/DRIVE/CF0/REC/TCR. The XML can be called directly or using the recording functions on the innovaphone phones. If called directly the xml will play the audio file Track1.g711a, if called through the recording function of the IP-Phone the file Track2.g711a. If the files are not present the user will hear nothing. A solution for the confirmation could also be to play just a “beep” if calling directly the xml. You could copy the beep.g711a file (for example from the VM) and rename it. A better option is record them using the universal track recording tool, see related articles at the end iof this page.&lt;br /&gt;
&lt;br /&gt;
Some additional information if you use the recoding function of the innovaphone IP-Phone:&lt;br /&gt;
Keep in mind that this function will not really recording the voice but just calling the XML (the recoding is done by the Gateway or the phone, but directly and not using this function). As explained the XML will play the file Track2.g711a if present, but to hear the announcement you have to use on your phone at least version 10.0887 or higher and switch on the flag “Two Way Media” in the Recording section of the phone setup. The rest is the usual one, if you setup “Mode=transparent” each call will flagged as “to record”, if Mode=manual you have to press the redial key to flag. No problem if the user presses more than one time the record key, just the actual call will be recorded. &lt;br /&gt;
&lt;br /&gt;
The xml itself will terminate after playing the Tack 1 or 2, delayed for 2 seconds. If the user press the redial key in this way he will see in the display of his IP-Phone appear “Recording” for 2 seconds and has a feedback (even if no tone is played) that the conversation is flagged to record.&lt;br /&gt;
&lt;br /&gt;
=== Random recording ===&lt;br /&gt;
The recorder can work in this mode also as an alternative to the Standard- or Threat call recording. Random recording will record just a sample of calls on normal Agents (User), typically for quality check purposes.&lt;br /&gt;
 &lt;br /&gt;
The system allows record just each x call where x can be set in the setup. The system can even record just each y call for an agent. Only “to recording” calls are counted, not calls in general. &lt;br /&gt;
&lt;br /&gt;
Example: “Record in System just each 3. Call”’: the system will store one record and then skip the following 2 one. &lt;br /&gt;
&lt;br /&gt;
Example: “Record for a Gent just each 2. Call”: for each agent one call will be recorded and one not.&lt;br /&gt;
&lt;br /&gt;
Both setups can be set isolated, but combined (3rd in system and 2nd for a agent) the system will first skip 2 calls and then for the specific agent skip each 2nd one. &lt;br /&gt;
&lt;br /&gt;
Calls typically are not foreseeable especially if they are more agent involved and therefore it is for a single agent a “random” recording.&lt;br /&gt;
&lt;br /&gt;
This feature requires build 1071 or higher.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Manual/Transparent/Optional recording ===&lt;br /&gt;
&lt;br /&gt;
V11r2 (in the Phone) is required. &lt;br /&gt;
&lt;br /&gt;
If the recording is done using a innovaphone IP Phone there are 3 recording modes possible:&lt;br /&gt;
&lt;br /&gt;
- Manual: the user switch recording on/off using a Feature key&lt;br /&gt;
&lt;br /&gt;
- Transparent: recording is always on&lt;br /&gt;
&lt;br /&gt;
- Optional: recording is on by default but the user can switch it off using a feature key&lt;br /&gt;
&lt;br /&gt;
The manual and optional mode is widely used because the operator can switch on and off recording during a conversation. For example if the customer want to buy the operator starts recording and give the advice that from now on the recording is on (by the way: that can be played also automatically modifying the [[Howto:Last_Call_Recording|last call recording]]). Switching off recording is usefully also if for example during a conversation a secret info (like a password) is stated and should not be recorded ad all.&lt;br /&gt;
&lt;br /&gt;
The Recording link (url) to the Webdav or CF is defined in the user setup:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup08.png]]&lt;br /&gt;
&lt;br /&gt;
The mode is selected in the &amp;quot;recording&amp;quot; section: &lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup09.png]]&lt;br /&gt;
&lt;br /&gt;
Note: The recording described here does NOT require a phone 3 party conference; therefore a 3party conference is possible on the phone while recording is running.&lt;br /&gt;
&lt;br /&gt;
== SRTP ==&lt;br /&gt;
&lt;br /&gt;
Recording of encrypt conversation is possible, no particular setup is necessary, the system will decrypt automatically the media stream and store the conversation in unecnryptet  wave files for further processing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Last Call Recording/Repeat ==&lt;br /&gt;
&lt;br /&gt;
See relative article. &lt;br /&gt;
&lt;br /&gt;
Do not confuse this feature with the Instant Play (rescue mode) feature of the innovaphone Player.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The recording itself is done by the innovaphone gateway. In each logical gateway a recording path can be configured as a URL; that means that the voice will be recorded in a file, this file can be on a compact flash or on an external WebDAV server. The recorder application copy the recorded file, read out the reporting, combine both, and rename the file. The original file on the compact flash/WebDAV is deleted. The new filename is formed using date and time, caller and called user, direction of the call, the time to answer (ringing time) and the unique ID number.  The recorder converts the file from pcap to the wave format and stores the converted file in a directory. If requested a copy of this record can be saved in a second directory (for example a SAN or NAS disk area). A maximum number of storage time expressed in month can be defined, older files will be deleted automatically. In this way no disk space overflow will be in unattended systems. Parallel to the payload (the wave voice file) also a XML file containing the reporting data is created, the name of the file is the same than the one of the voce and just the extension is xml instead of wav. That is basically what the recorder is doing; copy and convert recorded files, retrieve data from the reporting, renaming of the files and copy them to different destinations as well as keeping track of history.&lt;br /&gt;
&lt;br /&gt;
The player allows searching and browsing of records, show the oldest or newest first, can filter the search etc. For example it can be displayed calls in any direction or just incoming or outgoing calls, or calls from a certain number or to a certain number, using even wildcards for quick filter options. See relative description for details. Once the calls a displayed they can be marked using windows usual methods (one, many, all, range, etc.). The marked files can be copy, past, deleted or played in a playlist. A record in the playlist can be marked and the player allows the usual operations of a windows media player. Looping and audio signal before playing the next record in the playlist is included as well as moving inside the playlist from one call to the other. If all that sounds complicated calm down, it is quite simple in using and designed for “users”.&lt;br /&gt;
&lt;br /&gt;
The player can even operate in a mode called “rescue mode” or “direct play mode”. If switched in this mode the latest record is always on top. This is a typical requirement for an emergency center operator, he is interested in replay the last or lasted recordings in a quick and simple mode.&lt;br /&gt;
&lt;br /&gt;
The player shows also the reporting details and generally the most important data of the conversation. If recorded files are copied also the relative reporting information is copied. &lt;br /&gt;
Many player can be installed and work in the same moment in a scenario, while the recorder typically is just one. So the recorder is a kind of server and the player a kind of client. More recorders can be installed in a scenario and if necessary a player can be installed on the same PC where a recorder is working. Being the recorder always on usually it will be installed on a dedicated machine doing just that located in the server room.&lt;br /&gt;
&lt;br /&gt;
But remember that the recording job is done as described by the gateway. So even if a recorder application is switched off voice recording is done. The idea anyway is not that the recorder is switched off and just sometimes switched on to retrieve the files. But if you must shut down the application or reboot or enter in setup, no data will lose.&lt;br /&gt;
&lt;br /&gt;
The following diagram shows the logical interfaces between the innovaphone voice recorder, the innovaphone player and the rest of the equipment.&lt;br /&gt;
&lt;br /&gt;
[[Image:Player07.png]]&lt;br /&gt;
&lt;br /&gt;
(*) = Option&lt;br /&gt;
&lt;br /&gt;
The player main data source is the disk where the records are stores. There could be active many player at the same time, and in theory also more than one recorder. One player could monitor just one recorder, but it is possible to start more player on the same PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation Step by Step==&lt;br /&gt;
&lt;br /&gt;
In this and many other wiki articles everything you need to install and operate the product is (hopefully) described. Partners some time have the problem that they could not find a logical flow in the description and the do not realize what is important and what interesting, but not essential. &lt;br /&gt;
&lt;br /&gt;
To help here a simple step by step instruction, all details and comments are in the other paragraph and, of course, in other articles. &lt;br /&gt;
&lt;br /&gt;
1.	Check the Software version of your PBX, it must be 10 or higher otherwise do an upgrade or forget this recording. Your PBX must be up and running and to test you need at least 2 Phones.&lt;br /&gt;
&lt;br /&gt;
2.	Check that you have a valid license for the recording, if not just a demo-mode is possible, after 20 minutes the recorder stop and you have to restart him again.&lt;br /&gt;
&lt;br /&gt;
3.	Your CF should be working fine, create a directory to buffer the pcap files (for example http://123.123.123.123/DRIVE/CF0/IF_REC). &lt;br /&gt;
&lt;br /&gt;
4.	Setup the recording gateway, see http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/System_Setup#Gateway_Setup . If you want to do a test with internal phones you have to assure that in call from one user to the other this gateway will be involved. Create for example a access code to this GW and flag Media-Relay. If you call this access code followed by the internal number ths should happen. Of course if you have a real trunk the you will do all that using the relative GW. At the end of the story your call must passing the recording gateway, check it; open you PBX interface, click on gateway and calls: you should see that the call goes through the recording GW. A pcap file will created at the CF directory indicated in the setup of the gateway (the same one you create in pass 3).&lt;br /&gt;
&lt;br /&gt;
5.	Start up the reporting (on a xx10 GW or IPVA), it must be up and working, you should be able to see the reports of the call done using the recording gateway.&lt;br /&gt;
&lt;br /&gt;
6.      Create SOAP user, a blank empty user object called SOAP (or _TAPI_ or _whatever_)&lt;br /&gt;
&lt;br /&gt;
7.	Create a root directory where the recorded files should be stores (for example “c:\mytest\” or “G:\myExternalDrive\”).&lt;br /&gt;
&lt;br /&gt;
8.	Start the application and open the setup.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
While the Recorder works “hidden” for the user, the Player has a huge user interface. The Player is typically installed on one or more PC of users. Therefore for the Player more effort to design a foolproof interface was done. The Player description is available, please check the relative section in the innovaphone Wiki.&lt;br /&gt;
Recorder and player applications are single executable file. The setup is stored in a xml file located in the same directory where the application is running; no registry entry is done; if you delete the directory where the recorder/player is in, the application is de-installed. If you like install on the same computer the recorder and the player application you have to create two different directories and copy the applications twice. Automatic execution is possible inserting in the auto start directory the recorder application.&lt;br /&gt;
&lt;br /&gt;
Please note that the setup file is in xml format, but his content is encrypted.&lt;br /&gt;
&lt;br /&gt;
The installation tool will copy all reqired files, if you install manually copping file note the following issues:&lt;br /&gt;
&lt;br /&gt;
If you install a recorder application manually you must copy the “pcap2wav.exe” utility in the same directory!&lt;br /&gt;
&lt;br /&gt;
Note: This utility “pcap2wav.exe” can be downloaded in the V7 application folder, access to a directory and download the “tools” Zip file; inside you will find the pcap2wav.exe. &lt;br /&gt;
The recorder is not a service because there is a full user interface available. To ensure that the recorder starts up even after a boot put the application in your autostart folder. In the setup an option to start up minimized is available.&lt;br /&gt;
&lt;br /&gt;
Before starting the recorder application check the following items on the recorder PC:&lt;br /&gt;
&lt;br /&gt;
*the directory where the recordings should be stored must be visible and it must be possible to create subdirectories, try using the file explorer&lt;br /&gt;
&lt;br /&gt;
*If backup is requested also a write access to the backup path must be possible (but it is not necessary to be able create subfolders).&lt;br /&gt;
&lt;br /&gt;
*Access to the reporting tool must be possible, use a browser to check&lt;br /&gt;
&lt;br /&gt;
*The access to the CF (or the WebDAV server) must be possible, try to map a drive and access to the directory where the pcap files are&lt;br /&gt;
&lt;br /&gt;
Do the setup the innovaphone PBX, the gateway and the reporting.&lt;br /&gt;
&lt;br /&gt;
See eventually also http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup for a better understanding of the requirements.&lt;br /&gt;
&lt;br /&gt;
If you do now a call which has to be recorded this call must be logged in the reporting tool and a pcap file must be created in the indicated url path. Go only ahead if that is up and running.&lt;br /&gt;
&lt;br /&gt;
Now start the recording software and open the setup and set the values. An online help will explain the single parameters. Maybe it is also a good idea reading first the rest of this article.&lt;br /&gt;
&lt;br /&gt;
The installation of the Player is similar just simpler. After installing start the application, enter the setup and that its. But it has no sense install or setup a Player without before having a working recorder.&lt;br /&gt;
 &lt;br /&gt;
On a single PC multiple Recorder and Player can be installed, simple install and run them on different directories.&lt;br /&gt;
&lt;br /&gt;
=== CPU load ===&lt;br /&gt;
&lt;br /&gt;
The power of the innovaphone CPU on the different gateway models is high enough to ensure the recording of all ISDN cannels (or the same number of SIP/H323 Trunk) on that gateway. If recording is done on a CF the innovaphone PBX CPU will be involved also in the copy operation (if recording is done on an external WebDAV server no CPU load of the PBX for copy is required). After the copy operation no more CPU power of the PBX CPU is required. &lt;br /&gt;
&lt;br /&gt;
The reporting CPU (which is anyway the second core in case of a gateway or a separate CPU in case of VMware) has some small workload because the recorder checks each 5 seconds the reporting. &lt;br /&gt;
Using the player will cause no workload for PBX, reporting or recorder CPU, so just the local workstation CPU power is require. Therefore the number of player is practically insignificant for any CPU load. &lt;br /&gt;
&lt;br /&gt;
=== Logging ===&lt;br /&gt;
&lt;br /&gt;
Recorder and the Player applications write an individual error log, this log is a text file and stored in the same directory where the application is. See online help for file names and description of the other files used by this applications. &lt;br /&gt;
&lt;br /&gt;
The recorder can also write a trace file; if tracing option is switched on all operations of the recorder are logged in a file named “iREC_sys_log.txt”. Please not that this files become very large if the option is always on, and this file will not be deleted or resized automatically. The idea is not to keep on tracing all the time but to switch on the trace during the first period or in case of trouble checking.  &lt;br /&gt;
If enabled in the setup the player stores all special operations in a central log file. All copy, delete and move operations done using the player are in this way stored automatically in a central log file.&lt;br /&gt;
&lt;br /&gt;
A “user operational” log file is in a central point and unique for all players installed. Here all user manipulations done using the player applications are reported, so copy or delete is traced. This file is named “iREC_Player_log.txt” and located in the “\TMP” subdirectory of the root recording directory. In this way all operations of all Player-User are visible at a glance in one single file. &lt;br /&gt;
&lt;br /&gt;
=== Security ===&lt;br /&gt;
&lt;br /&gt;
The setup of the recorder and player is stored in an AES encrypted setup xml file. Therefore the user cannot manipulate or read out setup values. The access to the setup can be protected with a password. If a user deletes the setup file the software assumes that this is a new installation and allows access to the setup without password. If the user enters the correct path for the recording the software read out a centralized password and it is not possible to save the setup without that password. There is no way to read out or decode the password and this means that if you, as administrator, forget the password you have to clear the centralized password and the setup of the recorder and re-configure all. Try to avoid that situation and remember your password.&lt;br /&gt;
&lt;br /&gt;
The centralized password is in the located in the “\TMP” subdirectory of the root recording directory and named “SPlayer.xml”. It is also encrypted of cause.&lt;br /&gt;
&lt;br /&gt;
The Reporting xml data string is even encrypt. &lt;br /&gt;
&lt;br /&gt;
In the first column header of the player a looked/unlooked symbol is displayed showing the encrypt/clear file mode. If (using the player) a encrypt records is copied it will be automatically decrypt, while moving a file (cut and paste) will not change the original file mode. In this way a clear copy of a xml can be done from an authentic encrypted data string.&lt;br /&gt;
&lt;br /&gt;
=== Date ===&lt;br /&gt;
&lt;br /&gt;
As most application also the recorder requires a correct date and time. But also the PBX Date and time must be correct and the same as the one on the recording PC.&lt;br /&gt;
&lt;br /&gt;
Basically obviously, writing a file all file data should be correct, and also the CDR ticket data should. &lt;br /&gt;
&lt;br /&gt;
So verify that both, PBX and PC have always a correct and synchronized date and time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Voice Recorder operation ==&lt;br /&gt;
&lt;br /&gt;
The recorder can operate in 3 layouts; minimized in the taskbar, viewing a small window or an extended panel. &lt;br /&gt;
&lt;br /&gt;
[[Image:RecE111B1.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Switching between small and large view is done pressing the “&amp;gt;” key, press “_” for minimize.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Start up ===&lt;br /&gt;
&lt;br /&gt;
During start up the basic operational parameter are checked while the master alarm is disabled. The master alarm supervision is just switched on after about 20 seconds. This is necessary because sometimes network operation during start up fails, but becomes up in a second attempt. The sequence of testing is done by design and the software will not proceed in operation if a parameter fails but continuously try to fix it. &lt;br /&gt;
&lt;br /&gt;
This initial health check during start-up is done in the following order:&lt;br /&gt;
&lt;br /&gt;
*checking setup: try to understand if the setup parameters are reasonable.&lt;br /&gt;
&lt;br /&gt;
*checking reporting: pings the reporting, if ping is o.k. try to load a dummy page. If ping or dummy fails the “REPORTING” lamp is red, error message “Reporting Link failure” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking to access to the recording directory (url): try to read out the indicated path, if fails “PCAP” lamp is red, error message “PCAP directory access fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
*checking if access to the storage path is possible: If reading fails the “DISK” lamp is red, error message “Store path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If in the setup no backup path is indicated this last task is skipped and the Backup lamp is grey. Otherwise the access to the path is tested, if access fails the “BACKUP” lamp is red, error message “Backup path fails” is viewed.&lt;br /&gt;
&lt;br /&gt;
If a test is passed the relative lamp becomes green. If after start up 6 lamps are green (or 5 green and one grey) everything is working fine and the message “Normal Operation” is displayed in the System status line. &lt;br /&gt;
&lt;br /&gt;
After 20 second the Master alert supervision is switched to active, an eventual error causes a Master Alarm (see relative section).&lt;br /&gt;
&lt;br /&gt;
=== Normal operation ===&lt;br /&gt;
&lt;br /&gt;
The check counter shows you how many times the recorder reads out the recording directory and checks the reporting. As you see al 5 seconds a reading attempt is done, if data are found further processing operation will start. This counter goes automatically to 0 reaching 9999 and shows you that the software is working and checking but has no further signification.&lt;br /&gt;
&lt;br /&gt;
The counter “Channels in recording” shows you how many recordings are ongoing. The panel shows you the ID of each recording file and the initial recording time. In this way you can see how long a call is jet in recording. &lt;br /&gt;
&lt;br /&gt;
If the call ends it will disappear from the list. If there are more records then default lines a scroll down will automatically appear. &lt;br /&gt;
&lt;br /&gt;
If you click the innovaphone logo the software version is displayed. The version is also displayed in the headline of the setup.&lt;br /&gt;
&lt;br /&gt;
===Extended view ===&lt;br /&gt;
&lt;br /&gt;
If you enlarge the window with the “&amp;gt;” key two additional panels appears. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[Image:RecE111B2.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The left one shows the regular normal operations, the right one the errors and basic messages (like Start-up). The messages displayed of the error panel are stored automatically in an error log file while the messages of the status panel only file if that is enabled in setup. Both windows can be cleared pressing the relative button. This clearage is just an “optical” issue; no file is deleted or similar. Both windows shows up to 100 entries, if entry becomes too large a scrollbar appear automatically. If “full” the oldest message will be cleared. On top the error panel can also display the last 30 Error reading out the error file. &lt;br /&gt;
&lt;br /&gt;
Pressing the “&amp;lt;” key the windows will be resized again. &lt;br /&gt;
&lt;br /&gt;
There is no operational difference between the different layouts. The recording application starts always with the small window stile. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following picture shows two alarms, Reporting (because there where files without CDR records) and Software (because there was a license overflow).&lt;br /&gt;
&lt;br /&gt;
[[Image:RecXX.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Setup ===&lt;br /&gt;
&lt;br /&gt;
Open a separate window, see relative online help.&lt;br /&gt;
&lt;br /&gt;
http://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup#Recorder_Setup&lt;br /&gt;
&lt;br /&gt;
Note: during setup the recording timers are disabled, this means that no normal operation is done. For normal operation the setup must be terminated (with or without saving).&lt;br /&gt;
&lt;br /&gt;
=== Alarms ===&lt;br /&gt;
&lt;br /&gt;
[[Image:VR011.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
About 20 seconds after startup, and always during normal operation, alarms are detected from a particular master alarm routine. Some alarms are self-healing, others not. If an alarm occurs the relative source is switched from green to red, if an alarm disappears from red to green. You can simply test is, just shut down the reporting during operation and you will see that the reporting indicator becomes red. If you start up the reporting again the indication will switch automatically from red to green. &lt;br /&gt;
&lt;br /&gt;
An alarm master routine will control the system and summarize the alarms. On the left side there is an indicator “Master alarm” and two buttons, “RESET” and “OFF”.  While the alarms can toggle and appear and disappear, the master alarm once triggered will indicate that there was at least one serious error. The detail can be shown in the error log, but the point is that the master alarm shows you the correct operation in time and store the error event. &lt;br /&gt;
&lt;br /&gt;
With the “OFF” button the master alert can be switched manually off. If the master alarm is switched off the “OFF” button will blink red to indicate this exceptional situation. A manual switch off of the master alarm could be necessary during setup or test, or simply to avoid receive alarm emails being anyway in front of the application or similar. &lt;br /&gt;
&lt;br /&gt;
If the master alarm detect at least one error it will be switch on the Master Alarm status, the relative indicator will blink red, a warning triangle will appear and, if configured in the setup, and a warning email is send to the administrator. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR012.png]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
The icon of the application in the taskbar is changed and a warning triangle appears on the recorder logo; also operating in minimized status the Master Alert situation is visible. &lt;br /&gt;
&lt;br /&gt;
[[Image:VR013.png]] &lt;br /&gt;
&lt;br /&gt;
As explained the master alarm will not recover if an error disappears: to reset the master alarm the “RESET” button has to be clicked. Clicking the Reset Key the Master Alarm becomes again armed and will trigger again if an error is detected.&lt;br /&gt;
&lt;br /&gt;
The single errors are partly described in the startup section while the “SOFTWARE” indicator will go into alarm if there is an unexpected error in the software. While some errors are expected and supported and will not cause such an error (for example “no files” if you browse an empty directory) others are not (for example if the decoding of pcap file fails). So while some errors could be an exception (like the failing of file conversation) others could be persisting (like “disk full”) or are simply bugs.&lt;br /&gt;
&lt;br /&gt;
A particular expected, but not tolerable error is described in the next section.&lt;br /&gt;
&lt;br /&gt;
=== Reporting time out error ===&lt;br /&gt;
&lt;br /&gt;
Basically calls that should not be recorded should not be recorded even on the CF, this is desirable, but not always feasible. &lt;br /&gt;
&lt;br /&gt;
In normal operations the recorder is connected to the PBX with a SOAP link and can so detect when a call is finished and the party involved. If there is a PCAP file and a SOAP connection fine, because in the very first step anything is clear and the recorder can decide to save or to just delete the PCAP file. But there is also the possibility that the recorder starts up later and “found” PCAP files stored in the meantime. In this case there could be or even not any SOAP information, if the call terminated before the recorder starts there will no SOAP info. Therefore if PCAP files are detected without any SOAP indication the recorder ask the reporting if there is any record to that PCAP. If yes the processing will follow the normal way, stored or just deleted. But if the reporting has no data there are more possible reasons. CDR data or the reporting could be “late”, so maybe in a few seconds data are in and processed. Or the reporting was just temperately busy or offline, a good idea is wait and try later again. Exactly that the recorder is doing, from build 1070 on the number of trial can be set in a range from 5 to 9999, default value is 5. On earlier build this value was set fix to 1444. Arrived to zero the call is deleted. Deleting recorded calls not knowing about the party involved is critical and therefore the recorder is so carefully. &lt;br /&gt;
&lt;br /&gt;
The real problem is if in a system there are extensions creating PCAP files, but they did not produce CDR tickets / have no CDR license. In this case after a start-up each stored call will produce a PCAP file, the reporting query will fail and the recorder will try later again. To avoid large quantity of PCAP files and slow call processing switch on the reporting feature on each extension creating PCAP files. Or avoid that extension without a reporting creates PCAP files. &lt;br /&gt;
&lt;br /&gt;
Receiving an answer form the reporting the recorder understand immediately the involved parties and can delete the file if the caller was not an Agent or store it.&lt;br /&gt;
&lt;br /&gt;
=== Terminating ===&lt;br /&gt;
&lt;br /&gt;
If you try to stop the application a warning message appears, if you confirm the recorder application stops.&lt;br /&gt;
&lt;br /&gt;
== Files ==&lt;br /&gt;
&lt;br /&gt;
Voice files are stored a subdirectory of the indicated path in the recorder setup.&lt;br /&gt;
&lt;br /&gt;
The files are Wave stereo files where the left channel contains one speaker and the right channel the other one. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are two working sub directories: the directory “/TMP” contains the central activity log file where the player applications will report their activities (“iRec_Player_Log.txt”). The second is the directory “/REC”, it is a working folder. Both folders are created automatically.  The recorder creates a subdirectory for each month, so for June 2013 for example a directory “2013_06” is created and all recorded files in that period will be stored there. Note that in the backup folder no subdirectory folder are created and therefore all files in the backup path are in the same folder. &lt;br /&gt;
&lt;br /&gt;
The recording files are always a couple, one file contains the audio (in wave format, can be reproduced using also standard audio player) and an xml file with the same name containing connection data. Both files are anyway independent and our player handles automatically a single wave file as well as the pair with additional detailed connection data.&lt;br /&gt;
&lt;br /&gt;
One goal of the recorder was to produce a wave file that contains all relevant data. &lt;br /&gt;
&lt;br /&gt;
The format of the name of the Wave file is the following:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Date and Time of conversation start&amp;quot; + &amp;quot;internal user&amp;quot; + &amp;quot;direction&amp;quot; + &amp;quot;external user&amp;quot; + &amp;quot;time to answer in seconds&amp;quot; + &amp;quot;serial number&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.wav”&lt;br /&gt;
&lt;br /&gt;
Date: 24.06.2013&lt;br /&gt;
&lt;br /&gt;
Time: 16:38&lt;br /&gt;
&lt;br /&gt;
Internal: 39&lt;br /&gt;
&lt;br /&gt;
Direction: o = outgoing&lt;br /&gt;
&lt;br /&gt;
External: 0800107&lt;br /&gt;
&lt;br /&gt;
Time to answer: 7 seconds&lt;br /&gt;
&lt;br /&gt;
Serial: 75c1f48e909d31188fc00903306225f&lt;br /&gt;
&lt;br /&gt;
The file “2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.xml” contains the reporting data of this call. &lt;br /&gt;
&lt;br /&gt;
Eventual notes are stored in a file named “2013_06_24_1638_39_o_0800102_7_75c1f48e909d31188fc00903306225f.txt”.&lt;br /&gt;
&lt;br /&gt;
This file is AES encrypt, see relative chapter. If this file is copied with the innovaphone Player it will be automatically decrypt and becomes a standard XML file.&lt;br /&gt;
&lt;br /&gt;
The player retrieves the name of the wave file and displays the data from the xml file if present, otherwise at least the data inside the filename.&lt;br /&gt;
&lt;br /&gt;
If you like you can open the xml file even with an editor and see all the relevant data, much more then displayed using the player.&lt;br /&gt;
&lt;br /&gt;
The player shows also the duration of the call (the recoding) and other details. See relative description.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Encryption==&lt;br /&gt;
&lt;br /&gt;
The setup files for player and recorder are encrypted, as fix key is used an innovaphone specific secret key. The notes are not encrypted while the reporting and security file (the .xml) is encrypted.&lt;br /&gt;
&lt;br /&gt;
So the reporting and security files are encrypted (those ending with “.xml”) using again as default the innovaphone system key. This default encryption key can be replaced with a customer specific key. In the in the setup of the recorder can be defined a customer key. The only reason to define a customer key is to avoid that other customer can decrypt the files, a remote and strange, but thinkable situation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this is done in the Recorder also in all Players must be set this customer decrypt key. Be careful in handling that key, because if you forget the key you will lose all encrypted information. The Player can handle contemporaneously the default key and the specific key. There is no update procedure foreseen if you change the key.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
After 3 month of default operation you decide to insert a customer specific encryption key, for example “MySuperSecret007Key”. &lt;br /&gt;
&lt;br /&gt;
You modify also the Player and insert in the setup this new key. Now you will observe that all data, the one of the first 3 month and the following one, will be decrypt automatically correct; the user will see no difference. &lt;br /&gt;
&lt;br /&gt;
After other 5 Month you decide to return to the default key (leaving blank the key field again in recorder and player).  Anything is going well, all records are decrypted correctly. &lt;br /&gt;
&lt;br /&gt;
After other 2 Month you decide to enter a key named “MyBrandNewKey”, doing setup of recorder and player. You will observe now that the data of the month period 0 to 3 ,  5 to 7 and after Month 7 will be decrypt while Month 3 to 5 (the one with the old key) will be displayed without CDR data and status “unknown”.  &lt;br /&gt;
&lt;br /&gt;
Therefore think well about your key, basically once selected it should remain. If you have the list of all Keys you can of cause change it on the fly in a player and decode the records in the period. &lt;br /&gt;
&lt;br /&gt;
=== Audio encryption ===&lt;br /&gt;
The security system is based on AES encrypted xml data file. That file contains the CDR data but even the security parameter of the audio file. Therefore if an audio file is manipulated (changed in any way) that will be detected and show in the player (the “manipul” red label is on while off and the green “original” on if the audio file is the original one).&lt;br /&gt;
&lt;br /&gt;
That means that the audio file itself is not encrypted. A fact and feature most customers want (reproducing the file even with other media player). At the end the access to the files should be forbidden to not authorize people. &lt;br /&gt;
&lt;br /&gt;
But there are also customer that have another view and are worried about for example that such an audio file once copied is no more controllable. Or they simply do not thrust that the security features described works fine. &lt;br /&gt;
&lt;br /&gt;
Therefore also the audio file itself can be AES encrypted if that option is switched on in the recorder. The player will detect automatically that an audio file is encrypted and reproduced it anyway.&lt;br /&gt;
Here how a player shows a detected Audio encryption:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sec04.png]]&lt;br /&gt;
&lt;br /&gt;
Of cause an encrypted audio file can be reproduced just with the innovaphone player, no other media player will work. &lt;br /&gt;
&lt;br /&gt;
Please note that any innovaphone player can do the decryption, so if you want to assure that just “your” player can reproduce you have to define a customer decrypt key in the recorder (and player).&lt;br /&gt;
&lt;br /&gt;
The recorder shows audio encryption in his extended view:&lt;br /&gt;
&lt;br /&gt;
[[Image:Sec05.png]]&lt;br /&gt;
&lt;br /&gt;
Audio encryption has also disadvantages, recorder and player has more workload. &lt;br /&gt;
&lt;br /&gt;
But the worst thing is the required disk space; in fact size of the audio files will double if encrypted!&lt;br /&gt;
&lt;br /&gt;
==Audio compression==&lt;br /&gt;
&lt;br /&gt;
=== MP3 ===&lt;br /&gt;
As default the files are saved in the wave format. More precisely in G711 because wave is a container format and pure PCM would require near the double disk size than G711.&lt;br /&gt;
&lt;br /&gt;
As an option a mp3 compression can be activated. The required disk size is about 75% less, so one minute in wave requires about 1Mb while the same data in mp3 will require 250kb.&lt;br /&gt;
&lt;br /&gt;
If you wonder why the savings are not much higher consider that even the wave format itself is jet compressed as explained.&lt;br /&gt;
&lt;br /&gt;
All other functions like encryption (an encrypted file size is again doubled, so one minute of mp3 audio encrypted requires about 500kb) or reproducing are the same, the user has nothing to do and the player works always in the same mode.&lt;br /&gt;
&lt;br /&gt;
There is just one situation where an action is required: if the recorder works for a certain period with wave and then with mp3 (or vice versa) in the directory of that month there will be mixed files (wave and mp3). The player detect this and shows automatically an additional key where the user must  switch between those two formats: if a directory has just one type of files no action is required and the button is hided.&lt;br /&gt;
&lt;br /&gt;
===MP3 Stereo to Stereo conversion===&lt;br /&gt;
&lt;br /&gt;
If the MP3 option is on, files could also be converted form stereo to mono. The file size savings will be nearly 50%, so one minute conversation in mono MP3 requires about 130kB. &lt;br /&gt;
&lt;br /&gt;
Note that conversion from wav to mp3 causes quality lost and stereo to mono even. Once converted, there is no possibility to return to the original format in terms of quality or format. So a bad mono mp3 quality cannot be recovered and even the stereo separation of the cannels cannot be done once converted to mono.&lt;br /&gt;
&lt;br /&gt;
===MP3 just internal channel===&lt;br /&gt;
&lt;br /&gt;
An interesting option in using MP3 is to record just one channel, the left (default) or the right one. The result is a mono file (130kB/min) where just one party is recorded. &lt;br /&gt;
&lt;br /&gt;
If a GW point to an external trunk the internal user is always talking on the left channel. Therefore with this option on just the voice of the internal user is recorded, and doing that in many countries is simply allowed without any restrictions (basically I can record myself).&lt;br /&gt;
&lt;br /&gt;
If recording is done on the phone the channel assignment is vice-versa, the internal caller (the phone) is recorded always in the right channel. Therefore in the setup of the recorder can be selected which cannel should be recorded. That means also that no mixed scenarios (GW and Phone recording) are supported for that feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup01.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Redundancy ==&lt;br /&gt;
&lt;br /&gt;
The recorder is able to handle redundancy scenarios with active and standby devices.&lt;br /&gt;
The recorder has to handle 3 sources in different scenarios, the PBX itself, the reporting and the CF or webdav server. Those devices can be all together in one single device (for example in an active IP6010 with reporting and CF and a standby IP6010 with reporting and CF) or on different devices (for example an active and a standby IP800 and two reporting on two different PCs). &lt;br /&gt;
Another example is active and standby PBX on Gateways but reporting on a high availability VMware environment, so at the end just one reporting from the recorder point of view.&lt;br /&gt;
&lt;br /&gt;
Therefore the standby can be defined for each of those devices.&lt;br /&gt;
If you have no redundancy scenario just leave blank the relative setup values.&lt;br /&gt;
&lt;br /&gt;
=== Active/Standby PBX ===&lt;br /&gt;
&lt;br /&gt;
The failure of the PBX is detected because the SOAP connection will go down. If that happen the recorder will try to establish an alternative link to the standby PBX, if that fails he try again with the primary PBX and so one. That means also that a breakdown of the SOPA connection, for example if you reset the PBX, will require some more seconds until the system is up again (because first the recorder try the standby PBX, this will also fail and after that the main SOAP will be up again). &lt;br /&gt;
&lt;br /&gt;
Note that after a restart the recorder try always the first the main address and then the standby one.&lt;br /&gt;
&lt;br /&gt;
In the panel of the recorder near the PBX status indicator is shown the actual link: if the “ACT” lamp is green than the active PBX is tempted, if gray and the “STB” lamp on the standby link is on.&lt;br /&gt;
&lt;br /&gt;
Please note that the recorder can handle differences in active and standby mode just regarding the IP address. All other parameter must be the same, so for example the path to the reporting must be the same.&lt;br /&gt;
&lt;br /&gt;
=== Active/Standby Reporting ===&lt;br /&gt;
&lt;br /&gt;
If the link to the reporting fails and there is a standby address indicated the recorder try to reach the reporting using the standby IP address for the reporting. If there is just one reporting leave the standby address blank.&lt;br /&gt;
&lt;br /&gt;
As you (hopefully) know the reporting can also be installed on two devices, in that case both PBX (the active and the standby one) will transmit CDR ticket to both reporting applications. The reporting database is replicated and therefore if both devices are on the recorder will find the same informations on each reporting. So in theory if both are on it is not important where the reports are requested. In fact if the active reporting fails the recorder will try a connection to the standby reporting. Now if the active device and relative reporting is on again the recorder could also continue get records from the standby reporting. And he will do that until he is restarted or the standby reporting is down because the reporting will answer. If that is not desired flag the option in the recorder setup (“follow Standby/Active PBX”); doing so the recorder will communicate again with the reporting on the active PBX if the active PBX is up again. So basically the switch is done on link down but also following the SOAP. &lt;br /&gt;
&lt;br /&gt;
=== Active/Standby CF ===&lt;br /&gt;
&lt;br /&gt;
If the PCAP files are buffered on a CF and the PBX goes down also the recorder has to re-map his drive to the standby PBX. In the setup there is a flag in the PCAP section (“follow Standby/Active PBX”), if on the recorder will try to reach the CF of the standby PBX (he takes the IP address of the standby PBX) in the setup.&lt;br /&gt;
&lt;br /&gt;
In scenarios where an external Webdav server is used that flag should not be switched on. The redundancy in that case is demanded to the external devices (for example VMware).&lt;br /&gt;
&lt;br /&gt;
So if you have a “classic” innovaphone redundancy (two IP6010 with reporting and CF) indicate the standby address in the PBX and Reporting panel and switch on the “follow Standby/Active PBX” in the reporting and PCAP panel and anything is fine.&lt;br /&gt;
&lt;br /&gt;
== External Applications == &lt;br /&gt;
&lt;br /&gt;
The recorder as well the player can be interfaced with external applications like booking or ticketing systems or similar.&lt;br /&gt;
&lt;br /&gt;
The basic idea is that the external application will share common information in his database with the recorder and pilot a player. The user should be able to play a recorder conversation directly from his application interface.&lt;br /&gt;
&lt;br /&gt;
In this chapter the interface is described. If you are not interested is such a feature you can skip this paragraph.&lt;br /&gt;
&lt;br /&gt;
This description is done for the software developer of the external applications. No particular setup for the recorder or player is described, part of other descriptions.&lt;br /&gt;
&lt;br /&gt;
For better understanding the description “hides” all other interfaces.&lt;br /&gt;
&lt;br /&gt;
The “recorder” is a software solution running on a Windows “server” (can also be a simple PC). In the network there will be one or several “players” able to reproducing the recorded conversations.&lt;br /&gt;
&lt;br /&gt;
Under “agent” in this description we understand operators working with the voice recording and using an external application.&lt;br /&gt;
&lt;br /&gt;
It is possible to have a TCP connection between player and recorder but this is not mandatory because the player just access to stored data and read out setup file in the network. The number of player has no limit while the number of player connected to the recorder via TCP is limited to 100. That means that the external application can control up to 100 “agents” trough the recorder. But it is also possible to control a player directly; in this case the remote control has no limit. &lt;br /&gt;
&lt;br /&gt;
Contact us if you have more than 100 agents with voice recording using an external application, we can easily extend this limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Principle and definition ===&lt;br /&gt;
&lt;br /&gt;
This is the described scenario:&lt;br /&gt;
&lt;br /&gt;
Recorder communicates with Player 1, Player 2 … Player x&lt;br /&gt;
&lt;br /&gt;
The Application server communicates with the Application Client 1,  2, … xx&lt;br /&gt;
&lt;br /&gt;
This description regards the TCP/IP interface in the following picture, the only one to build new from the application point of view.&lt;br /&gt;
&lt;br /&gt;
[[Image:Layout02.png]] &lt;br /&gt;
&lt;br /&gt;
Going on in the description as “Appclient” is intended the User frontend (“Application on terminal x” in the picture). &lt;br /&gt;
&lt;br /&gt;
“AppServer” is called the server of the application (Application Server in the picture), so the server for the ticketing or booking system or whatever.&lt;br /&gt;
&lt;br /&gt;
Keep in mind that just one AppServer can communicate with the Recorder while even each Player can be called even directly from the Appserver or an AppClient. Do not confuse: There are two ways to interface the voice recording system, via TCP and via URL. The smarter and better way is the TCP one. We describe both, read both because in the second section some concepts described in the first one are not repeated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== TCP/IP Interfacing === &lt;br /&gt;
&lt;br /&gt;
This is the preferred and smart way to realize the interface.&lt;br /&gt;
All messages and command goes to one single interface as shown in the picture. The Appserver act as a TCP/IP “Master” and will receive from the recorder messages and can send commands to the single Players trough the recorder. So it is a 3rt Party interface, piloting single player using one single IP address. The “play” command for a certain player is send to the recorder (and not to the relative player).&lt;br /&gt;
&lt;br /&gt;
If for example a AppClient wants that the Player starts reproducing a record the command flow will be:&lt;br /&gt;
&lt;br /&gt;
AppClientX press the play key -&amp;gt;  AppServer send command to the -&amp;gt; Recorder -&amp;gt; Recorder send a command to -&amp;gt; PlayerX&lt;br /&gt;
&lt;br /&gt;
So the idea is that in the applications is a “Play” and a “Stop” button; if the agent press this button the recording relative to the displayed database record will start to play, pressing stop the play will stop. &lt;br /&gt;
Therefore the applications database must contain the record name.&lt;br /&gt;
&lt;br /&gt;
The problem is that the entire information about the record is available just a certain time period after the call end. In most of the cases the application session is terminated or a new one started. Therefore the link is provided in two times.&lt;br /&gt;
&lt;br /&gt;
When voice recording starts, the recorder will send a first record to the AppServer in the following format:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!FRST!&amp;lt;Extension Number of the Agent&amp;gt;!&amp;lt;UID&amp;gt;!&amp;lt;Agentname&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;FRST&amp;gt; = indicate that this is the first (of two records)&lt;br /&gt;
&lt;br /&gt;
Extension Number = the Phone number of the Agent&lt;br /&gt;
&lt;br /&gt;
&amp;lt;UID&amp;gt; = a unique ID of the record&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Agentname&amp;gt; =  the CN (common name) of the Agent in the PBX&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!FRST!24!c03a55c2e909d311b6450090331b3e3b!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;“24”&#039;&#039; is the extension number of the agent, &#039;&#039;“c03a55c2e909d311b6450090331b3e3b”&#039;&#039; is the unique “serial number” of the record and &#039;&#039;“Rossi”&#039;&#039; the name of the agent.&lt;br /&gt;
&lt;br /&gt;
Just the filed &#039;&#039;“!FRST!”&#039;&#039; has a fix length, all the others not; the single field therefore has to be separated searching the “!”.&lt;br /&gt;
&lt;br /&gt;
At this point the applications probably store this information (number, ID and Name) in his database or buffer this info until the Agent has his client ready or similar. Important is that the database record of the application is linked to the record UID. &lt;br /&gt;
&lt;br /&gt;
Basically it is necessary for later data processing that the application server knows the name of the player (in our example “Rossi”). The simplest way to do that is giving the extension in the PBX the right common name (the same name than the application user name). If that is not possible (for example because the application has other items to identify a user) the application has to hold a cross reference table: application user name 1 = recording user name 1 etc. Consider also that not necessarily a record is played only on the player of a certain agent; recording for agent 1 can be required to be played on work station agent 2. &lt;br /&gt;
&lt;br /&gt;
When a call has terminated, the record converted, saved etc. (means, ready to be played) a second record is transmitted from the recording server to the AppServer:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!LAST!&amp;lt;Extension Number of the Agent&amp;gt;!&amp;lt;UID&amp;gt;!&amp;lt;Track&amp;gt;!&amp;lt;Agentname&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Track&amp;gt; = Name of the recorded file, to transmit later to the recorder to play.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;!LAST!24!93adee5ee909d311b6450090331b3e3b!2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You see that the UID is in again and on the same position; even the extension number and name is repeated. In this way the application can easily search the UID in his database (and the name and/or the number) and when found complete the record entry with the record name (in the example &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;). &lt;br /&gt;
You see the UID is also part of the record name and in theory the original “stand alone” UID in the application database is no longer required. Therefore a overwriting of the UID field in the application database with the record name is possible. &lt;br /&gt;
&lt;br /&gt;
Note: In the actual version a reverse search is not implemented (that the player told the application to display a record). If implemented in the future the search string will be the entire record name and not just the UID, therefore the stand alone UID has no further sense from the voice recording point of view. &lt;br /&gt;
&lt;br /&gt;
From the timing point of view the first message is critical because the UID has to be written until the Agent has opened his application record and that can be even a short time. &lt;br /&gt;
&lt;br /&gt;
The last string is not very time critical because the retrieving of a record and a update can be done in every moment.&lt;br /&gt;
&lt;br /&gt;
The recorder software has a small send buffer (about 25 recordings) where the messages will be buffered if the AppServer is not reachable or the link is down or. If for example the AppServer is switched off and later on again, the recorder will send to the AppServer the FRST and LAST messages buffered during downtime. The Buffer is a Fifo (first in first out) but not an Overflow-Fifo; if full not the oldest but simply all newer messages are lost. The buffering is done just to buffer short time periods, for example to allow a restart of the AppServer PC without losing information (but not for a “offline” operation). &lt;br /&gt;
&lt;br /&gt;
In the application software design should also be considered the possibility that the AppServer receives a First record, is then stopped, and receives the second one after the restart. &lt;br /&gt;
&lt;br /&gt;
That’s all regarding the recording part, now we discuss the remote control of the player. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remember that a name can be assigned to a player, for external applications that is mandatory. The name can be defined in the player setup; a good idea to simplify the scenario is to give the player the common name of the phone. So in our example we will name the player of the agent “Rossi” just “Rossi”. Not a must of cause, you can call the player of Rossi even “myFirstAgent” or “1234”; but in doing so the external application must store a table where “Rossi” is mapped to “myFirstAgent”. To avoid such complication we suggest unifying the names and assigning to the phone user, Player name and application user in the same one.&lt;br /&gt;
&lt;br /&gt;
To force a certain player to reproduce a certain recording the AppSever has to transmit to the recorder the following command string:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TRAC!&amp;lt;PN&amp;gt;!&amp;lt;Track&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PN&amp;gt;=player name&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TRAC!Rossi!2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Player with the name “Rossi” will start playing the record &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There are not foreseen any error messages, if for example the player will not find the record or is switched off nothing will be transmitted to the AppServer. In case of record not found on the Player a blank result will indicate the fail. If the recorder start reproducing a record a green “RC” label (for Remote Control) near the play symbol shows that a remote control message and not a manual play key press has started the reproduction.&lt;br /&gt;
&lt;br /&gt;
There are available also other commands:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;STOP&#039;&#039; (Stops the actual play)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;EJEC&#039;&#039; (the actual record is unloaded, the player stops)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PAUS&#039;&#039; (the actual record is paused)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PLAY&#039;&#039; (the actual record is played again)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;EJEC!Rossi&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Will force the player Rossi to stop the reproduction of the track and go in an idle mode.&lt;br /&gt;
&lt;br /&gt;
Generally it is not necessary that the AppServer takes care about the actual Player status or observe command flows. If the Player is for example playing a track and the application server send the command to play another track he will Eject the actual track and play the desired one. &lt;br /&gt;
&lt;br /&gt;
Note also that the player can work minimized in the taskbar and play “invisible”, so the user will see just the application. In the setup of the player can also be defined an automatic popup if a remote play is received and automatic hiding if an eject-command is received. If this is enabled in this way the player is minimized in the taskbar and the user works just with the application screen. &lt;br /&gt;
&lt;br /&gt;
The TCP/IP link between recorder and AppServer is based on the fact that the recorder acts as a slave while the AppServer act as a Server. In the Setup of the recorder the IPadress and the port of the AppServer has to be indicated. The recorder expects on the same port where he is transmitting the response from the AppServer.&lt;br /&gt;
&lt;br /&gt;
The recording server performs a keep alive with an interval settable in seconds. The keep alive message send from the recorder to the AppServer each xx seconds is:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;RecKA&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The message has no further meaning and can be thrown away from the AppServer. If any command is received from the Appserver the keep alive will be skipped and repeated after the, in the recorder setup indicated timespan. Unknown messages form the application server will be throw away from the recorder server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== URL Interfacing ===&lt;br /&gt;
&lt;br /&gt;
URL interfacing is available only on a local port (127.0.0.1) and used for interfacing with the reporting (see relative article). The following description is just for internal use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;IPLTRAC&amp;gt;&amp;lt;PN&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are also available the commands&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLPLAY&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLSTOP&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLEJECT&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLPAUS&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;IPLTRAC2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
will force the player to reproduce the indicated record &#039;&#039;2013_09_24_1107_39.o.024_1_93adee5ee909d311b6450090331b3e3b.wav&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Basically the interface of the player is anyway a TCP/IP interface and no mini Webserver is integrated. But a “Get” from an browser will be detected and decoded, but no answer occurs. That means if you try to launch a command with a browser it will work, but the browser will show you “no page”. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
If you post in your browser “&#039;&#039;http://127.0.0.1:9090/IPLPLAY&#039;&#039;“, the player will start to play the marked record.  &lt;br /&gt;
&lt;br /&gt;
If a port for direct remote control is switched on a “RC on” label is displayed in the player status line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== General Note ===&lt;br /&gt;
&lt;br /&gt;
The first UID will be detected form the recording using the SOAP interface in the PBX. Therefore all Agents has to be in the same group that the SOAP user object.&lt;br /&gt;
&lt;br /&gt;
Example: You have a simple user object called “MYSOAP”, put that object in an active group called “Recording” and now put all you Agents in the same group.&lt;br /&gt;
&lt;br /&gt;
Remember that basically recording is done even without the group stuff. So the group is just required to detect the UID in “advanced”. But there is also an additional benefit; the reporting has less stress because the recorder will query the reporting just at the end of the call (knowing via SOAP when the “end” is) while calls without the group are detected as “finished” because the reporting has a valid CDR record, and so the recorder polls each 4 second the reporting on active calls. That means that it is in any case a good idea put the agents in a group, even if no external application is running.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recording rules ==&lt;br /&gt;
&lt;br /&gt;
The recording rules describe how the innovaphone PBX and the innovaphone voice recorder works in complex situations.&lt;br /&gt;
&lt;br /&gt;
While basic calls are simple and strait forward in logic, voice recording behavior becomes non clear in complex situations. &lt;br /&gt;
&lt;br /&gt;
What about voice recording if for example a recorded user transfers the call to a “normal” user? Answer: This call will be entirely recorded and booked under the recording user by design; those behaviors are intended under “recording rules”.&lt;br /&gt;
From a technical point of view mostly no other solution is possible, form a political point of view any rule could be endless discussed. &lt;br /&gt;
&lt;br /&gt;
Remember that in this chapter “Agent” is just the wording for “user enabled to recording with license” while “user” is a “normal” user, eventually even recording pcap files, but he is not in the recording user group. &lt;br /&gt;
&lt;br /&gt;
In theory senseless recording should not be done. So deleting a record because it should not be stored is a task of the recorder; not recording at all if not necessary is better. That can be achieved avoiding or forcing extensions to the recording gateways or doing recoding directly from the IP-Phone.&lt;br /&gt;
&lt;br /&gt;
The length (or contend) of a record depends; if the recording is done on a GW the entire call will be recorded (if not you will find a note in the rules), from his very first answer to the end. Therefore all the parties involved are even recorded. If recording is done on the phone level just the active call time on that phone will be recorded.&lt;br /&gt;
&lt;br /&gt;
Generally spoken there are not necessary recording rules if the recording is done from the  innovaphone IP-Phone: the recording starts when the phone answer the call and ends when the phone hangs up. &lt;br /&gt;
&lt;br /&gt;
So the following table shows the recording rules if recording is done on a GW level.&lt;br /&gt;
&lt;br /&gt;
“External” is the external calling or called party. Of cause if you record even internals calls (forcing all calls in a GW) in some situation the “External” is in reality a internal user, but this will not change the rules. The recorder recognizes the “external” party involved simply because it is the longest number involved. &lt;br /&gt;
&lt;br /&gt;
The recorder stores always even the reporting data and therefore all details are visible in case of doubts. The audio filename anyway if formed just from the internal user number and the external user number even if more numbers are involved in the call (for example in a 3party conference).&lt;br /&gt;
&lt;br /&gt;
Example: External call from number 012345 goes to the Agent number 24, after 3 second he will answer: the result will be a file name like “2014-05-12 14:00_24_i_012345_3_UID”.&lt;br /&gt;
&lt;br /&gt;
Later on in the player you can search “24” or “012345” (or a fraction of it like “0123*” ecc.). In the reporting you can search also all other fields (like other involved extensions) and start the player than from the reporting (see relative function in the innovaphone player).&lt;br /&gt;
&lt;br /&gt;
Note: the following rules works on any type of call transfer (with or without announcement).&lt;br /&gt;
&lt;br /&gt;
“Delete” means that the call will be deleted on the CF. “Call” means that they talk. For example “Agent calls External” indicated the direction and means also that the involved parties talk (or at least produce a pcap file).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Rules:&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent = Agent &lt;br /&gt;
  &lt;br /&gt;
•	External call to User = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent, User pick-up the call = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to User, Agent pick-up the call = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to broadcast group, Agent answer = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to broadcast group, User answer = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External call to User, User hold and transfer to Agent = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent A hold and transfer to Agent B = Agent A&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent B pick up the call = Agent A&lt;br /&gt;
&lt;br /&gt;
•	External call to WQ, WQ call XML with DTMF input, XML call WQ, WQ call Agent = Agent (just the external Number is considered, not the DTMF codes and numbers between)&lt;br /&gt;
&lt;br /&gt;
•	Agent call External = Agent &lt;br /&gt;
&lt;br /&gt;
•	Agent call External, Agent hold and call transfer to User = Agent&lt;br /&gt;
&lt;br /&gt;
•	Agent call User, User hold and transfer to External = Deleted&lt;br /&gt;
&lt;br /&gt;
•	Agent call External, Agent hold and talk with User but no call transfer = Agent (just external conversation is recorded)&lt;br /&gt;
&lt;br /&gt;
•	Agent A call External, Agent A hold and transfer to Agent B = Agent A&lt;br /&gt;
&lt;br /&gt;
•	Agent B call External, Agent B hold and transfer to Agent A = Agent B&lt;br /&gt;
&lt;br /&gt;
•	User call to Agent, Agent hold and transfer to External = Agent&lt;br /&gt;
&lt;br /&gt;
•	User call External, User hold and transfer to Agent = Agent&lt;br /&gt;
&lt;br /&gt;
•	User call External = Deleted&lt;br /&gt;
&lt;br /&gt;
•	User call External, User hold and talking with Agent but no call transfer = Deleted&lt;br /&gt;
&lt;br /&gt;
•	User call Agent, Agent hold and Agent talk with External = Agent (just the external conversation is recorded)&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent, Agent has activated a unconditional call forward (CFU) to a User = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent, Agent has activated a call forward on busy (CFB) to a User and is busy = Deleted&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent, Agent has activated a call forward on no response (CFNR) to a User, User answer after timeout = Agent&lt;br /&gt;
&lt;br /&gt;
•	External call to Agent A, Agent A has activated a unconditional call forward (CFU) to Agent B = Agent B&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent A, Agent A has activated a call forward on busy (CFB) to Agent B and is busy = Agent B&lt;br /&gt;
&lt;br /&gt;
•	External Call to Agent A, Agent A has activated a call forward on no response (CFNR) to Agent B, Agent B answer after timeout = Agent A&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: If Threat call recording is on a call can be marked to store from the calling or called agent. But if both parties are Agent, the called Agent has to dial the code for storing: if the caller dials the code the record will not be saved.&lt;br /&gt;
&lt;br /&gt;
From version 11 on the generated pcap file have a different format. While in former versions the name of a pcap file was a unique single long number form version 11r1 on the ticket as two additional id, one is build form the serial number of the device and the other one if an increasing number. This new format is also generated when recording is done form directly the phone. The recorder can handle both formats automatically, no special setup is required.&lt;br /&gt;
 &lt;br /&gt;
We want to focus your attention on the reason of the new format. If for example the recording is done on the phone the phone will generate a new pcap file each time a new call is opened form the PBX point of view. &lt;br /&gt;
&lt;br /&gt;
Example: Phone rings and the user answers, the recording starts with record 1. Then the user put the call on hold and call another extension, this generates record number 2. Then the phone returns to the first call and continuous talking that will be the 3td call. Of cause using the player you will see those 3 calls one after the other (using the user as filter). That this is one situation you recognize looking the reporting details displayed and if you select the 3 calls the player will play one after the other (switch on the loop key) and you listen the entire call in one shoot. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
===Open a ticket===&lt;br /&gt;
&lt;br /&gt;
If you have a problem with the recording tool you have to open a ticket as usual. Describe your problem, but send us also the following information:&lt;br /&gt;
&lt;br /&gt;
- Setup of your PBX (with standard password or tell us the password)&lt;br /&gt;
&lt;br /&gt;
- Version of the reporting &lt;br /&gt;
&lt;br /&gt;
- Attach all log and error files and the setup of the recorder. All those files are in the log folder (so zip the entire folder), you find the path and link to the folder in the recorder setup.&lt;br /&gt;
&lt;br /&gt;
- Make some screenshots if possible.&lt;br /&gt;
&lt;br /&gt;
- Open the reporting and do a query where the recorded conversations are in (if possible). Do an export in XML and attached it.&lt;br /&gt;
&lt;br /&gt;
=== No CDR ticket after start-up ===&lt;br /&gt;
&lt;br /&gt;
If a record is not found on the CF and there is no SOAP info about that (for example if you start the recording and there are old terminated calls) the recording checks if the reporting has a related record. If a record is found and it is an Agent involved the record is stored as usual, if no Agent is involved the record will be deleted. &lt;br /&gt;
&lt;br /&gt;
But if there is a recording file found and in the recording there is no related record, the recorder cold simply deletes that record; but this could be fatal. For example the reporting could answer once bad, or the link between the reporting and the PBX is temporary down; in that cases the recording will be lost if simply deleted. Therefore the recorder waits in this situation and asks the reporting again after 2 hours. If even after 2 hours the reporting answer with no record found the file will be deleted (otherwise normally processed and stored or deleted as described before). &lt;br /&gt;
&lt;br /&gt;
Note that the reporting is not aware about the health of the connection between PBX and the Reporting. If the recorder gets no answer from the reporting an alarm occurs and the reporting will not proceed with the storage. But the answer “no record found” is not a clear situation for the software. Therefor this situation has to be avoided and occurs for example if pcaps are recorded, but the users involved have no reporting while the recorder is down and starts up later. So the recorder will “find” pcap files but no reporting information.&lt;br /&gt;
&lt;br /&gt;
During online operation this will not happen, because the SOAP driver will tell the recorder that a specific record has to be deleted, and so the recorder will not check the reporting. This is done even to speed up the recorder because the communication with the reporting is relatively slow. If for example there are many users doing a recording (because a bad setup or simply because a huge PBX) and there are only few users to record a huge amount of files are simply to delete without any further processing. Deleting of files is relatively fast during online operation while in case of startup and then recover historic records it becomes slow, and very slow if there are no CDR tickets. The online deleting of files is just “relatively fast” because the SOAP is very fast but the recorded file has to be closed before deleting. Trying to delete a not closed file will cause an error, if that happen the system after e while will recover, but it is not nice. On top there is no way on a CF to understand if a file is in use or not. Therefore the system will wait 2 seconds before deleting a file.&lt;br /&gt;
&lt;br /&gt;
=== No CDR ticket online ===&lt;br /&gt;
&lt;br /&gt;
There is even an unclear situation in online operation. Imagine that an Agent transmits no CDR information to the reporting (for example because there is no reporting license assigned to that user) or, because of a bad setup in the PBX, the ticket will not arrive to the reporting. A call of an Agent is terminated, the SOAP driver informs the upper layer of the software about that and now the recording ask the reporting about the CDR details. Note that the reporting is not down; the recorder can reach the reporting and get also answers (otherwise the REP alarm would be on).  If after a detected call end of an Agent signaled by SOAP and a timeout of 5 seconds no CDR is in the reporting a garbage select routine is activated in the recorder software; this routine ask a second time after other 5 seconds the reporting. If even now the response is “no record found” the reporting waits for this call 2 hours. After 2 hours a third time the reporting is asked, if no record is found the pcap is deleted, otherwise normal processed.&lt;br /&gt;
&lt;br /&gt;
If a record is waiting in the 2 hours timeout status in the field “status” the countdown proceed is shown, for example “P1443”, after 5 seconds “P1442” and so one (number*5/60 = time in minutes to zero).&lt;br /&gt;
&lt;br /&gt;
To fix it just stop the recording, solve the problem if possible (if you are lucky for example the CDR data are in the PBX buffer and will be send to the reporting when connection is up again), if not save the Pcap file, at least it will not be deleted. Then delete the pcap file on the CF to avoid a slowdown of the entire system.&lt;br /&gt;
&lt;br /&gt;
A simple but good idea is to enable the CDR on the recording trunk line, in this case “some information” for the call is retrieved all time and at least the system will not face that problem.&lt;br /&gt;
&lt;br /&gt;
All described can be the result of a bad or erroneous setup, or the customer is aware of that and simply not interested in a good working application. So a “no record” answer could be a real alarm or not. Therefore in the setup that can be selected. &lt;br /&gt;
&lt;br /&gt;
See recording setup, panel reporting, option “Alarm if no CDR ticket found”.&lt;br /&gt;
&lt;br /&gt;
=== Asynchronous reporting/PBX date and time ===&lt;br /&gt;
&lt;br /&gt;
PBX and reporting must have the same date and time. If not, the reporting will detect that and display error and warning messages about a possible manipulation in the files. &lt;br /&gt;
&lt;br /&gt;
So check first the actual date and time of PBX and reporting. &lt;br /&gt;
&lt;br /&gt;
IPVA: Remember that date can be set in the reporting in administration, General, Configure NTP server.&lt;br /&gt;
&lt;br /&gt;
===Voice Recorder Window is truncated===&lt;br /&gt;
&lt;br /&gt;
It could happen that the Voice Recorder Window is truncated. The reason for this is the screen resolution setting in windows. To solve the problem, the screen resolution adaption must be switched off (set to 100%) in windows system settings.&lt;br /&gt;
&lt;br /&gt;
=== Player Crash on start-up===&lt;br /&gt;
&lt;br /&gt;
If the player won’t start try first play a wave file using the Windows media Player.  If the Windows Media Player cannot reproduce the wave file (for example because there is no audio device or the audio device is not ready) the player will not start up. Fix first the PC problem.&lt;br /&gt;
&lt;br /&gt;
=== G722 ===&lt;br /&gt;
&lt;br /&gt;
The actual version of the Pcap2wav (151.552kb) extension does not support G722, the result are empty small Wave container files.&lt;br /&gt;
&lt;br /&gt;
=== Recorder stopped responding after the start ===&lt;br /&gt;
&lt;br /&gt;
We have had reports that recording did not run on windows 2008 r2. Symptoms were (recorder stopped responding after the start (recorder hang) and the link to the PBX was down). This had been fixed by running sfc.exe.&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Player_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Voice_Recorder/Setup]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Last_Call_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Universal_Track_Recording_Tool]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Integration_reporting_and_voice_recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Soft-migration_%28looping_in_a_innovaphone_gateway%29_and_Voice_Recording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Player_over_http]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Marking_a_record_in_Voicerecording]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Voice_Recording_in_Master_Slave_scenarios]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Concept|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Profiles&amp;diff=43166</id>
		<title>Reference9:PBX/Objects/Edit Profiles</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:PBX/Objects/Edit_Profiles&amp;diff=43166"/>
		<updated>2016-07-05T09:05:47Z</updated>

		<summary type="html">&lt;p&gt;Gnd: /* Properties of a Profile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can set various profiles per user, for each profile you can have a [[Reference9:Concept_myPBX#Contacts |buddy list (aka contacts)]] in the myPBX client.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Name&#039;&#039;&#039; Name of the profile, the myPBX user can choose from profile names if more are configured. &lt;br /&gt;
&lt;br /&gt;
== Properties of a Profile==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|Name of the user that shows up in the buddy list&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
|Number of that user that shows up in the buddy list&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Display&#039;&#039;&#039;&lt;br /&gt;
|How the user should be named in the buddy list&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Extern&#039;&#039;&#039;&lt;br /&gt;
|If its not an user from the PBX choose &#039;&#039;&#039;tel&#039;&#039;&#039; for a external phone number, or &#039;&#039;&#039;sip&#039;&#039;&#039; for an external sip user via federation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Presence&#039;&#039;&#039;&lt;br /&gt;
|If you want to monitor the users presence state (that is only for external users), for internal you see the presence state if you have the [[Reference9:PBX/Objects/Edit_Allow |access rights]], used for federation&lt;br /&gt;
|-&lt;br /&gt;
|valign=top nowrap=true|&#039;&#039;&#039;Dialog&#039;&#039;&#039;&lt;br /&gt;
|If you want to monitor the users call state (that is only for external users), for internal you see the call state if you have the [[Reference9:PBX/Objects/Edit_Allow |access rights]], used for federation&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Note: For internal users configure either name or number. If the display is different to the one from the user configuration, only the name must be configured.&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=File:New_RecE111S2.png&amp;diff=42797</id>
		<title>File:New RecE111S2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=File:New_RecE111S2.png&amp;diff=42797"/>
		<updated>2016-06-28T09:02:24Z</updated>

		<summary type="html">&lt;p&gt;Gnd: Recorder 2 im Location 2 wurde entfernt, da er nicht zum dargestellten Szenario passte.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Recorder 2 im Location 2 wurde entfernt, da er nicht zum dargestellten Szenario passte.&lt;/div&gt;</summary>
		<author><name>Gnd</name></author>
	</entry>
</feed>