<?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=Rotodt</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=Rotodt"/>
	<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Special:Contributions/Rotodt"/>
	<updated>2026-05-05T14:41:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71348</id>
		<title>Howto:Queueboard - MediaRunway - Partner App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71348"/>
		<updated>2024-04-02T07:39:19Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Licensing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- replace CompanyLogo by real logo-name. Do not change size &amp;amp; alignment. Upload image by pressing red link --&amp;gt;&lt;br /&gt;
[[Image:Mediarunway_company_logo_200.png||200px|right]]&lt;br /&gt;
&lt;br /&gt;
==Product Name==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- replace CompanyName &amp;amp; ProductName by real names and add URL to productpage --&amp;gt;&lt;br /&gt;
&amp;lt;!-- MR-TODO: Replace NewAppName (newappname) with the name of your app --&amp;gt;&lt;br /&gt;
MediaRunway [https://mediarunway.com/myapps/ Queue Board]&lt;br /&gt;
&lt;br /&gt;
==Certification Status==&lt;br /&gt;
&amp;lt;!-- do not remove comment. Will be added by innovaphone upon document check, app availablity in innovaphone-appstore &amp;amp; operational check --&amp;gt;&lt;br /&gt;
{{Template:Compat_Status_referral_product_new|type=App}}&lt;br /&gt;
&lt;br /&gt;
This App has been listed April 2023.&lt;br /&gt;
&lt;br /&gt;
==Category==&lt;br /&gt;
&amp;lt;!-- Do not change this section and do not remove comments. Will be done by innovaphone upon document check --&amp;gt;&lt;br /&gt;
[[Category:Partner_Apps|{{PAGENAME}}]]&lt;br /&gt;
{{Category:3rdParty_Reporting_/_Monitoring}}&lt;br /&gt;
[[Category:3rdParty_Reporting_/_Monitoring|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
==Vendor==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place optional company logo. Don&#039;t change logo size. --&amp;gt;&lt;br /&gt;
[[Image:Mediarunway_company_logo_150_2.png|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Give some introducting words about the vendor itself. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- At max 3 sentences, no novels. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MediaRunway is an ITC enterprise that provides its customers with contemporary IT services in all areas - Your business, our solution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For further information refer to vendor website via link --&amp;gt;&lt;br /&gt;
[https://www.mediarunway.com/ MediaRunway - About us]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- place optional product logo or functional overwiew. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MR-TODO: Change to icon of the app 100x100 --&amp;gt;&lt;br /&gt;
[[Image:MediaRunway-queueboard.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Give description about the main product purpose. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- At max 3 sentences, no novels. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MR-TODO: Max. 3 sentences describing the general functionality of the app. --&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Queue Board&#039;&#039;&#039; myApps App is an easy way to improve the quality of your corporate communication by using this app to get an overview (live and the supervisor also historical) of the waiting time and the number of callers of a waiting queue. You can see how many callers and after how long these callers gave up the wait. Give each individual team member (call agent) and the supervisor an easy way for all team members to log in or out of the group. If you want to keep an eye on several waiting queues at the same time, no problem for user ans supervisor. The information can just as well be viewed mobile on a smartphone. In addition, the following can be configured in the app: wrap-up time, how active agents are counted, alarm thresholds and the resetting of values. A supervisor can also be a call agent at the same time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- For further information refer to vendor product website via link --&amp;gt;&lt;br /&gt;
[https://mediarunway.com/myapps/ MediaRunway - About this application]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Some formattings WikiMedia supports:&lt;br /&gt;
==Title2==&lt;br /&gt;
===Title3===&lt;br /&gt;
&#039;&#039;&#039;xxx&#039;&#039;&#039; fat text&lt;br /&gt;
* - list item&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Image:ProductLogo.png]] --&amp;gt;&lt;br /&gt;
&amp;lt;!-- some text --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Give functional description about the application. Use formattings if needed --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Preferred format is a short list of functions/buzz words offered by the product --&amp;gt; &lt;br /&gt;
&amp;lt;!-- MR-TODO: Change the picture, adjust px to width of your picture. The first picture/s should give an impression of the look and the functionality provided by the app --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Dark and light mode in each app&lt;br /&gt;
|-&lt;br /&gt;
! dark mode !! light mode&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:QueueBoard-userDetailsDark.png|100px]] || [[Image:QueueBoard-userDetailsLight.png|100px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Admin app ===&lt;br /&gt;
[[File:QueueBoard-adminAppIcon.png]]&lt;br /&gt;
&lt;br /&gt;
For configuration to could monitor one or more waiting queue(s)&lt;br /&gt;
&lt;br /&gt;
[[Image:QueueBoard-AdminApp.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== User app ===&lt;br /&gt;
[[Image:QueueBoard-userAppIcon.png]]&lt;br /&gt;
&lt;br /&gt;
For a normal team member&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A user can choose between two views&lt;br /&gt;
|-&lt;br /&gt;
! Overview of all waiting queues where the user is member of !! Details of the waiting queue which the user clicked on, in the overview list&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:QueueBoard-userOverview.png|300px]] || [[Image:QueueBoard-userDetailsDark.png|300px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:UserApp.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== supervisor app ===&lt;br /&gt;
[[Image:QueueBoard-supervisorAppIcon.png]]&lt;br /&gt;
&lt;br /&gt;
* show one or more waiting queue details parallel in columns&lt;br /&gt;
* per waiting queue &lt;br /&gt;
** statistic tables&lt;br /&gt;
** charts&lt;br /&gt;
** statistic export&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waiting queues in columns&lt;br /&gt;
&lt;br /&gt;
[[Image:UserApps-to-see-more-then-one-queueboard-parallel.png|600px]]&lt;br /&gt;
[[Image:QueueBoard-dashboardMenu.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Waiting queue charts&lt;br /&gt;
&lt;br /&gt;
[[Image:QueueBoard-dashboardCharts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dashboard app ===&lt;br /&gt;
[[Image:QueueBoard-dashboardAppIcon.png]]&lt;br /&gt;
&lt;br /&gt;
For a big Flatscreen&lt;br /&gt;
&lt;br /&gt;
[[Image:QueueBoard-dashboardOverview.png|600px]]&lt;br /&gt;
[[Image:QueueBoard-dashboardDetails.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== wrap-up time ====&lt;br /&gt;
[[Image:UserApp-wrapup-time-element.png|200px]]&lt;br /&gt;
[[Image:UserApp-wrapup-time-element-only.png]]&lt;br /&gt;
&lt;br /&gt;
Wrap-up time: Time which is required after a call. Typically this time is used to fill in forms, make notes or have other calls clarify the case. The person is not available for another call during this period.&lt;br /&gt;
However, if the user finishes earlier than the time available to him/ her, the user can immediately make himself/ herself available to take the next call by clicking on the hook.&lt;br /&gt;
Should the user need more time then the configured wrap-up time, then the user could click on the refresh button to get the configured refresh wrap-up time to get the work done.&lt;br /&gt;
The refresh button is inactive up to the time the configured refresh wrap-up time is reached. So that a user is protected to shorten the wrap-up time with a click on the refresh button.&lt;br /&gt;
The hook button will first be activated if the agent has end a call and the wrap-up time starts. &lt;br /&gt;
&lt;br /&gt;
In Queue Board 1.0: If the Queue Board Admin has set the &amp;quot;Wrapup-time in sec.&amp;quot; to &amp;quot;0&amp;quot; then the wrap-up time element will not be shown in the user app.&lt;br /&gt;
&lt;br /&gt;
==Licensing==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Give information about costs and licensing model. Use formattings if needed --&amp;gt;&lt;br /&gt;
* with Queue Board 2.0 the licensing changed to the [https://www.innovaphone.com/en/services/licenses/partner-apps.html?app=queueboard&amp;amp;type=license#queueboard]&lt;br /&gt;
* under [https://wiki.innovaphone.com/index.php?title=Howto:Queueboard_-_MediaRunway_-_Partner_App#Grant_access_to_APIs grant access] is described where to add the queue licenses&lt;br /&gt;
* The users must be assigned the user/supervisor app-license&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&amp;lt;!-- Optional topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If applicable, name any system requirements / technical requirements. For example, if the function of the free app requires the use of software for which a fee is charged. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MR-TODO: Prerequisites needed for this app. See current MR apps as example and the prerequisites-template.md file. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- None (at least knowledge about installing an App and adding the App Object for the users) --&amp;gt;&lt;br /&gt;
For that app, you need &#039;&#039;&#039;no extra windows server&#039;&#039;&#039; or client software, only the myApps plattform and the myApps client (installed or open in a browser).&lt;br /&gt;
&lt;br /&gt;
You have a waiting queue configured in the pbx and also a group and group members for that waiting queue. The group name for the group members should only use for this waiting queue, because if the same group name will be used for another waiting queue, then the user will dyn-in/ dyn-out for more then one waiting queue. But one waiting queue could have more then one group configured, for example to differentiate the users of the primary group from the other users. But that is not special for this Queue Board App, it should only remember to the basic innovaphone admin knowledge.&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present or outdated innovaphone FW is used, no certificate will be given at all --&amp;gt;&lt;br /&gt;
With Queue Board Version 133013 sr8 the &#039;&#039;&#039;Queue Board 2.0&#039;&#039;&#039; starts. And Queue Board 2.0 has &#039;&#039;&#039;multi queue&#039;&#039;&#039; functionality. &#039;&#039;&#039;With this Version the licensing changed to innovaphone licensing.&#039;&#039;&#039;&lt;br /&gt;
The service release number is smaller then from the last Queue Board 1.0 Version, because the innovaphone sdk sr8 is used, so that also older Systems could use the Queue Board 2.0.&lt;br /&gt;
&lt;br /&gt;
===Compatible innovaphone firmware versions===&lt;br /&gt;
&amp;lt;!-- List compatible major innovaphone firmware versions. Several listings are valid --&amp;gt;&lt;br /&gt;
&amp;lt;!-- MR-TODO: Replace NewAppName and versions text. What SDK version was used during development? With which platform versions was it tested? --&amp;gt;&lt;br /&gt;
* MediaRunway Queue Board 1.0 (132xxx sr18, 133xxx final)&lt;br /&gt;
** innovaphone V13r2&lt;br /&gt;
** innovaphone V13r3&lt;br /&gt;
* MediaRunway Queue Board 2.0 (133x1x sr8)&lt;br /&gt;
** innovaphone V13r3&lt;br /&gt;
&lt;br /&gt;
===Application versions used for interop testing===&lt;br /&gt;
&amp;lt;!-- Give used versions for testing of both innovaphone and 3rd-pty product --&amp;gt;&lt;br /&gt;
&amp;lt;!-- replace 3rd-Pty-Application by real name --&amp;gt;&lt;br /&gt;
&amp;lt;!-- MR-TODO: Replace NewAppName and versions text. What SDK version was used during development? With which platform versions was it tested? --&amp;gt;&lt;br /&gt;
* MediaRunway Queue Board 1.0 (132xxx sr18, 133xxx final)&lt;br /&gt;
&amp;lt;!-- adjust tested innovaphone FW --&amp;gt;&lt;br /&gt;
** innovaphone IPVA V13r2sr18&lt;br /&gt;
** innovaphone IPVA V13r3final&lt;br /&gt;
* MediaRunway Queue Board 2.0 (133x1x sr8)&lt;br /&gt;
** innovaphone V13r3&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Describe configuration steps to be done for both innovaphone and 3rd-pty application --&amp;gt;&lt;br /&gt;
&amp;lt;!-- We recommend to add a link to your website providing this information or alternatively provide a PDF-formatted config document. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- List the config steps by adding text &amp;amp; pictures --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Name used APIs to be activated in ap-objects --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present, no certificate will be given at all --&amp;gt;&lt;br /&gt;
&amp;lt;!-- in any case you must be aware of the fact that any questions concerning configuration issues will be directly forwarded by innovaphone to you as manufacturer --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MR-TODO: In case it needs to be configured, place text here. If the configuration part is more than a few sentences, go ahead and add a new section below ==Installation==. See current apps as example. --&amp;gt;&lt;br /&gt;
In the next picture are the relations between the Queue Board admin app, the Queue Board user app and the innovaphone waiting queue administration visualized:&lt;br /&gt;
&lt;br /&gt;
[[Image:AdminApp-functions.png|500px]]&lt;br /&gt;
&lt;br /&gt;
Explanation of the three topics marked in the picture above:&lt;br /&gt;
&lt;br /&gt;
1) if in the waiting queue configuration is the checkbox for &amp;quot;Presence disables Operator&amp;quot; marked, then the switch in die Queue Board admin app is set to inactive&lt;br /&gt;
&lt;br /&gt;
2) if in the advanced waiting queue configuration is a &amp;quot;Clear after ___s&amp;quot; set, then in the Queue Board admin app the &amp;quot;Wrapup-time in sec.&amp;quot; and &amp;quot;Wrapup-time refresh in sec.&amp;quot; will be inactive. The wrapup-time which could configured in the Queue Board admin app is independent of the advanced waiting queue admin ui. So if you set a wrapup-time in the Queue Board admin app, this time will not set the time to the pbx waiting queue object. &lt;br /&gt;
A wrapup-time comparison: Currently the wrapup-time of Queue Board will only work if the user has the Queue Board user app started, if not no wrapup-time will start. If a &amp;quot;Clear after ___s&amp;quot; is set in the advanced ui, then this time will work always but no refresh action (button) for the user exists and no user in that wrapup-time could currently count in the Queue Board user app.&lt;br /&gt;
&lt;br /&gt;
3) if in the advanced waiting queue configuration the checkbox of &amp;quot;Operator connect for SOAP&amp;quot; is marked, then in the Queue Board user app a call which is connected to a agent will be shown as waiting. So we recommend to do NOT mark the checkbox &amp;quot;Operator connect for SOAP&amp;quot;, if the waiting queue is configured in a Queue Board admin app.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Alert and pre-alert tresholds ===&lt;br /&gt;
&lt;br /&gt;
==== Waitingcalls ====&lt;br /&gt;
The pre-alert value should be smaller then the alert value, because the alert is a maximum value.&lt;br /&gt;
&lt;br /&gt;
==== Ready team member ====&lt;br /&gt;
The pre-alert value should be greater then the alert value, because the alert is a minimum value.&lt;br /&gt;
&lt;br /&gt;
The quantity which could set for alert and pre-alert depends on the two switch settings in the Queue Board admin app at [How to count &amp;quot;ready agents&amp;quot;:].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Grant access to APIs ===&lt;br /&gt;
[[Image:PBXobjApiAccess.png]]&lt;br /&gt;
&lt;br /&gt;
* Shows the needed api access rights of the Queue Board pbx APP object in the advanced admin ui.&lt;br /&gt;
* And in the input field &amp;quot;Licenses&amp;quot; you have to enter the number of licensed waiting queues.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt; &lt;br /&gt;
&amp;lt;!-- Describe configuration steps to be done for both innovaphone and 3rd-pty application --&amp;gt;&lt;br /&gt;
&amp;lt;!-- We recommend to add a link to your website providing this information or alternatively provide a PDF-formatted config document. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- List the config steps by adding text &amp;amp; pictures --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Name used APIs to be activated in ap-objects --&amp;gt;&lt;br /&gt;
&amp;lt;!-- If not present, no certificate will be given at all --&amp;gt;&lt;br /&gt;
&amp;lt;!-- in any case you must be aware of the fact that any questions concerning configuration issues will be directly forwarded by innovaphone to you as manufacturer --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The steps of the installation process are the same as described in this article [https://wiki.innovaphone.com/index.php?title=Howto:Callback_-_mediarunway_-_3rd_Party_Product#Install_app_from_App_Store &amp;quot;Callback - Install App from App Store&amp;quot;] only with different names. You have to install the app, add an app instance, and the app objects.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
&amp;lt;!-- Mandatory topic. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Give contact details for potential interests and support. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You may give personal or general contact data or refer to external contact page --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| MediaRunway GmbH &amp;amp; Co. KG&lt;br /&gt;
|-&lt;br /&gt;
| Venloer Str. 8&lt;br /&gt;
|-&lt;br /&gt;
| D-41569 Rommerskirchen&lt;br /&gt;
|-&lt;br /&gt;
| Tel: +49 2183 80628-0&lt;br /&gt;
|-&lt;br /&gt;
| Mail: [mailto:myApps-sales@mediarunway.com myApps-sales@mediarunway.com]&lt;br /&gt;
|-&lt;br /&gt;
| Support: [mailto:myApps-support@mediarunway.com myApps-support@mediarunway.com]&lt;br /&gt;
|-&lt;br /&gt;
| Website: [https://www.mediarunway.com/ MediaRunway.com]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For any questions please refer to [https://mediarunway.com/contact/ our contact page].&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71347</id>
		<title>Howto talk:Queueboard - MediaRunway - Partner App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71347"/>
		<updated>2024-03-30T05:54:16Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71346</id>
		<title>Howto talk:Queueboard - MediaRunway - Partner App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71346"/>
		<updated>2024-03-29T15:54:40Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo,&lt;br /&gt;
warum muss im User-Objekt die QueueBoard User bzw. Supervisor Lizenz aktiviert werden? Theoretisch würde es doch ausreichen den zu berechtigenden Nutzern die App zuzuweisen und zu zählen wie viele User die App zugewiesen bekommen haben.&lt;br /&gt;
&lt;br /&gt;
Und ist es gewollte dass der Supervisor immer wieder neu die zu betrachtende Queue auswählen muss? Kann man nicht die letzte Einstellung speichern?&lt;br /&gt;
&lt;br /&gt;
Viele Grüße&lt;br /&gt;
Roland&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71345</id>
		<title>Howto talk:Queueboard - MediaRunway - Partner App</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:Queueboard_-_MediaRunway_-_Partner_App&amp;diff=71345"/>
		<updated>2024-03-29T15:53:36Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: Created page with &amp;quot;Hallo, warum muss im User-Objekt die QueueBoard User bzw. Supervisor Lizenz aktiviert werden? Theoretisch würde es doch ausreichen den zu berechtigenden Nutzern die App zuzuweisen und zu zählen wie viele User die App zugewiesen bekommen haben. Viele Grüße Roland&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo,&lt;br /&gt;
warum muss im User-Objekt die QueueBoard User bzw. Supervisor Lizenz aktiviert werden? Theoretisch würde es doch ausreichen den zu berechtigenden Nutzern die App zuzuweisen und zu zählen wie viele User die App zugewiesen bekommen haben.&lt;br /&gt;
Viele Grüße&lt;br /&gt;
Roland&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Service_Devices&amp;diff=70072</id>
		<title>Reference13r3:Concept App Service Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_App_Service_Devices&amp;diff=70072"/>
		<updated>2023-12-05T19:34:54Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
&lt;br /&gt;
The App Service Devices is an App Service which can be installed on an innovaphone App Platform. It is used to administrate the innovaphone devices which belong to the whole installation.&lt;br /&gt;
&lt;br /&gt;
== Applies To == &lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX from version 13r1&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&lt;br /&gt;
=== Devices App (innovaphone-devices) ===&lt;br /&gt;
This is the standard UI App for Devices.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
;Websocket: to publish the com.innovaphone.devicesui-API, which can be used to link directly to devices (which is done e.g. inside the Events app)&lt;br /&gt;
&lt;br /&gt;
=== Devices API (innovaphone-devices-api) ===&lt;br /&gt;
This is a hidden App, which provides the Devices API (com.innovaphone.devices). This API can be used to find and communicate with devices which are registered to the Devices App.&lt;br /&gt;
&lt;br /&gt;
Parameters:&lt;br /&gt;
&lt;br /&gt;
;Hidden: DevicesApi must be a hidden App&lt;br /&gt;
;Websocket: to get the URL of the Devices App itself which is used for provisioning&lt;br /&gt;
&lt;br /&gt;
== PBX Manager Plugins ==&lt;br /&gt;
&lt;br /&gt;
=== Devices ===&lt;br /&gt;
&lt;br /&gt;
With the Devices plugin App objects can be created, edited and deleted for Devices and the Devices API on the PBX.&lt;br /&gt;
&lt;br /&gt;
== Concepts ==&lt;br /&gt;
All innovaphone hard phones and gateways starting from version 13r1 can establish a registration inside the Devices App and therefor administrative tasks can be performed through the App.&lt;br /&gt;
&lt;br /&gt;
=== Domains ===&lt;br /&gt;
&lt;br /&gt;
In a hosted environment, it might be needed to add multiple domains to the Devices App.&amp;lt;br&amp;gt;&lt;br /&gt;
After the initial installation of Devices through Install, you have administrative rights and can add more domains. &lt;br /&gt;
&lt;br /&gt;
==== Administrative rights ====&lt;br /&gt;
You have administrative rights if the configured PBX App object for Devices uses the password of the instance which is configured in the Manager App and the PBX uses the same domain as this instance.&lt;br /&gt;
&lt;br /&gt;
==== Domain local rights ====&lt;br /&gt;
You have just rights to a certain domain if the configured PBX App object for Devices uses the domain password which can be configured in Devices for each domain and the PBX uses the same domain name as configured in Devices.&lt;br /&gt;
&lt;br /&gt;
==== Assign rights to other domains ====&lt;br /&gt;
Domains can gain access to other domains by configuring these access rights in the Devices App.&lt;br /&gt;
&lt;br /&gt;
==== Deploy passwords and access rights ====&lt;br /&gt;
During install, a domain is created inside the Devices App. There is a checkmark Deploy the domain password on all devices which is set by default and which is the same as the administrative password.&lt;br /&gt;
If you change the domain password, all passwords on all administrative devices and app platforms which are connected to this domain will be also changed.&amp;lt;br/&amp;gt;&lt;br /&gt;
Since SR25: devices which are auto provisioned or provisioned through the Profile/Users Admin App will get a random password instead of the domain password.&lt;br /&gt;
If you add a phone device manually to a domain inside the Devices App, this phone device will also get a random password. Other device types added manually or devices added with a provisioning code which has been created within the Devices App directly, will get the domain password instead.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
This will also set the manager password and the SSH passwords of App Platforms.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The clear text random passwords can be requested and viewed in the settings of a device in the Devices App.&lt;br /&gt;
&lt;br /&gt;
 Attention: If you untick the &#039;&#039;&#039;Deploy administrative devices passwords&#039;&#039;&#039; checkmark, the password won&#039;t be deployed anymore, but also not reconfigured to the default password!&lt;br /&gt;
&lt;br /&gt;
 Attention: After each reconnect of a client, the password will be deployed again.&lt;br /&gt;
 This means, if the checkmark is set and you set another password somewhere else (e.g. under General::Admin),&lt;br /&gt;
 this password will be just valid until the next reboot or reconnect to the Devices App!&lt;br /&gt;
&lt;br /&gt;
;Create new random passwords&lt;br /&gt;
You can rollout new random passwords by unticking the &#039;&#039;&#039;Deploy administrative devices passwords&#039;&#039;&#039; checkmark and ticking it again.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Devices with multiple domains (Cloud)&lt;br /&gt;
In a hosted environment, you can use the Devices App with multiple domains. The corresponding instance of Devices has a configured domain and an instance password set inside the manager.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The hosting PBX has a domain inside Devices with a specific password.&amp;lt;br&amp;gt;&lt;br /&gt;
If this domain name matches the instance domain of the Devices instance and the password matches either the instance password or the domain password, you will be logged in as admin and have access to all domains.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each newly created domain has its own password inside Devices. If you create an App Object inside a PBX with this domain and the password of this domain (inside Devices), you will just have access to this single domain.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Devices also has the possibility to grant access to other domains for a specific domain.&lt;br /&gt;
&lt;br /&gt;
=== Device connections ===&lt;br /&gt;
The Devices registration is done through a websocket connection to the webserver of the App Platform and the Devices instance (standard HTTP/s port).&amp;lt;br&amp;gt;&lt;br /&gt;
The URL used can be configured manually under [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:General/Devices_Registration Devices Registration] or through a new provisioning mechanism.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A binary protocol is used to transfer information between the device and the devices App. The MAC address is the unique key to identify a device.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If a device is added to a domain in Devices, the device gets a unique random password. Without such a password, a device shows up as &#039;&#039;&#039;unassigned&#039;&#039;&#039; in the Devices app.&lt;br /&gt;
This is also the case after a long reset or when the device lost its configuration.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In such a case, the device has to be manually added again to a domain or it has to be provisioned again.&lt;br /&gt;
&lt;br /&gt;
 If a device is not assigned to a domain or provisioning category, it won&#039;t receive any configurations.&lt;br /&gt;
&lt;br /&gt;
==== Devices Registrations ====&lt;br /&gt;
See [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:General/Devices_Registration Devices Registration]&lt;br /&gt;
&lt;br /&gt;
==== Second Devices Registration URL ====&lt;br /&gt;
&lt;br /&gt;
The firmware has a second SYSCLIENT2 module, which can be configured to point to a different Devices instance and the AP Manager also has a second Devices Registration URL.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If you use this configuration option, you should take care and consider:&lt;br /&gt;
&lt;br /&gt;
* if the Devices domain from the second configuration provides a password for all devices, the password is ignored, as it would lead to inconsistend passwords otherwise (from 13r1 SR12 on)&lt;br /&gt;
* the Devices domain from the second configuration should not provide Devices Configurations or Update Jobs as these might collide with configurations from the first Devices instance!&lt;br /&gt;
&lt;br /&gt;
Generally, only one of the two  &#039;&#039;Devices&#039;&#039;  App instances connected to the device must apply changes to the device.&lt;br /&gt;
&lt;br /&gt;
 We strongly discourage the usage of this second configuration option due to unexpected behaviour if incorrectly used!&lt;br /&gt;
 Never use the second URL if you use software or hardware rental!&lt;br /&gt;
&lt;br /&gt;
==== Device information ====&lt;br /&gt;
&lt;br /&gt;
The following data is transferred:&lt;br /&gt;
* MAC address&lt;br /&gt;
* device type (e.g. IPVA, AppPlatform, IP112)&lt;br /&gt;
* IP addresses (IPv4, IPv6)&lt;br /&gt;
* version (not searchable)&lt;br /&gt;
&lt;br /&gt;
You can also search for this data inside the devices tab in the App.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--==== Device Advanced UI ====&lt;br /&gt;
By default, Devices administrators and non admins can access the advanced UI of any device without limitations.&amp;lt;br/&amp;gt;&lt;br /&gt;
In certain scenerios (e.g. Cloud), you may want to restrict this access to just the PBX on gateways and IPVAs for non adminstrative users, which just have access to certain domains.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
In this case, you can set the corresponding checkmark in the device settings tab of the specific device.&amp;lt;br/&amp;gt;&lt;br /&gt;
If the flag is set, just the PBX tab of the advanced UI is accessible for non administrative Devices users.&lt;br /&gt;
&lt;br /&gt;
 Technically this means, that every HTTP request is checked if it starts with PBX0 and if not, the request is rejected with 401 unauthorized.&lt;br /&gt;
&lt;br /&gt;
If the device can be accessed directly without Devices, you may need a reverse proxy in between to filter HTTP requests.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Provisioning ===&lt;br /&gt;
Devices can be added by provisioning (both phones and gateways). &lt;br /&gt;
The standard online provisioning looks like this:&lt;br /&gt;
* a user or administrator creates a provisioning code in the Devices or Users App (this stores the Devices URL on the provisioning server side)&lt;br /&gt;
* a device with 13r1 or newer is connected to the network after a long reset&lt;br /&gt;
* the provisioning code has to be entered within one hour (after one hour, the Update URL isn&#039;t polled anymore)&lt;br /&gt;
* the device sends this code to config.innovaphone.com and retrieves the Devices URL&lt;br /&gt;
* the device connects to the Devices URL and is added to the domain where the code has been created&lt;br /&gt;
&lt;br /&gt;
There is also an [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:Concept_Offline_Provisioning offline provisioning mode].&amp;lt;br&amp;gt;&lt;br /&gt;
There is also an [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:Concept_Provisioning#Automatic_provisioning automatic provisioning mode].&lt;br /&gt;
&lt;br /&gt;
 Note: provisioning is cancelled if the device already belongs to another domain in the same Devices instance! This prevents the unauthorized move of a device between different domains.&lt;br /&gt;
&lt;br /&gt;
==== Devices Registration URL ====&lt;br /&gt;
&lt;br /&gt;
The Devices Registration URL which is set through the provisioning process, always starts with &#039;&#039;&#039;wss&#039;&#039;&#039;. This is not dependent anymore on the App URL which is configured inside the PBX Devices App object.&lt;br /&gt;
&lt;br /&gt;
=== Updates ===&lt;br /&gt;
The Devices App can be used to rollout updates.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== JSON files ====&lt;br /&gt;
The update files have to be acccessible on a webserver without authentication and two json files are used to describe the used firmware and apps.&amp;lt;br&amp;gt;&lt;br /&gt;
You can either use the standard innovaphone App Store for these files or your own local webserver.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update jobs ====&lt;br /&gt;
You can configure several update jobs with different categories to organize your updates.&amp;lt;br&amp;gt;&lt;br /&gt;
Update jobs are always sequentially processed and inside one update job, just &#039;&#039;&#039;20&#039;&#039;&#039; devices are updated at the same time.&lt;br /&gt;
&lt;br /&gt;
==== Device update check after the update job has been already executed====&lt;br /&gt;
If a device goes online, the newest suitable update job is searched for this device (depending on the categories).&amp;lt;br&amp;gt;&lt;br /&gt;
If an update job is found, the update is just performed, if there has been &#039;&#039;&#039;no&#039;&#039;&#039; successfull update for this device in this job before and the version does not match (simply string compare).&lt;br /&gt;
&lt;br /&gt;
====Update errors====&lt;br /&gt;
If an update fails, the Devices App shows an error. You may have to enable further tracing on the updated device itself to find out the reason of the failure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* on a gateway/phone add a trace flag to the UP1 and HTTPCLIENT0 module and take a look at the events which may already tell you the reason&lt;br /&gt;
* on an App Platform, enable the App and HTTP Client trace flag on the manager&lt;br /&gt;
&lt;br /&gt;
 An update job is retried &#039;&#039;&#039;two&#039;&#039;&#039; times if updates inside this job failed. The retry is done &#039;&#039;&#039;ten&#039;&#039;&#039; minutes after the update job finished previously.&lt;br /&gt;
&lt;br /&gt;
====innovaphone myApps====&lt;br /&gt;
The path to the App Store and the used innovaphone myApps version is updated to the version of the gateway on gateways with an enabled PBX after a successfull update.&amp;lt;br&amp;gt;&lt;br /&gt;
This configuration can be found [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:PBX/Config/myApps here]&lt;br /&gt;
&lt;br /&gt;
Inside the configuration on an update job, the flag &amp;quot;Do not update myApps launcher software&amp;quot; disables the update of the innovaphone myApps version inside PBXes.&lt;br /&gt;
&lt;br /&gt;
=== Backups ===&lt;br /&gt;
The Devices App can be used to backup the configuration and data of Apps and devices.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Webserver requirements====&lt;br /&gt;
Backups are stored on a webserver with or without Digest/Basic authentication and with the &#039;&#039;&#039;webdav PUT&#039;&#039;&#039; method.&lt;br /&gt;
&lt;br /&gt;
====Backup jobs====&lt;br /&gt;
Backup jobs are executed sequentially. Inside one backup job, just &#039;&#039;&#039;20&#039;&#039;&#039; backups are performed at the same time.&lt;br /&gt;
&lt;br /&gt;
====Phones or gateways====&lt;br /&gt;
The configuration file is stored. Therefor the Devices App tells the device to store the configuration with a !mod cmd UP0 /sync prot URL.&lt;br /&gt;
&lt;br /&gt;
====Apps on an App Platform====&lt;br /&gt;
The databases of all existing instances and the manager are stored.&amp;lt;br&amp;gt;&lt;br /&gt;
Each installed App Service can have multiple instances and each App instance has its own database.&amp;lt;br&amp;gt;&lt;br /&gt;
A database contains &#039;&#039;&#039;both&#039;&#039;&#039; configuration and data of an App instance! &amp;lt;br&amp;gt;&lt;br /&gt;
The manager database contains the webserver certificate and further manager related configuration settings.&lt;br /&gt;
&lt;br /&gt;
The Devices App establishes a websocket connection to the manager and tells the manager where to store the backups.&amp;lt;br&amp;gt;&lt;br /&gt;
The manager on the backuped App Platform itself performs the HTTP requests to store the files.&lt;br /&gt;
&lt;br /&gt;
====Backup errors====&lt;br /&gt;
If a backup fails, the Devices App shows an error. You may have to enable further tracing on the backuped device itself to find out the reason of the failure.&lt;br /&gt;
&lt;br /&gt;
* on a gateway/phone add a trace flag to the UP1 and HTTPCLIENT0 &lt;br /&gt;
* on an App Platform, enable the App and HTTP Client trace flag on the manager&lt;br /&gt;
&lt;br /&gt;
=== Restore ===&lt;br /&gt;
====Phones or gateways====&lt;br /&gt;
Just as always under [http://wiki.innovaphone.com/index.php?title={{NAMESPACE}}:Administration/Upload/Config Upload Config].&lt;br /&gt;
&lt;br /&gt;
====Apps====&lt;br /&gt;
The App Service itself has to be installed on the App Platform prior restoring of a single instance.&amp;lt;br&amp;gt;&lt;br /&gt;
The restoring is done in the Manager App on the App Platform itself.&amp;lt;br&amp;gt;&lt;br /&gt;
The intance settings, the configuration and data are restored in a single process.&lt;br /&gt;
&lt;br /&gt;
=== Device Configurations ===&lt;br /&gt;
&lt;br /&gt;
You can define several device configurations. These configurations are either applied to all devices inside this domain or to selected categories.&amp;lt;br/&amp;gt;&lt;br /&gt;
Configurations are applied on creation and on every reconnect of a matching device.&lt;br /&gt;
&lt;br /&gt;
==== Transfer checkmarks ====&lt;br /&gt;
&lt;br /&gt;
Some configuration options have a specific checkmark to enable the transfer of the option.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
* Checkmark disabled:&lt;br /&gt;
** configuration option field(s) are disabled &lt;br /&gt;
** option values are &#039;&#039;&#039;not&#039;&#039;&#039; transferred at all&lt;br /&gt;
* Checkmark enabled:&lt;br /&gt;
** configuration option field(s) are enabled&lt;br /&gt;
** option values are transferred, even if field values are empty&lt;br /&gt;
&lt;br /&gt;
==== Expert configuration ====&lt;br /&gt;
&lt;br /&gt;
The expert configuration can be used to configure different settings which are not available inside the other device configurations.&amp;lt;br/&amp;gt;&lt;br /&gt;
You can use the standard syntax of an update server script (see [[ {{NAMESPACE}}:Concept_Update_Server | Concept Update Server ]] for a general overview and the section on [[Howto:PHP_based_Update_Server_V2#Hints_for_writing_your_update_snippets | Hints for writing your update snippets ]] (note that the remainder of this article relates to the now deprecated old mechanism, so please disregard the rest)).&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Some hints:&lt;br /&gt;
* the expert configuration is just executed once after a device restarted and on change of the expert configuration itself&lt;br /&gt;
* the expert configuration is executed after all other device configuration types, so that you can override changes&lt;br /&gt;
* to make configuration changes effective, you may also need to issue a final &#039;&#039;config write&#039;&#039;, &#039;&#039;config activate&#039;&#039; and &#039;&#039;iresetn&#039;&#039; command (see the [[ {{NAMESPACE}}:Concept_Update_Server#Check_command | &#039;&#039;check&#039;&#039; command]] for details)&lt;br /&gt;
* some commands shouldn&#039;t be used inside the script:&lt;br /&gt;
** [[ {{NAMESPACE}}:Concept_Update_Server#Times_command |&#039;&#039;times&#039;&#039;]]: since the expert configuration is executed only once after a reboot of the device and when changes are made, it does not make sense to use the &#039;&#039;times&#039;&#039; command&lt;br /&gt;
** [[ {{NAMESPACE}}:Concept_Update_Server#Prot_command |&#039;&#039;prot&#039;&#039;]]|[[ {{NAMESPACE}}:Concept_Update_Server#Boot_command |&#039;&#039;boot&#039;&#039;]]: use an update job instead&lt;br /&gt;
** [[ {{NAMESPACE}}:Concept_Update_Server#Scfg_command |&#039;&#039;scfg&#039;&#039;]]: use a backup job instead&lt;br /&gt;
** [[Howto:PHP_based_Update_Server_V2#Using_vars_create|&#039;&#039;vars create&#039;&#039;]]: this cmd will always raise the &#039;&#039;reset needed condition&#039;&#039; and the aforementioned &#039;&#039;iresetn&#039;&#039; command would always execute therefore.  As a result, the devices would enter a boot loop.  Be sure to avoid this using an appropriate [[ {{NAMESPACE}}:Concept_Update_Server#Check_command |&#039;&#039;check&#039;&#039; command ]] and update its &#039;&#039;&amp;lt;serial&amp;gt;&#039;&#039; properly whenever the expert configuration is changed&lt;br /&gt;
&lt;br /&gt;
=== Software rental ===&lt;br /&gt;
Regarding the Software Rental program and the Payment Method, please refer to:&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_Software_Rental|Concept Software Rental]]&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
Software rental can be done for innovaphone Cloud installations or for software, which operates on the customer premisis. This could eventually be customer owned hardware or a privat virtual machine, managed by the customer.&lt;br /&gt;
&lt;br /&gt;
==== Hardware licenses ====&lt;br /&gt;
Hardware licenses have to be bound on the specific device in my.innovaphone itself and currently can&#039;t be handled within the Devices App itself. So you also need to download the licenses from my.innovaphone and upload them on the device with the already known methods.&lt;br /&gt;
&lt;br /&gt;
===== Hardware licenses with software rental =====&lt;br /&gt;
If your device has software rental licenses, you can bind hardware licenses within my.innovaphone in the software rental project itself.&lt;br /&gt;
&lt;br /&gt;
===== Hardware licenses without software rental =====&lt;br /&gt;
If your device does not have software rental licenses, you should bind hardware licenses in a separate non rental project in my.innovaphone.&lt;br /&gt;
&lt;br /&gt;
==== innovaphone Cloud ====&lt;br /&gt;
Inside the innovaphone Cloud, you just have to upload your activation keys with iSCs to add licenses to one or more gateways.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Email expiry notifications ====&lt;br /&gt;
You will receive an email notification if the rental of a project expires. This notification will be sent &#039;&#039;&#039;seven&#039;&#039;&#039; weeks before the expiry and then once a week until the rental expires.&amp;lt;br&amp;gt;&lt;br /&gt;
You can configure one or more email recipients in the domain settings.&amp;lt;br&amp;gt;&lt;br /&gt;
If no email address is configured, the email address of the logged in user account is used.&lt;br /&gt;
&lt;br /&gt;
==== History ====&lt;br /&gt;
You can download the history in the Devices App. You&#039;ll get a CSV file (semicolon separated). The date and number format depends on the selected language in the UI.&amp;lt;br&amp;gt;&lt;br /&gt;
There is also an API available for automated downloas, which is described [[ {{NAMESPACE}}:Concept_App_Service_Devices#API_to_download_rental_history|here ]].&lt;br /&gt;
&lt;br /&gt;
====Own installation====&lt;br /&gt;
Inside your own installation, you have to register a new my.innovaphone account or you can use an existing account inside the Devices App.&amp;lt;br&amp;gt;&lt;br /&gt;
One domain inside Devices belongs to one project inside your my.innovaphone company, so you can handle multiple domains with one my.innovaphone account.&lt;br /&gt;
&lt;br /&gt;
====Technical aspects====&lt;br /&gt;
A new rental expiration date is calculated on each license or balance change in the domain.&amp;lt;br&amp;gt;&lt;br /&gt;
So after each change new licenses with a new date are transfered to the gateways and also stored in the Devices App itself.&amp;lt;br&amp;gt;&lt;br /&gt;
If the rental expires, the gateway reboots and the licenses are not available anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
The licenses are also transfered after each reconnect of a gateway to the Devices App.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For license and balance changes, the Devices App must be online and have access to my.innovaphone.com!&lt;br /&gt;
&lt;br /&gt;
====Usage====&lt;br /&gt;
You have to add (use the + symbol) a PBX and select all licenses you want to rent.&amp;lt;br&amp;gt;&lt;br /&gt;
Use the &#039;&#039;&#039;apply&#039;&#039;&#039; button to really bind these licenses. Without usage of the apply button, you can just see a precalculation of the iSCs/month and the rental end date, but nothing is really charged from your balance.&lt;br /&gt;
&lt;br /&gt;
===Change of IP address/DNS name in PBX object===&lt;br /&gt;
If the IP address or DNS name inside the PBX object of the Devices App changes, all currently connected clients get a new Devices Registration URL and also all clients, which connect afterwards with the old host name.&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
=== Sample firmware.json ===&lt;br /&gt;
&amp;lt;code type=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;devices&amp;quot;: [&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP0010&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP0011&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP101&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP102&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP1060&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP110&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP110A&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP111&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP112&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP1130&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP1260&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP150&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP2000&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP200A&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP22&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP222&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP230&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP232&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP24&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP240&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP241&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP29&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP3010&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP3011&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP302&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP305&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP311&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP411&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP6000&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP6010&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP800&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP810&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IP811&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] },&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;IPVA&amp;quot;, &amp;quot;versions&amp;quot;: [ &amp;quot;13r1&amp;quot; ] }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;versions&amp;quot;: [&lt;br /&gt;
    { &amp;quot;id&amp;quot;: &amp;quot;13r1&amp;quot;, &amp;quot;build&amp;quot;: &amp;quot;131705&amp;quot;, &amp;quot;text&amp;quot;: &amp;quot;13r1 dvl [131705]&amp;quot;, &amp;quot;wiki&amp;quot;: &amp;quot;&amp;quot; }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sample apps.json ===&lt;br /&gt;
&amp;lt;code type=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;apps&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;apidemo&amp;quot;,&lt;br /&gt;
            &amp;quot;folder&amp;quot;: &amp;quot;apidemo&amp;quot;,&lt;br /&gt;
            &amp;quot;binary&amp;quot;: &amp;quot;apidemo&amp;quot;,&lt;br /&gt;
            &amp;quot;versions&amp;quot;: [&lt;br /&gt;
                { &amp;quot;id&amp;quot;: &amp;quot;13r1&amp;quot;, &amp;quot;build&amp;quot;: &amp;quot;131705&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;dvl&amp;quot; }&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;manufacturer&amp;quot;: &amp;quot;innovaphone&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;Apidemo&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;The Apidemo&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;appstore&amp;quot;,&lt;br /&gt;
            &amp;quot;folder&amp;quot;: &amp;quot;appstore&amp;quot;,&lt;br /&gt;
            &amp;quot;binary&amp;quot;: &amp;quot;appstore&amp;quot;,&lt;br /&gt;
            &amp;quot;versions&amp;quot;: [&lt;br /&gt;
                { &amp;quot;id&amp;quot;: &amp;quot;13r1&amp;quot;, &amp;quot;build&amp;quot;: &amp;quot;131705&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;dvl&amp;quot; }&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;manufacturer&amp;quot;: &amp;quot;innovaphone&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;AppStore&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;AppStore&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sample software.json ===&lt;br /&gt;
&amp;lt;code type=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;software&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;myappsandroid&amp;quot;,&lt;br /&gt;
            &amp;quot;folder&amp;quot;: &amp;quot;myappsandroid&amp;quot;,&lt;br /&gt;
            &amp;quot;binary&amp;quot;: &amp;quot;myapps.apk&amp;quot;,&lt;br /&gt;
            &amp;quot;versions&amp;quot;: [&lt;br /&gt;
                { &amp;quot;id&amp;quot;: &amp;quot;13r1&amp;quot;, &amp;quot;build&amp;quot;: &amp;quot;131705&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;dvl&amp;quot; }&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;manufacturer&amp;quot;: &amp;quot;innovaphone&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;myApps Android&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;myApps for Android&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;myappswindows&amp;quot;,&lt;br /&gt;
            &amp;quot;folder&amp;quot;: &amp;quot;myappswindows&amp;quot;,&lt;br /&gt;
            &amp;quot;binary&amp;quot;: &amp;quot;myAppsSetup.msi&amp;quot;,&lt;br /&gt;
            &amp;quot;versions&amp;quot;: [&lt;br /&gt;
                { &amp;quot;id&amp;quot;: &amp;quot;13r1&amp;quot;, &amp;quot;build&amp;quot;: &amp;quot;131705&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;dvl&amp;quot; }&lt;br /&gt;
            ],&lt;br /&gt;
            &amp;quot;manufacturer&amp;quot;: &amp;quot;innovaphone&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: &amp;quot;myApps Windows&amp;quot;,&lt;br /&gt;
            &amp;quot;description&amp;quot;: &amp;quot;myApps for Windows&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== API to download rental history ===&lt;br /&gt;
&lt;br /&gt;
You can download the history as a UTF-8 CSV file with simple &#039;&#039;&#039;HTTP GET&#039;&#039;&#039; requests with &#039;&#039;&#039;digest&#039;&#039;&#039; authentication.&amp;lt;br&amp;gt;&lt;br /&gt;
The CSV file uses the semicolon as delimiter.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The URL to download the history is e.g.:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;https://mydomain.com/mydomain.com/devices/csvapi?...&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 You can find this path by editing the instance in the AP manager.&lt;br /&gt;
 In the listed paths, you&#039;ll find something which ends with csvapi&lt;br /&gt;
&lt;br /&gt;
In the innovaphone Cloud environment, the URL can be retrieved by taking a look at the Devices App object inside the cloud PBX and replacing the ending &#039;&#039;&#039;innovaphone-devices&#039;&#039;&#039; with &#039;&#039;&#039;csvapi&#039;&#039;&#039; inside the App URL, so it looks e.g. like this:&lt;br /&gt;
&lt;br /&gt;
 https://cloud-apps0.innovaphone.com/cloud.innovaphone.com/devices/csvapi&lt;br /&gt;
&lt;br /&gt;
====CSV columns====&lt;br /&gt;
Most columns should be self explaining, but the column &#039;&#039;&#039;invoice reference&#039;&#039;&#039; refers to a value which you can configure manually in the domain settings in the Devices App!&lt;br /&gt;
&lt;br /&gt;
====Digest authentication====&lt;br /&gt;
You can login with two different username/password combinations, while the domain is the digest username:&lt;br /&gt;
&lt;br /&gt;
* If you use the domain and password of your Devices App instance inside the AP Manager, you have automatically access to all domains.&amp;lt;br&amp;gt;&lt;br /&gt;
* If you use the domain name of any domain as digest username and the configured domain password, you&#039;ll have access to this domain and all domains to which this domain has access to&lt;br /&gt;
&lt;br /&gt;
====Query parameters====&lt;br /&gt;
The following query parameters can be used (don&#039;t forget to URL encode the parameter values, if neccessary!):&lt;br /&gt;
* all: if &#039;&#039;&#039;1&#039;&#039;&#039; or &#039;&#039;&#039;true&#039;&#039;&#039;, the history is queried for all domains where the digest user has access to&lt;br /&gt;
* domain: required, if &#039;&#039;all&#039;&#039; is not set&lt;br /&gt;
* lang: the output language of the CSV file, which also controls date and number formats, e.g. &#039;&#039;&#039;en&#039;&#039;&#039;, &#039;&#039;&#039;de&#039;&#039;&#039;, ...&lt;br /&gt;
* tz: the timezone for dates, e.g. &#039;&#039;&#039;Europe/Berlin&#039;&#039;&#039;&lt;br /&gt;
* type: two types are available:&lt;br /&gt;
** &#039;&#039;&#039;history&#039;&#039;&#039;: history which contains changes&lt;br /&gt;
** &#039;&#039;&#039;overview&#039;&#039;&#039;: a monthly overview with the iSC costs at the first of the last months&lt;br /&gt;
* from: unix timestamp (UTC) in milliseconds, ignored for type=overview&lt;br /&gt;
* to: unix timestamp (UTC) in milliseconds, ignored for type=overview&lt;br /&gt;
&lt;br /&gt;
====Example requests====&lt;br /&gt;
* &amp;lt;code&amp;gt;https://mydomain.com/mydomain.com/devices/csvapi?domain=mydomain.com&amp;amp;type=overview&amp;amp;lang=en&amp;amp;tz=Europe%2FBerlin&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;https://mydomain.com/mydomain.com/devices/csvapi?domain=mydomain.com&amp;amp;type=history&amp;amp;lang=en&amp;amp;tz=Europe%2FBerlin&amp;amp;from=1601903431000&amp;amp;to=1601903385000&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;https://mydomain.com/mydomain.com/devices/csvapi?all=1&amp;amp;type=overview&amp;amp;lang=en&amp;amp;tz=Europe%2FBerlin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
===SoftwarePhone===&lt;br /&gt;
The Devices App is not meant to be used with the windows SoftwarePhone standalone installation.&lt;br /&gt;
&lt;br /&gt;
== Related Articles == &lt;br /&gt;
* [[Howto:Software_Rental]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_myApps_platform_services&amp;diff=68474</id>
		<title>Reference13r3:Concept myApps platform services</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r3:Concept_myApps_platform_services&amp;diff=68474"/>
		<updated>2023-08-24T11:57:22Z</updated>

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

		<summary type="html">&lt;p&gt;Rotodt: /* Device handling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myApps]]&lt;br /&gt;
[[Category:Concept_myApps]]&lt;br /&gt;
myApps platform services provide various operating system specific services which can be used by other &#039;&#039;Apps&#039;&#039; running in the [[{{NAMESPACE}}:Concept myApps|myApps client]]. Those services typically are not available in the browser&#039;s JavaScript environment and hence must be implemented in native platform code. Therefore, the platform services are installed as native executable on the respective platform.&lt;br /&gt;
&lt;br /&gt;
When myApps is started in a web browser (and hence has no access to the platform services), some Apps will use [https://en.wikipedia.org/wiki/WebRTC WebRTC] services implemented by the browser instead.  For ease of reference, features available in this scenario are also described here.&lt;br /&gt;
&lt;br /&gt;
On windows, the platform services also come with their own web browser in which the myApps web App will be started then.  This browser is based on google&#039;s [https://en.wikipedia.org/wiki/Chromium_(web_browser) Chromium] open source software.&lt;br /&gt;
= Applies To =&lt;br /&gt;
&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myApps|myApps]]&lt;br /&gt;
* myApps for Windows&lt;br /&gt;
* myApps for macOS&lt;br /&gt;
* myApps for iOS&lt;br /&gt;
* myApps for Android&lt;br /&gt;
&lt;br /&gt;
* myApps Web App (WebRTC)&lt;br /&gt;
version 13r2&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
Not all features are available or required on all platforms.&lt;br /&gt;
 {|&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Feature&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot;| Availability&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| || || Windows || iOS || Android || macOS || Browser&amp;lt;ref&amp;gt;This refers to the myApps web application running in a browser with no platform services available&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| audio || manage local audio devices to record and playback audio conversations || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; (audio available but devices managed by web browser)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| video || manage local displays and cameras to capture and render video live stream || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; (video available but devices managed by web browser)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| ringer || manage local ringing device || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| application sharing&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| &amp;amp;nbsp; presenter || share an application || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| &amp;amp;nbsp; consumer  || view an application shared by the peer || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| hot keys || capture key presses for quick invocation of phone apps (e.g. dial selected number) || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
| tel: and sip: URI handler || intercept clicks on tel: and sip: links in web sites to invoke phone apps || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| user activity || set presence state according to user activity ||  &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&amp;lt;ref&amp;gt;limited, see [[#User_activity|User activity]] below&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| docking || myApps can be docked persistently to the right or left edge of your screens ||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| multi-windowing|| Apps can be launched in separate windows||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| notifications || display notifications with OS standard mechanism ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;?&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| phone book access || access local phone book ||  &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
| office presence provider || maps PBX presence state to Microsoft office presence state ||  &amp;amp;#10004;  || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| external application start || start arbitrary external applications for calls || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| push || wake-up app from background mode on event (e.g. incoming call) || &amp;amp;#10007;  || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| app proxy|| a caching proxy that provides app persistence  || &amp;amp;#10004;  || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| auto update || automatically updates myApps platform services to the same version the PBX has &amp;lt;ref&amp;gt;The then-current web app is always loaded from the PBX upon startup and hence up-to-date by definition&amp;lt;/ref&amp;gt;|| &amp;amp;#10004;  || &amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| three party conference || initiate 3-pty-conference using Softphone-App || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| exclude VPN || disable use of VPN connections for audio/video/appsharing || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
* innovaphone PBX 13r2 and up&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== myApps for Windows ==&lt;br /&gt;
* at least Windows 10 and later versions&lt;br /&gt;
* Windows Server 2016 and later versions&lt;br /&gt;
&lt;br /&gt;
=== 32 &amp;amp; 64 bit Windows ===&lt;br /&gt;
* 32 bit Windows: install the myAppsSetup32.msi from the App Store&lt;br /&gt;
* 64 bit Windows: install the myAppsSetup.msi from the App Store&lt;br /&gt;
** the 64 bit variant still installs into Program Files (x86), as the main myApps.exe is still a 32bit application&lt;br /&gt;
** the 64 bit variant just contains an additional 64 bit binary for the outlook search&lt;br /&gt;
&lt;br /&gt;
=== Windows N editions ===&lt;br /&gt;
&lt;br /&gt;
Windows N editions are missing the &#039;&#039;Media Feature Pack&#039;&#039; which is pre installed on other Windows versions.&lt;br /&gt;
&lt;br /&gt;
Please install the pack from [https://www.microsoft.com/en-us/software-download/mediafeaturepack Microsoft (Windows 10 pack)] before you install myApps. The installer will check if the file &amp;lt;code&amp;gt;C:\Windows\SysWOW64\mfplat.dll&amp;lt;/code&amp;gt; exist on your system.&lt;br /&gt;
&lt;br /&gt;
Make sure to install the correct pack depending on your Windows version! There are different packs for Windows 10 1703, 1803, 1809 and 32bit or 64bit etc.&lt;br /&gt;
&lt;br /&gt;
NB: Sometimes the myApps installation will not work even though the media pack is already installed. This is because the installer has no read access to check if the package is already installed. If the above-mentioned file exists and the installer asks to install the Windows Media Feature Pack nevertheless, you have to start the myApps install with administrative rights.&lt;br /&gt;
&lt;br /&gt;
== myApps for macOS ==&lt;br /&gt;
* OS X 10.12 or higher&lt;br /&gt;
&lt;br /&gt;
== myApps for iOS ==&lt;br /&gt;
* iOS 12 or higher&lt;br /&gt;
&lt;br /&gt;
== myApps for Android ==&lt;br /&gt;
* Android 6.0 or higher. Android 6.x may need an update of the Chrome browser.&lt;br /&gt;
&lt;br /&gt;
= Licenses =&lt;br /&gt;
* No license needed for myApps platform services&lt;br /&gt;
&lt;br /&gt;
= Overview =&lt;br /&gt;
myApps platform services is a native executable that is installed using the standard mechanisms on the respective operating system. It provides various advanced services which can be used by the myApps web client code as well as the Apps running in the myApps context. &lt;br /&gt;
&lt;br /&gt;
Also, on Windows, the platform services come with their own, dedicated browser to run myApps in.  This browser is based on [https://en.wikipedia.org/wiki/Chromium_(web_browser) Chromium].  On iOS, macOS and Android, it is based upon native embedded web view facilities (such as WKWebView) instead.&lt;br /&gt;
== Components ==&lt;br /&gt;
&lt;br /&gt;
=== RTP service for audio, video and data ===&lt;br /&gt;
The RTP service provides audio, video and data (app sharing) VoIP RTP endpoints (e.g. for softphones).  It supports STUN, TURN, ICE, SRTP, DTLS. Note however that unlike WebRTC, these endpoints do not &#039;&#039;require&#039;&#039; ICE and DTLS. In other words, they can communicate also with non-compliant (i.e. older) VoIP devices.&lt;br /&gt;
&lt;br /&gt;
Note that the available capabilities when not running the myApps platform services depend on the used browser&#039;s WebRTC implementation. See your browser documentation for details.&lt;br /&gt;
&lt;br /&gt;
Apps can request RTP channels using the [https://sdk.innovaphone.com/doc/launcher/Media.htm Media Protocol]&#039;s &#039;&#039;AllocChannel&#039;&#039; message.&lt;br /&gt;
&lt;br /&gt;
===== RTP ports=====&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|  audio || 50000 -&amp;gt; 50099&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| video || 50100 -&amp;gt; 50199&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| data || 50200 -&amp;gt; 50299&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The RTP service will enumerate all local interfaces and create local HOST candidates for ICE.  There is an option however to disregard VPN interfaces (more precisely such interfaces with type of &#039;&#039;IF_TYPE_PPP&#039;&#039; or &#039;&#039;IF_TYPE_TUNNEL&#039;&#039;).  This can eliminate quality issues when RTP data is transmitted through TCP based VPN tunnels.&lt;br /&gt;
&lt;br /&gt;
SRFLX and RELAY candidates are obtained using the STUN and TURN server configuration passed by the App (e.g the &#039;&#039;softphone&#039;&#039; App) as part of the &#039;&#039;AllocChannel&#039;&#039; request.&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;AllocChannel&amp;quot;,&amp;quot;channel&amp;quot;:&amp;quot;81429cba-396d-43de-8a76-ec020ba8796e&amp;quot;,&amp;quot;iceServers&amp;quot;:[{&amp;quot;urls&amp;quot;:&amp;quot;turn:myturn.domaincom:4077?transport=udp&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;turnuser&amp;quot;,&amp;quot;credential&amp;quot;:&amp;quot;pwd&amp;quot;,&amp;quot;credentialType&amp;quot;:&amp;quot;password&amp;quot;},{&amp;quot;urls&amp;quot;:&amp;quot;stun:mystun.domain.com:4077&amp;quot;}],&amp;quot;dn&amp;quot;:&amp;quot;Foo Bar&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;RemoteRtp&amp;quot;,&amp;quot;kind&amp;quot;:&amp;quot;video&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Codecs =====&lt;br /&gt;
&lt;br /&gt;
The installed myApps launchers provide codecs that can be used by softphone apps for media streams. When running in a web browser the codecs depend on the browser version and operating system. See the documentation of your browser for details.&lt;br /&gt;
&lt;br /&gt;
The following codecs are supported:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
!style=&amp;quot;text-align:left;width:100px;&amp;quot;|Codec&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Windows-Launcher&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Android&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|iOS&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|macOS&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Firefox (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Chrome (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Edge (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Safari (Browser)&lt;br /&gt;
!style=&amp;quot;width:100px&amp;quot;|Opera (Browser)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Audio&lt;br /&gt;
|-&lt;br /&gt;
|G711A&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G711u&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G722&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|G729&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729A&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729B&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|G729AB&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=Opus OPUS-NB]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=Opus OPUS-WB]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Video&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=VP8 VP8]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=VP9 VP9]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|[https://caniuse.com/#search=H264 H264]&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:left; background-color:lightgray&amp;quot; colspan=&amp;quot;10&amp;quot;|Application Sharing&lt;br /&gt;
|-&lt;br /&gt;
|Share&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|-&lt;br /&gt;
|Watch&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔*&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔*&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|style=&amp;quot;color:red;text-align:center;font-weight:bold;&amp;quot;|X&lt;br /&gt;
|style=&amp;quot;color:green;text-align:center&amp;quot;|✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;* small presentation only&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Video capture =====&lt;br /&gt;
&lt;br /&gt;
The default resolution for video capture is 352x288 if available.  Otherwise, 320x240 is used.  The frame rate is 30 fps if available, otherwise 15 fps is used. The resulting average bandwidth will be 350 kbps.&lt;br /&gt;
&lt;br /&gt;
===== Application sharing =====&lt;br /&gt;
&lt;br /&gt;
Screen content will be transmitted by the presenter.&lt;br /&gt;
&lt;br /&gt;
===== Device handling =====&lt;br /&gt;
&lt;br /&gt;
The RTP service enumerates microphones, loudspeaker, cameras and ringing devices and notifies apps when devices come and go. It is up to the apps using the devices to store preferences.&lt;br /&gt;
&lt;br /&gt;
The RTP service also enables some extended features (such as hook switch or volume control) for supported USB headsets or Bluetooth headsets connected to myApps.&lt;br /&gt;
&lt;br /&gt;
For this to work, vendor specific development kits from Jabra, Epos (formerly Sennheiser) and Poly (formerly Plantronics) are integrated.&lt;br /&gt;
&lt;br /&gt;
Note that it is possible to inhibit the start of the Sennheiser SDK (SenncomSDK.exe) using the &amp;lt;code&amp;gt;DISABLEHEADSETS&amp;lt;/code&amp;gt; directive of the installer (see [[#MSI_Parameters_and_install_options |  MSI_Parameters_and_install_options ]] below).&lt;br /&gt;
The supported headset-SDKs determine which headset vendors are recommended to be used with the myApps softphone app. &lt;br /&gt;
&amp;lt;!--Keywords: myapps softphone supported headsets sdk--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Ring tones =====&lt;br /&gt;
&lt;br /&gt;
Ring tones can be played. Apps can choose the tone from a pre-defined list of ring tones.&lt;br /&gt;
&lt;br /&gt;
On Windows, custom ring tones can be uploaded as .mp3 files to the &amp;lt;code&amp;gt;ringtones&amp;lt;/code&amp;gt; sub-directory of myApps&#039; roaming directory (which usually is in &amp;lt;code&amp;gt;C:\Users\...\AppData\Roaming\innovaphone\myApps\ringtones&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
On Android, custom ring tones can be added to the system via Android settings. If Call Account it&#039;s enabled it&#039;s necessary also to set the custom ringtone in the global settings of Android, since Connection Services will select the ringtone to be played on incoming call.&lt;br /&gt;
&lt;br /&gt;
On iOS, custom ring tones can be uploaded as .mp3 files to the &amp;lt;code&amp;gt;Ringtones&amp;lt;/code&amp;gt; subdirectory of the myApps file share that is available in iTunes if the iPhone has been connected via USB.&lt;br /&gt;
&lt;br /&gt;
On macOS, custom ring tones can be uploaded as .mp3 files to &amp;lt;code&amp;gt;~/Library/Containers/com.innovaphone.client-macos/Data/Documents/Ringtones&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===== Debugging =====&lt;br /&gt;
For extended debugging, turn on the &#039;&#039;Audio&#039;&#039;, &#039;&#039;Media&#039;&#039; and &#039;&#039;AppSharing&#039;&#039; traces in myApps.&lt;br /&gt;
&lt;br /&gt;
=== Hot keys ===&lt;br /&gt;
On Windows and macOS systems, myApps platform services can listen for hot keys and invoke certain functions. Invocation is done by sending API messages to myApps which passes it to an appropriate API provider (in the cases described here, this will be a &#039;&#039;phone&#039;&#039; or &#039;&#039;softphone&#039;&#039; or &#039;&#039;rcc&#039;&#039; App typically.  See [[{{NAMESPACE}}:Concept_myApps#Client_APIs_and_default_apps | Client APIs and default apps]] for more details about this mechanism.&lt;br /&gt;
&lt;br /&gt;
The hot keys can be specified using the &#039;&#039;advanced settings&#039;&#039; user interface (see [[#UI_elements | UI elements]] below. Any of the function keys F1 to F11 (optionally combined with up to two modifier keys &#039;&#039;alt&#039;&#039;, &#039;&#039;ctrl&#039;&#039;, &#039;&#039;shift&#039;&#039; or &#039;&#039;win&#039;&#039;) can be chosen for each function.&lt;br /&gt;
; dial selected number : Initiates a call using the currently selected text as target.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;text&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:&amp;quot;mt&amp;quot;:&amp;quot;PrepareCall&amp;quot;,&amp;quot;text&amp;quot;:&amp;quot;13&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; accept call : Accepts a currently alerting call.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;ConnectCall&#039;&#039; message will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;ConnectCall&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; reject/disconnect call : Rejects a currently alerting call or disconnects an active call.&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;DisconnectCall&#039;&#039; message will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;DisconnectCall&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== URL Handler ===&lt;br /&gt;
&lt;br /&gt;
On Windows systems, two URI-handler are installed with the myApps platform services.  Windows will call up this URI handler when a user clicks on an appropriate link, for example in a web site.&lt;br /&gt;
&lt;br /&gt;
The handler will the send an API message to myApps which passes it to an appropriate API provider (in the cases described here, this will be a &#039;&#039;phone&#039;&#039; or &#039;&#039;softphone&#039;&#039; or &#039;&#039;rcc&#039;&#039; App typically.  See [[{{NAMESPACE}}:Concept_myApps#Client_APIs_and_default_apps | Client APIs and default apps]] for more details about this mechanism.&lt;br /&gt;
&lt;br /&gt;
; tel URI : call a number, e.g. &amp;lt;code&amp;gt;tel:4711&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;num&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;StartCall&amp;quot;,&amp;quot;num&amp;quot;:&amp;quot;4711&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
; sip URI : call a SIP name, e.g. &amp;lt;code&amp;gt;sip:zkl@innovaphone.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: A &#039;&#039;PrepareCall&#039;&#039; message with the &#039;&#039;sip&#039;&#039; argument set to the selected text and the &#039;&#039;adjust&#039;&#039; argument set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; will be sent to the [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm &#039;&#039;com.innovaphone.phone&#039;&#039; API].&lt;br /&gt;
:: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.phone&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;@local-ae2fc2ab74-3f1e-4ab9-b215-d42f213520317&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;StartCall&amp;quot;,&amp;quot;sip&amp;quot;:&amp;quot;zkl@innovaphone.com&amp;quot;,&amp;quot;adjust&amp;quot;:true}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On macOS systems myApps might be made the default application to handle tel URI e.g. &amp;lt;code&amp;gt;tel:4711&amp;lt;/code&amp;gt; via Apple FaceTime. Open the &amp;quot;FaceTime&amp;quot; menu &amp;quot;Settings...&amp;quot; and select myApps as &amp;quot;Default for phone calls&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== User activity ===&lt;br /&gt;
On Windows and macOS systems, the myApps platform services can monitor user keyboard/mouse activity and change the user&#039;s presence state after a certain amount of inactivity.  The timeout can be specified using the &#039;&#039;advanced settings&#039;&#039; user interface (see [[#UI_elements | UI elements]] below.&lt;br /&gt;
&lt;br /&gt;
myApps will then send a [https://sdk.innovaphone.com/doc/appwebsocket/myApps.htm#SetUserActivity&#039;&#039;SetUserActivity&#039;&#039;] message to the PBX using the &#039;&#039;myApps&#039;&#039; protocol.&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;SetUserActivity&amp;quot;,&amp;quot;inactive&amp;quot;:true}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will change the &#039;&#039;status&#039;&#039; property of the &#039;&#039;im:&#039;&#039; contact for the user&#039;s own presence and hence result in a presence update from the PBX to myApps&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;UpdateOwnPresence&amp;quot;,&amp;quot;presence&amp;quot;:[{...},{&amp;quot;contact&amp;quot;:&amp;quot;im:&amp;quot;,&amp;quot;activity&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;status&amp;quot;:&amp;quot;closed&amp;quot;}]}&amp;lt;/code&amp;gt;&lt;br /&gt;
The &#039;&#039;closed&#039;&#039; status is reflected in the grey status color when displaying a contact [[Image:myapps-inactive.png]].&lt;br /&gt;
&lt;br /&gt;
On iOS and Android, the state is set to &#039;&#039;inactive&#039;&#039; as soon as the App is brought to background.&lt;br /&gt;
When myApps platform services are not available (i.e. when running the web application in a browser solely) a limited user activity monitoring is available: the state is set to active when the web page is not used for more than 5 minutes.&lt;br /&gt;
&lt;br /&gt;
=== Notifications ===&lt;br /&gt;
&lt;br /&gt;
The myApps platform services can use the OS specific notification mechanism (e.g. &#039;&#039;desktop notifications&#039;&#039; on Windows) to display messages (e.g. &#039;&#039;incoming new chat message&#039;&#039;) to the user.&lt;br /&gt;
&lt;br /&gt;
Note that the actual rendering of the notification is under control of the OS.  Therefore, myApps must be allowed to show notifications and its appearance can be restricted by OS native settings.&lt;br /&gt;
&lt;br /&gt;
==== Microsoft Windows Notifications ====&lt;br /&gt;
&lt;br /&gt;
To see myApps notifications, ensure:&lt;br /&gt;
* System -&amp;gt; Notifications &lt;br /&gt;
** enable notifications&lt;br /&gt;
** disable &amp;quot;Do not disturb&amp;quot; or allow myApps as priority application while &amp;quot;Do not disturb&amp;quot; is active&lt;br /&gt;
** enable notifications for myApps in the list of applications&lt;br /&gt;
* System -&amp;gt; Focus &lt;br /&gt;
** if a focus session is active and the &amp;quot;Do not disturb&amp;quot; is activated during a focus session, make sure that myApps is a priority application (see above)&lt;br /&gt;
&lt;br /&gt;
=== Local phonebook access ===&lt;br /&gt;
&#039;&#039;&#039;Contact Search:&#039;&#039;&#039; The myApps platform services implement an &#039;&#039;API provider&#039;&#039; for the [http://sdk.innovaphone.com/web1/com.innovaphone.search/lib1_api_search.htm &#039;&#039;com.innovaphone.search&#039;&#039; API]]. They perform search capabilities on the OS&#039; local phone books which can be used by Apps like the &#039;&#039;phoneapp&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Apps would send a &#039;&#039;Search&#039;&#039; request to the API:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;4&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;Search&amp;quot;,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;search&amp;quot;:&amp;quot;john doe&amp;quot;},&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
Search results are delivered as &#039;&#039;SearchInfo&#039;&#039; messages:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;3&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;@local-8125d22e37-519d-4056-bfe5-c52ef2ae8fabb0&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;client&amp;quot;:&amp;quot;@client-f62702dd86-be3f-47fc-b4bc-7a21627b75b2ea&amp;quot;,&amp;quot;msg&amp;quot;:{&amp;quot;mt&amp;quot;:&amp;quot;SearchInfo&amp;quot;,&amp;quot;relevance&amp;quot;:2000,&amp;quot;adjust&amp;quot;:true,&amp;quot;type&amp;quot;:&amp;quot;contact&amp;quot;,&amp;quot;contact&amp;quot;:{&amp;quot;givenname&amp;quot;:&amp;quot;John&amp;quot;,&amp;quot;sn&amp;quot;:&amp;quot;Doe&amp;quot;,&amp;quot;company&amp;quot;:&amp;quot;ACME&amp;quot;,&amp;quot;position&amp;quot;:&amp;quot;Head of everything&amp;quot;,&amp;quot;telephonenumber&amp;quot;:[&amp;quot;11111&amp;quot;,&amp;quot;22222&amp;quot;],&amp;quot;homephone&amp;quot;:[&amp;quot;+4944444&amp;quot;,&amp;quot;33333&amp;quot;],&amp;quot;mobile&amp;quot;:[&amp;quot;+49 (123) 55555&amp;quot;]}},&amp;quot;api&amp;quot;:&amp;quot;com.innovaphone.search&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reverse Lookup:&#039;&#039;&#039; The myApps platform services implement an &#039;&#039;API provider&#039;&#039; for the [http://sdk.innovaphone.com/web1/com.innovaphone.phonelookup/lib1_api_phonelookup.htm &#039;&#039;com.innovaphone.phonelookup&#039;&#039; API]. They perform search capabilities on the OS&#039; local phone books which can be used by Apps like the &#039;&#039;phoneapp&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Apps would send a &#039;&#039;Lookup&#039;&#039; request to the API: &lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiRequest&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;*&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;4&amp;quot;,&amp;quot;msg&amp;quot;:{ mt: &amp;quot;Lookup&amp;quot;, prefixIntl: &amp;quot;000&amp;quot;, prefixNtl: &amp;quot;00&amp;quot;, prefixExt:&amp;quot;0&amp;quot;, area: &amp;quot;7031&amp;quot;, country: &amp;quot;49&amp;quot;, lookup: &amp;quot;0004970311234567&amp;quot; },&amp;quot;apiId&amp;quot;:&amp;quot;com.innovaphone.lookup&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Search results are delivered as &#039;&#039;LookupInfo&#039;&#039; messages:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;{&amp;quot;mt&amp;quot;:&amp;quot;ApiResult&amp;quot;,&amp;quot;src&amp;quot;:&amp;quot;3&amp;quot;,&amp;quot;provider&amp;quot;:&amp;quot;@local-8125d22e37-519d-4056-bfe5-c52ef2ae8fabb0&amp;quot;,&amp;quot;consumer&amp;quot;:&amp;quot;dev:SwPh_zkl_5e42e884&amp;quot;,&amp;quot;client&amp;quot;:&amp;quot;@client-f62702dd86-be3f-47fc-b4bc-7a21627b75b2ea&amp;quot;,&amp;quot;msg&amp;quot;:{mt: &amp;quot;LookupInfo&amp;quot;, dn: &amp;quot;Jake Blues&amp;quot;, contact: { telephonenumber: [&amp;quot;0004970311234567&amp;quot;], givenname: &amp;quot;Jake&amp;quot;, sn: &amp;quot;Blues&amp;quot;, company: &amp;quot;Blues Brothers&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
On Windows, the search and lookup are performed in all of the user&#039;s Outlook contact folders.  As opposed to the search implemented in the &#039;&#039;Contacts&#039;&#039; and &#039;&#039;Users&#039;&#039; App, all items are returned which match any of the search words (i.e. searching for &#039;&#039;a b&#039;&#039; will return items matching either &#039;&#039;a&#039;&#039; or &#039;&#039;b&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
; searched properties : firstname, lastname&lt;br /&gt;
; returned properties : Following Outlook contact phone number properties are returned  (if available):&lt;br /&gt;
&lt;br /&gt;
:* OFFICE_TELEPHONE_NUMBER as &#039;&#039;telephonenumber&#039;&#039;&lt;br /&gt;
:* OFFICE2_TELEPHONE_NUMBER as &#039;&#039;telephonenumber&#039;&#039;&lt;br /&gt;
:* HOME_TELEPHONE_NUMBER as &#039;&#039;homephone&#039;&#039;&lt;br /&gt;
:* HOME2_TELEPHONE_NUMBER as &#039;&#039;homephone&#039;&#039;&lt;br /&gt;
:* MOBILE_TELEPHONE_NUMBER as &#039;&#039;mobile&#039;&#039;&lt;br /&gt;
:* BUSINESS_FAX_NUMBER as &#039;&#039;facsimiletelephonenumber&#039;&#039;&lt;br /&gt;
Note that contact information is cached in the search provider.  Updated contacts may therefore become effective after a while only.&lt;br /&gt;
Outlook search will create its own trace file &amp;lt;code&amp;gt;myAppsOutlookSearch-&amp;lt;/code&amp;gt;&#039;&#039;date-time&#039;&#039;&amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; in the standard trace directory.&lt;br /&gt;
&lt;br /&gt;
This search provider is always installed and can be disabled.  There is no need (nor possibility) to enable it in the &#039;&#039;Apps&#039;&#039; tab of the PBX&#039;s user object.  Also, no &#039;&#039;App&#039;&#039; object needs to be created for it.&lt;br /&gt;
&lt;br /&gt;
==== Android/iOS ====&lt;br /&gt;
The search and lookup are performed in the contacts.&lt;br /&gt;
&lt;br /&gt;
==== macOS ====&lt;br /&gt;
The search and lookup are performed in the contacts. If you wish to disable local contact lookup, go to system settings - Security &amp;amp; Privacy and disable the access to contacts for myapps.&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Office integration ===&lt;br /&gt;
&lt;br /&gt;
The myApps platform services has a &#039;&#039;office presence provider&#039;&#039; that can provide the user&#039;s presence state to Office applications.  See [[{{NAMESPACE}}:Concept_myApps_Office_Integration|myApps Office Integration]] for details.&lt;br /&gt;
&lt;br /&gt;
This feature is installed by default.  However, it can be disabled using the &#039;&#039;OFFICEPRESENCE&#039;&#039; MSI Parameter.  Also, a check-mark is available in the setup dialog.&lt;br /&gt;
&lt;br /&gt;
=== Call an external application for calls ===&lt;br /&gt;
&lt;br /&gt;
Phone Apps (such as the phoneapp or softphone) can initiate the start of an external application when a new call appears (either incoming or outgoing).  The actual spawning of the application is done by the myApps platform service.  Also, the application properties (such as e.g. the executable&#039;s path) is configured in the myApps platform services (see [[#UI_elements|Advanced settings]] in the &#039;&#039;UI elements&#039;&#039; section below).&lt;br /&gt;
&lt;br /&gt;
A number of arguments can be passed to the application by substituting $-variables in the &#039;&#039;Parameter&#039;&#039; field:&lt;br /&gt;
&lt;br /&gt;
; $n : phone number as dialed (called party number for outgoing calls) or received (calling party number for incoming calls)&lt;br /&gt;
&lt;br /&gt;
; $N : called or calling party number in &#039;&#039;national&#039;&#039; format (e.g. 07031730090)&lt;br /&gt;
&lt;br /&gt;
; $I : called or calling party number in &#039;&#039;international&#039;&#039; format (e.g. +497031730090)&lt;br /&gt;
&lt;br /&gt;
: note that both $N and $I only work if $n includes both subscriber number and area code (e.g. 07031730090). Otherwise they are equal to $n&lt;br /&gt;
&lt;br /&gt;
; $d : display name of peer (if known)&lt;br /&gt;
&lt;br /&gt;
; $c : conference id&lt;br /&gt;
&lt;br /&gt;
: this is a globally unique ID for this call and may be used to relate the call to the &#039;&#039;guid&#039;&#039; found in the CallInfo structure in the [http://wiki.innovaphone.com/index.php?title=Reference10:SOAP_API#CallInfo SOAP-API] and [http://sdk.innovaphone.com/doc/appwebsocket/RCC.htm RCC-API ].  Also, corresponding [[Reference10:Call_Detail_Record_CDR_PBX|CDRs]] can be related using the &#039;&#039;event&#039;&#039; tag&#039;s &#039;&#039;conf&#039;&#039; attribute.&lt;br /&gt;
The start of an external application can be requested using the &#039;&#039;com.innovaphone.externalapps&#039;&#039; API.&lt;br /&gt;
&lt;br /&gt;
Some setup examples are [[Howto:Integrate_External_Apps_in_innovaphone_UC_clients|shown here]].&lt;br /&gt;
&lt;br /&gt;
=== Push ===&lt;br /&gt;
&lt;br /&gt;
Mobile operating systems usually inhibit network operation of apps which run in the background or are closed by the user.  This is done in order to reduce battery consumption.  Unfortunately, this also stops such apps to maintain a registration by regularly sending &#039;&#039;keep alive&#039;&#039; messages to a server (in our case to the PBX).  As a result, myApps will be disconnected from the PBX.   When the PBX determines that there is an event for the application which needs a response, it needs to wake up the app using a dedicated channel provided by the operating system.  This mechanism is know as &#039;&#039;push&#039;&#039;. When running on iOS or Android, myApps supports &#039;&#039;push&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
For &#039;&#039;push&#039;&#039; to work, a [[{{NAMESPACE}}:PBX/Objects/Push|&#039;&#039;push object&#039;&#039;]] needs to [[Course13:IT Connect - 10.1 Push Object | be configured in the PBX ]].  Also, it needs to be enabled on the mobile phone for the myApps app.&lt;br /&gt;
This mechanism is quite similar in v12 and v13, so you can refer to [[{{NAMESPACE}}:Concept Push Notifications for myPBX iOS and Android]] for more details. &lt;br /&gt;
&lt;br /&gt;
Also, helpful hints can be found in [[Howto:Troubleshoot v13 Push with myApps for Android and iOS]].&lt;br /&gt;
&lt;br /&gt;
=== App Proxy ===&lt;br /&gt;
&lt;br /&gt;
myApps runs further &#039;&#039;Apps&#039;&#039; (such as e.g. the &#039;&#039;phoneapp&#039;&#039;) as a web page in an IFRAME of the browser myApps is running in.  The App&#039;s page code is loaded either from the PBX or from an &#039;&#039;application platform&#039;&#039; (AP).   This however would mean that the App&#039;s IFRAME would remain empty (a dead white screen) when the PBX or AP is not available. To make sure the App can start-up anyway, the myApps platform services feature the so-called &#039;&#039;App Proxy&#039;&#039;.  This is a caching proxy that caches all the App code so it is available even in case of network failure. When myApps runs in the context of the platform services, Apps are therefore not loaded from the App source directly, but from the local App proxy. &lt;br /&gt;
&lt;br /&gt;
The cached files are stored in the PCs local file system in the &amp;lt;code&amp;gt;C:\Users\...\AppData\Local\innovaphone\myApps\appproxy&amp;lt;/path&amp;gt;&amp;lt;/code&amp;gt;.  There is no configuration required.  However, if myApps seems to run with outdated or corrupt cached copies of the App, you can safely delete the entire directory.&lt;br /&gt;
&lt;br /&gt;
=== Auto update ===&lt;br /&gt;
&lt;br /&gt;
On Windows and on macOS, the myApps platform services can auto-update themselves to a common version.  This is controlled by the [[{{NAMESPACE}}:PBX/Config/myApps#Launcher_Software_Update | &#039;&#039;Launcher Software Update&#039;&#039; ]] settings under &#039;&#039;PBX/Config/myApps&#039;&#039; in the PBX. &lt;br /&gt;
&lt;br /&gt;
When myApps is started or the user logs in or myApps needs to re-connect to the PBX, the platform services will use the [http://sdk.innovaphone.com/web1/com.innovaphone.client/lib1_api_client.htm com.innovaphone.client API] to learn the desired version (&#039;&#039;launcherUpdateBuild&#039;&#039;, which is part of the API&#039;s &#039;&#039;model&#039;&#039;). If this differs from the current version, the platform services will try to download the respective new version. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
    &amp;quot;mt&amp;quot;: &amp;quot;ApiUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;apis&amp;quot;: {&lt;br /&gt;
        &amp;quot;com.innovaphone.client&amp;quot;: {&lt;br /&gt;
            &amp;quot;@client&amp;quot;: {&lt;br /&gt;
                &amp;quot;title&amp;quot;: &amp;quot;innovaphone myApps&amp;quot;,&lt;br /&gt;
                &amp;quot;model&amp;quot;: {&lt;br /&gt;
                    &amp;quot;launcher&amp;quot;: true,&lt;br /&gt;
                    &amp;quot;launcherUpdateBuild&amp;quot;: &amp;quot;134906&amp;quot;,&lt;br /&gt;
                    &amp;quot;appStoreUrl&amp;quot;: &amp;quot;http://store.innovaphone.com/alpha/download/&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The installation of the downloaded version is done by the &#039;&#039;innovaphonemyAppsUpdateService&#039;&#039;. This service is installed and enabled during the initial install of the myApps platform services.  To disable auto-update, either leave the &#039;&#039;Launcher Software Update&#039;&#039; settings empty or set the service&#039;s start mode to &#039;&#039;disabled&#039;&#039; in the Windows &#039;&#039;services control panel&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that on Windows the update service does not work on terminal servers. Administrators must do myApps base services updates using standard windows mechanisms.&lt;br /&gt;
&lt;br /&gt;
Note that on macOS if myApps has been installed from the Apple store it is assumed that auto update from the PBX is not desired and therefore disabled therefore.&lt;br /&gt;
&lt;br /&gt;
On Android/iOS/macOS updates can be downloaded from the respective app store.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;Devices&#039;&#039; app can not update software installed on Windows PCs directly. However, when the PBX is updated using an &#039;&#039;update job&#039;&#039; in the &#039;&#039;Devices&#039;&#039; App, the &#039;&#039;Launcher Software Update&#039;&#039; settings will be updated accordingly and hence the myApps base services will ultimately also be update to the same version.&lt;br /&gt;
&lt;br /&gt;
==UI elements ==&lt;br /&gt;
There are a few user interfaces provided by the platform services:&lt;br /&gt;
===tray-icon (Windows only) ===&lt;br /&gt;
::[[Image:myapps-tray.png]]&lt;br /&gt;
:Allows to&lt;br /&gt;
:* terminate myApps&lt;br /&gt;
:* toggle the &#039;&#039;autostart&#039;&#039; state&lt;br /&gt;
:* toggle the &#039;&#039;show in task bar&#039;&#039; state&lt;br /&gt;
:* open the trace folder&lt;br /&gt;
:&lt;br /&gt;
=== PBX connect form===&lt;br /&gt;
:: [[Image:myapps-connect.png]]&lt;br /&gt;
: Allows the user to specify the connect data for the PBX (i.e. IP address or DNS name)&lt;br /&gt;
:&lt;br /&gt;
=== Advanced settings===&lt;br /&gt;
::[[Image:myapps-settings0.png]]&lt;br /&gt;
::[[Image:myapps-settings.png]] [[Image:myapps-settings2.png]] [[Image:myapps-settings3.png]]&lt;br /&gt;
&lt;br /&gt;
: Allows to modify various platform dependant settings (such as e.g. the hotkey selection on Windows)&lt;br /&gt;
&lt;br /&gt;
== Interfaces ==&lt;br /&gt;
=== Provided APIs ===&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.search/lib1_api_search.htm com.innovaphone.search] : access to local phone book entries by the [[#Local_phonebook_access|Local phonebook access]] component.&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.launcher/com.innovaphone.launcher.htm com.innovaphone.launcher] : display of OS specific user notifications and receipt of related user actions&lt;br /&gt;
; com.innovaphone.notificationhandler : ???&lt;br /&gt;
; com.innovaphone.externalapps : to start external applications, see [[#Call_an_external_application_for_calls |Call an external application for calls ]] above&lt;br /&gt;
; com.innovaphone.callkit : ???&lt;br /&gt;
&lt;br /&gt;
=== Used APIs ===&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.phone/com.innovaphone.phone.htm com.innovaphone.phone] : used to initiate new or manipulate existing calls by the [[#Hot_keys|Hot keys]] and [[#URL_handler|URL handler]] components.&lt;br /&gt;
&lt;br /&gt;
; [http://sdk.innovaphone.com/web1/com.innovaphone.client/lib1_api_client.htm com.innovaphone.client] : the model is used to learn the update settings, see [[#Auto_update|Auto update]] above&lt;br /&gt;
&lt;br /&gt;
=== Protocols ===&lt;br /&gt;
&lt;br /&gt;
; [https://sdk.innovaphone.com/doc/launcher/Media.htm Media Protocol] : used by apps to allocate RTP channels, see [[#RTP_service_for_audio.2C_video_and_data|RTP service for audio, video and data]] above&lt;br /&gt;
&lt;br /&gt;
== Related App Services ==&lt;br /&gt;
&lt;br /&gt;
none&lt;br /&gt;
&lt;br /&gt;
== Known limitations ==&lt;br /&gt;
; Button on Bluetooth headsets not functional on myApps for iOS : The button of Bluetooth headsets doesn&#039;t provide to accept or disconnect calls. The button on wired earphones does.&lt;br /&gt;
&lt;br /&gt;
; Incoming call as banner on myApps for iOS : Since iOS 14 the iOS CallKit presents incoming calls as a banner leaving the original green answer button of myApps visible. Use only the blue button of the banner to accept the call or change iPhone Settings, App &amp;quot;Phone&amp;quot;, &amp;quot;Incoming Calls&amp;quot; to &amp;quot;Full Screen&amp;quot; to hide the myApps user interface again during call answering.&lt;br /&gt;
&lt;br /&gt;
; Windows Server 2016 (Windows 10 Build 1607) : windows just shows the first notification. Further notifications aren&#039;t displayed until the previous ones are removed from the notification center. Current windows builds do not show this behaviour anymore.&lt;br /&gt;
&lt;br /&gt;
; Problems on Mac computers with Yealink USB headsets&lt;br /&gt;
: we have received reports that myApps quits unexpectedly on some Mac computers when a Yealink headset is plugged in.  Unfortunately, we could not find out the cause yet.  If you use Yealink USB headsets and have a similar issue, please open a support ticket and send myApps traces.&lt;br /&gt;
&lt;br /&gt;
; Windows surface devices may not work correctly&lt;br /&gt;
: Chromium does not get touch keyboard events. USB Keyboards may not be recognized either.&lt;br /&gt;
&lt;br /&gt;
; Reverse Name lookup could fail for calls to myAPPS Android users.&lt;br /&gt;
: If the Reverse Name lookup mechanism on the PBX takes more time than the send of the PUSH notification to the Android Smartphone the incoming call will contain the number of the caller. Currently, it&#039;s not possible the update the number on the display of Android using Call Account integration during ringing. &lt;br /&gt;
&lt;br /&gt;
; Number update after transfer doesn&#039;t work when using Callkit/Call Account with myAPPS iOS/Android&lt;br /&gt;
: If we accept the call with the Callkit/Call Account on the Smartphone it&#039;s not possible to update the displayed number/name in case a call transfer was done. The original number it&#039;s always kept.&lt;br /&gt;
&lt;br /&gt;
; Problem of high CPU usage on Terminal Server when using myAPPS with process WMI&lt;br /&gt;
: In the past we used this WMI process but duo bad performance we removed from our application, however the Sennheiser SDK also uses this process, so if you run on terminal server multiple myAPPS and you find issue of High CPU the recommendation it&#039;s to [http://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_myApps_platform_services#Device_handling disable Sennheiser Headset] from the APP.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on Windows using the .msi file found in the &#039;&#039;myApps Windows&#039;&#039; package from [https://store.innovaphone.com/release/download.htm store.innovaphone.com].&lt;br /&gt;
&lt;br /&gt;
myApps can update itself automatically, see [[#Auto_update|Auto update]] above.&lt;br /&gt;
&lt;br /&gt;
=== MSI Parameters and install options ===&lt;br /&gt;
&lt;br /&gt;
The MSI installer of myApps for Windows supports the following parameters and can be edited with [https://docs.microsoft.com/en-us/windows/win32/msi/orca-exe Microsoft Orca]. You can add your parameters in the table &#039;&#039;property&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
; SERVER (REG_SZ): the PBX&#039;s server URL&lt;br /&gt;
; OFFICEPRESENCE (REG_DWORD): &#039;&#039;&#039;false&#039;&#039;&#039; to disable presence integration in Microsoft Office&lt;br /&gt;
: this is also available as a check-mark when running the install manually&lt;br /&gt;
&lt;br /&gt;
; DISABLEHEADSETS (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; to disable headsets support, see [[#Device_handling|Device handling]] above&lt;br /&gt;
&lt;br /&gt;
; EXTERNALAPPS (REG_SZ): pre-define external applications, see [[#Call_an_external_application_for_calls|Call an external application for calls]] above&lt;br /&gt;
: e.g. &amp;lt;code&amp;gt;&amp;quot;{&amp;quot;&amp;quot;externalApps&amp;quot;&amp;quot;:[{&amp;quot;&amp;quot;id&amp;quot;&amp;quot;:0,&amp;quot;&amp;quot;name&amp;quot;&amp;quot;:&amp;quot;&amp;quot;Wireshark&amp;quot;&amp;quot;,&amp;quot;&amp;quot;path&amp;quot;&amp;quot;:&amp;quot;&amp;quot;C:\\Program Files\\Wireshark\\Wireshark.exe&amp;quot;&amp;quot;,&amp;quot;&amp;quot;param&amp;quot;&amp;quot;:&amp;quot;&amp;quot;test $I&amp;quot;&amp;quot;}]}&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; FORCERESTART (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; (or any string ...) kills myApps during the installation and restarts it for the currently logged in user, if it was running&lt;br /&gt;
&lt;br /&gt;
; DISABLELOCALHOST (REG_DWORD): &#039;&#039;&#039;true&#039;&#039;&#039; to disable use of &#039;&#039;&#039;localhost&#039;&#039;&#039; string to access the local webserver. Use &#039;&#039;&#039;127.0.0.1&#039;&#039;&#039; instead&lt;br /&gt;
&lt;br /&gt;
Current settings are stored in the registry at &amp;lt;code&amp;gt;Computer\HKEY_CURRENT_USER\Software\innovaphone\myApps&amp;lt;/code&amp;gt; or at &amp;lt;code&amp;gt;Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\innovaphone\myApps&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Boolean values like OfficePresence are stored in registry entries with type REG_DWORD and values 1 or 0. 0 disables the setting and 1 enables it.&lt;br /&gt;
&lt;br /&gt;
== iOS ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on iOS by loading &#039;&#039;innovaphone myApps&#039;&#039; from the &#039;&#039;App Store&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== macOS ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services might be installed from the Apple store directly. An installer package &amp;lt;code&amp;gt;myapps.pkg&amp;lt;/code&amp;gt; and a disk image &amp;lt;code&amp;gt;myapps.dmg&amp;lt;/code&amp;gt; is also available from the innovaphone app store. Install &amp;lt;code&amp;gt;myapps.pkg&amp;lt;/code&amp;gt; by double-click on the file and follow the instructions of the installer. myApps becomes available in the Applications folder and can be opened by double-click. Or download and open &amp;lt;code&amp;gt;myapps.dmg&amp;lt;/code&amp;gt; and double klick myApps. If desired integrate it into the app dock by right click, &#039;&#039;Options, Keep in the dock&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If installed from the innovaphone app store, myApps can update itself automatically, see [[#Auto_update|Auto update]] above.&lt;br /&gt;
&lt;br /&gt;
If installed from the Apple store, macOS notifies about updates on the Apple store. myApps [[#Auto_update|Auto update]] is disabled then.&lt;br /&gt;
&lt;br /&gt;
=== Preferences ===&lt;br /&gt;
&lt;br /&gt;
macOS supports preference settings that can be set via a shell command or via Mac remote management&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;gt; defaults write com.innovaphone.client-ios server &amp;quot;PBX-server-URL&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following parameters and can be set through this method:&lt;br /&gt;
&lt;br /&gt;
; server: the PBX&#039;s server URL&lt;br /&gt;
&lt;br /&gt;
== Android ==&lt;br /&gt;
&lt;br /&gt;
myApps platform services are installed on Android by loading &#039;&#039;innovaphone myApps&#039;&#039; from the &#039;&#039;Play Store&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
When myApps runs under the myApps platform services, it will show various platform specific settings as part of its &#039;&#039;burger menu&#039;&#039;, so the user can set them.  See &#039;&#039;Advanced settings&#039;&#039; in [[#UI_elements|UI elements]] above.&lt;br /&gt;
&lt;br /&gt;
Some options can also be set globally for all myApps clients in the PBX&#039;s [[{{NAMESPACE}}:PBX/Config/myApps#Client_Settings|PBX/Config/myApps &#039;&#039;Client Settings&#039;&#039;]]&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Option&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | Where to set&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
! style=&amp;quot;text-align: left; font-weight: bold&amp;quot;| Availability&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| || || User menu || PBX &#039;&#039;Client Settings&#039;&#039; || Windows || iOS || Android || macOS&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Autostart || Launch myApps on login || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Appear offline after || controls after which idle time a user is considered &#039;&#039;inactive&#039;&#039;. See [[#User_activity|User activity]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Hotkeys || Hotkeys for call dial, accept, reject. See [[#Hot_keys|Hot keys]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Docking || Docking mode (left, right, none). See [[#???|??]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Desktop notifications|| Turn on/off platform notifications. See [[#Notifications|  Notifications]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| VPN || Disable VPN address for ICE candidate selection. See [[#RTP_ports| RTP ports]] above || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Show in taskbar|| Show myApps in the taskbar in addition to it&#039;s tray icon.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Log flags || turn on/off certain trace levels. See [[#Troubleshooting|Troubleshooting]] below.  || &amp;amp;#10004; ||&amp;amp;#10004; ||&amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| External applications || define the applications available for Apps to be started. See [[#Call_an_external_application_for_calls|Call an external application for calls]] above.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10004;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Ring in headset || send ring tone for incoming to headset instead of loudspeaker.  || &amp;amp;#10004; ||&amp;amp;#10007; ||&amp;amp;#10004; || &amp;amp;#10007; || &amp;amp;#10007; || &amp;amp;#10007;&lt;br /&gt;
|}&lt;br /&gt;
== Start parameters for Windows ==&lt;br /&gt;
&lt;br /&gt;
On Windows, it is not possible to pass start parameters from the [https://www.chromium.org/developers Chromium documentation] to the myApps process.&lt;br /&gt;
&lt;br /&gt;
== OS Settings for Windows ==&lt;br /&gt;
Windows settings can influence the display of &#039;&#039;Desktop notifications&#039;&#039;. See [https://support.microsoft.com/en-us/help/4028678/windows-10-change-notification-settings Change notification settings in Windows 10] for details.&lt;br /&gt;
&lt;br /&gt;
== OS settings for Android ==&lt;br /&gt;
; Events : The appearance of notifications can be controlled here.&lt;br /&gt;
&lt;br /&gt;
; Call accounts : For proper incoming call signaling, the call account &#039;&#039;myApps&#039;&#039; needs to be enabled. Note that on Samsung smartphones the call account switch likely toggles back and a few tries may need to be done until it persists. Please double-check the state.&lt;br /&gt;
&lt;br /&gt;
; Background data, unlimited data usage : Grant background data use to enable &#039;&#039;myApps&#039;&#039; to connect to the PBX immediately on an incoming call.&lt;br /&gt;
&lt;br /&gt;
; Overlaying : This setting is not needed if call account &#039;&#039;myApps&#039;&#039; has been enabled. Should there be a reason for not enabling call account &#039;&#039;myApps&#039;&#039;, the permission for overlaying needs to be granted on Android 10 or higher for proper call signaling.&lt;br /&gt;
&lt;br /&gt;
Note: If no SIM card is installed some Android smartphones exhibit a problem dialing from the smartphone contacts. The contacts app shows a choice &#039;&#039;Select SIM card for this call&#039;&#039; but all possible dialers are greyed out. In this case make myApps the default phone app in Android settings &#039;&#039;Apps, Default apps, Telephony&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== OS settings for iOS ==&lt;br /&gt;
; Notifications : The appearance of notifications can be controlled in iOS &#039;&#039;Settings, myApps&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== OS settings for macOS ==&lt;br /&gt;
&lt;br /&gt;
; Notifications : The appearance of notifications can be controlled in macOS &#039;&#039;Preferences, Notifications, myApps&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
myApps platform services can write various traces for debugging.  Trace can be turned on and off selectively in the [[#Advanced settings|Advanced settings]].&lt;br /&gt;
&lt;br /&gt;
The following trace flags can be set:&lt;br /&gt;
{|&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; |  Abbreviation&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; |code&lt;br /&gt;
&lt;br /&gt;
!style=&amp;quot;text-align: left; font-weight: bold&amp;quot; | description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| App||0x000000001|| logs from the App Service itself&lt;br /&gt;
|-&lt;br /&gt;
| DNS||0x000000008|| logs DNS requests and results&lt;br /&gt;
|-&lt;br /&gt;
| HTTP client||0x000000080|| http client logs&lt;br /&gt;
|-&lt;br /&gt;
| TLS||0x000000400|| TLS logs&lt;br /&gt;
|-&lt;br /&gt;
| TCP||0x000000800|| TCP logs&lt;br /&gt;
|-&lt;br /&gt;
| LDS||0x000001000|| local domain sockets&lt;br /&gt;
|-&lt;br /&gt;
| WebSocket client||0x000004000|| logs outgoing websocket connections&lt;br /&gt;
|-&lt;br /&gt;
| App WebSocket||0x000008000|| logs app websocket connections (e.g. from PBX objects to an App Service or from the UI to the App Service)&lt;br /&gt;
|-&lt;br /&gt;
| UDP||0x000200000|| UDP logs&lt;br /&gt;
|-&lt;br /&gt;
| DTLS||0x000400000|| logs DTLS handshake and messages&lt;br /&gt;
|-&lt;br /&gt;
| Media||0x000800000|| logs media events&lt;br /&gt;
|-&lt;br /&gt;
| Media channel||0x001000000|| logs RTP/SCTP media connections&lt;br /&gt;
|-&lt;br /&gt;
| ICE||0x002000000|| logs ICE messages between peers&lt;br /&gt;
|-&lt;br /&gt;
| TURN||0x004000000|| logs TURN messages between peers&lt;br /&gt;
|-&lt;br /&gt;
| AppSharing||0x008000000|| logs AppSharing connection&lt;br /&gt;
|-&lt;br /&gt;
| Audio||0x010000000|| logs Audio connection and headset events&lt;br /&gt;
|-&lt;br /&gt;
| Video||0x020000000|| logs video connection and webcam events&lt;br /&gt;
|-&lt;br /&gt;
| Browser||0x040000000|| logs Chromium events&lt;br /&gt;
|-&lt;br /&gt;
| AppProxy||0x080000000|| logs requests which are proxied between the local webserver and the remote server&lt;br /&gt;
|-&lt;br /&gt;
| Webserver||0x200000000|| enables webserver specific logs&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;code&#039;&#039; can be or&#039;ed and used as value for the &#039;&#039;Log flags&#039;&#039; field in [[{{NAMESPACE}}:PBX/Config/myApps#Client_Settings|PBX/Config/myApps/Client Settings]].&lt;br /&gt;
&lt;br /&gt;
; Windows :On Windows, traces are written to the &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Local\innovaphone\myApps&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
:* myApps-&#039;&#039;date-time&#039;&#039;.txt : main log file for the platform services&lt;br /&gt;
&lt;br /&gt;
:* myAppsOutlookSearch-&#039;&#039;date-time&#039;&#039;.txt : log file for the Outlook phone book access&lt;br /&gt;
&lt;br /&gt;
:* myAppsHookController-&#039;&#039;date-time&#039;&#039;.txt : log file for the hot-key interceptor (see [[#Hot_keys|Hot keys]])&lt;br /&gt;
&lt;br /&gt;
; :myApps update traces are written to the &amp;lt;code&amp;gt;%windir%\temp\&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
:* myAppsInstall.txt: MSI installation file&lt;br /&gt;
:* myAppsUpdateService-&#039;&#039;date-time&#039;&#039;.txt: myApps update service traces&lt;br /&gt;
&lt;br /&gt;
;Android : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
: also, an Android device might also be connected to a PC via an USB cable to get the traces. The files can be found in &amp;lt;code&amp;gt;Android/data/com.innovaphone.clientandroid/files&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; iOS : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
; macOS : traces can be sent by e-mail.&lt;br /&gt;
&lt;br /&gt;
: also, the files can be found in &amp;lt;code&amp;gt;~/Library/Containers/com.innovaphone.client-ios/Data/Documents/&amp;lt;/code&amp;gt;. Press &#039;&#039;Alt+N&#039;&#039; followed by space to get tilde &#039;&#039;~&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myApps_Office_Integration]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myAPPs_Search_in_local-Outlook_Contacts]]&lt;br /&gt;
* [[{{NAMESPACE}}:Call_Detail_Record_CDR_PBX]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept Push Notifications for myPBX iOS and Android]]&lt;br /&gt;
* [[Howto:Troubleshoot v13 Push with myApps for Android and iOS]]&lt;br /&gt;
* [[{{NAMESPACE}}:PBX/Config/myApps]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:IQM_Server_Setup&amp;diff=60909</id>
		<title>Reference9:IQM Server Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:IQM_Server_Setup&amp;diff=60909"/>
		<updated>2022-01-25T06:21:19Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Work as Supervisor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The parameters for the setup of the iQM sever are configured here.&lt;br /&gt;
&lt;br /&gt;
iQM Build 80128&lt;br /&gt;
&lt;br /&gt;
== Panel COMMUNICATION ==&lt;br /&gt;
&lt;br /&gt;
===IP Address PBX===&lt;br /&gt;
&lt;br /&gt;
IP address of the innovaphone PBX, for example 172.14.5.6. If you operate the innovaphone PBX on a specified Port address you have to specify this (for example “172.14.5.6:1234” for port 1234), in usual setups not necessary.&lt;br /&gt;
&lt;br /&gt;
===Admin user===&lt;br /&gt;
Admin user for login the PBX (for example “admin”)&lt;br /&gt;
&lt;br /&gt;
===Admin Password===&lt;br /&gt;
The password to access to the PBX (for example “ip800”). Please note that the credentials must be the one of the Administrator([[Reference10:General/Admin | General/Admin]]) or of a PBX-user with at least &amp;quot;Viewing Only&amp;quot; PBX-rights([[Reference9:PBX/Objects/Edit_Rights | PBX/Objects/Edit_Rights]]). From a security point of view, it is recommended to use the PBX-user for authentication. It is recommended to use the SOAP user(see below) for this purpose. As a result, the SOAP user should have at least &amp;quot;Viewing Only&amp;quot; PBX-rights and a password.&lt;br /&gt;
&lt;br /&gt;
For more information on the different account types, have a look at [[Course11:Advanced_-_innovaphone_Security_Features#Managing_accounts]]&lt;br /&gt;
&lt;br /&gt;
===Dyna-PBX-id===&lt;br /&gt;
if the iQM should work on a dyna-PBX (multiple PBX) you must define the ID of that PBX  (example: “987654321”, see dyna PBX for the ID). Left blank if iQM  is not working on a Queue located in a dyna-PBX (typical setup).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SOAP user===&lt;br /&gt;
indicate the name of the SOAP use in the innovaphone PBX. Remember that the “soap user” is just a normal user object, requires no license and has no number.  PBX: Specify a new user in the PBX (to simplify we recommend to give name, short name and display name the same one) and assign a group to this object and make the group active (*). Remember that all agents have to be in that group, but not active.&lt;br /&gt;
&lt;br /&gt;
It is a good idea creates a SOAP user just for the iQM. In some scenario there are also running other SOAP applications (for example a TAPI), and therefore all users are SOAP members. But the iQM needs information just from the agents. To speed up the system (for example in the startup) create a dedicated SOAP user and assign it to the agents.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
Select if you have activated the HTTPS flag in the PBX. Please note that a port indicated in the IP Address PBX field is ignored. Do not flag if no HTTPS is switched on in the PBX.&lt;br /&gt;
&lt;br /&gt;
=== No Unreg Warning ===&lt;br /&gt;
&lt;br /&gt;
If checked iQM will not give warnings if innovaphone IP Phones are detected as not registered during the start-up or becomes unregistered during operation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===iQMagent client port ===&lt;br /&gt;
Indicate the port for the iQM clients, default is “9090”. Of cause you must also indicate the same port in the iQMclient setup. In the iQMclient you have to indicate also the IP-address of the PC where iQMserver is running. The field “own IP address” shows you the IP address of the iQM server PC.&lt;br /&gt;
&lt;br /&gt;
If you install on a PC several iQM remember to assign in the Setup for each different Port Number for the communication with the client. If you leave default port (and so the same one) the second iQM will crash after start-up.&lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
&lt;br /&gt;
If the access of the client to the iQM Server should is protected by a password you have to insert it here. (build 80181)&lt;br /&gt;
&lt;br /&gt;
=== own IP address ===&lt;br /&gt;
&lt;br /&gt;
Shows the IP address of the PC, this is the iQM server address for the client setup&lt;br /&gt;
&lt;br /&gt;
==Panel STANDBY PBX==&lt;br /&gt;
&lt;br /&gt;
===Standby PBX IP-Adr.===&lt;br /&gt;
&lt;br /&gt;
IP address of the innovaphone Standby-PBX, for example 172.14.5.6. If you operate the innovaphone PBX on a specified Port address you have to specify this (for example “172.14.5.6:1234” for port 1234), in usual setups not necessary. &lt;br /&gt;
&lt;br /&gt;
If this field is blank no standby PBX is defined.&lt;br /&gt;
&lt;br /&gt;
===Admin user===&lt;br /&gt;
&lt;br /&gt;
Admin user for login the Standby-PBX (for example “admin”)&lt;br /&gt;
&lt;br /&gt;
===Admin Password===&lt;br /&gt;
&lt;br /&gt;
Indicate the password to access to the Standby PBX (for example “ip800”). Please note that the credentials must be the one of the administrator, the SOAP session requires full access to the PBX.&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
&lt;br /&gt;
Select if you have activated the HTTPS flag in the Standby-PBX. Please note that a port indicated in the IP Address PBX field is ignored. Do not flag if no HTTPS is switched on in the Standby-PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Panel QUEUE ==&lt;br /&gt;
&lt;br /&gt;
===Queue Long Name===&lt;br /&gt;
Long Name of the waiting queue to monitor (example: &amp;quot;myQueue”) .  PBX: Assign an active group to this Queue in the PBX and put also all Agents in. This is also the Primary group to point on in the WQ configuration. This group must be a dynamic group for Agents. See picture at the end of this article or local help or read the howto article if not clear.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The name and the long name in the PBX must be the same! If not no Wrap-up is possible.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Group Label===&lt;br /&gt;
&lt;br /&gt;
If blank the name the Queue Long name is taken as description in the header of the column of the agent list. In many cases the name of the queues in the PBX are not very clear, long and complicated. If so insert a nice label that is clear for the agent.  &lt;br /&gt;
&lt;br /&gt;
===Agent Group===&lt;br /&gt;
This information will be read out from the PBX setup and has not to be configured.&lt;br /&gt;
&lt;br /&gt;
===Queue Password===&lt;br /&gt;
myPBX password for the Queue, if blank name resolution is switched off.&lt;br /&gt;
&lt;br /&gt;
Form V13 or higher this feature is no longer supported. Agent could use myApps Client to shows names.&lt;br /&gt;
&lt;br /&gt;
Build 80259&lt;br /&gt;
&lt;br /&gt;
The iQM server will switch off this feature automatically when version &amp;gt;12 is detected.&lt;br /&gt;
&lt;br /&gt;
Form build 80259 the SW Vwersion of the PBX is displayed in the main view of the iQM Server.&lt;br /&gt;
&lt;br /&gt;
===PC sound if Alarm===&lt;br /&gt;
If one of the thresholds is reached and the iQM signals an alarm (relative button is flashing red and alarm counter is increased) the PC play the Wave file indicated in the “File” field. If no file is indicated the innovaphone MOH is played. &lt;br /&gt;
&lt;br /&gt;
===Alarm auto reset===&lt;br /&gt;
the PC will play the file in loop until the alarm is quitted if this field is blank. Here you can define in seconds a maximum duration of playing even is the alarm is not quitted. Example: “10” – the PC will play for 10 seconds after the alarm goes on and then stop playing.&lt;br /&gt;
&lt;br /&gt;
File: pressing the button a file dialog windows appears and you can define the wave file to play.&lt;br /&gt;
&lt;br /&gt;
=== Ignore Presence ===&lt;br /&gt;
If checked a present status of an Agent will be ignored by iQM. If not checked an Agent with an active presence is considered as “not available”.&lt;br /&gt;
Note that the call processing will not depend on this setting (but remember that you can influence that in the WQ itself).&lt;br /&gt;
&lt;br /&gt;
=== Allow Agent Forking ===&lt;br /&gt;
&lt;br /&gt;
If checked an Agent can even be a not registered Phone, if a Forking e164 destination is configured in this user object the iQM consider that Agent like a registered one. So if he is in the group he will become calls, and the counter “ready” will also count hose dummy forking extension. On start up anyway the error “no registered Phone” appears (the triangle in the agent count), to avoid that switch on “No Unreg Warning”. In the Agent list instead “UREG!” a “UNREG/FORK” is displayed if idle. Wrap up etc. will work like on a “normal” Agent user.&lt;br /&gt;
&lt;br /&gt;
===Minimum Duration===&lt;br /&gt;
&lt;br /&gt;
Calls waiting in the queue shorter than this threshold in seconds are not considered abandoned calls if they give up. Leave blank or set 0 to disable this feature.&lt;br /&gt;
&lt;br /&gt;
===No dereg CNT===&lt;br /&gt;
&lt;br /&gt;
If flagged an Agent not registered in the PBX is not displayed as “in group” (even if technically he is in the group). Do not flag if forking is an option. &lt;br /&gt;
&lt;br /&gt;
===2. Queue Name===&lt;br /&gt;
in this field you specify the name of the 2nd WQ.&lt;br /&gt;
&lt;br /&gt;
===2. Group Label===&lt;br /&gt;
&lt;br /&gt;
Same issue like the one for the first group&lt;br /&gt;
&lt;br /&gt;
===2. Dyna Agent Group===&lt;br /&gt;
&lt;br /&gt;
Name of the second agent group (the one where the second waiting queue is pointing on).&lt;br /&gt;
See picture at the end of this article or local help or read the howto article if not clear.&lt;br /&gt;
&lt;br /&gt;
===2. Agent Group (dyna)===&lt;br /&gt;
&lt;br /&gt;
This information will be read out from the PBX setup and has not to be configured.&lt;br /&gt;
&lt;br /&gt;
== Panel DATA LOGGING ==&lt;br /&gt;
&lt;br /&gt;
===Actual path of log files===&lt;br /&gt;
iQM stress the files as default (on first start up and if never defined a path) in the application user directory (typically “C:\Users\YourAccount\AppData\Roaming\”). If more than one iQM should work on one single PC you can activate them installing using different PC users. But it is simpler install all the iQM’s with the same user indicating different path for data logging (and user setup, it will be used is the same path). So in this filed you will see the actual path. Remember that even the setup data are stored in a file in this directory. All iQM files will start with “iQMxxx” and are simple text or XML files. &lt;br /&gt;
&lt;br /&gt;
===Set log directory===&lt;br /&gt;
if you press this button a path dialog window will appear and you can define the path for data and setup data. This path will be stored in the directory where iQM is running in a file named “iQM_Logdir.txt”. If that file exists iQM will load the path and then try to load and store the data there. If you like return to the default path (“C:\Users\YourAccount\AppData\Roaming\”) you have to indicate that in the Path or delete the file “iQM_Logdir.txt”.&lt;br /&gt;
&lt;br /&gt;
===CSV character===&lt;br /&gt;
In the log file a record contains different data. If nothing indicated in this filed a space will separate the single data fields in a record. Example “10.01.2011 17:44:00 00000:12” – between date, time and counter value is a space. If in this filed you indicate for example a “/” the result will be: “10.01.2011/17:44:00/00000:12”.&lt;br /&gt;
&lt;br /&gt;
===iQM ID===&lt;br /&gt;
iQM can send an Email to the supervisor. In the object field will be indicated the text  of this field (max. 20 character). This is usefully if more iQM reports to the same supervisor, so with a glance he can identify the iQM “sender”.&lt;br /&gt;
&lt;br /&gt;
===e-mail===&lt;br /&gt;
e-mail account: the e-mail destination adress for the reports (example: kwa@innovaphone.com)&lt;br /&gt;
&lt;br /&gt;
e-mail server: e-mail server address (example: 135.23.34.1)&lt;br /&gt;
&lt;br /&gt;
Password: password for e-mail (not necessary if MS exchange)&lt;br /&gt;
&lt;br /&gt;
The following four options switch on the sending of e-mails:&lt;br /&gt;
&lt;br /&gt;
Mail each hour: the Actual hour counters are send to the supervisor each hour.&lt;br /&gt;
&lt;br /&gt;
Mail each day:  the Actual day counters are send to the supervisor each midnight&lt;br /&gt;
&lt;br /&gt;
Mail if alarm: if an Alarm trigger an email containing the alarm counters value is send to the supervisor.&lt;br /&gt;
&lt;br /&gt;
Note: if email is activated (account/server defined) an email is automatically generated when the reset button is pressed, the value of the resettable counters are transmitted.&lt;br /&gt;
&lt;br /&gt;
Hourly queue Status: If checked each hour at 45 a mail with the quarterly queue data in the message body is send (from build 80040)&lt;br /&gt;
&lt;br /&gt;
Skip empty: If checked just if calls occurs during the hour the a email is send(from build 80040)&lt;br /&gt;
&lt;br /&gt;
From Build 80266: if the field &amp;quot;From e-mal domain&amp;quot; and &amp;quot;To e-mail server&amp;quot; is blank the software try to start Outlook for sending the mail. Mail to all usual destination are possible (depending just on the outlook client setup).  The PC must therefore have a valid Outlook installed.&lt;br /&gt;
&lt;br /&gt;
== LAYOUT ==&lt;br /&gt;
&lt;br /&gt;
===Monitor Label===&lt;br /&gt;
is the label displayed in the top line if iQM&lt;br /&gt;
&lt;br /&gt;
===Language===&lt;br /&gt;
Select the language. See relative Wiki article for further information.&lt;br /&gt;
&lt;br /&gt;
===Presence idle label===&lt;br /&gt;
&lt;br /&gt;
If an agent has no presence the default wording for that status is “idle”, but some customer want to see for example a “-“ or “no”. If blank the standard idle is used, otherwise the word indicated here. &lt;br /&gt;
&lt;br /&gt;
===Password for setup===&lt;br /&gt;
if defined it is necessary to input the password to access to this menu, if black direct access is possible. Please note that after inserting the password you have to press the “setup” button again.&lt;br /&gt;
&lt;br /&gt;
===Always in foreground===&lt;br /&gt;
if selected the iQM form is displayed always on top of other windows even without focus.&lt;br /&gt;
&lt;br /&gt;
===Presence idel label===&lt;br /&gt;
&lt;br /&gt;
Set the wording for the idel status in the iQM Agent list view.&lt;br /&gt;
&lt;br /&gt;
=== Work as Supervisor===&lt;br /&gt;
From Build 80308&lt;br /&gt;
&lt;br /&gt;
If flagged the iQM server switch to a Supervisor mode server. A supervisor server can be reached from a Agent Client switched also in the Supervisor mode (see relative setup help).&lt;br /&gt;
&lt;br /&gt;
A supervisor server only provides status messages, so it does not record any statistics and does not act.&lt;br /&gt;
&lt;br /&gt;
It typically runs parallel to other iQM servers. Up to 6 queues can be monitored (if required, several Supervisor Seservers can also be operated in parallel).&lt;br /&gt;
&lt;br /&gt;
===x. Queue Long Name===&lt;br /&gt;
Enter the queue name if the iQM works as an Supervisor iQM.&lt;br /&gt;
&lt;br /&gt;
Note that the agent names or phone numbers of all queues must be specified in a file iQMagentlist.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel AGENT EXCEL LOGGING==&lt;br /&gt;
&lt;br /&gt;
===Logging ON===&lt;br /&gt;
&lt;br /&gt;
Select if you want switch on the Excel Data logging. &lt;br /&gt;
&lt;br /&gt;
===CSV Logging radio button===&lt;br /&gt;
Actual supported mode of logging, Excel is not required on the iQM Server. Data is saved in CSV mode. See relative Chapter for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Send each day===&lt;br /&gt;
&lt;br /&gt;
If selected data will be transmitted each day at midnight (if not just at the end of the month).&lt;br /&gt;
&lt;br /&gt;
=== Send Agent (80096) ===&lt;br /&gt;
&lt;br /&gt;
If not checked no individual Agent Data are send. &lt;br /&gt;
&lt;br /&gt;
=== Ring THD ===&lt;br /&gt;
&lt;br /&gt;
Ring Time Threshold in seconds. If not equal zero or blank (feature off) each time a call rings longer than the indicated seconds on a set of an Agent a counter in the Excel Statistic will be increased. &lt;br /&gt;
&lt;br /&gt;
=== Send WQ (80096) ===&lt;br /&gt;
&lt;br /&gt;
If not checked no WQ Data are send.&lt;br /&gt;
&lt;br /&gt;
=== Waiting TH (80096) ===&lt;br /&gt;
&lt;br /&gt;
Threshold in seconds, the number of calls waited over that value are reported in a separated column in the queue 15 Minute report. &lt;br /&gt;
&lt;br /&gt;
=== Log only calls from WQ (80096)===&lt;br /&gt;
&lt;br /&gt;
In the Agent log all incoming calls are counted, even for example the one from internal extensions. If this option if checked just calls coming from the WQ to the Agent are counted in the statistic.&lt;br /&gt;
&lt;br /&gt;
=== Carryover (80180)===&lt;br /&gt;
&lt;br /&gt;
If a call is in the WQ and a measuring time period (a quarter hour, an hour, a day) changes the waiting time of the actual call is saved in the actual period and immediately starts with zero in the new period. If in this situation a peak is reached and the peak counter is counting the new peak value is saved in the new period. If in the new period no call is longer than the peak apparently a wring peak is stored, a simple miss interpretation of the system behaviour. Now in the setup a carryover Flag can be set, if checked, a waiting call is added to the new period. Please note that in this case the total amount of waiting time of two periods cannot be added. &lt;br /&gt;
&lt;br /&gt;
==Panel CBR DATA==&lt;br /&gt;
(Build 80269)&lt;br /&gt;
&lt;br /&gt;
===IP addr.===&lt;br /&gt;
If the Call Back Request Data (IVR) from the XML are stored on a CF insert the IP adress (example: &amp;quot;192.168.50.2&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
If the CBR Data are stored on a Webdav add webdav (example: &amp;quot;192.168.50.3/webdav&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If the CBR Data are stored on a mSata App Platform (example: &amp;quot;myPlattform.myPBX.com&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Leave blank to switch off the feature.&lt;br /&gt;
&lt;br /&gt;
===User/Password===&lt;br /&gt;
Put in the credentials to access to the storage device (for example &amp;quot;admin&amp;quot; and &amp;quot;Ip811&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Path CBR=== &lt;br /&gt;
&lt;br /&gt;
Indicate the path on the CF where the XML is running (Excampe CF: &amp;quot;/DRIVE/CF0/iQM/&amp;quot;, example webdav &amp;quot;/log&amp;quot;, example mSata &amp;quot;/files/myDir/IVR&amp;quot;, for path check &amp;quot;i&amp;quot; in files).&lt;br /&gt;
&lt;br /&gt;
Leave blank if feature is off.&lt;br /&gt;
&lt;br /&gt;
Note: do not enter the &amp;quot;/DATA&amp;quot; subdiretory&lt;br /&gt;
&lt;br /&gt;
===Outbound===&lt;br /&gt;
&lt;br /&gt;
Flag to switch on the Outbound Feature. Note that the fields &amp;quot;Path Outbound&amp;quot;, &amp;quot;National Prefix&amp;quot; and &amp;quot;Trunk access code&amp;quot; are valid only for the outbound Feature.&lt;br /&gt;
&lt;br /&gt;
===Path Outbound===&lt;br /&gt;
Indicate the path to the drive and directory where the outbound campaign files are stored. (Example: &amp;quot;c:\outbound&amp;quot; , &amp;quot;\\myNetdrive\dfs\Out&amp;quot;. The access must be allowed to the application without login. &lt;br /&gt;
&lt;br /&gt;
===Nat.Prefix===&lt;br /&gt;
Enter the national prefix (example &amp;quot;0049&amp;quot; for Germany.). This is required for import normalization of numbers.&lt;br /&gt;
&lt;br /&gt;
===Trunk===&lt;br /&gt;
Enter the trunk access code (example &amp;quot;0&amp;quot;). This is only necessary if importet numbers have not the access code. &lt;br /&gt;
&lt;br /&gt;
===Abandoned call overflow in IVR===&lt;br /&gt;
&lt;br /&gt;
Build 80247 &lt;br /&gt;
If the recall list is full and calls are not recalled will be saved in the IVR. If this feature is on no CF will be checked! &lt;br /&gt;
The abandoned calls are only passed to the IVR if no Agent did a recall. Once passed,  the missed calls will not be returned to the missed call list even if this list is empty.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
All parameters are stored in an xml file named “iQM_Setup.xml” in the directory of the log files. If deleted the iQM will start blank (in this case no communication is tried) like after a initial installation, if this file is copied to an other installation you have done a clone (just from the setup,remember that the license is stored in the PBX). In theroy this file can also be edited with a normal text editor. All password are encrypted in the setup file.&lt;br /&gt;
&lt;br /&gt;
Until this page is open communication with Agent/the PBX is interrupted. Therefore a long opened session will cause a new setup session for the SOAP communication while Agents probably will go into a timeout and have to restart their session. This behavior is independent if the setup is leaved with or without saving of the setup data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some setup parameter requires a reset (for example a new IP-Adress), means a new start of the application, some not (for example a different Layout). A warning triangle will show you in the iQM view if a restart is necessary or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM081.png‎]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:IQM_Server_Setup&amp;diff=60908</id>
		<title>Reference9:IQM Server Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:IQM_Server_Setup&amp;diff=60908"/>
		<updated>2022-01-25T06:20:00Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Presence idel label */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The parameters for the setup of the iQM sever are configured here.&lt;br /&gt;
&lt;br /&gt;
iQM Build 80128&lt;br /&gt;
&lt;br /&gt;
== Panel COMMUNICATION ==&lt;br /&gt;
&lt;br /&gt;
===IP Address PBX===&lt;br /&gt;
&lt;br /&gt;
IP address of the innovaphone PBX, for example 172.14.5.6. If you operate the innovaphone PBX on a specified Port address you have to specify this (for example “172.14.5.6:1234” for port 1234), in usual setups not necessary.&lt;br /&gt;
&lt;br /&gt;
===Admin user===&lt;br /&gt;
Admin user for login the PBX (for example “admin”)&lt;br /&gt;
&lt;br /&gt;
===Admin Password===&lt;br /&gt;
The password to access to the PBX (for example “ip800”). Please note that the credentials must be the one of the Administrator([[Reference10:General/Admin | General/Admin]]) or of a PBX-user with at least &amp;quot;Viewing Only&amp;quot; PBX-rights([[Reference9:PBX/Objects/Edit_Rights | PBX/Objects/Edit_Rights]]). From a security point of view, it is recommended to use the PBX-user for authentication. It is recommended to use the SOAP user(see below) for this purpose. As a result, the SOAP user should have at least &amp;quot;Viewing Only&amp;quot; PBX-rights and a password.&lt;br /&gt;
&lt;br /&gt;
For more information on the different account types, have a look at [[Course11:Advanced_-_innovaphone_Security_Features#Managing_accounts]]&lt;br /&gt;
&lt;br /&gt;
===Dyna-PBX-id===&lt;br /&gt;
if the iQM should work on a dyna-PBX (multiple PBX) you must define the ID of that PBX  (example: “987654321”, see dyna PBX for the ID). Left blank if iQM  is not working on a Queue located in a dyna-PBX (typical setup).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===SOAP user===&lt;br /&gt;
indicate the name of the SOAP use in the innovaphone PBX. Remember that the “soap user” is just a normal user object, requires no license and has no number.  PBX: Specify a new user in the PBX (to simplify we recommend to give name, short name and display name the same one) and assign a group to this object and make the group active (*). Remember that all agents have to be in that group, but not active.&lt;br /&gt;
&lt;br /&gt;
It is a good idea creates a SOAP user just for the iQM. In some scenario there are also running other SOAP applications (for example a TAPI), and therefore all users are SOAP members. But the iQM needs information just from the agents. To speed up the system (for example in the startup) create a dedicated SOAP user and assign it to the agents.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
Select if you have activated the HTTPS flag in the PBX. Please note that a port indicated in the IP Address PBX field is ignored. Do not flag if no HTTPS is switched on in the PBX.&lt;br /&gt;
&lt;br /&gt;
=== No Unreg Warning ===&lt;br /&gt;
&lt;br /&gt;
If checked iQM will not give warnings if innovaphone IP Phones are detected as not registered during the start-up or becomes unregistered during operation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===iQMagent client port ===&lt;br /&gt;
Indicate the port for the iQM clients, default is “9090”. Of cause you must also indicate the same port in the iQMclient setup. In the iQMclient you have to indicate also the IP-address of the PC where iQMserver is running. The field “own IP address” shows you the IP address of the iQM server PC.&lt;br /&gt;
&lt;br /&gt;
If you install on a PC several iQM remember to assign in the Setup for each different Port Number for the communication with the client. If you leave default port (and so the same one) the second iQM will crash after start-up.&lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
&lt;br /&gt;
If the access of the client to the iQM Server should is protected by a password you have to insert it here. (build 80181)&lt;br /&gt;
&lt;br /&gt;
=== own IP address ===&lt;br /&gt;
&lt;br /&gt;
Shows the IP address of the PC, this is the iQM server address for the client setup&lt;br /&gt;
&lt;br /&gt;
==Panel STANDBY PBX==&lt;br /&gt;
&lt;br /&gt;
===Standby PBX IP-Adr.===&lt;br /&gt;
&lt;br /&gt;
IP address of the innovaphone Standby-PBX, for example 172.14.5.6. If you operate the innovaphone PBX on a specified Port address you have to specify this (for example “172.14.5.6:1234” for port 1234), in usual setups not necessary. &lt;br /&gt;
&lt;br /&gt;
If this field is blank no standby PBX is defined.&lt;br /&gt;
&lt;br /&gt;
===Admin user===&lt;br /&gt;
&lt;br /&gt;
Admin user for login the Standby-PBX (for example “admin”)&lt;br /&gt;
&lt;br /&gt;
===Admin Password===&lt;br /&gt;
&lt;br /&gt;
Indicate the password to access to the Standby PBX (for example “ip800”). Please note that the credentials must be the one of the administrator, the SOAP session requires full access to the PBX.&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
&lt;br /&gt;
Select if you have activated the HTTPS flag in the Standby-PBX. Please note that a port indicated in the IP Address PBX field is ignored. Do not flag if no HTTPS is switched on in the Standby-PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Panel QUEUE ==&lt;br /&gt;
&lt;br /&gt;
===Queue Long Name===&lt;br /&gt;
Long Name of the waiting queue to monitor (example: &amp;quot;myQueue”) .  PBX: Assign an active group to this Queue in the PBX and put also all Agents in. This is also the Primary group to point on in the WQ configuration. This group must be a dynamic group for Agents. See picture at the end of this article or local help or read the howto article if not clear.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The name and the long name in the PBX must be the same! If not no Wrap-up is possible.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Group Label===&lt;br /&gt;
&lt;br /&gt;
If blank the name the Queue Long name is taken as description in the header of the column of the agent list. In many cases the name of the queues in the PBX are not very clear, long and complicated. If so insert a nice label that is clear for the agent.  &lt;br /&gt;
&lt;br /&gt;
===Agent Group===&lt;br /&gt;
This information will be read out from the PBX setup and has not to be configured.&lt;br /&gt;
&lt;br /&gt;
===Queue Password===&lt;br /&gt;
myPBX password for the Queue, if blank name resolution is switched off.&lt;br /&gt;
&lt;br /&gt;
Form V13 or higher this feature is no longer supported. Agent could use myApps Client to shows names.&lt;br /&gt;
&lt;br /&gt;
Build 80259&lt;br /&gt;
&lt;br /&gt;
The iQM server will switch off this feature automatically when version &amp;gt;12 is detected.&lt;br /&gt;
&lt;br /&gt;
Form build 80259 the SW Vwersion of the PBX is displayed in the main view of the iQM Server.&lt;br /&gt;
&lt;br /&gt;
===PC sound if Alarm===&lt;br /&gt;
If one of the thresholds is reached and the iQM signals an alarm (relative button is flashing red and alarm counter is increased) the PC play the Wave file indicated in the “File” field. If no file is indicated the innovaphone MOH is played. &lt;br /&gt;
&lt;br /&gt;
===Alarm auto reset===&lt;br /&gt;
the PC will play the file in loop until the alarm is quitted if this field is blank. Here you can define in seconds a maximum duration of playing even is the alarm is not quitted. Example: “10” – the PC will play for 10 seconds after the alarm goes on and then stop playing.&lt;br /&gt;
&lt;br /&gt;
File: pressing the button a file dialog windows appears and you can define the wave file to play.&lt;br /&gt;
&lt;br /&gt;
=== Ignore Presence ===&lt;br /&gt;
If checked a present status of an Agent will be ignored by iQM. If not checked an Agent with an active presence is considered as “not available”.&lt;br /&gt;
Note that the call processing will not depend on this setting (but remember that you can influence that in the WQ itself).&lt;br /&gt;
&lt;br /&gt;
=== Allow Agent Forking ===&lt;br /&gt;
&lt;br /&gt;
If checked an Agent can even be a not registered Phone, if a Forking e164 destination is configured in this user object the iQM consider that Agent like a registered one. So if he is in the group he will become calls, and the counter “ready” will also count hose dummy forking extension. On start up anyway the error “no registered Phone” appears (the triangle in the agent count), to avoid that switch on “No Unreg Warning”. In the Agent list instead “UREG!” a “UNREG/FORK” is displayed if idle. Wrap up etc. will work like on a “normal” Agent user.&lt;br /&gt;
&lt;br /&gt;
===Minimum Duration===&lt;br /&gt;
&lt;br /&gt;
Calls waiting in the queue shorter than this threshold in seconds are not considered abandoned calls if they give up. Leave blank or set 0 to disable this feature.&lt;br /&gt;
&lt;br /&gt;
===No dereg CNT===&lt;br /&gt;
&lt;br /&gt;
If flagged an Agent not registered in the PBX is not displayed as “in group” (even if technically he is in the group). Do not flag if forking is an option. &lt;br /&gt;
&lt;br /&gt;
===2. Queue Name===&lt;br /&gt;
in this field you specify the name of the 2nd WQ.&lt;br /&gt;
&lt;br /&gt;
===2. Group Label===&lt;br /&gt;
&lt;br /&gt;
Same issue like the one for the first group&lt;br /&gt;
&lt;br /&gt;
===2. Dyna Agent Group===&lt;br /&gt;
&lt;br /&gt;
Name of the second agent group (the one where the second waiting queue is pointing on).&lt;br /&gt;
See picture at the end of this article or local help or read the howto article if not clear.&lt;br /&gt;
&lt;br /&gt;
===2. Agent Group (dyna)===&lt;br /&gt;
&lt;br /&gt;
This information will be read out from the PBX setup and has not to be configured.&lt;br /&gt;
&lt;br /&gt;
== Panel DATA LOGGING ==&lt;br /&gt;
&lt;br /&gt;
===Actual path of log files===&lt;br /&gt;
iQM stress the files as default (on first start up and if never defined a path) in the application user directory (typically “C:\Users\YourAccount\AppData\Roaming\”). If more than one iQM should work on one single PC you can activate them installing using different PC users. But it is simpler install all the iQM’s with the same user indicating different path for data logging (and user setup, it will be used is the same path). So in this filed you will see the actual path. Remember that even the setup data are stored in a file in this directory. All iQM files will start with “iQMxxx” and are simple text or XML files. &lt;br /&gt;
&lt;br /&gt;
===Set log directory===&lt;br /&gt;
if you press this button a path dialog window will appear and you can define the path for data and setup data. This path will be stored in the directory where iQM is running in a file named “iQM_Logdir.txt”. If that file exists iQM will load the path and then try to load and store the data there. If you like return to the default path (“C:\Users\YourAccount\AppData\Roaming\”) you have to indicate that in the Path or delete the file “iQM_Logdir.txt”.&lt;br /&gt;
&lt;br /&gt;
===CSV character===&lt;br /&gt;
In the log file a record contains different data. If nothing indicated in this filed a space will separate the single data fields in a record. Example “10.01.2011 17:44:00 00000:12” – between date, time and counter value is a space. If in this filed you indicate for example a “/” the result will be: “10.01.2011/17:44:00/00000:12”.&lt;br /&gt;
&lt;br /&gt;
===iQM ID===&lt;br /&gt;
iQM can send an Email to the supervisor. In the object field will be indicated the text  of this field (max. 20 character). This is usefully if more iQM reports to the same supervisor, so with a glance he can identify the iQM “sender”.&lt;br /&gt;
&lt;br /&gt;
===e-mail===&lt;br /&gt;
e-mail account: the e-mail destination adress for the reports (example: kwa@innovaphone.com)&lt;br /&gt;
&lt;br /&gt;
e-mail server: e-mail server address (example: 135.23.34.1)&lt;br /&gt;
&lt;br /&gt;
Password: password for e-mail (not necessary if MS exchange)&lt;br /&gt;
&lt;br /&gt;
The following four options switch on the sending of e-mails:&lt;br /&gt;
&lt;br /&gt;
Mail each hour: the Actual hour counters are send to the supervisor each hour.&lt;br /&gt;
&lt;br /&gt;
Mail each day:  the Actual day counters are send to the supervisor each midnight&lt;br /&gt;
&lt;br /&gt;
Mail if alarm: if an Alarm trigger an email containing the alarm counters value is send to the supervisor.&lt;br /&gt;
&lt;br /&gt;
Note: if email is activated (account/server defined) an email is automatically generated when the reset button is pressed, the value of the resettable counters are transmitted.&lt;br /&gt;
&lt;br /&gt;
Hourly queue Status: If checked each hour at 45 a mail with the quarterly queue data in the message body is send (from build 80040)&lt;br /&gt;
&lt;br /&gt;
Skip empty: If checked just if calls occurs during the hour the a email is send(from build 80040)&lt;br /&gt;
&lt;br /&gt;
From Build 80266: if the field &amp;quot;From e-mal domain&amp;quot; and &amp;quot;To e-mail server&amp;quot; is blank the software try to start Outlook for sending the mail. Mail to all usual destination are possible (depending just on the outlook client setup).  The PC must therefore have a valid Outlook installed.&lt;br /&gt;
&lt;br /&gt;
== LAYOUT ==&lt;br /&gt;
&lt;br /&gt;
===Monitor Label===&lt;br /&gt;
is the label displayed in the top line if iQM&lt;br /&gt;
&lt;br /&gt;
===Language===&lt;br /&gt;
Select the language. See relative Wiki article for further information.&lt;br /&gt;
&lt;br /&gt;
===Presence idle label===&lt;br /&gt;
&lt;br /&gt;
If an agent has no presence the default wording for that status is “idle”, but some customer want to see for example a “-“ or “no”. If blank the standard idle is used, otherwise the word indicated here. &lt;br /&gt;
&lt;br /&gt;
===Password for setup===&lt;br /&gt;
if defined it is necessary to input the password to access to this menu, if black direct access is possible. Please note that after inserting the password you have to press the “setup” button again.&lt;br /&gt;
&lt;br /&gt;
===Always in foreground===&lt;br /&gt;
if selected the iQM form is displayed always on top of other windows even without focus.&lt;br /&gt;
&lt;br /&gt;
===Presence idel label===&lt;br /&gt;
&lt;br /&gt;
Set the wording for the idel status in the iQM Agent list view.&lt;br /&gt;
&lt;br /&gt;
=== Work as Supervisor===&lt;br /&gt;
From Build 80308&lt;br /&gt;
&lt;br /&gt;
If flagged the iQM server siwtch to a Supervisor mode server. A supervisor server can be reached from a Agent Client switched also in the Supervisor mode (see relative setup help).&lt;br /&gt;
&lt;br /&gt;
A supervisor server only provides status messages, so it does not record any statistics and does not act.&lt;br /&gt;
&lt;br /&gt;
It typically runs parallel to other iQM servers. Up to 6 queues can be monitored (if required, several Supervisor Seservers can also be operated in parallel).&lt;br /&gt;
&lt;br /&gt;
===x. Queue Long Name===&lt;br /&gt;
Enter the queue name if the iQM works as an Supervisor iQM.&lt;br /&gt;
&lt;br /&gt;
Note that the agent names or phone numbers of all queues must be specified in a file iQMagentlist.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panel AGENT EXCEL LOGGING==&lt;br /&gt;
&lt;br /&gt;
===Logging ON===&lt;br /&gt;
&lt;br /&gt;
Select if you want switch on the Excel Data logging. &lt;br /&gt;
&lt;br /&gt;
===CSV Logging radio button===&lt;br /&gt;
Actual supported mode of logging, Excel is not required on the iQM Server. Data is saved in CSV mode. See relative Chapter for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Send each day===&lt;br /&gt;
&lt;br /&gt;
If selected data will be transmitted each day at midnight (if not just at the end of the month).&lt;br /&gt;
&lt;br /&gt;
=== Send Agent (80096) ===&lt;br /&gt;
&lt;br /&gt;
If not checked no individual Agent Data are send. &lt;br /&gt;
&lt;br /&gt;
=== Ring THD ===&lt;br /&gt;
&lt;br /&gt;
Ring Time Threshold in seconds. If not equal zero or blank (feature off) each time a call rings longer than the indicated seconds on a set of an Agent a counter in the Excel Statistic will be increased. &lt;br /&gt;
&lt;br /&gt;
=== Send WQ (80096) ===&lt;br /&gt;
&lt;br /&gt;
If not checked no WQ Data are send.&lt;br /&gt;
&lt;br /&gt;
=== Waiting TH (80096) ===&lt;br /&gt;
&lt;br /&gt;
Threshold in seconds, the number of calls waited over that value are reported in a separated column in the queue 15 Minute report. &lt;br /&gt;
&lt;br /&gt;
=== Log only calls from WQ (80096)===&lt;br /&gt;
&lt;br /&gt;
In the Agent log all incoming calls are counted, even for example the one from internal extensions. If this option if checked just calls coming from the WQ to the Agent are counted in the statistic.&lt;br /&gt;
&lt;br /&gt;
=== Carryover (80180)===&lt;br /&gt;
&lt;br /&gt;
If a call is in the WQ and a measuring time period (a quarter hour, an hour, a day) changes the waiting time of the actual call is saved in the actual period and immediately starts with zero in the new period. If in this situation a peak is reached and the peak counter is counting the new peak value is saved in the new period. If in the new period no call is longer than the peak apparently a wring peak is stored, a simple miss interpretation of the system behaviour. Now in the setup a carryover Flag can be set, if checked, a waiting call is added to the new period. Please note that in this case the total amount of waiting time of two periods cannot be added. &lt;br /&gt;
&lt;br /&gt;
==Panel CBR DATA==&lt;br /&gt;
(Build 80269)&lt;br /&gt;
&lt;br /&gt;
===IP addr.===&lt;br /&gt;
If the Call Back Request Data (IVR) from the XML are stored on a CF insert the IP adress (example: &amp;quot;192.168.50.2&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
If the CBR Data are stored on a Webdav add webdav (example: &amp;quot;192.168.50.3/webdav&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
If the CBR Data are stored on a mSata App Platform (example: &amp;quot;myPlattform.myPBX.com&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Leave blank to switch off the feature.&lt;br /&gt;
&lt;br /&gt;
===User/Password===&lt;br /&gt;
Put in the credentials to access to the storage device (for example &amp;quot;admin&amp;quot; and &amp;quot;Ip811&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Path CBR=== &lt;br /&gt;
&lt;br /&gt;
Indicate the path on the CF where the XML is running (Excampe CF: &amp;quot;/DRIVE/CF0/iQM/&amp;quot;, example webdav &amp;quot;/log&amp;quot;, example mSata &amp;quot;/files/myDir/IVR&amp;quot;, for path check &amp;quot;i&amp;quot; in files).&lt;br /&gt;
&lt;br /&gt;
Leave blank if feature is off.&lt;br /&gt;
&lt;br /&gt;
Note: do not enter the &amp;quot;/DATA&amp;quot; subdiretory&lt;br /&gt;
&lt;br /&gt;
===Outbound===&lt;br /&gt;
&lt;br /&gt;
Flag to switch on the Outbound Feature. Note that the fields &amp;quot;Path Outbound&amp;quot;, &amp;quot;National Prefix&amp;quot; and &amp;quot;Trunk access code&amp;quot; are valid only for the outbound Feature.&lt;br /&gt;
&lt;br /&gt;
===Path Outbound===&lt;br /&gt;
Indicate the path to the drive and directory where the outbound campaign files are stored. (Example: &amp;quot;c:\outbound&amp;quot; , &amp;quot;\\myNetdrive\dfs\Out&amp;quot;. The access must be allowed to the application without login. &lt;br /&gt;
&lt;br /&gt;
===Nat.Prefix===&lt;br /&gt;
Enter the national prefix (example &amp;quot;0049&amp;quot; for Germany.). This is required for import normalization of numbers.&lt;br /&gt;
&lt;br /&gt;
===Trunk===&lt;br /&gt;
Enter the trunk access code (example &amp;quot;0&amp;quot;). This is only necessary if importet numbers have not the access code. &lt;br /&gt;
&lt;br /&gt;
===Abandoned call overflow in IVR===&lt;br /&gt;
&lt;br /&gt;
Build 80247 &lt;br /&gt;
If the recall list is full and calls are not recalled will be saved in the IVR. If this feature is on no CF will be checked! &lt;br /&gt;
The abandoned calls are only passed to the IVR if no Agent did a recall. Once passed,  the missed calls will not be returned to the missed call list even if this list is empty.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
All parameters are stored in an xml file named “iQM_Setup.xml” in the directory of the log files. If deleted the iQM will start blank (in this case no communication is tried) like after a initial installation, if this file is copied to an other installation you have done a clone (just from the setup,remember that the license is stored in the PBX). In theroy this file can also be edited with a normal text editor. All password are encrypted in the setup file.&lt;br /&gt;
&lt;br /&gt;
Until this page is open communication with Agent/the PBX is interrupted. Therefore a long opened session will cause a new setup session for the SOAP communication while Agents probably will go into a timeout and have to restart their session. This behavior is independent if the setup is leaved with or without saving of the setup data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some setup parameter requires a reset (for example a new IP-Adress), means a new start of the application, some not (for example a different Layout). A warning triangle will show you in the iQM view if a restart is necessary or not.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM081.png‎]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60787</id>
		<title>Reference13r2:Concept App Service Recordings</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60787"/>
		<updated>2022-01-17T09:33:12Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Recordings is an application running on the App platform which allows to capture the audio streams during a telephone call.&lt;br /&gt;
The users phone can be configured to send bi-directional audio streams to the Recordings App and store them into the database.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX from version 13r2&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone Application Platform&lt;br /&gt;
* Firmware V13r2xx&lt;br /&gt;
* Recordings App&lt;br /&gt;
* Recordings App licenses&lt;br /&gt;
* Device with PCAP Recording Interface:&lt;br /&gt;
** innovaphone deskphones (not V13-SoftphoneApp)&lt;br /&gt;
** innovaphone gateway interfaces&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&lt;br /&gt;
=== recordings ===&lt;br /&gt;
[[Image: Usrrecord.png]]&lt;br /&gt;
&lt;br /&gt;
User version of the App allow you to:&lt;br /&gt;
* Access to the user specific records&lt;br /&gt;
* Access to the user specific logs&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .WAV file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
=== recordingsadmin ===&lt;br /&gt;
[[Image:Adminrecord.png]]&lt;br /&gt;
&lt;br /&gt;
Admin version of the app allow you to:&lt;br /&gt;
* Access to all records&lt;br /&gt;
* Access to all logs&lt;br /&gt;
* Set up the records auto deletion retention time in days&lt;br /&gt;
* Set the PBX name&lt;br /&gt;
* Set specific trace levels&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .wav file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
== PBX Manager Plugin ==&lt;br /&gt;
&lt;br /&gt;
With the Recordings PBX Manager Plugin an App Object can be created, edited and deleted on the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
* Download the Recordings App via App Store.&lt;br /&gt;
* Install the App on the App Platform Manager.&lt;br /&gt;
* Create a instance for the Recordings App on the App Platform Manager.&lt;br /&gt;
* Create a new PBX recordings APP-Object with the PBX Manager Plugin.&lt;br /&gt;
* Create a new PBX recordingsadmin APP-Object with the PBX Manager Plugin.&lt;br /&gt;
* Assign recordingsadmin  App to authorized (admin) users, which will be allowed to open the Admin UI of the Recordings App.&lt;br /&gt;
* Assign recordings  App to users who will use the Recordings App.&lt;br /&gt;
* Start recordingsadmin App and configure the name of the PBX in the settings via upright option&lt;br /&gt;
* assign Record to (URL) to recording devices/objects in format&lt;br /&gt;
: &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;&#039;&#039;ap.domain.tld&#039;&#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039;&#039;domain.tld&#039;&#039;&amp;lt;code&amp;gt;/recordings/Files&amp;lt;/code&amp;gt;&lt;br /&gt;
:at deskphones or gateway interfaces.&lt;br /&gt;
:At innovaphone deskphones, enable recording via Phone/User-X/Recording by setting &#039;&#039;Mode&#039;&#039; to &amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt; and &#039;&#039;Recorder&#039;&#039; to &amp;lt;code&amp;gt;HTTP Server&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
=== Access List ===&lt;br /&gt;
Unlike Recordings Admin App, which lists recordings of all users, Recordings App for users limits the listing of recordings to those made by the using user himself.&lt;br /&gt;
&lt;br /&gt;
A possibility to extend the listing of the recordings to other extensions/users is provided by the Access List. In the Access List additional extension can be defined, which will be listed to the Users of the App. This way the Recordings App Service can be accessed via different App Objects, with different Access Lists.&lt;br /&gt;
&lt;br /&gt;
This way scenarios, like sharing recordings between a team members or supervisor access to recordings of call agents are possible.&lt;br /&gt;
&lt;br /&gt;
=== Scheduled deletion of old recordings ===&lt;br /&gt;
You can configure a time period between &#039;&#039;1 and 11000 days&#039;&#039; (in maximum round about 30 years), after which recordings are automatically removed. You can enter &#039;&#039;0 days&#039;&#039; here to disable the scheduled deletion&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-recorder)&#039;&#039; must be installed on the PBX to enable Recordings App functionality for specified users.&lt;br /&gt;
&lt;br /&gt;
The Recorder App License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
 The recordings for users without an assigned Recorder App License will be unrecoverably deleted.&lt;br /&gt;
&lt;br /&gt;
=== Recording on Special Interfaces ===&lt;br /&gt;
&lt;br /&gt;
* Trunk Interface&lt;br /&gt;
&lt;br /&gt;
The Trunk Interface acts as a substitute for the users phone. For outgoing calls the call initiator is the owner of the recording and for him a license is recuired. With incoming calls, the first user answering the call own the recording and a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
* Waiting Queue&lt;br /&gt;
&lt;br /&gt;
The user answering the call is owner, a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrade from V13r1 to V13r2 Recordings App ==&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
&lt;br /&gt;
A V13r1 Recordings App can be used in the V13r2 PBX and App Platform environment.&lt;br /&gt;
&lt;br /&gt;
=== License Changes ===&lt;br /&gt;
With V13r2 required License Type for the Recordings App changes from a Service License (&#039;&#039;Service(innovaphone-recordings)&#039;&#039;) to an App License (&#039;&#039;App(innovaphone-recorder)&#039;&#039;). Existing Service Licenses are extended by the same number of App Licenses when the licenses are downloaded from my.innovaphone.com.&lt;br /&gt;
&lt;br /&gt;
Customers with the previous innovaphone Recording 2014 solution, which are equipped with SSA, should contact the innovaphone licenses department prior to the physical upgrade on customers&#039; location on time,  to receive an adjustment in the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Recording-Object Accessrights ===&lt;br /&gt;
Make sure that the function &amp;quot;websocket&amp;quot; and the checkmark &amp;quot;Admin&amp;quot; in the section &#039;&#039;Grant access to APIs&#039;&#039; is activated in the recording object.&lt;br /&gt;
&lt;br /&gt;
=== Database Conversion ===&lt;br /&gt;
On first start after update from V13r1 to V13r2 Recordings App, the App Service will start a database conversion procedure. Depending on the number of recordings in the database, time for conversion my take up to 30 minutes for a database with 100000 recordings.&lt;br /&gt;
&lt;br /&gt;
 !!! It is recommended to export the Recordings App database for backup purposes, prior updating the App. !!!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Recordings App Service ===&lt;br /&gt;
The App Service for Recordings App provides a log output on the App instance, after the Diagnostics option &amp;quot;App&amp;quot; is activated for the selected instance.&lt;br /&gt;
&lt;br /&gt;
Additional Trace Level Options for the App Service are configurable via Recordings Admin App. This settings are available via additional Menu in the upper right corner of the Recordings Admin UI:&lt;br /&gt;
&lt;br /&gt;
*Recording - PCAP interface related traces, useful on issues with IP-Phone and Interface Media transmission from Endpoint to the App Service&lt;br /&gt;
*Call Information - traces related to the CDR information&lt;br /&gt;
*Converting - traces for conversion process from VoIP codecs to WAV&lt;br /&gt;
*License - traces for on licensing issues&lt;br /&gt;
*UI - traces related to the user interface of the Recordings App&lt;br /&gt;
&lt;br /&gt;
The name of the Master PBX must be configured via the Recordings Admin App, otherwise a message &#039;&#039;PBX Name missing&#039;&#039; will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== PBX Configuration ===&lt;br /&gt;
*WebSocket connection from App Object to the recordings app should show &#039;&#039;connected&#039;&#039;&lt;br /&gt;
*A correct configuration of the CDR interface is required for transmission of metadata to the recordings service. In case this transmission is not successful, a recording will show a &#039;&#039;NoCDR&#039;&#039; message, instead of username&lt;br /&gt;
&lt;br /&gt;
=== PCAP Recording Interfaces ===&lt;br /&gt;
*Check URL for PCAP Recording provided on the IP-Phone or VoIP-Interface of a VoIP Gateway&lt;br /&gt;
*A Trace with enabled HTTP-Client option should show a successful HTTP PUT Request towards URL of the Recordings Service PCAP interface (e.g. &amp;lt;code&amp;gt;HTTPCLIENT WEBDAV_FILE_HTTP.2: PUT http://ap.company.com/company.com/recordings/Files/f9e5956e47d460010630009033302ab1-009033302ab1-11--username.pcap&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:V13r2 Recordings App configuration]]&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
The App Licenses are not supported in the [[Reference12r1:General/License|Test Mode]] at the moment, instead a [https://wiki.innovaphone.com/index.php?title=Reference:My_Innovaphone#Download_test_licenses Test License] should be used.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60786</id>
		<title>Reference13r2:Concept App Service Recordings</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60786"/>
		<updated>2022-01-17T09:14:29Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* recordingsadmin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Recordings is an application running on the App platform which allows to capture the audio streams during a telephone call.&lt;br /&gt;
The users phone can be configured to send bi-directional audio streams to the Recordings App and store them into the database.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX from version 13r2&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone Application Platform&lt;br /&gt;
* Firmware V13r2xx&lt;br /&gt;
* Recordings App&lt;br /&gt;
* Recordings App licenses&lt;br /&gt;
* Device with PCAP Recording Interface:&lt;br /&gt;
** innovaphone deskphones (not V13-SoftphoneApp)&lt;br /&gt;
** innovaphone gateway interfaces&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&lt;br /&gt;
=== recordings ===&lt;br /&gt;
[[Image: Usrrecord.png]]&lt;br /&gt;
&lt;br /&gt;
User version of the App allow you to:&lt;br /&gt;
* Access to the user specific records&lt;br /&gt;
* Access to the user specific logs&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .WAV file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
=== recordingsadmin ===&lt;br /&gt;
[[Image:Adminrecord.png]]&lt;br /&gt;
&lt;br /&gt;
Admin version of the app allow you to:&lt;br /&gt;
* Access to all records&lt;br /&gt;
* Access to all logs&lt;br /&gt;
* Set up the records auto deletion retention time in days&lt;br /&gt;
* Set the PBX name&lt;br /&gt;
* Set specific trace levels&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .wav file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
== PBX Manager Plugin ==&lt;br /&gt;
&lt;br /&gt;
With the Recordings PBX Manager Plugin an App Object can be created, edited and deleted on the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
* Download the Recordings App via App Store.&lt;br /&gt;
* Install the App on the App Platform Manager.&lt;br /&gt;
* Create a instance for the Recordings App on the App Platform Manager.&lt;br /&gt;
* Create a new PBX recordings Object with the PBX Manager Plugin.&lt;br /&gt;
* Create a new PBX recordingsadmin Object with the PBX Manager Plugin.&lt;br /&gt;
* Assign recordingsadmin  App to authorized (admin) users, which will be allowed to open the Admin UI of the Recordings App.&lt;br /&gt;
* Assign recordings  App to users who will use the Recordings App.&lt;br /&gt;
* Start recordingsadmin App and configure the name of the PBX in the settings via upright option&lt;br /&gt;
* assign Record to (URL) to recording devices/objects in format&lt;br /&gt;
: &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;&#039;&#039;ap.domain.tld&#039;&#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039;&#039;domain.tld&#039;&#039;&amp;lt;code&amp;gt;/recordings/Files&amp;lt;/code&amp;gt;&lt;br /&gt;
* at innovaphone deskphones, enable recording via Phone/User-X/Recording by setting &#039;&#039;Mode&#039;&#039; to &amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt; and &#039;&#039;Recorder&#039;&#039; to &amp;lt;code&amp;gt;HTTP Server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access List ===&lt;br /&gt;
Unlike Recordings Admin App, which lists recordings of all users, Recordings App for users limits the listing of recordings to those made by the using user himself.&lt;br /&gt;
&lt;br /&gt;
A possibility to extend the listing of the recordings to other extensions/users is provided by the Access List. In the Access List additional extension can be defined, which will be listed to the Users of the App. This way the Recordings App Service can be accessed via different App Objects, with different Access Lists.&lt;br /&gt;
&lt;br /&gt;
This way scenarios, like sharing recordings between a team members or supervisor access to recordings of call agents are possible.&lt;br /&gt;
&lt;br /&gt;
=== Scheduled deletion of old recordings ===&lt;br /&gt;
You can configure a time period between &#039;&#039;1 and 11000 days&#039;&#039; (in maximum round about 30 years), after which recordings are automatically removed. You can enter &#039;&#039;0 days&#039;&#039; here to disable the scheduled deletion&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-recorder)&#039;&#039; must be installed on the PBX to enable Recordings App functionality for specified users.&lt;br /&gt;
&lt;br /&gt;
The Recorder App License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
 The recordings for users without an assigned Recorder App License will be unrecoverably deleted.&lt;br /&gt;
&lt;br /&gt;
=== Recording on Special Interfaces ===&lt;br /&gt;
&lt;br /&gt;
* Trunk Interface&lt;br /&gt;
&lt;br /&gt;
The Trunk Interface acts as a substitute for the users phone. For outgoing calls the call initiator is the owner of the recording and for him a license is recuired. With incoming calls, the first user answering the call own the recording and a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
* Waiting Queue&lt;br /&gt;
&lt;br /&gt;
The user answering the call is owner, a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrade from V13r1 to V13r2 Recordings App ==&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
&lt;br /&gt;
A V13r1 Recordings App can be used in the V13r2 PBX and App Platform environment.&lt;br /&gt;
&lt;br /&gt;
=== License Changes ===&lt;br /&gt;
With V13r2 required License Type for the Recordings App changes from a Service License (&#039;&#039;Service(innovaphone-recordings)&#039;&#039;) to an App License (&#039;&#039;App(innovaphone-recorder)&#039;&#039;). Existing Service Licenses are extended by the same number of App Licenses when the licenses are downloaded from my.innovaphone.com.&lt;br /&gt;
&lt;br /&gt;
Customers with the previous innovaphone Recording 2014 solution, which are equipped with SSA, should contact the innovaphone licenses department prior to the physical upgrade on customers&#039; location on time,  to receive an adjustment in the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Recording-Object Accessrights ===&lt;br /&gt;
Make sure that the function &amp;quot;websocket&amp;quot; and the checkmark &amp;quot;Admin&amp;quot; in the section &#039;&#039;Grant access to APIs&#039;&#039; is activated in the recording object.&lt;br /&gt;
&lt;br /&gt;
=== Database Conversion ===&lt;br /&gt;
On first start after update from V13r1 to V13r2 Recordings App, the App Service will start a database conversion procedure. Depending on the number of recordings in the database, time for conversion my take up to 30 minutes for a database with 100000 recordings.&lt;br /&gt;
&lt;br /&gt;
 !!! It is recommended to export the Recordings App database for backup purposes, prior updating the App. !!!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Recordings App Service ===&lt;br /&gt;
The App Service for Recordings App provides a log output on the App instance, after the Diagnostics option &amp;quot;App&amp;quot; is activated for the selected instance.&lt;br /&gt;
&lt;br /&gt;
Additional Trace Level Options for the App Service are configurable via Recordings Admin App. This settings are available via additional Menu in the upper right corner of the Recordings Admin UI:&lt;br /&gt;
&lt;br /&gt;
*Recording - PCAP interface related traces, useful on issues with IP-Phone and Interface Media transmission from Endpoint to the App Service&lt;br /&gt;
*Call Information - traces related to the CDR information&lt;br /&gt;
*Converting - traces for conversion process from VoIP codecs to WAV&lt;br /&gt;
*License - traces for on licensing issues&lt;br /&gt;
*UI - traces related to the user interface of the Recordings App&lt;br /&gt;
&lt;br /&gt;
The name of the Master PBX must be configured via the Recordings Admin App, otherwise a message &#039;&#039;PBX Name missing&#039;&#039; will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== PBX Configuration ===&lt;br /&gt;
*WebSocket connection from App Object to the recordings app should show &#039;&#039;connected&#039;&#039;&lt;br /&gt;
*A correct configuration of the CDR interface is required for transmission of metadata to the recordings service. In case this transmission is not successful, a recording will show a &#039;&#039;NoCDR&#039;&#039; message, instead of username&lt;br /&gt;
&lt;br /&gt;
=== PCAP Recording Interfaces ===&lt;br /&gt;
*Check URL for PCAP Recording provided on the IP-Phone or VoIP-Interface of a VoIP Gateway&lt;br /&gt;
*A Trace with enabled HTTP-Client option should show a successful HTTP PUT Request towards URL of the Recordings Service PCAP interface (e.g. &amp;lt;code&amp;gt;HTTPCLIENT WEBDAV_FILE_HTTP.2: PUT http://ap.company.com/company.com/recordings/Files/f9e5956e47d460010630009033302ab1-009033302ab1-11--username.pcap&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:V13r2 Recordings App configuration]]&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
The App Licenses are not supported in the [[Reference12r1:General/License|Test Mode]] at the moment, instead a [https://wiki.innovaphone.com/index.php?title=Reference:My_Innovaphone#Download_test_licenses Test License] should be used.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60785</id>
		<title>Reference13r2:Concept App Service Recordings</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60785"/>
		<updated>2022-01-17T09:14:12Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* recordingsadmin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Recordings is an application running on the App platform which allows to capture the audio streams during a telephone call.&lt;br /&gt;
The users phone can be configured to send bi-directional audio streams to the Recordings App and store them into the database.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX from version 13r2&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone Application Platform&lt;br /&gt;
* Firmware V13r2xx&lt;br /&gt;
* Recordings App&lt;br /&gt;
* Recordings App licenses&lt;br /&gt;
* Device with PCAP Recording Interface:&lt;br /&gt;
** innovaphone deskphones (not V13-SoftphoneApp)&lt;br /&gt;
** innovaphone gateway interfaces&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&lt;br /&gt;
=== recordings ===&lt;br /&gt;
[[Image: Usrrecord.png]]&lt;br /&gt;
&lt;br /&gt;
User version of the App allow you to:&lt;br /&gt;
* Access to the user specific records&lt;br /&gt;
* Access to the user specific logs&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .WAV file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
=== recordingsadmin ===&lt;br /&gt;
[[Image:Adminrecord.png]]&lt;br /&gt;
Admin version of the app allow you to:&lt;br /&gt;
&lt;br /&gt;
* Access to all records&lt;br /&gt;
* Access to all logs&lt;br /&gt;
* Set up the records auto deletion retention time in days&lt;br /&gt;
* Set the PBX name&lt;br /&gt;
* Set specific trace levels&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .wav file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
== PBX Manager Plugin ==&lt;br /&gt;
&lt;br /&gt;
With the Recordings PBX Manager Plugin an App Object can be created, edited and deleted on the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
* Download the Recordings App via App Store.&lt;br /&gt;
* Install the App on the App Platform Manager.&lt;br /&gt;
* Create a instance for the Recordings App on the App Platform Manager.&lt;br /&gt;
* Create a new PBX recordings Object with the PBX Manager Plugin.&lt;br /&gt;
* Create a new PBX recordingsadmin Object with the PBX Manager Plugin.&lt;br /&gt;
* Assign recordingsadmin  App to authorized (admin) users, which will be allowed to open the Admin UI of the Recordings App.&lt;br /&gt;
* Assign recordings  App to users who will use the Recordings App.&lt;br /&gt;
* Start recordingsadmin App and configure the name of the PBX in the settings via upright option&lt;br /&gt;
* assign Record to (URL) to recording devices/objects in format&lt;br /&gt;
: &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;&#039;&#039;ap.domain.tld&#039;&#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039;&#039;domain.tld&#039;&#039;&amp;lt;code&amp;gt;/recordings/Files&amp;lt;/code&amp;gt;&lt;br /&gt;
* at innovaphone deskphones, enable recording via Phone/User-X/Recording by setting &#039;&#039;Mode&#039;&#039; to &amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt; and &#039;&#039;Recorder&#039;&#039; to &amp;lt;code&amp;gt;HTTP Server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access List ===&lt;br /&gt;
Unlike Recordings Admin App, which lists recordings of all users, Recordings App for users limits the listing of recordings to those made by the using user himself.&lt;br /&gt;
&lt;br /&gt;
A possibility to extend the listing of the recordings to other extensions/users is provided by the Access List. In the Access List additional extension can be defined, which will be listed to the Users of the App. This way the Recordings App Service can be accessed via different App Objects, with different Access Lists.&lt;br /&gt;
&lt;br /&gt;
This way scenarios, like sharing recordings between a team members or supervisor access to recordings of call agents are possible.&lt;br /&gt;
&lt;br /&gt;
=== Scheduled deletion of old recordings ===&lt;br /&gt;
You can configure a time period between &#039;&#039;1 and 11000 days&#039;&#039; (in maximum round about 30 years), after which recordings are automatically removed. You can enter &#039;&#039;0 days&#039;&#039; here to disable the scheduled deletion&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-recorder)&#039;&#039; must be installed on the PBX to enable Recordings App functionality for specified users.&lt;br /&gt;
&lt;br /&gt;
The Recorder App License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
 The recordings for users without an assigned Recorder App License will be unrecoverably deleted.&lt;br /&gt;
&lt;br /&gt;
=== Recording on Special Interfaces ===&lt;br /&gt;
&lt;br /&gt;
* Trunk Interface&lt;br /&gt;
&lt;br /&gt;
The Trunk Interface acts as a substitute for the users phone. For outgoing calls the call initiator is the owner of the recording and for him a license is recuired. With incoming calls, the first user answering the call own the recording and a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
* Waiting Queue&lt;br /&gt;
&lt;br /&gt;
The user answering the call is owner, a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrade from V13r1 to V13r2 Recordings App ==&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
&lt;br /&gt;
A V13r1 Recordings App can be used in the V13r2 PBX and App Platform environment.&lt;br /&gt;
&lt;br /&gt;
=== License Changes ===&lt;br /&gt;
With V13r2 required License Type for the Recordings App changes from a Service License (&#039;&#039;Service(innovaphone-recordings)&#039;&#039;) to an App License (&#039;&#039;App(innovaphone-recorder)&#039;&#039;). Existing Service Licenses are extended by the same number of App Licenses when the licenses are downloaded from my.innovaphone.com.&lt;br /&gt;
&lt;br /&gt;
Customers with the previous innovaphone Recording 2014 solution, which are equipped with SSA, should contact the innovaphone licenses department prior to the physical upgrade on customers&#039; location on time,  to receive an adjustment in the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Recording-Object Accessrights ===&lt;br /&gt;
Make sure that the function &amp;quot;websocket&amp;quot; and the checkmark &amp;quot;Admin&amp;quot; in the section &#039;&#039;Grant access to APIs&#039;&#039; is activated in the recording object.&lt;br /&gt;
&lt;br /&gt;
=== Database Conversion ===&lt;br /&gt;
On first start after update from V13r1 to V13r2 Recordings App, the App Service will start a database conversion procedure. Depending on the number of recordings in the database, time for conversion my take up to 30 minutes for a database with 100000 recordings.&lt;br /&gt;
&lt;br /&gt;
 !!! It is recommended to export the Recordings App database for backup purposes, prior updating the App. !!!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Recordings App Service ===&lt;br /&gt;
The App Service for Recordings App provides a log output on the App instance, after the Diagnostics option &amp;quot;App&amp;quot; is activated for the selected instance.&lt;br /&gt;
&lt;br /&gt;
Additional Trace Level Options for the App Service are configurable via Recordings Admin App. This settings are available via additional Menu in the upper right corner of the Recordings Admin UI:&lt;br /&gt;
&lt;br /&gt;
*Recording - PCAP interface related traces, useful on issues with IP-Phone and Interface Media transmission from Endpoint to the App Service&lt;br /&gt;
*Call Information - traces related to the CDR information&lt;br /&gt;
*Converting - traces for conversion process from VoIP codecs to WAV&lt;br /&gt;
*License - traces for on licensing issues&lt;br /&gt;
*UI - traces related to the user interface of the Recordings App&lt;br /&gt;
&lt;br /&gt;
The name of the Master PBX must be configured via the Recordings Admin App, otherwise a message &#039;&#039;PBX Name missing&#039;&#039; will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== PBX Configuration ===&lt;br /&gt;
*WebSocket connection from App Object to the recordings app should show &#039;&#039;connected&#039;&#039;&lt;br /&gt;
*A correct configuration of the CDR interface is required for transmission of metadata to the recordings service. In case this transmission is not successful, a recording will show a &#039;&#039;NoCDR&#039;&#039; message, instead of username&lt;br /&gt;
&lt;br /&gt;
=== PCAP Recording Interfaces ===&lt;br /&gt;
*Check URL for PCAP Recording provided on the IP-Phone or VoIP-Interface of a VoIP Gateway&lt;br /&gt;
*A Trace with enabled HTTP-Client option should show a successful HTTP PUT Request towards URL of the Recordings Service PCAP interface (e.g. &amp;lt;code&amp;gt;HTTPCLIENT WEBDAV_FILE_HTTP.2: PUT http://ap.company.com/company.com/recordings/Files/f9e5956e47d460010630009033302ab1-009033302ab1-11--username.pcap&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:V13r2 Recordings App configuration]]&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
The App Licenses are not supported in the [[Reference12r1:General/License|Test Mode]] at the moment, instead a [https://wiki.innovaphone.com/index.php?title=Reference:My_Innovaphone#Download_test_licenses Test License] should be used.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60784</id>
		<title>Reference13r2:Concept App Service Recordings</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:Concept_App_Service_Recordings&amp;diff=60784"/>
		<updated>2022-01-17T09:13:49Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* recordings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|Apps]]&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Recordings is an application running on the App platform which allows to capture the audio streams during a telephone call.&lt;br /&gt;
The users phone can be configured to send bi-directional audio streams to the Recordings App and store them into the database.&lt;br /&gt;
&lt;br /&gt;
== Applies To ==&lt;br /&gt;
&lt;br /&gt;
* innovaphone PBX from version 13r2&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* innovaphone PBX&lt;br /&gt;
* innovaphone Application Platform&lt;br /&gt;
* Firmware V13r2xx&lt;br /&gt;
* Recordings App&lt;br /&gt;
* Recordings App licenses&lt;br /&gt;
* Device with PCAP Recording Interface:&lt;br /&gt;
** innovaphone deskphones (not V13-SoftphoneApp)&lt;br /&gt;
** innovaphone gateway interfaces&lt;br /&gt;
&lt;br /&gt;
== Apps ==&lt;br /&gt;
&lt;br /&gt;
=== recordings ===&lt;br /&gt;
[[Image: Usrrecord.png]]&lt;br /&gt;
&lt;br /&gt;
User version of the App allow you to:&lt;br /&gt;
* Access to the user specific records&lt;br /&gt;
* Access to the user specific logs&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .WAV file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
=== recordingsadmin ===&lt;br /&gt;
[[Image:Adminrecord.png]]&lt;br /&gt;
Admin version of the app allow you to :&lt;br /&gt;
* Access to all records&lt;br /&gt;
* Access to all logs&lt;br /&gt;
* Set up the records auto deletion retention time in days&lt;br /&gt;
* Set the PBX name&lt;br /&gt;
* Set specific trace levels&lt;br /&gt;
* Filter records by name, by date&lt;br /&gt;
* Play, Listen or Download the recording as a .wav file&lt;br /&gt;
* Protect against deleting or delete a recording&lt;br /&gt;
&lt;br /&gt;
== PBX Manager Plugin ==&lt;br /&gt;
&lt;br /&gt;
With the Recordings PBX Manager Plugin an App Object can be created, edited and deleted on the PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
* Download the Recordings App via App Store.&lt;br /&gt;
* Install the App on the App Platform Manager.&lt;br /&gt;
* Create a instance for the Recordings App on the App Platform Manager.&lt;br /&gt;
* Create a new PBX recordings Object with the PBX Manager Plugin.&lt;br /&gt;
* Create a new PBX recordingsadmin Object with the PBX Manager Plugin.&lt;br /&gt;
* Assign recordingsadmin  App to authorized (admin) users, which will be allowed to open the Admin UI of the Recordings App.&lt;br /&gt;
* Assign recordings  App to users who will use the Recordings App.&lt;br /&gt;
* Start recordingsadmin App and configure the name of the PBX in the settings via upright option&lt;br /&gt;
* assign Record to (URL) to recording devices/objects in format&lt;br /&gt;
: &amp;lt;code&amp;gt;http://&amp;lt;/code&amp;gt;&#039;&#039;ap.domain.tld&#039;&#039;&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&#039;&#039;domain.tld&#039;&#039;&amp;lt;code&amp;gt;/recordings/Files&amp;lt;/code&amp;gt;&lt;br /&gt;
* at innovaphone deskphones, enable recording via Phone/User-X/Recording by setting &#039;&#039;Mode&#039;&#039; to &amp;lt;code&amp;gt;transparent&amp;lt;/code&amp;gt; and &#039;&#039;Recorder&#039;&#039; to &amp;lt;code&amp;gt;HTTP Server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access List ===&lt;br /&gt;
Unlike Recordings Admin App, which lists recordings of all users, Recordings App for users limits the listing of recordings to those made by the using user himself.&lt;br /&gt;
&lt;br /&gt;
A possibility to extend the listing of the recordings to other extensions/users is provided by the Access List. In the Access List additional extension can be defined, which will be listed to the Users of the App. This way the Recordings App Service can be accessed via different App Objects, with different Access Lists.&lt;br /&gt;
&lt;br /&gt;
This way scenarios, like sharing recordings between a team members or supervisor access to recordings of call agents are possible.&lt;br /&gt;
&lt;br /&gt;
=== Scheduled deletion of old recordings ===&lt;br /&gt;
You can configure a time period between &#039;&#039;1 and 11000 days&#039;&#039; (in maximum round about 30 years), after which recordings are automatically removed. You can enter &#039;&#039;0 days&#039;&#039; here to disable the scheduled deletion&lt;br /&gt;
&lt;br /&gt;
== Licensing ==&lt;br /&gt;
&lt;br /&gt;
An appropriate license &#039;&#039;App(innovaphone-recorder)&#039;&#039; must be installed on the PBX to enable Recordings App functionality for specified users.&lt;br /&gt;
&lt;br /&gt;
The Recorder App License can be assigned directly to a specific User Object or via a Config Template.&lt;br /&gt;
&lt;br /&gt;
 The recordings for users without an assigned Recorder App License will be unrecoverably deleted.&lt;br /&gt;
&lt;br /&gt;
=== Recording on Special Interfaces ===&lt;br /&gt;
&lt;br /&gt;
* Trunk Interface&lt;br /&gt;
&lt;br /&gt;
The Trunk Interface acts as a substitute for the users phone. For outgoing calls the call initiator is the owner of the recording and for him a license is recuired. With incoming calls, the first user answering the call own the recording and a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
* Waiting Queue&lt;br /&gt;
&lt;br /&gt;
The user answering the call is owner, a license for this user is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrade from V13r1 to V13r2 Recordings App ==&lt;br /&gt;
&lt;br /&gt;
=== Compatibility ===&lt;br /&gt;
&lt;br /&gt;
A V13r1 Recordings App can be used in the V13r2 PBX and App Platform environment.&lt;br /&gt;
&lt;br /&gt;
=== License Changes ===&lt;br /&gt;
With V13r2 required License Type for the Recordings App changes from a Service License (&#039;&#039;Service(innovaphone-recordings)&#039;&#039;) to an App License (&#039;&#039;App(innovaphone-recorder)&#039;&#039;). Existing Service Licenses are extended by the same number of App Licenses when the licenses are downloaded from my.innovaphone.com.&lt;br /&gt;
&lt;br /&gt;
Customers with the previous innovaphone Recording 2014 solution, which are equipped with SSA, should contact the innovaphone licenses department prior to the physical upgrade on customers&#039; location on time,  to receive an adjustment in the licenses.&lt;br /&gt;
&lt;br /&gt;
=== Recording-Object Accessrights ===&lt;br /&gt;
Make sure that the function &amp;quot;websocket&amp;quot; and the checkmark &amp;quot;Admin&amp;quot; in the section &#039;&#039;Grant access to APIs&#039;&#039; is activated in the recording object.&lt;br /&gt;
&lt;br /&gt;
=== Database Conversion ===&lt;br /&gt;
On first start after update from V13r1 to V13r2 Recordings App, the App Service will start a database conversion procedure. Depending on the number of recordings in the database, time for conversion my take up to 30 minutes for a database with 100000 recordings.&lt;br /&gt;
&lt;br /&gt;
 !!! It is recommended to export the Recordings App database for backup purposes, prior updating the App. !!!&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Recordings App Service ===&lt;br /&gt;
The App Service for Recordings App provides a log output on the App instance, after the Diagnostics option &amp;quot;App&amp;quot; is activated for the selected instance.&lt;br /&gt;
&lt;br /&gt;
Additional Trace Level Options for the App Service are configurable via Recordings Admin App. This settings are available via additional Menu in the upper right corner of the Recordings Admin UI:&lt;br /&gt;
&lt;br /&gt;
*Recording - PCAP interface related traces, useful on issues with IP-Phone and Interface Media transmission from Endpoint to the App Service&lt;br /&gt;
*Call Information - traces related to the CDR information&lt;br /&gt;
*Converting - traces for conversion process from VoIP codecs to WAV&lt;br /&gt;
*License - traces for on licensing issues&lt;br /&gt;
*UI - traces related to the user interface of the Recordings App&lt;br /&gt;
&lt;br /&gt;
The name of the Master PBX must be configured via the Recordings Admin App, otherwise a message &#039;&#039;PBX Name missing&#039;&#039; will be displayed.&lt;br /&gt;
&lt;br /&gt;
=== PBX Configuration ===&lt;br /&gt;
*WebSocket connection from App Object to the recordings app should show &#039;&#039;connected&#039;&#039;&lt;br /&gt;
*A correct configuration of the CDR interface is required for transmission of metadata to the recordings service. In case this transmission is not successful, a recording will show a &#039;&#039;NoCDR&#039;&#039; message, instead of username&lt;br /&gt;
&lt;br /&gt;
=== PCAP Recording Interfaces ===&lt;br /&gt;
*Check URL for PCAP Recording provided on the IP-Phone or VoIP-Interface of a VoIP Gateway&lt;br /&gt;
*A Trace with enabled HTTP-Client option should show a successful HTTP PUT Request towards URL of the Recordings Service PCAP interface (e.g. &amp;lt;code&amp;gt;HTTPCLIENT WEBDAV_FILE_HTTP.2: PUT http://ap.company.com/company.com/recordings/Files/f9e5956e47d460010630009033302ab1-009033302ab1-11--username.pcap&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
* [[Howto:V13r2 Recordings App configuration]]&lt;br /&gt;
&lt;br /&gt;
== Known Problems ==&lt;br /&gt;
&lt;br /&gt;
=== Test Mode ===&lt;br /&gt;
The App Licenses are not supported in the [[Reference12r1:General/License|Test Mode]] at the moment, instead a [https://wiki.innovaphone.com/index.php?title=Reference:My_Innovaphone#Download_test_licenses Test License] should be used.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r2:PBX/Objects/User&amp;diff=59661</id>
		<title>Reference13r2:PBX/Objects/User</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r2:PBX/Objects/User&amp;diff=59661"/>
		<updated>2021-08-06T06:36:46Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the User PBX object, the standard subscriber of the innovaphone PBX is configured.&lt;br /&gt;
&lt;br /&gt;
;Do Not Disturb: No calls are sent to the user if set. Can be set by &#039;External UC&#039; applications (e.g. Estos Procall)&lt;br /&gt;
&lt;br /&gt;
;Hide Connected Endpoint: In some cases it is desireable not to reveal the final destination of a call to a caller. For example a call center agent should not be called directly by the customer or to suppress call forwarding destinations.&lt;br /&gt;
&lt;br /&gt;
;Call forward based on Presence: enables use of forwarding based on presence. Typically set via ProfileApp. Feature description [[Course13:IT_Advanced_-_07_More_on_advanced_PBX_object_properties_and_behavior#Forwardings_based_on_presence|see here]]&lt;br /&gt;
&lt;br /&gt;
;Home Screen Apps: Comma separated list of applications to be displayed at myApps-homescreen. New lines are indicated by &#039;:&#039; . Application names must match with respective App-object-name. Definition typically is made via myApps or UsersAdminApp.&lt;br /&gt;
&lt;br /&gt;
In addition to these options, all those that can be set for a [[{{NAMESPACE}}:PBX/Objects/Config_Template]] object can be set for a &#039;&#039;User&#039;&#039; object too.&lt;br /&gt;
&lt;br /&gt;
== General Configuration Options ==&lt;br /&gt;
&lt;br /&gt;
The information about general configuration options shared by all objects can be found at [[{{NAMESPACE}}:PBX/Objects]].&lt;br /&gt;
&lt;br /&gt;
== Configuration Options which can be defined by a Template ==&lt;br /&gt;
&lt;br /&gt;
Some of the configuration options of a user object can be defined by Templates. More information about these options can be found at [[{{NAMESPACE}}:PBX/Objects/Config_Template]]&lt;br /&gt;
&lt;br /&gt;
== DECT configuration options ==&lt;br /&gt;
&lt;br /&gt;
The following details are entered in the DECT section and are therefore only relevant for DECT handset registrations:&lt;br /&gt;
* &#039;&#039;&#039;Gateway:&#039;&#039;&#039; The system name (Name) of the IP DECT device.&lt;br /&gt;
* &#039;&#039;&#039;Display:&#039;&#039;&#039; A variable text that is output on the IP DECT handset display.&lt;br /&gt;
* &#039;&#039;&#039;IPEI:&#039;&#039;&#039; The serial number of the IP DECT handset. Is required for unique registration of an IP DECT handset.&lt;br /&gt;
* &#039;&#039;&#039;AC (Access Code):&#039;&#039;&#039; It is also possible to allocate an access code (a kind of PIN), which protects the IP DECT handset against unauthorised use.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference13r1:PBX/Objects/User&amp;diff=59660</id>
		<title>Reference13r1:PBX/Objects/User</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference13r1:PBX/Objects/User&amp;diff=59660"/>
		<updated>2021-08-06T06:36:36Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the User PBX object, the standard subscribers of the innovaphone PBX is configured.&lt;br /&gt;
&lt;br /&gt;
;Do Not Disturb: No calls are sent to the user if set. Can be set by &#039;External UC&#039; applications (e.g. Estos Procall)&lt;br /&gt;
&lt;br /&gt;
;Hide Connected Endpoint: In some cases it is desireable not to reveal the final destination of a call to a caller. For example a call center agent should not be called directly by the customer or to suppress call forwarding destinations.&lt;br /&gt;
&lt;br /&gt;
;Call forward based on Presence: enables use of forwarding based on presence. Typically set via ProfileApp. Feature description [[Course13:IT_Advanced_-_07_More_on_advanced_PBX_object_properties_and_behavior#Forwardings_based_on_presence|see here]]&lt;br /&gt;
&lt;br /&gt;
;Home Screen Apps: Comma separated list of applications to be displayed at myApps-homescreen. New lines are indicated by &#039;:&#039; . Application names must match with respective App-object-name. Definition typically is made via myApps or UsersAdminApp.&lt;br /&gt;
&lt;br /&gt;
In addition to these options, all those that can be set for a [[Reference10:PBX/Objects/Config_Template]] object can be set for a &#039;&#039;User&#039;&#039; object too.&lt;br /&gt;
&lt;br /&gt;
== General Configuration Options ==&lt;br /&gt;
&lt;br /&gt;
The information about general configuration options shared by all objects can be found at [[{{NAMESPACE}}:PBX/Objects]].&lt;br /&gt;
&lt;br /&gt;
== Configuration Options which can be defined by a Template ==&lt;br /&gt;
&lt;br /&gt;
Some of the configuration options of a user object can be defined by Templates. More information about these options can be found at [[{{NAMESPACE}}:PBX/Objects/Config_Template]]&lt;br /&gt;
&lt;br /&gt;
== DECT configuration options ==&lt;br /&gt;
&lt;br /&gt;
The following details are entered in the DECT section and are therefore only relevant for DECT handset registrations:&lt;br /&gt;
* &#039;&#039;&#039;Gateway:&#039;&#039;&#039; The system name (Name) of the IP DECT device.&lt;br /&gt;
* &#039;&#039;&#039;Display:&#039;&#039;&#039; A variable text that is output on the IP DECT handset display.&lt;br /&gt;
* &#039;&#039;&#039;IPEI:&#039;&#039;&#039; The serial number of the IP DECT handset. Is required for unique registration of an IP DECT handset.&lt;br /&gt;
* &#039;&#039;&#039;AC (Access Code):&#039;&#039;&#039; It is also possible to allocate an access code (a kind of PIN), which protects the IP DECT handset against unauthorised use.&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=57787</id>
		<title>Reference9:Concept Innovaphone Virtual Appliance (IPVA)</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_Innovaphone_Virtual_Appliance_(IPVA)&amp;diff=57787"/>
		<updated>2020-12-26T06:16:44Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Related Articles */&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;
*V9&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;
**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). &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;
*A step-by-step guide may be found [http://blog.lewan.com/2009/12/22/vmware-vsphere-using-vmware-converter-to-import-vms-or-vmdks-from-other-vmware-products/ 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;
===License Configuration===&lt;br /&gt;
For the IPVA9 license see [[Reference9: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 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;
====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_Technical_Data|IP1060]] media gateway may be considered as a suitable complement for such purposes.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
[http://download.innovaphone.com/ice/9.00/#firmware IPVA.zip from http://download.innovaphone.com/ice/9.00/#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;
===Release Note For V9HF1===&lt;br /&gt;
[[Reference9:Release_Notes_Firmware_V9#1593_-_IPVA.2C_RAM-Dependent_Flash_Limitation|This Note]] refers to the fix.&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.&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;
The size of the flash directory(storage for PBX objects) depends on the available RAM. The maximum of 900 segments á 64KB, i.e. ~56MB, is available from on 192MB of RAM.&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;
&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.&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;
[[Howto: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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=53395</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=53395"/>
		<updated>2019-08-27T05:45:12Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &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;
Application package can be retrieved from our [http://download.innovaphone.com/ice/10.00/#recording download page].&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;
=== 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.&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 recording 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;
Please note that the directory where the PCAP files are stored can be „the same“ than the one using „normal“ recording. The TCR XML is just a subdirectory of the PCAP recording directory!&lt;br /&gt;
&lt;br /&gt;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.&lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. The Feature works also with the (old) CF.&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&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;
===Manual recording with announcement=== &lt;br /&gt;
(build 1198)&lt;br /&gt;
&lt;br /&gt;
If a customer want to start and stop a recording this can be done using a innovaphone IP-Phone as described in the previous chapter.&lt;br /&gt;
&lt;br /&gt;
This chapter described how to solve if on top there is also the requirement to play automatically an announcement at the beginning of the recording (typically something like “We advise you that this conversation will be recorded…”).&lt;br /&gt;
&lt;br /&gt;
The problem is that audio can be reproduced only if you set “Dialup Recorder” in the phone, but doing this there is no PCAP and therefore CDR information. If you select “HTTP” then there is PCAP information/CDR information but no audio.&lt;br /&gt;
&lt;br /&gt;
The workaround is that you select “Dialup Recorder” but as destination do not put in a XML or WQ but a trunk and then the XML or WQ. The result will be a call to the (recording) trunk and then to the XML/WQ.&lt;br /&gt;
&lt;br /&gt;
Set up the Recording to Dialup Recorder in your phone&lt;br /&gt;
&lt;br /&gt;
[[Image:DialUpRecorder.png]]&lt;br /&gt;
&lt;br /&gt;
Example: You have a XML or WQ playing first the required announcement and then silence, this object has the number “76”. &lt;br /&gt;
&lt;br /&gt;
[[Image:RecordingSilence.png]]&lt;br /&gt;
&lt;br /&gt;
Example for the second announcement: http://172.16.115.20/webdav/announcement/silence.$coder?coder=g711a,g711u,g729&amp;amp;repeat=true&lt;br /&gt;
You can download the silence announcement in our voicemail folder. &lt;br /&gt;
&lt;br /&gt;
Set up a trunk object &lt;br /&gt;
&lt;br /&gt;
[[Image:Mrec01.png]]&lt;br /&gt;
&lt;br /&gt;
In our example with the number &amp;quot;57&amp;quot; with the option “automatic hangup” selected pointing to a GW, &lt;br /&gt;
&lt;br /&gt;
[[Image:Mrec02.png]]&lt;br /&gt;
&lt;br /&gt;
in this GW the PCAP recording is done.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mrec03.png]]&lt;br /&gt;
&lt;br /&gt;
be sure to choose Media Relay On:&lt;br /&gt;
&lt;br /&gt;
[[Image:MR1.png]]&lt;br /&gt;
&lt;br /&gt;
and create a Route:&lt;br /&gt;
&lt;br /&gt;
[[Image:Route.png]]&lt;br /&gt;
&lt;br /&gt;
Set in the setup of the Recorder, tab  “General” both numbers&lt;br /&gt;
&lt;br /&gt;
[[Image:Mrec04.png]]&lt;br /&gt;
&lt;br /&gt;
and switch on “Convert to mono”.&lt;br /&gt;
&lt;br /&gt;
Limitations: it is convenient (but not a must) to convert the call to mono and save some disk space because in this operational mode the announcement is on the left channel and both party on the right one. &lt;br /&gt;
&lt;br /&gt;
Please note that also the call direction (in or out) is always flagged “out” even on incoming calls.&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 voice 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;
== 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 required 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 note 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;
•       External call to WQ, Agent A transfer call to Agent with or without announcement = Agent A (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User without announcement = Agent (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User with announcement = Deleted (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, User transfer call with or without announcement to Agent = Deleted (from Build1185)&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 does not convert any recordings into mp3, even if the mp3 driver is detected and the mp3 conversion is turned on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;lt;code&amp;gt;()&amp;quot;,&amp;lt;/code&amp;gt; or space.&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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r2:Gateway/Interfaces/SIP&amp;diff=51043</id>
		<title>Reference12r2:Gateway/Interfaces/SIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r2:Gateway/Interfaces/SIP&amp;diff=51043"/>
		<updated>2019-01-15T06:48:29Z</updated>

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

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes the possibility to switch a Boolean abject in the innovaphone PBX using an external button and display with an external lamp his status.&lt;br /&gt;
&lt;br /&gt;
A typical application is switching the day/night operations of a PBX also with a simple push-button. &lt;br /&gt;
&lt;br /&gt;
Imagine a garage, near the garage door a lamp shows the status and when the last employee leaves the building it should be possible switch the PBX in night mode. An example for a real implementation is a small fire Department: if the team leaves, calls are routed to the headquarter. If they are back a push to the button and the calls are routed to the IP-phones. &lt;br /&gt;
&lt;br /&gt;
Of cause, the day/night switch should be possible also from the IP-Phones and even the automatic calendar function must work. Therefore, also the Boolean status must be “copied” on the external lamp.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
The solution requires:&lt;br /&gt;
&lt;br /&gt;
innovaphone PBX V11 or higher on every platform, tested with V12.&lt;br /&gt;
&lt;br /&gt;
- 3 DSP for conferencing or in alternative a timer relay&lt;br /&gt;
&lt;br /&gt;
- 3 PBX port licenses&lt;br /&gt;
&lt;br /&gt;
- 3 analog FXS ports from any innovaphone device, typically IP29x&lt;br /&gt;
&lt;br /&gt;
- 3 relay, 2 condenser&lt;br /&gt;
&lt;br /&gt;
- Push button and lamp, electrical material as clamp&lt;br /&gt;
&lt;br /&gt;
- 3 XML (see download)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: night service, push-button, boolean status  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
&lt;br /&gt;
The working principle is simple, the push-button closes an analog port, the user configured on that port calls a XML using the direct dial function. This XML read the actual status of the Boolean (night) object in the PBX. The XML will toggle the actual Boolean status and therefore if the status of the object is true the analogue port “User ON” is called, and the “User OFF” extension if it is false. The call will switch on/off the lamp using external relays. Than the status is stored in a file on the CF/mSATA/Flash/Webdav and the XML did a status update of the Boolean object in the PBX. Because of system design the updating must be the last step, after that the XML will stop. &lt;br /&gt;
&lt;br /&gt;
The following picture shows the required external electrical circuit. On top there are the three analogue ports of the analogue gateway. They are labeled “TEL1” etc., in our diagram we put in the name of the function.  The left one called “User button” is simply connected to the push-button. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:P2N02.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the XML switch on the night service it calls the user “User ON”, the relay R2 attract because the condenser C2 the permeable for the alternate ringing current. If R2 attracts his contact r2 closes and the relay R3 will attract. If R3 closes, the lamp will go on and the R3 is hold by himself with his own second contact r3. If now the button is close the XML call the “User OFF”, the relay R1 attracts and his contact r1, normally closed, opens the current feeding for R3; the relay R3 opens and the lamp switch off.&lt;br /&gt;
The Relay R3 coul be feed from a free analog port of the IP24/29, in our example we use a external power source (typically available for the door speaking circuits or similar)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem details==&lt;br /&gt;
&lt;br /&gt;
The switching from day to night operation should be possible also from the IP Phones. Therefore, the actual status of the Boolean object must be checked periodically in the PBX. This is done each minute by a second XML triggered by the wakup feature; if the Boolean object is switched using a Boolean feature key (typically three state (day/night/automatic) the lamp status could have a delay up to one minute. Not nice, therefore we recommend switch the status calling the XML even from the IP-Phones. In this case, the reaction is immediate, but you need one function key for each status. So one feature key for day operation, one for night and one for automatic. On top one to display the status. A lot of Featurekeys, on the other hand we see that most customer have many unused Feature keys on their IP-Phones.&lt;br /&gt;
&lt;br /&gt;
Switching using a feature key is nothing else than calling the XML from the phone and adding operational codes: 10 = day, 11=night and 01=automatic. Calling the XML without operational codes will simple toggle the actual Boolean status. &lt;br /&gt;
&lt;br /&gt;
For the XML the automatic status is a problem, because the status after setting the object in automatic mode is not clear. In theory, the XML should set the automatic status, read out the PBX again and then act on the lamp. Unfortunately, that is not possible because after setting a status in the PBX the XML ends. Also in this case the second XML will read out at least after one minute the real status and correct him.&lt;br /&gt;
&lt;br /&gt;
===Operational safety===&lt;br /&gt;
&lt;br /&gt;
The called XML must have an active call for at least 3 seconds to ensure a secure switching of lamps and Boolean. If the user press the button for a shorter period it is possible that the XML can just switch on the relay but has not enough “livetime” to modify the Boolean status in the PBX. Of cause also in this case the second “security” XML triggered by the wakup feature will recover the situation, but if a user press a button he expect an immediate feedback.&lt;br /&gt;
&lt;br /&gt;
There are two way to grant three seconds of calling time, the first one is an electrical one: instead of closing the contact with the bush button the button trigger a timer relay; the timer relay will close the “User button” interface and open just after for example 3 or 4 seconds. “Short” pressing is impossible. Simple, but you need a timer relay.&lt;br /&gt;
&lt;br /&gt;
If you are in the lucky situation to have a PBX with free DSP you can realize that also within the PBX. Define a alarm conference, the “User button” call that conference, the alarm conference call the XML and also a second XML called “Waketimeout” (in the package). The Waketimeout simple play silence and releases after 4 seconds. Now if the “User button” release even after a short period the Waketimeout will hold the conference up for 4 seconds. When the Waketimeout releases only the XML is still in the conference and the flagged option in the conference unit “release last user” will forced to end the entire call. &lt;br /&gt;
&lt;br /&gt;
==Setup==&lt;br /&gt;
&lt;br /&gt;
===Electrical installation===&lt;br /&gt;
&lt;br /&gt;
Electrical equipment is typically installed in a cabinet, therefore we have to bring our analogue extension line in this case. Be carefully, if you are not a electrician it could be a good idea give other people that job.  But you can also just work with low voltages and the lamp could be also driven by for example 12 or 24 volts.&lt;br /&gt;
&lt;br /&gt;
Those cabinets typically are equipped with a 35mm DIN rail (known also as top-hat rail) widely used for mounting circuit barkers and industrial control equipment:&lt;br /&gt;
&lt;br /&gt;
[[Image:Dinschiene.png]]&lt;br /&gt;
&lt;br /&gt;
For the door opener we need a DIN mountable, 24Vac relay with at least on free contact and a condenser 4,7µF 100Vac. &lt;br /&gt;
&lt;br /&gt;
One possible relay with 2 floating changing contacts available worldwide you can find here: &lt;br /&gt;
http://www.rs-components.com/index.html&lt;br /&gt;
&lt;br /&gt;
Search the product number 494-0536.&lt;br /&gt;
&lt;br /&gt;
The next picture shows the product, the producer is Tyco Electronics, Part number RT3S4R24.&lt;br /&gt;
&lt;br /&gt;
[[Image:RT78726.png]]&lt;br /&gt;
&lt;br /&gt;
In doing this shopping you can buy also a condenser, a possible product is part number RS –components 115-629, producer Vishay part number BFC236825475.&lt;br /&gt;
&lt;br /&gt;
[[Image:Condens.png]]&lt;br /&gt;
&lt;br /&gt;
Please note that the relay shown has a led indicator that consumes a lot of power. Fortunately the led is located in a small module that can be plugged out. There is no difference in operation; you just will not see the led. We recommend to remove the led module, in this case even a 2µF condenser is large enough to provide power for the relay. &lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
&lt;br /&gt;
To install the XML first unzip the Download ZIP file.&lt;br /&gt;
&lt;br /&gt;
Now edit with a text editor the XML “Push2Night” and “NightCheck”. In both on top of the text, you have to edit four parameter:&lt;br /&gt;
&lt;br /&gt;
The name of the Boolean object, if for example your Boolean abject is named “nightswitch” change the line &amp;lt;assign out=&amp;quot;$NameBoolean&amp;quot; value=&amp;quot;BoolNotte&amp;quot; /&amp;gt; in &lt;br /&gt;
&amp;lt;assign out=&amp;quot;$NameBoolean&amp;quot; value=&amp;quot; nightswitch &amp;quot; /&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The parameter “Numberboolean” is the number of the boolean object.&lt;br /&gt;
&lt;br /&gt;
The parameter “NumberportON” the number of the “user ON”, the parameter “NumberPortOFF” the one of the “User OFF”.&lt;br /&gt;
&lt;br /&gt;
Save the files and copy all files to a directory of the CF/Flash/mSAT/Webdav.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
&lt;br /&gt;
Configure in the PBX the three analogue extensions and the Boolean object for night switching. &lt;br /&gt;
&lt;br /&gt;
Create three Voicemail Objects pointing on the three XML.&lt;br /&gt;
&lt;br /&gt;
Configure the direct call in the “User button” user pointing to the XML “Push2Night”.&lt;br /&gt;
&lt;br /&gt;
Do your electrical installation. For testing you can also simple connect two analogue Phones on the User On/Off ports knowing that a call will switch on and off when the relays circuit is done. &lt;br /&gt;
&lt;br /&gt;
Now you can test the lamp, simply call from a phone first the user “User ON”, the lamp must switch on, then call the user “User OFF”, the lamp must switch off. If that works call the XML “Push2Night”, the Boolean status must toggle and switch each time call and even the lamp status. Now call the XML adding the status “10” and “11” to fix a status and check if works fine. &lt;br /&gt;
&lt;br /&gt;
Call now the XML “Nightcheck”; if you modify manually the Boolean status the relays are called. Call the XML “Push2Night” adding “01” (automatic) and then &amp;quot;Nightcheck&amp;quot;, in function of the status the relays are called. &lt;br /&gt;
&lt;br /&gt;
Now add a wakeup to the XML “Nightcheck” (VM), put in one second in the “Sec” field, flag the “Multiple” flag and put in the “Source Name” field the XML name “Waketimeout”.&lt;br /&gt;
&lt;br /&gt;
Doing so each minute, the XML “Nightcheck” will check the situation while the XML “Waketimeout” assure that the calls goes down after four Seconds. &lt;br /&gt;
&lt;br /&gt;
Test the automatic check; toggle the status with the phone or using the browser, at least after one minute the lamp must follow.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
*[http://download.innovaphone.com/ice/wiki-src#p2n http://download.innovaphone.com/ice/wiki-src/#P2N] - download the complete file package of scripts and files described in this article.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
[[Category:Sample|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup&amp;diff=49853</id>
		<title>Reference10:Voice Recorder/Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference10:Voice_Recorder/Setup&amp;diff=49853"/>
		<updated>2018-05-24T11:49:39Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* IP addr. Stby */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The setup is stored in the directory where the recorder is running; therefore more recorders can be started on one single system using different directories. Please note that the setup file is a XML file but AES crypt, so not readable.&lt;br /&gt;
&lt;br /&gt;
In the headline of the setup the version is displayed, note that the version can be displayed also in the recorder main menu clicking on the innovaphone logo.&lt;br /&gt;
&lt;br /&gt;
The setup described in this page concerns version 10.00 of the Recorder Software.&lt;br /&gt;
&lt;br /&gt;
The software was developed under Win7 but should operate also using windows Server (while the player software is not running without special setups using windows server).&lt;br /&gt;
&lt;br /&gt;
The recorder requires reporting Version 10, Build 1134 or higher.&lt;br /&gt;
&lt;br /&gt;
The recorder requires working Reporting software. The reporting can work on a physical gateway or on a VMware environment (even on a player). See relative articles how to setup the reporting tool.&lt;br /&gt;
&lt;br /&gt;
A standard problem in the recorder setup is the correct link to the PCAP files.  Therefore be precise in the relative Group and read the chapter.&lt;br /&gt;
&lt;br /&gt;
= Recorder Setup =&lt;br /&gt;
&lt;br /&gt;
Note: To map network drive an application must have administrator rights. Therefor the PC must run with admin credentials or at least the recorder application must be launched with administrator rights.&lt;br /&gt;
&lt;br /&gt;
This decription concerns that screen: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup21.png]]&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
&lt;br /&gt;
=== Recorder Name ===&lt;br /&gt;
&lt;br /&gt;
This Name is displayed on the headline of the main menu and also reported in the start- up message log file. &lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
&lt;br /&gt;
Password of this setup, if blank no password is asked to access to this setup. Please note that this password is also the default password for the player and can therefore be an important security feature.&lt;br /&gt;
&lt;br /&gt;
=== Customer Key ===&lt;br /&gt;
The recorder encodes the record data files (the XML) using an internal standard key. If in this field a User Key is defined the encoding is done using this key. Therefore also in all players has to be configured this key. Remember that the decoding in the player depends on the local setup of the player. If no user key is defined the standard system key is used. If a user key is found a decoding is tried using that user key, if decoding fails the system key is used, if even that fails no decoding is possible. &lt;br /&gt;
&lt;br /&gt;
Therefore once a user encoding key is defined it should not be changed, otherwise the “old” user encoded records cannot be decoded. &lt;br /&gt;
&lt;br /&gt;
So if not really required leave this field blank, if you define a user endcoding key think well about it and...&lt;br /&gt;
&lt;br /&gt;
WARNING:  do not forget it (there is no way to find out the key).&lt;br /&gt;
&lt;br /&gt;
=== Encode audio ===&lt;br /&gt;
&lt;br /&gt;
Audio files are store in clear wave or mp3 format. Any media player could reproduce them, the integrity of those files is controlled from the innovaphone player. The audio file integrity data are stored in the encodet xml file.&lt;br /&gt;
&lt;br /&gt;
If this option is checked also the audio file will be encoded using the same key used for encoding the xml file (see description in “Customer key”). &lt;br /&gt;
&lt;br /&gt;
Encoding cause more CPU load for the recorder and the audio file size is doubled. &lt;br /&gt;
&lt;br /&gt;
Once encoded an audio file can be reproduced only with the innovaphone player, if a customer encoding key is configured just if also in the player that key is used. In that case the audio file can be reproduced just with the innovaphne Player using the customer encoding key. &lt;br /&gt;
&lt;br /&gt;
=== Do not Record empty Files ===&lt;br /&gt;
&lt;br /&gt;
Very short calls (typically seconds) causes very small recording files, so small that a reproduction is not possible (there is practically no audible audio data in). &lt;br /&gt;
&lt;br /&gt;
The recorder can eliminate those files (recommended), but if for some reason you want keep those files (practically you just keep the call information from the reporting) do not flag this option.&lt;br /&gt;
&lt;br /&gt;
=== Save Setup in own directory ===&lt;br /&gt;
&lt;br /&gt;
See [[Reference10:Voice_Recorder/System_Setup#Multiple_Voice_Recorder_and_Player|here]]&lt;br /&gt;
&lt;br /&gt;
=== Do NOT save CDR data ===&lt;br /&gt;
If checked no CDR data are saved, just the audio files. If this option is switched on the player cannot display any additional call info. Also the integrity of the record cannot be assured (unknown) and a manipulation will not be detected.  Also Agent notes are not possible and snapshots are disabled and even the original timestamp cannot be displayed on the player.  Note also that a record once stored with this option on cannot be recovered later on.&lt;br /&gt;
&lt;br /&gt;
=== Write clear XML copy, file extension ===&lt;br /&gt;
&lt;br /&gt;
The connection data and stored in encoded xml file. The innovaphone Player decode those data and display them automatically. On top the player can export the connection data in a clear (not encoded) format. Anyway some customer wants a copy of the connection data on a central point in a clear file format. If this option is marked the recorder will make a copy of the encoded xml file, the name is the same but the extension must be defined. Do not enter the dot in the file extension field.&lt;br /&gt;
&lt;br /&gt;
=== Convert to Mono === &lt;br /&gt;
Audio files are stores in stereo format where the external caller is on the left channel while the internal audio is on the right channel. This allows for example to amplify one channel more than the other etc. If this flag is checked the audio file format is converted from stereo to mono and the file size is reduced about 50%. &lt;br /&gt;
&lt;br /&gt;
Remember that once converted to mono there is no way to restore the stereo image. &lt;br /&gt;
&lt;br /&gt;
=== One channel audio ===&lt;br /&gt;
If checked just on channel is recorded, typically the left one because there the internal caller is speaking. If requested also only the right caller can be recorded. In most countries recording just the internal caller (recording myself) is permitted without limitations. &lt;br /&gt;
&lt;br /&gt;
=== Softmigration/Slaves ===&lt;br /&gt;
&lt;br /&gt;
(Build 1072 or later)&lt;br /&gt;
&lt;br /&gt;
Check if the gateway is looped in between the PSTN and the PBX.&lt;br /&gt;
&lt;br /&gt;
Do not mark in all other situaytions.&lt;br /&gt;
&lt;br /&gt;
See relative Howto article for details.&lt;br /&gt;
&lt;br /&gt;
=== Store PCAP files (no pcap2wav) ===&lt;br /&gt;
&lt;br /&gt;
Audio files are saved in the PCAP format; the player is capable to reproduce even pcap files. This flag is mandatory if the recorder is used as a service (see relative article).&lt;br /&gt;
&lt;br /&gt;
=== MP3 indicator lamp ===&lt;br /&gt;
&lt;br /&gt;
If a conversion from wave to mp3 audio format is requested some external files and utilities has to be present in the recorder directory. During start up the recorder check if all those requires files are present and if yes mp3 compression is switched on automatically and the lamp is green, if not conversion to mp3 is switched off and the lamp is gray. &lt;br /&gt;
&lt;br /&gt;
===Work as http Player server (no recording)===&lt;br /&gt;
&lt;br /&gt;
(Build 1074 or higher)&lt;br /&gt;
Warning: If checked the recorder will be just a http fileserver for the player, no recording is done!&lt;br /&gt;
&lt;br /&gt;
Setup the storage path in the “Storage” tab and the Socket in the communication tab (COM WITH PLAYER). All other parameters are meaningless.&lt;br /&gt;
&lt;br /&gt;
See realtive article.&lt;br /&gt;
&lt;br /&gt;
=== Work as Pcap to Wave converter (no recording) ===&lt;br /&gt;
&lt;br /&gt;
If flagged this application will detect in the storage subdirectories pcap file and convert them to wave or mp3 and performs the down mix can be done (stereo to mono, one cannel). This operational mode can be switched with the Player server mode if required.&lt;br /&gt;
&lt;br /&gt;
=== Start in Taskbar ===&lt;br /&gt;
If checked the recorder will start minimized. Because the recorder has a complete user interface this software is not designed to run as a service. For automatic start-up include the .exe in the auto-start folder.&lt;br /&gt;
&lt;br /&gt;
=== Trace ===&lt;br /&gt;
&lt;br /&gt;
Do not confuse the logfile with the error logfile, the error log is written in any case and named iREC_Error_Log. This trace/logfile is called iRECsys_Log.txt and contains all operational tasks like copy of file, converting ecc., not just events like startup or errors. This flag should be switched on just in special situation for example during installation of a new system or in case of error searching, because this file becomes very huge and there is no automatic limitation foreseen.&lt;br /&gt;
&lt;br /&gt;
===open trace folder ===&lt;br /&gt;
&lt;br /&gt;
This link shows you the path to the Log files.  In case of problems please send us always the error log file.&lt;br /&gt;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&lt;br /&gt;
Communication to the PBX is necessary because of licensing and SOAP traffic supervision. Like in other applications admin access and SOAP user is required. &lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup89.PNG‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== IP addr. ===&lt;br /&gt;
Indicate the IP Address of the PBX where the Recording licenses are in (the license master). Typical license are displayed in the PBX as “Recording10”.&lt;br /&gt;
&lt;br /&gt;
=== IP addr. Stby ===&lt;br /&gt;
Indicate the IP address of the standby PBX. Leave blank if there is none.&lt;br /&gt;
&lt;br /&gt;
=== User / Password ===&lt;br /&gt;
Of the PBX where the license are in. Default example: admin / ip800&lt;br /&gt;
&lt;br /&gt;
=== SOAP USER ===&lt;br /&gt;
The SOAP user in the PBX where the licenses are stored has to be indicated. Usually it is a dummy user object in the PBX without any registration, for example a user called “SOAP” or “_TAPI_”.&lt;br /&gt;
&lt;br /&gt;
=== Agent Group ===&lt;br /&gt;
&lt;br /&gt;
Put all extensions where the recording feature is required in a group (not active) and define here the name of this group.&lt;br /&gt;
&lt;br /&gt;
The recorder will read out all extensions during start up and initialize those belonging to this group. A result is that events from these extensions will be transmitted to the recorder.&lt;br /&gt;
&lt;br /&gt;
Just extensions being part of that group will be recorded; eventual records of objects not in this group will be deleted. If a record is detected but the relative object is not in that group a message like “Record skipped Agent not in group” is displayed (but no error is triggered).&lt;br /&gt;
&lt;br /&gt;
During start-up the recorder read out the number of license for recording stored in the PBX. Each time a object is in the recording group the number of free licenses is decreased. So the putting in the recording group is limited if the maximum number of license is reached.&lt;br /&gt;
&lt;br /&gt;
Please note that in special situations, for example if you have a trunk line object but also a External object (a gateway) to a remote PBX both objects has to be in the group, otherwise calls form the trunk to the gateway will not be recorded.&lt;br /&gt;
&lt;br /&gt;
=== TAN ===&lt;br /&gt;
Build 1167&lt;br /&gt;
&lt;br /&gt;
Enter If the the number of the TAN XML (TAN.xml) if TAN feature is active. If you do not record direct on the trunk or the user but on a special GW with prefix also that prefix could be necessary before the number of the XML( typically not). See Concept article for description of the TAN feature.&lt;br /&gt;
&lt;br /&gt;
=== License Master ===&lt;br /&gt;
&lt;br /&gt;
In scenarios with license master and recoding on slave PBX (do not confuse with the feature slave recording, in this case the recorder is just simply a recorder on a slave PBX) the relative licenses are stored in the master PBX, in normal scenarios just leave blank.&lt;br /&gt;
&lt;br /&gt;
==== Use Stored Lic ====&lt;br /&gt;
If there are more recorders on one single PBX do not check this flag on the first one and start it. Than then start all other recorder with this flag switched on. Stop the first recorder, set the flag and start it again. In this way just one license per user is required. If the number of licenses change all recorder has to be stopped and the procedure repeated. Build 1164.&lt;br /&gt;
&lt;br /&gt;
== Reporting ==&lt;br /&gt;
The recorder must get ticket from the innovaphone reporting tool. The Reporting can run on a gateway or VMware (player or native), there is no difference for this setup.&lt;br /&gt;
&lt;br /&gt;
When the recorder detect a call end (in normal operation because the SOAP will tell that) the recorder will ask the reporting if there is a related record. If yes the recorder check if the user is in the recording group, if yes the call will be processed, if not deleted. If the recording has no record to the call that could be because the recorder is to fast (the record is not jet processed by the reporting) or because this user has no reporting. Therefore the recorder waits and tries later. After 4 trials the recorder gives up and deletes the file.  Such a situation slows down the recorder and therefore all users should have the reporting or just users with reporting should produce records. &lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup03.png]]&lt;br /&gt;
&lt;br /&gt;
=== IP address ===&lt;br /&gt;
&lt;br /&gt;
Enter the IP address of the device where the reporting is running. &lt;br /&gt;
&lt;br /&gt;
If you run the reporting on a PC enter the IP address indicated on the VMware virtual machine. &lt;br /&gt;
&lt;br /&gt;
If not visible enter “ifconfig” in the VMware panel, the address is shown under inet addr. Remember that the address is usually not 127.0.0.1 (even if the reporting is running on the same PC).&lt;br /&gt;
&lt;br /&gt;
=== IP addr. Stby ===&lt;br /&gt;
&lt;br /&gt;
Indicate the IP address of the standby reporting. Leave blank if there is none. Remember that both, active and standby PBX must sent the CDR tickets to both reporting applications and replication between must be switched on.&lt;br /&gt;
&lt;br /&gt;
=== Follow Standby/Active PBX ===&lt;br /&gt;
If a switch (and especially an automatic switch back) to the active reporting is required flag this option “Follow Standby/Active PBX”. If this option is not flagged and the active PBX is on again the reporting will not switch back (until the recorder is not started again or the standby reporting fails).&lt;br /&gt;
&lt;br /&gt;
=== User/Password ===&lt;br /&gt;
&lt;br /&gt;
Enter the credential to access to the reporting, default is “admin” and “linux”. &lt;br /&gt;
&lt;br /&gt;
=== Path Reporting ===&lt;br /&gt;
&lt;br /&gt;
Enter the path to the main screen of the reporting, typical (and default) is “/apps/innovaphone-reporting/report.php”. Should work normally, do not modify this setup.&lt;br /&gt;
&lt;br /&gt;
=== Try to reach reporting ===&lt;br /&gt;
&lt;br /&gt;
In this field is shown the result of the input. You should be able to reach the reporting from the PC using a browser and this link.&lt;br /&gt;
&lt;br /&gt;
=== Swap incoming/outgoing ===&lt;br /&gt;
&lt;br /&gt;
What “incoming” or “outgoing” is depends on the point of view. If clicked “in” and “out” (“i”, “o”) are simply swapped. &lt;br /&gt;
&lt;br /&gt;
=== No Reporting Sync ===&lt;br /&gt;
If checked the reporting is not synchronized with the voice recorder. &lt;br /&gt;
If not checked (default) the voice recorder informs the reporting if a stored recording is deleted and the database of the reporting is updated. Even if a Player delete a record (and has connection to the voice recorder) the recorder send relative information to the recorder, and the recorder again informs the reporting engine.&lt;br /&gt;
&lt;br /&gt;
=== Alarm if no CDR ticket found ===&lt;br /&gt;
&lt;br /&gt;
There must be for each recorded call a CDR ticket. If this option is checked an alarm (email) is trigger if there is no ticket. There are two situations where an alarm could trigger: if in online operation an agent (a user in the Agent group, means a user to record) end a call and there is no ticket after a time-out and after start-up where all pcap files buffered must be checked (agent or not) asking the reporting.&lt;br /&gt;
&lt;br /&gt;
== PCAP ==&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup23.png]]&lt;br /&gt;
&lt;br /&gt;
Note that the setup for a compact flash (CF) is different than the one using a webdav!&lt;br /&gt;
&lt;br /&gt;
If you use our CF with the innovaphone application platform the CF is considered as a webdav service. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The recorder downloads the pcap records from the CF or webdav server. See examples Webdav and Compact Flash and observe the different required inputs. &lt;br /&gt;
&lt;br /&gt;
There is no difference between a IPVA or a Webdav server on a hardware device, in the Webdav example you will see the path to an Application Webdav service on a IP810. In the example the pcap are stored in the directoy /MyPCAPpath. Basically also in the gateway or phone the path for the recording is that one. &lt;br /&gt;
&lt;br /&gt;
=== Follow Standby/Active PBX===&lt;br /&gt;
&lt;br /&gt;
If this flag is on in case of switch to the Standby PBX of the PBX connection also the PCAP path is swapped. If not the path is the same (scenario if for example an external Webdav server on a HA VMware is used).&lt;br /&gt;
&lt;br /&gt;
=== User/Admin===&lt;br /&gt;
&lt;br /&gt;
Credentials for accessing the CF or Webdav server, see examples.&lt;br /&gt;
&lt;br /&gt;
=== Path PCAP===&lt;br /&gt;
&lt;br /&gt;
Path to the directory ahere the PCAP are stored. See examples.&lt;br /&gt;
&lt;br /&gt;
===HTTPS===&lt;br /&gt;
&lt;br /&gt;
Self-explaining&lt;br /&gt;
&lt;br /&gt;
===Delete old PCAP Files===&lt;br /&gt;
&lt;br /&gt;
After a number of cycles without response from the reporting the pcap file will be deleted. In a correct working system this should never happen because all users in the PBX should have the reporting. Default value = 500, minimum value=1. &lt;br /&gt;
&lt;br /&gt;
===Delete Pcap without CDR===&lt;br /&gt;
&lt;br /&gt;
If no ticket is received after the number of cylices defined the recorder delete the pcap file.  Before doing that he tries to copy the pcap file in the TMP subdirectory of the storage path. At least those files are not lost. If this option is checked no emergency copy is done.&lt;br /&gt;
&lt;br /&gt;
== Storage ==&lt;br /&gt;
&lt;br /&gt;
The setup parameter in this panel defines where the recorder stores the records. While the Root storage Path is mandatory, the backup path is a option.&lt;br /&gt;
&lt;br /&gt;
=== Set Root storage path ===&lt;br /&gt;
&lt;br /&gt;
The path indicated in this option is the working directory where the files after retrieving, naming and converting are written. It is also the directory where the player will look and search for files.&lt;br /&gt;
&lt;br /&gt;
If you click the “Set” button a directory dialog box appear, select the directory where you want store the voice records and confirm. You can edit the path even manually, not recommended.&lt;br /&gt;
&lt;br /&gt;
=== Delete (records) after moth ===&lt;br /&gt;
&lt;br /&gt;
The indicated number of month is the maximum storage depth. The minimum is 2 (so the actual and the last month will always be available), indicating 99 disable the feature. Deleted files cannot be recovered, the name of the deleted files are reported in the syslog. &lt;br /&gt;
&lt;br /&gt;
Note that file in the backup path will never be touched.&lt;br /&gt;
&lt;br /&gt;
=== Set Backup path ===&lt;br /&gt;
&lt;br /&gt;
This path is optional; if blank the feature is off.&lt;br /&gt;
&lt;br /&gt;
If you click the “Set” button a directory dialog box appear, select the directory where you want store a backup of the voice records and confirm. You can edit the path even manually, not recommended.&lt;br /&gt;
&lt;br /&gt;
Note that files stored in the backup directory are not visible for the player and even the automatic delete is not active. The indicated directory is typically on a NAS or SAN system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Communication ==&lt;br /&gt;
&lt;br /&gt;
This page shows 3 independent container:&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup05.png]]&lt;br /&gt;
&lt;br /&gt;
=== COM WITH EXTERNAL APPLICATION (option) ===&lt;br /&gt;
&lt;br /&gt;
Necessary if the recorder is interfaced to an external application, see reference help in the main window for details. Leave all blank if no external application is required.&lt;br /&gt;
&lt;br /&gt;
Do not confuse this section with interfacing reporting or player – these are options for external servers and applications.&lt;br /&gt;
&lt;br /&gt;
=== Lounch application string ===&lt;br /&gt;
&lt;br /&gt;
When a record is detected a application can be triggered, see relative description.&lt;br /&gt;
&lt;br /&gt;
=== Keep Alive ===&lt;br /&gt;
&lt;br /&gt;
Indicate in seconds the time period between sending keep alive messages from the recorder to the external application (default=10 seconds).&lt;br /&gt;
&lt;br /&gt;
=== IP address / Port ===&lt;br /&gt;
&lt;br /&gt;
IP address / Port of the external application server.&lt;br /&gt;
&lt;br /&gt;
Be carefully in assigning the port number, no duplicate port number should be assigned and the port number must even be free from the server point of view.&lt;br /&gt;
&lt;br /&gt;
=== Lounch path ===&lt;br /&gt;
&lt;br /&gt;
URL to be launched.&lt;br /&gt;
&lt;br /&gt;
=== COM WITH PLAYER ===&lt;br /&gt;
&lt;br /&gt;
Communication with the player is an option, indicating a port number, it will be switched on from the recorder point of view and request from the player will be processed.&lt;br /&gt;
&lt;br /&gt;
Indicate in the “port” field a free communication port while under “own IP address” the IP address of the PC is indicated.&lt;br /&gt;
&lt;br /&gt;
The recorders try to find out automatically his “own” communication port; that sometimes fails in virtual environments. If the indicated IP address is not correct put in the right one (the on for this application).&lt;br /&gt;
&lt;br /&gt;
Be carefully in assigning the port number, no duplicate port number should be assigned and the port number must even be free from the server point of view.&lt;br /&gt;
&lt;br /&gt;
To switch off this feature leave the port field blank.&lt;br /&gt;
&lt;br /&gt;
Note: If the recorders works as a fileserver for the player this address and port is the communication socket for the player (Build 1074 or higher). &lt;br /&gt;
&lt;br /&gt;
Password (build 1136): &lt;br /&gt;
&lt;br /&gt;
Password for player to access to the recorder if the recorder act as http player server or even if a player want retrieve the recorder status. Leave blank if no password protection is required, if this field is blank eventual password in the player are ignored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GROUP EMAIL ALARM (option) ===&lt;br /&gt;
&lt;br /&gt;
If the recorder switch on the master alarm a supervisor can be receive an email.&lt;br /&gt;
The message object is &amp;quot;Voice Recorder &amp;quot; + Name of the recorder + &amp;quot; - ALARM NOTIFICATION&amp;quot;, while the body text contains the last master alarm reason and the text &amp;quot;Automatic generated Alarm - Do NOT answer!&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that a mail is sending just one time even if the error is recovered automatically (for example if the reporting is reachable again, then fails, then works etc.). To rearm the email the master alarm must be quit. This is intentionally to avoid tons of emails in case of toggling errors. The rule is that after an alarm email the application has to be checked. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== e-mail account ===&lt;br /&gt;
&lt;br /&gt;
Enter the destination email account for example kwa@innovaphone.com&lt;br /&gt;
&lt;br /&gt;
If this field is empty the feature is off.&lt;br /&gt;
&lt;br /&gt;
=== e-mail server ===&lt;br /&gt;
&lt;br /&gt;
Enter the e-mail server, for example 155.5.23.24&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Password ===&lt;br /&gt;
&lt;br /&gt;
Not necessary for Exchange but could be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TCR/MRK/RND ==&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup06_2.png]]&lt;br /&gt;
&lt;br /&gt;
===Thread Call Recording===&lt;br /&gt;
If checked the feature TRC is on, otherwise off (default).&lt;br /&gt;
If this option is checked the Recorder will work in the Thread call Recording mode (TCR), if not in the standard mode (STD). No mixed mode is possible for one Recorder.&lt;br /&gt;
If TCR is on records will be saved only if the user define this call by call. That could be done automatically if calls are processed by innovaphone IP-Phones or on demand during a call if innovaphone IP-Phones are used.&lt;br /&gt;
But it is also possible to mark a call after the call end for a certain period, after that period the recorded file will be deleted. TCR files contain always the entire voice call from the beginning on , even if the mark is done during or after the call.&lt;br /&gt;
&lt;br /&gt;
TCR flag Timeout: After that timeout calls not marked are deleted. A typical value is 5 minutes.&lt;br /&gt;
&lt;br /&gt;
XML Number: If a user marks call he will call a XML, during the call using a 3conference party or after the call calling simply the xml. Of cause that “marking” calls to the xml should not be recorded (but the will if for example the phone has permanent recording on). Indicate the number of the xml, in this way the recorder will delete this “marking” calls.&lt;br /&gt;
&lt;br /&gt;
===Mark Records===&lt;br /&gt;
If this option is switched on a user can mark a record. Marked records are visible in the system playlist of the player.&lt;br /&gt;
This can be done during conversation (with innovaphone IP-Phone only) or after a record dialing a number. The mechanism is similar to the TCR and in fact there is used the same XML to do that. TCR is switched on no marking is possible (senseless, the user “marks” to record while this feature mark records in normal operation mode). &lt;br /&gt;
&lt;br /&gt;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml  (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.  &lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. &lt;br /&gt;
The Feature works also with the (old) CF.&lt;br /&gt;
&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&lt;br /&gt;
&lt;br /&gt;
===Random Recording===&lt;br /&gt;
If marked conversations are recorded in a random way. Not every conversation will be recorded and recording is uses for example just for a statistic quality check.&lt;br /&gt;
There are two parameters that can be combined, a counter of records and a counter of calls for a agent. If for example the “Record in System” counter is set to 5 only each fifth call will be recorded. If the counter “Record for Agent” is set to 2 for a single agent will be recorded each 2nd conversation. Combined for a User it will be unforeseeable if a call will be recorded or not.&lt;br /&gt;
&lt;br /&gt;
==Slaves==&lt;br /&gt;
&lt;br /&gt;
[[Image:RecSetup10.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Slave PBX saves the PCAP record in a “far”, own compact flash/webdav while the CDR data are stores and saved in a central reporting. &lt;br /&gt;
&lt;br /&gt;
Note: There must be a Master setup, it is not possible to have just slaves, a main site is required where for example the licenses for the recording are stored. &lt;br /&gt;
&lt;br /&gt;
The Slave setup is similar to the PCAP setup (IP-address, User, Password and PCAP- Path). The field “Name” is just to remember the site and select a site form the recorder main interface.&lt;br /&gt;
&lt;br /&gt;
To add a new Slave-site select an empty line in the table, enter all data and press the save button.&lt;br /&gt;
&lt;br /&gt;
To delete a Slave-site select an existing line, delete the IP-address and press the save button. &lt;br /&gt;
&lt;br /&gt;
To modify a Salve site select an existing line, do the modification and press the save button.&lt;br /&gt;
&lt;br /&gt;
===Interval (min)===&lt;br /&gt;
&lt;br /&gt;
Set a time interval in minutes, shortest value should be 1 (do not enter 0). The slave PBX will be checked just after this timeout is expired. &lt;br /&gt;
Example &amp;quot;20&amp;quot;: The recorder check if there are PCAP-Files to import, than waits for 20 minutes before checking again.&lt;br /&gt;
&lt;br /&gt;
Note: Slave sites are checked after the main site is worked out. Therefore the main site records have a priority in handling. If for example the main site has continuously records to save the slave routines are delated. &lt;br /&gt;
&lt;br /&gt;
In the interval line a “from” – “to” time span can be defined. Salves will be checked just in this timespan. &lt;br /&gt;
Empty values means “always”.&lt;br /&gt;
&lt;br /&gt;
Example 1: “08:00” to “18:00” means “during worktime” while “22:00” to “04:00” means “during the night”. &lt;br /&gt;
&lt;br /&gt;
Note: Also during the timespan the Interval timeout is observed. &lt;br /&gt;
&lt;br /&gt;
Example: Interval = “5”, “14:00” to “23:00”: the recorder will import data form 14:00 to 23:00, checking each 5 minutes if there are any new records.&lt;br /&gt;
&lt;br /&gt;
Note: The Recorder interface will show an additional Combo box where a slave site can be selected (showing the name fields). The operator can select a Salve site and force the download of the PCAP files. This is usefully if a specific record should be downloaded immediately.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Audio compression ==&lt;br /&gt;
&lt;br /&gt;
The wave audio files are jet G711 compressed but stored as a stereo file in a wave container format. Storing native PCM would requires about the double disk space and is not done. One minute of raw PCM requires about 2 MB while the recorder reduces as default this size at 1MB. &lt;br /&gt;
&lt;br /&gt;
Unfortunately if switched on audio encoding will double again this size. Even if the customer wants a very long period of storing data or has limited disk space additional compression would be fine. Mp3 compression can be switched on using external 3rd party software. &lt;br /&gt;
&lt;br /&gt;
The recorder can pilot automatically external applications called “lame.exe” and “Sox.exe”. Lame is an open source (GPL) tool and even SoX is an open source (GPL) tool (SoX is described also in another Wiki article).&lt;br /&gt;
&lt;br /&gt;
The recorder use no source code inside and calls the applications like a batch file (of cause providing relative command line info). &lt;br /&gt;
&lt;br /&gt;
Do not “install” lame or SoX, just download the packages and copy the following files in the folder where the recorder is running:&lt;br /&gt;
&lt;br /&gt;
- Sox.exe&lt;br /&gt;
&lt;br /&gt;
- Lame.exe&lt;br /&gt;
&lt;br /&gt;
- Libgomp-1.dll&lt;br /&gt;
&lt;br /&gt;
- Pthreadgc2.dll&lt;br /&gt;
&lt;br /&gt;
- Zlib1.dll&lt;br /&gt;
&lt;br /&gt;
During start up the recorder check if those files are in the directory and if yes mp3 coding is on while if just one file is missing encoding is off. If you open the extended view of the recorder an mp3 Led shows you mp3 coding status (on or off).&lt;br /&gt;
&lt;br /&gt;
With mp3 option on the required file size is reduced about 75% (1 MB will become 250kB). &lt;br /&gt;
&lt;br /&gt;
Note that encoding audio files will double again the file size. Encoding can be done with wave or mp3 files. An encoded audio mp3 file requires anyway just 50% disk space that a clear wave file does.&lt;br /&gt;
&lt;br /&gt;
Note: Latest release from sox there is no more a file called &amp;quot;Pthreadgc2.dll&amp;quot;. You have to take release 14.4.1 or earlier.&lt;br /&gt;
&lt;br /&gt;
= Other Setup =&lt;br /&gt;
&lt;br /&gt;
For Reporting setup, PC setup, Gateway setup, IP-Phone Setup, Multiple Voice Recorder and Player see related Articles (System Setup)&lt;br /&gt;
&lt;br /&gt;
= Related Articles =&lt;br /&gt;
&lt;br /&gt;
* [[Reference10:Voice_Recorder/System_Setup]]&lt;br /&gt;
* [[Reference10:Voice_Player/Setup]]&lt;br /&gt;
* [[Reference10:Concept_Voice_Recorder]]&lt;br /&gt;
&lt;br /&gt;
[[Reference10:Player_Voice_Recording]]&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;
= Download =&lt;br /&gt;
*[http://sox.sourceforge.net/ Download SoX executable for Win32 from sourceforge.net)]&lt;br /&gt;
*[http://sourceforge.net/projects/lame/files/lame/3.99/ Download Lame from sourceforge.net]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=49852</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=49852"/>
		<updated>2018-05-24T11:30:57Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Logging */&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;
Application package can be retrieved from our [http://download.innovaphone.com/ice/10.00/#recording download page].&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;
=== 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.&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 recording 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;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.&lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. The Feature works also with the (old) CF.&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&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 voice 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;
== 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 note 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;
•       External call to WQ, Agent A transfer call to Agent with or without announcement = Agent A (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User without announcement = Agent (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User with announcement = Deleted (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, User transfer call with or without announcement to Agent = Deleted (from Build1185)&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 does not convert any recordings into mp3, even if the mp3 driver is detected and the mp3 conversion is turned on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;lt;code&amp;gt;()&amp;quot;,&amp;lt;/code&amp;gt; or space.&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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=49848</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=49848"/>
		<updated>2018-05-24T09:49:11Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Overview */&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;
Application package can be retrieved from our [http://download.innovaphone.com/ice/10.00/#recording download page].&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;
=== 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.&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 recording 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;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.&lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. The Feature works also with the (old) CF.&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&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 voice 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;
== 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;
•       External call to WQ, Agent A transfer call to Agent with or without announcement = Agent A (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User without announcement = Agent (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User with announcement = Deleted (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, User transfer call with or without announcement to Agent = Deleted (from Build1185)&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 does not convert any recordings into mp3, even if the mp3 driver is detected and the mp3 conversion is turned on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;lt;code&amp;gt;()&amp;quot;,&amp;lt;/code&amp;gt; or space.&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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=49847</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=49847"/>
		<updated>2018-05-24T09:25:50Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Recording on a central point */&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;
Application package can be retrieved from our [http://download.innovaphone.com/ice/10.00/#recording download page].&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;
=== 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.&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 recording 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;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.&lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. The Feature works also with the (old) CF.&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&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;
•       External call to WQ, Agent A transfer call to Agent with or without announcement = Agent A (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User without announcement = Agent (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User with announcement = Deleted (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, User transfer call with or without announcement to Agent = Deleted (from Build1185)&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 does not convert any recordings into mp3, even if the mp3 driver is detected and the mp3 conversion is turned on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;lt;code&amp;gt;()&amp;quot;,&amp;lt;/code&amp;gt; or space.&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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference10:Concept_Voice_Recording_2014&amp;diff=49846</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=49846"/>
		<updated>2018-05-24T09:09:44Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Codecs */&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;
Application package can be retrieved from our [http://download.innovaphone.com/ice/10.00/#recording download page].&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;
=== 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.&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;
===Delete Records===&lt;br /&gt;
Build 1188&lt;br /&gt;
&lt;br /&gt;
A user can skip (not store) some conversations. This is done using a similar mechanism used with the TCR. If at the end of the conversation a file is found this record will be deleted. Therefore it works only if this file is created during the conversation. This can be done calling the XML TCRec.xml (with a feature key, the recording feature of a innvaphone IP Phone, putting the actual call on hold and call the xml or using an external application). The file has to be created in the recording directory/TMP.&lt;br /&gt;
&lt;br /&gt;
File format: TCA-XXX_XXX.txt where xxx= the agent number.&lt;br /&gt;
&lt;br /&gt;
Example: TCA-1234_1234.txt -&amp;gt; the record of the actual conversation of the agent 1234 will not be recorded.&lt;br /&gt;
&lt;br /&gt;
The field itself could be empty, but observe that with Linux at least one character should be in.&lt;br /&gt;
&lt;br /&gt;
Please note also that the time of the reporting, PBX and webdav must be the same. The Feature works also with the (old) CF.&lt;br /&gt;
If a record is skipped because of theis feature he log will show the message “User Mark Record to delete found TCF=” and the Agent number.&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;
•       External call to WQ, Agent A transfer call to Agent with or without announcement = Agent A (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User without announcement = Agent (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, Agent transfer call to User with announcement = Deleted (from Build1185)&lt;br /&gt;
&lt;br /&gt;
•       External call to WQ, User transfer call with or without announcement to Agent = Deleted (from Build1185)&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 does not convert any recordings into mp3, even if the mp3 driver is detected and the mp3 conversion is turned on. &lt;br /&gt;
In that case, you should check if the name of the storage path contains special characters like &amp;lt;code&amp;gt;()&amp;quot;,&amp;lt;/code&amp;gt; or space.&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>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference9:Concept_USB_Headset&amp;diff=49553</id>
		<title>Reference9:Concept USB Headset</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference9:Concept_USB_Headset&amp;diff=49553"/>
		<updated>2018-04-03T05:27:43Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept9|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
The IP112, IP222 and IP232 telephones provide USB ports. This document describes how to install, configure and use USB headsets on these phones.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
*IP112, IP222, IP232&lt;br /&gt;
Firmware V9hotfix7 and later.&lt;br /&gt;
&lt;br /&gt;
USB Headset Support is &#039;&#039;in beta as of V9hotfix7&#039;&#039; and should thus not be used in production environments!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; USB Headsets supported by the &#039;&#039;&#039;innovaphone SoftwarePhone&#039;&#039;&#039; can be found [http://wiki.innovaphone.com/index.php?title=Reference9:Concept_USB_Headset_For_SoftwarePhone here].&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Disclaimer===&lt;br /&gt;
Only the devices listed here have been tested or will be tested by innovaphone AG, therefore only these headsets are supported by us. But nevertheless you could not be sure, every device with the same label or the same part number will work in the same way, because of different product codes or modified firmware. So it is recommended to test the headset before buying.&lt;br /&gt;
&lt;br /&gt;
It is also a good idea, to install the software attached to the headset on the PC and first connect the device to the PC to update the firmware and to pick out the specifications before using the headset with the phone.&lt;br /&gt;
&lt;br /&gt;
===Installation===&lt;br /&gt;
Follow the vendor setup directions for using the headset with a PC but connect the USB plug of the headset to an USB slot of the IP2x2 phone.&lt;br /&gt;
There is no need to install any vendor provided PC software.&lt;br /&gt;
&lt;br /&gt;
Some headsets are designed to be connected both to a telephone via DHSG, AEI or a similar protocol and to a PC via USB.&lt;br /&gt;
In this case you must also set up the headset for use with a PC, sometimes a special keypress is required to fix this setting.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
An USB headset is detected and automatically enabled as soon as it is connected to one of the phones a USB ports.&lt;br /&gt;
&lt;br /&gt;
Enabling the headset has the following effects:&lt;br /&gt;
*	a headset icon is displayed in the phone status line&lt;br /&gt;
*	a normal inbound call is indicated by a ring tone in the headset (if this is supported by the headset)&lt;br /&gt;
*	an automatically connected inbound call ((announcement, broadcast) is connected to the headset (not to the speaker as usual)&lt;br /&gt;
*	a call initiated by pressing the &#039;&#039;Redial&#039;&#039; key while browsing a call list or a directory is connected to the headset&lt;br /&gt;
*	a call initiated by pressing the &#039;&#039;Redial&#039;&#039; in indirect dialling mode is connected to the headset&lt;br /&gt;
&lt;br /&gt;
Before V9hotfix9 it&#039;s was necessary to enable the headset explicitely at the telephone either by setting &amp;quot;Menu/Phone Setup/Headset: On&amp;quot; or by a &#039;&#039;Headset&#039;&#039; function key with &#039;&#039;Mode: Enable&#039;&#039;. This is obsolete now.&lt;br /&gt;
&lt;br /&gt;
===Call control===&lt;br /&gt;
The IP2x2 telephones don&#039;t provide a hardware key to control the headset but if required a &#039;&#039;Headset&#039;&#039; function key with &#039;&#039;Mode: Control&#039;&#039; can be defined to setup/accept calls via headset directly on the telephone.&lt;br /&gt;
Headset call control can be performed in different ways:&lt;br /&gt;
*	by the &#039;&#039;Talk&#039;&#039; key on the headsets base station&lt;br /&gt;
*	by the &#039;&#039;Talk&#039;&#039; key on the headset itself&lt;br /&gt;
*	by the &#039;&#039;Headset:Control&#039;&#039; function key&lt;br /&gt;
*	by the &#039;&#039;Redial&#039;&#039; key (outbound calls only)&lt;br /&gt;
&lt;br /&gt;
Some headsets require that all call control is performed by a &#039;&#039;Talk&#039;&#039; key, otherwise the media connection between base and headset gets lost.&lt;br /&gt;
Call control by a &#039;&#039;Talk&#039;&#039; key works only if the headset is known to the firmware!&lt;br /&gt;
&lt;br /&gt;
Before V9hotfix9 setting up outbound calls via a &#039;&#039;Talk&#039;&#039; key was disabled and had to be to be enabled via the WEB interface by checking &amp;quot;Phone/Preferences/Start Outbound Call on Electronic Hook Switch (EHS) Signal&amp;quot;. This is obsolete now.&lt;br /&gt;
&lt;br /&gt;
====Outbound Calls====&lt;br /&gt;
*	enter a number and press &#039;&#039;Redial&#039;&#039;&lt;br /&gt;
*	select an entry in a call list or a directory and press &#039;&#039;Redial&#039;&#039;&lt;br /&gt;
*	press a &#039;&#039;Talk&#039;&#039; key and enter the number (if this function is enabled)&lt;br /&gt;
*	press the &#039;&#039;Headset:Control&#039;&#039; function key and enter the number&lt;br /&gt;
&lt;br /&gt;
To drop the call press a &#039;&#039;Talk&#039;&#039; key, the &#039;&#039;Disconnect&#039;&#039; key or the &#039;&#039;Headset:Control&#039;&#039; function key.&lt;br /&gt;
&lt;br /&gt;
====Inbound Calls====&lt;br /&gt;
To accept an inbound call press a &#039;&#039;Talk&#039;&#039; key or the &#039;&#039;Headset:Control&#039;&#039; function key.&lt;br /&gt;
To drop the call press a &#039;&#039;Talk&#039;&#039; key, the &#039;&#039;Disconnect&#039;&#039; or the the &#039;&#039;Headset:Control&#039;&#039; function key.&lt;br /&gt;
&lt;br /&gt;
===Headset Volume control===&lt;br /&gt;
====Speaker Volume====&lt;br /&gt;
Usually the headset provides it&#039;s own speaker volume control and this should be preferred.&lt;br /&gt;
The phone volume control keys can be used (range 1 (min to the left) to 10 (max to the right) when the range of the headset volume control is not sufficient.  However, be aware that higher values can result in signal distortions (clipping) to the headset which creates bad quality.  Use the phone&#039;s headset volume control only to compensate for exceptional low volume callers, the general headset volume should always be adjusted in the headset with the phone&#039;s headset control set to a middle value (i.e. 5).&lt;br /&gt;
&lt;br /&gt;
====Microphone Volume====&lt;br /&gt;
&lt;br /&gt;
Usually there is no need to change the phones default gain for the headset microphone signal.&lt;br /&gt;
But there are rare cases where the microphone signal is too strong or even more rarely too weak.&lt;br /&gt;
In this cases the gain can be changed by config commands entered in the browser address line:  &lt;br /&gt;
&lt;br /&gt;
   config add AC-DSP0 HEADSET /InputGain &#039;&#039;gain&#039;&#039;&lt;br /&gt;
   config activate&lt;br /&gt;
   config write&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;gain&#039;&#039; values from 1 to 63 can be configured (1/2 dB steps). A value of 32 means 0dB, lower values mean attenuation, higher values amplification.&lt;br /&gt;
The default value is 40 i.e. 8dB amplification.&lt;br /&gt;
&lt;br /&gt;
====Microphone Mute====&lt;br /&gt;
Usually the headset provides it&#039;s own &#039;&#039;Mute&#039;&#039; button and this should be preferred.&lt;br /&gt;
The phones &#039;&#039;Mute&#039;&#039; function is independent of the headset function, i.e. a headset muted via its own button can be unmuted only via this buton but not at the phone.&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
Monitor Mode does not work with USB headsets, i.e. the telephone speaker cannot switched on in addition to the headset.&lt;br /&gt;
&lt;br /&gt;
==Supported Headsets==&lt;br /&gt;
&lt;br /&gt;
===Abbreviations===&lt;br /&gt;
&lt;br /&gt;
PN  = Part Number as printed on the package (P/N: or PN: or Part No or ...)&lt;br /&gt;
&lt;br /&gt;
ID  = USB procuct id as read from the device (idProduct)&lt;br /&gt;
&lt;br /&gt;
YES = feature tested and fully operational&lt;br /&gt;
&lt;br /&gt;
NO  = feature not supported by innovaphone&lt;br /&gt;
&lt;br /&gt;
N/A = device does not provide functionality&lt;br /&gt;
&lt;br /&gt;
===Jabra / GN Netcom (Vendor ID 0x0b0e)===&lt;br /&gt;
====wireless====&lt;br /&gt;
Jabra Link 14201-30 (ID 0x0925) connects the headsets DHSG ports with the USB interface of the telephone&lt;br /&gt;
=====&#039;&#039;&#039;GN 9350e (PN 9356-607-401, ID 0x9350)&#039;&#039;&#039;=====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Jabra Link 14201-30 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;The media channel between base and headset can be activated/deactivated only by the headset or the base but not by the phone&amp;lt;br/&amp;gt;&lt;br /&gt;
End of Sales 30.06.2013, End of Life 30.06.2015 for EMEA und APAC&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Pro 9450&#039;&#039;&#039;=====&lt;br /&gt;
Pro 9450 (PN 9450-25-507-101, ID 0x1021)&amp;lt;br&amp;gt;&lt;br /&gt;
Pro 9450 Duo EMA (PN 9450-29-707-101, ID 0x1022)&amp;lt;br&amp;gt;&lt;br /&gt;
(since V9hotfix12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Jabra Link 14201-30 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Call last number dialed &amp;lt;br/&amp;gt; (mobile phones and supported softphones only)&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Pro 9460 (PN 9460-25-707-101/9460-29-707-101 ID 0x1041/0x1043&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Jabra Link 14201-30 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Call last number dialed &amp;lt;br/&amp;gt; (mobile phones and supported softphones only)&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Pro 9470 (PN 9470-26-904-101, ID 0x1042)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Jabra Link 14201-30 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Call last number dialed &amp;lt;br/&amp;gt; (mobile phones and supported softphones only)&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;GO 6470 (PN 6470-15-207-501, ID 0x1003,0x1004,  Firmware 4.5.17)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Jabra Link 14201-30 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 6&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Call last number dialed &amp;lt;br/&amp;gt; (mobile phones and supported softphones only)&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Pro 920 (PN 920-25-508-1)&#039;&#039;&#039;=====&lt;br /&gt;
connected with &#039;&#039;&#039;Jabra Link 14201-30&#039;&#039;&#039; to &#039;&#039;&#039;DHSG&#039;&#039;&#039; port&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;Pro 930 (PN 930-25-509-101, ID 0x1016, 0x1017)&#039;&#039;&#039;=====&lt;br /&gt;
(ID 0x1016 since V9hotfix12, ID 0x1017 since V9hotfix24)&amp;lt;br/&amp;gt;&lt;br /&gt;
The Talk-Button works only with the device &#039;&#039;Softphone&#039;&#039; setting &#039;&#039;Other&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
This can be configured in the Jabra Control Center under&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;Advanced View/Softphone(PC)/Target Softphone for outgoing calls/Softphone&#039;&#039;&amp;lt;br/&amp;gt; &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Pro 935 BT&#039;&#039;&#039;=====&lt;br /&gt;
PN 935-15-509-201 200614 Version A, ID 0x1037 (Alpha3 - For Evaluation only)&amp;lt;br/&amp;gt;&lt;br /&gt;
PN 935-15-509-201 261114 Version A, ID 0x1037 &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix35)&amp;lt;br/&amp;gt;&lt;br /&gt;
A double tap on the headset talk button when phone is idle does not work as expected.  &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;GO 660 (PN 5078-228-209, ID 0x0320)&#039;&#039;&#039;=====&lt;br /&gt;
The Jabra GO 660 Bluetooth headset system consists of the Jabra EXTREME™ headset&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 320 USB Bluetooth adapter.&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SUPREME UC / MOTION UC&#039;&#039;&#039;=====&lt;br /&gt;
SUPREME UC (PN 5078-230-310)&amp;lt;br/&amp;gt;&lt;br /&gt;
The Jabra SUPREME UC Bluetooth headset system consists of the Jabra SUPREME™ headset (tested firmware version 2.5.2)&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 360 USB Bluetooth adapter, ID 0xa346.&amp;lt;br/&amp;gt;&lt;br /&gt;
MOTION UC (PN 6640-906-140)&amp;lt;br/&amp;gt;&lt;br /&gt;
The Jabra MOTION UC Bluetooth headset system consists of the Jabra MOTION headset (tested firmware version 1.36.2)&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 360 USB Bluetooth adapter, ID 0xa346 (tested firmware version 1.14.0).&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix13)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;GO 6430 (PN 6430-17-20-201, ID 0xa342, Firmware 5.4.17)&#039;&#039;&#039;=====&lt;br /&gt;
The Jabra GO 6430 Bluetooth headset system consists of the Jabra GO 6430 headset&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 350 USB Bluetooth adapter.&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix13)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;EVOLVE 65 UC &amp;amp; Link 360&#039;&#039;&#039;=====&lt;br /&gt;
The Jabra EVOLVE 65 UC Stereo Bluetooth headset package (PN 6599-829-409 - 10/04/15 Version A - Stereo UC &amp;amp; Link 360)&amp;lt;br/&amp;gt;&lt;br /&gt;
consists of the Jabra EVOLVE 65 UC Stereo headset (ID , tested firmware version 1.5.6)&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 360 USB Bluetooth adapter(ID 0xa346, tested firmware version 1.2.2).&amp;lt;br/&amp;gt;&lt;br /&gt;
The Jabra EVOLVE 65 UC Stereo headset can also be used as a corded USB headset.&amp;lt;br/&amp;gt; &lt;br /&gt;
(since v9hotfix43/v10sr17)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;	&amp;lt;!-- Long Press --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES		&amp;lt;!-- Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES		&amp;lt;!-- Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;	&amp;lt;!-- Long Press --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toggle between active and held call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;	&amp;lt;!-- Long Press --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;	&amp;lt;!-- Double Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;EVOLVE 75 UC &amp;amp; Link 370&#039;&#039;&#039;=====&lt;br /&gt;
The Jabra EVOLVE 75 UC Stereo Bluetooth headset package (PN 7599-838-199 - 02/10/17 Version A - Headset &amp;amp; Charging Stand &amp;amp; Link 370)&amp;lt;br/&amp;gt;&lt;br /&gt;
consists of the Jabra EVOLVE 75 UC Stereo headset (ID ?, tested firmware version 1.12.0)&amp;lt;br/&amp;gt;&lt;br /&gt;
and the Jabra LINK 370 USB Bluetooth adapter(ID 0x245d, tested firmware version 1.14.0).&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr44/v11r2sr26/v12r1sr10/v12r2final)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES	       &amp;lt;!-- Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES		&amp;lt;!-- Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES		&amp;lt;!-- Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;	&amp;lt;!-- Long Press --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toggle between active and held call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;	&amp;lt;!-- Long Press --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;	&amp;lt;!-- Double Tap --&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt; Double Tap&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt; Long Press (hold 1-2 seconds)&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt; 3&amp;lt;/sup&amp;gt; Touch Red Handset Icon&amp;lt;br/&amp;gt;&lt;br /&gt;
N/A&amp;lt;sup&amp;gt; 4&amp;lt;/sup&amp;gt; Double Tap - not supported by DHSG &amp;lt;br/&amp;gt;&lt;br /&gt;
N/A&amp;lt;sup&amp;gt; 5&amp;lt;/sup&amp;gt; Press (hold 1-2 seconds) - not supported by DHSG&amp;lt;br/&amp;gt;&lt;br /&gt;
N/A&amp;lt;sup&amp;gt; 6&amp;lt;/sup&amp;gt; Not transfered to the Phone&amp;lt;br/&amp;gt;&lt;br /&gt;
N/A&amp;lt;sup&amp;gt; 7&amp;lt;/sup&amp;gt; Not available via Touch Screen Menu&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====corded====&lt;br /&gt;
=====&#039;&#039;&#039;Link 260 (PN: 260-09 ID 2319)&#039;&#039;&#039;=====&lt;br /&gt;
(since xxx)&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;BIZ 2300 USB&#039;&#039;&#039;=====&lt;br /&gt;
BIZ 2300 USB UC Mono (PN 2393-829-109 ID 0x2301) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr6 / v9hotfix32)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press Flash button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;BIZ 2400 USB&#039;&#039;&#039;=====&lt;br /&gt;
BIZ 2400 USB Mono (PN 2496-829-104, ID 0x2400) &amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 MS USB Mono (PN 2496-823-104, ID 0x2401) &amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 USB Duo (PN 2499-829-104, ID 0x91c) &amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 USB OC (PN 2499-823-104, ID 0x090a) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;BIZ 2400 II USB&#039;&#039;&#039;=====&lt;br /&gt;
BIZ 2400 II Duo USB (PN 2499-829-209 - 06/01/16 Version A - ID 0x2452, tested firmware version 1.1.2)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr32, v11r2sr10)&amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 II Duo USB UC - (PN 2499-829-309 Version A - ID 0x2322)&amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 II Mono USB UC - (PN 2496-829-309 - Version A - ID 0x2321)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr36, v11r2sr16, v12r1sr1)&amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 II Mono USB BT - (PN 2469-829-209 Version A - ID 0x2451&amp;lt;br/&amp;gt;&lt;br /&gt;
BIZ 2400 II Mono USB - (PN ... - ID 0x2450)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr34, v12r1sr18, v12r2sr10)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toggle between active and held call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;LINK 280 (PN 280-09, ID 0x0910)&#039;&#039;&#039;=====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;SPEAK 410 / 510 / 810&#039;&#039;&#039;=====&lt;br /&gt;
Jabra SPEAK 810 (evaluation sample, ID 0x2454) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr32, v11r2sr10) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra SPEAK 810 (ID 0x2456) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr17, v12r1sr2) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra SPEAK 510 UC (PN 7510-209, ID 0x0410,0x0412) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix24) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra Speak 510 mit Bluetooth Dongle Link 360 (PN 7510-409 - &amp;quot;refer info from partner&amp;quot;)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra SPEAK 410 (PN 7410-209, ID 0x0420) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;UC VOICE 550 / 750&#039;&#039;&#039;=====&lt;br /&gt;
Jabra UC VOICE 550 Mono (PN 5593-829-209, ID 0x0031) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 550 Duo (PN 5599-829-209, ID 0x0030) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix12) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 750 MS Duo (PN 7599-823-109, ID 0x0752) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix24) &amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Please Note&#039;&#039;&#039;: Headsets with &#039;&#039;&#039;Version A&#039;&#039;&#039; printed on the package have IDs different to the non-A versions even if the part numbers do not differ. &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 550 Mono (PN 5593-829-209 02/26/13 Version A, ID 0x034b) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 550 Duo (PN 5599-829-209 06/12/13 Version A, ID 0x0349) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 550 MS Duo (PN 5599-823-109 02/26/13 Version A - optimized for Lync, ID 0348) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 750 Mono Drk (PN 7593-829-409 28/08/13 Version A, ID 034f) &amp;lt;br/&amp;gt; &lt;br /&gt;
Jabra UC VOICE 750 MS Duo Drk (PN 7599-823-309 28/08/13 Version A - optimized for Lync, ID 034c) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V10 SR5 / V9 hotfix 31) &amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra UC VOICE 750 MS Duo Drk (PN 7599-829-409 29/12/14 Version A, ID 034d) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V10 SR15 / V9 hotfix 41) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=====&#039;&#039;&#039;EVOLVE 65 UC&#039;&#039;&#039;=====&lt;br /&gt;
From Jabra EVOLVE 65 UC Stereo Bluetooth headset package (PN 6599-829-409 - 10/04/15 Version A - Stereo UC &amp;amp; Link 360)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 65 UC Stereo (ID 0x030b, tested firmware version 1.5.6)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v9hotfix43/v10sr17)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toggle between active and held call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;EVOLVE 20 / 30 / 40 / 80&#039;&#039;&#039;=====&lt;br /&gt;
Jabra EVOLVE 40 MS Stereo - (PN 6399-823-109 - 10/04/15 Version A - ID 0x0305, tested firmware version 1.2.0)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 80 UC Stereo - (PN 7899-829-209 - 04/02/15 Version A - ID 0x0306, tested firmware version 1.1.6)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v9hotfix43/v10sr17)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 20 MS Mono - (ID 0x0302, tested firmware version 1.1.7)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v9hotfix55/v10sr33/v11r2sr12/v12r1)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 20 UC Mono - (ID 0x0301, tested firmware version 2.0.0)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 20 UC Stereo - (ID 0x0303, tested firmware version 2.0.0)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr19/v12r1sr2)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 20 MS Stereo - (ID 0x0300, tested firmware version 1.1.7)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr27/v12r1sr11)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 30 II Mono UC - (PN 5393-829-309 - 07/03/17 Version A - ID 0x0312, tested firmware version 1.0.4)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 30 II Stereo MS - (PN 5399-823-309 - 16/03/17 Version A - ID 0x0315, tested firmware version 1.0.4)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr20/v12r1sr4)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 30 II Stereo UC - (ID 0x0313, not tested, dongle identical to Mono version)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 30 II Mono MS - (ID 0x0314, not tested, dongle identical to Stereo version)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr23/v12r1sr7)&amp;lt;br/&amp;gt;&lt;br /&gt;
Jabra EVOLVE 40 UC Mono - (PN 6393-829-209 - 05/11/16 Version B - ID 0308)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr43/v11r2sr25/v12r1sr9)&amp;lt;br/&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Toggle between active and held call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number dialled&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Double Tap&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Press (hold 1-2 seconds)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Plantronics (Vendor ID 0x047f) ===&lt;br /&gt;
&lt;br /&gt;
====wireless====&lt;br /&gt;
&lt;br /&gt;
To connect the phone USB port to the EHS (Electronic Hook Switch) port of a Plantronics &amp;lt;br/&amp;gt;&lt;br /&gt;
wireless base station (Savi 700 series and others) the following EHS adapters can be used:&amp;lt;br/&amp;gt;&lt;br /&gt;
* APU-70 (PN 83 018-01, ID 0x0410)&lt;br /&gt;
* APU-72 (PN 202578-01, ID 0x0410) &lt;br /&gt;
* APU-75 (PN 202678-01, ID 0xaf08)&lt;br /&gt;
Attention: there are two versions of the APU-72 but only one (the initial) version works correctly with our phones.&amp;lt;br/&amp;gt;&lt;br /&gt;
Because both versions come with the same ID it cannot be guaranteed that an APU-72 works as expected.&amp;lt;br/&amp;gt;&lt;br /&gt;
Thus the APU-75 should be preferred. &lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Voyager PRO UC / Legend UC&#039;&#039;&#039;=====&lt;br /&gt;
Voyager Legend UC (PN 87670-02) &amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix24) &amp;lt;br/&amp;gt;&lt;br /&gt;
Voyager PRO UC v2 (PN 38885-02) &amp;lt;br/&amp;gt;&lt;br /&gt;
Open phone line on target phone from headset supported since V9hotfix24 &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Call back last call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Initiate phones voice dialling&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Reconnect lost connection&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;VOYAGER FOCUS UC BT (Headset + BT600 USB/BT Adapter)&#039;&#039;&#039;=====&lt;br /&gt;
VOYAGER FOCUS UC BT Headset 8825,WW (PN 202652-01)&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(since V10sr30, V11r2sr8) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Call back last call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Initiate phones voice dialling&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;VOYAGER 5200 / 8200 UC BT (Headset + BT600 USB/BT Adapter)&#039;&#039;&#039;=====&lt;br /&gt;
VOYAGER 5200 UC BT Headset&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v10sr36, v11r2sr16, v12r1sr1)&amp;lt;br/&amp;gt;&lt;br /&gt;
VOYAGER 8200 UC BT Headset&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr36 / v12r1sr20 / v12r2sr12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Call back last call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Initiate phones voice dialling&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Savi W430&#039;&#039;&#039;=====&lt;br /&gt;
Headset connected via Plantronics D100 USB/Bluetooth adapter (ID 0xab01)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix12) &amp;lt;br/&amp;gt;&lt;br /&gt;
Attention! Since V9hotfix23 only D100 adapters with a firmware Version greater or equal 0118 will work correctly. &amp;lt;br/&amp;gt;&lt;br /&gt;
In case of problems use Plantronics Update Manager to update your D100 adapters to the latest firmware version. &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Savi W440A (PN 83359-02)&#039;&#039;&#039;=====&lt;br /&gt;
Headset connected via Plantronics D100 USB/Bluetooth adapter (ID 0xab01)&amp;lt;br/&amp;gt;&lt;br /&gt;
Attention! Since V9hotfix23 only D100 adapters with a firmware Version greater or equal 0118 will work correctly. &amp;lt;br/&amp;gt;&lt;br /&gt;
In case of problems use Plantronics Update Manager to update your D100 adapters to the latest firmware version. &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Savi 740 / 745&#039;&#039;&#039;=====&lt;br /&gt;
Savi 740 (PN 83542-12, ID 0xac01/0xac11)&amp;lt;br&amp;gt;&lt;br /&gt;
Savi 745 (PN 86507-03, ID 0xac01)&amp;lt;br&amp;gt;&lt;br /&gt;
(since V9hotfix14)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |Plantronics APU-70 to DHSG port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
N/A&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press volume up or down at least 1,5 seconds (not supported by DHSG)&amp;lt;br/&amp;gt;&lt;br /&gt;
NO&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Press volume up or down at least 1,5 seconds (not passed to the phone)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Calisto 620 (PN 86700-02)&#039;&#039;&#039;=====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Speakerphone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Mute button present but did not work on tested sample&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Calisto P835 (PN 85335-03)&#039;&#039;&#039;=====&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====corded====&lt;br /&gt;
=====&#039;&#039;&#039;DA 45 / DA45 with EncorePro HW301N&#039;&#039;&#039;=====&lt;br /&gt;
DA 45 PN 77559-42 ID 0xaa05&amp;lt;br/&amp;gt;&lt;br /&gt;
(DA45 Firmware Version 90 supported since V9hotfix24)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Long press on Talk button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;DA70 with EncorePro HW540&#039;&#039;&#039;=====&lt;br /&gt;
DA70 PN 201851-02 ID af00&amp;lt;br/&amp;gt;&lt;br /&gt;
(supported since v11r2sr17, v12r1sr2) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;DA80 / DA90 with EncorePro HW540&#039;&#039;&#039;=====&lt;br /&gt;
DA80 PN 201852-02 ID af01&amp;lt;br/&amp;gt;&lt;br /&gt;
DA80 PN 201853-02 ID af02&amp;lt;br/&amp;gt;&lt;br /&gt;
(supported since v11r2sr17, v12r1sr2) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Long press on Talk button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C320 / C520 / C325.1 / C5210 / C5220 &#039;&#039;&#039;=====&lt;br /&gt;
Blackwire C320 (PN 85619-02, ID 0xc00f)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix23)&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C520 (PN 88861-01, ID 0xc017)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since V9hotfix24)&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C325.1 (PN 204446-02 ID 0xc03a)&amp;lt;br/&amp;gt; &lt;br /&gt;
(since v10sr44/v11r2sr26/v12r1sr10)&amp;lt;br/&amp;gt; &lt;br /&gt;
Blackwire C5210 (PN 207577-01, ID 0xc054)&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C5220 (PN 207576-01, ID 0xc053)&amp;lt;br/&amp;gt;&lt;br /&gt;
(since v11r2sr36 / v12r1sr20 / v12r2sr12)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press Talk button for at least 2 seconds when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C420 (PN 82632-05 ID 0xaa14)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix24)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press Talk button for at least 2 seconds when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C435 (PN 85800-05, ID 0xaa12)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix12) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C620 (PN 81965-42 ID 0xaa00)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix24)&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press Talk button for at least 2 seconds when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Blackwire C720 (PN 87670-02, ID 0x010a)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix23) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | not tested&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Calisto P420 USB SPEAKERPHONE (PN 82136-02 ID 0xd101)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix12) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sennheiser (Vendor ID 0x1395) ===&lt;br /&gt;
&lt;br /&gt;
====wireless====&lt;br /&gt;
&lt;br /&gt;
Sennheiser CEHS-CI 02 (Prod. Code 504533, ID 0x0925) connects EHS port at headset base with the USB port of the telephone&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;DW Office (PN 504300, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;DW Office ML (PN 504454, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;DW Pro 1 (PN 504304, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;DW Pro 1 ML (PN 504458, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;DW Pro 2 (PN 504308, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;DW Pro 2 ML (PN 504462, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix13)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Base&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|connected&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |CEHS-CI 02 to EHS port&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot; colspan=&amp;quot;3&amp;quot; |directly to USB&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Long press on Talk button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Long press on Talk button when phone is idle&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;DW 10 USB (PN 506412, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;DW 10 USB ML (PN 506416, ID 0x740a)&#039;&#039;&#039;=====&lt;br /&gt;
(since xxx)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number &amp;lt;br/&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | N/A&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Presence UC ML - Headset + USB-Bluetooth dongle BTD 800 USB for Lync (PN 504575, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;Presence UC - Headset + USB-Bluetooth dongle BTD 800 USB (PN 504576, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr6 / v9hotfix32) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;MB Pro2 UC - Headset + USB-Bluetooth dongle BTD 800 USB (PN 506045, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;MB Pro2 UC ML - Headset + USB-Bluetooth dongle BTD 800 USB for Lync (PN 506046, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr34 / v11r2sr13 &amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;MB 660 UC - Headset + USB-Bluetooth dongle BTD 800 USB (PN 506???, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;MB 660 MS - Headset + USB-Bluetooth dongle BTD 800 USB for Lync (PN 506???, ID 0x002d)&#039;&#039;&#039;=====&lt;br /&gt;
(since xxx) &lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
NO&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Long press on Talk button (1 sec) is not reported to phone when there is a connected call&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Long press on Talk button (1 sec) when phone is ringing&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; Double tap on Talk button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; Double tap on Talk button when phone is idle&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====corded====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;UUSB8 (PN 504004, ID 0x0008)&#039;&#039;&#039;=====&lt;br /&gt;
(since V9hotfix13)&amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;USB-ED CC 01 (PN 506478, ID 0x0051)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;USB-ED CC 01 MS (PN 506479, ID 0x0058)&#039;&#039;&#039;=====&lt;br /&gt;
(since v11r2sr36 / v12r1sr20 / v12r2sr12) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 45/75 USB CTRL (PN 507084/507087 ID 0x0061/0x0061)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 45/75 USB MS (PN 507083/507086 ID 0x0060/0x0060)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;SC 260 USB CTRL(PN 504406 ID 0x0029)&#039;&#039;&#039;=====&lt;br /&gt;
(since v11r2sr33 / v12r1sr17 / v12r2sr8) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 30/60 USB CTRL (PN 504548/504548 ID 0x0034/0x0035)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 30/60 USB ML (PN 504546/504547 ID 0x0032/0x0033)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 40/70 USB CTRL (PN 506500/506504, ID 0x005b/0x005c)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 40/70 USB MS (PN 506498/506502, ID 0x005a/0x005a)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 230/260 USB Ctrl II (PN 506480/506481, ID 0x004d/0x004e)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 230/260 USB MS II (PN 506482/506483, ID 0x004f/0x0050)&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 660/630 USB CTRL (PN 504555/..., ID 0x0039)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;SC 660/630 USB ML (PN 504553/..., ID 0x0037)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr34 / v11r2sr13) &amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;SC 630 USB CTRL (PN 504554, ID 0x0038)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr43 / v11r2sr25 / v12r1sr9) &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SC 635/665 USB (PN 504554, ID 0x006b)&#039;&#039;&#039;=====&lt;br /&gt;
(since v11r2sr36 / v12r1sr20 / v12r2sr12) &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt; 2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Long press on Talk button when phone is ringing&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Long press on Talk button when phone is idle&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;SP 10 Speakerphone for PC (PN 506047 ID 0x0042)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;SP 10 ML Speakerphone for Lync (PN 506048, ID 0x0043)&#039;&#039;&#039;=====&lt;br /&gt;
(since v12r2sr7) &amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;SP 20 Speakerphone for PC (PN 506049 ID 0x003f)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;SP 20 ML Speakerphone for Lync (PN 506050, ID 0x0041)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr34, v11r2sr13) &amp;lt;br/&amp;gt;&lt;br /&gt;
=====&#039;&#039;&#039;SP 220 UC Dual Speakerphone UC / mobile (PN 507210, ID 0x0066)&#039;&#039;&#039;=====&lt;br /&gt;
=====&#039;&#039;&#039;SP 220 MS Dual Speakerphone MS Certified (PN 507211, ID 0x0067)&#039;&#039;&#039;=====&lt;br /&gt;
(since xxx)&amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Speakerphone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Press Onhook (red) button when phone is ringing&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Double tap on Offhook (green) button&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; Double tap on Offhook (green) button when there is a connected and a waiting call&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; Double tap on Offhook (green) button when phone is idle&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Team Connect Wireless Conference System (PN 506686/..., ID 0x1400)&#039;&#039;&#039;=====&lt;br /&gt;
(since v10sr47, v11r2sr29, v12r1sr13, v12r2sr3) &amp;lt;br/&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Speakerphone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Reject incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Put current call on hold, and accept incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Flash between calls&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
| Redial last number&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | NO&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; Tap on USB icon&amp;lt;br/&amp;gt;&lt;br /&gt;
YES&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; Long press on USB icon (2 sec)&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Unsupported Headsets==&lt;br /&gt;
&lt;br /&gt;
Sometimes new headsets are relased which are very similar to one of the already supported headsets.&lt;br /&gt;
But if the signature (vendor/product) of the headset is unknown to the firmware the call control functions&lt;br /&gt;
of the headset are without effect.&amp;lt;br/&amp;gt;&lt;br /&gt;
Unsupported corded headsets may be used then as plain audio devices where&lt;br /&gt;
call control is solely performed by the phone but wireless headsets usually will not work this way.&lt;br /&gt;
&lt;br /&gt;
If adviced so by support or by the manufacturer the signature of such an unsupported headset can be mapped to the signature of an already supported headset&lt;br /&gt;
of similar properties by either&lt;br /&gt;
&lt;br /&gt;
  config add KEYS0 /hid-map &amp;lt;map&amp;gt;[,&amp;lt;map&amp;gt;]...&lt;br /&gt;
  config write&lt;br /&gt;
  config activate&lt;br /&gt;
&lt;br /&gt;
or (IP222, IP232 only) &lt;br /&gt;
&lt;br /&gt;
  vars create KEYS0/HID-MAP p &amp;lt;map&amp;gt;[,&amp;lt;map&amp;gt;]...&lt;br /&gt;
&lt;br /&gt;
The mapping is applied the next time the headset is plugged in, a reboot is not required.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The format of a &#039;&#039;&#039;&amp;lt;map&amp;gt;&#039;&#039;&#039; is&lt;br /&gt;
&lt;br /&gt;
  vendor:product=vendor:product&lt;br /&gt;
&lt;br /&gt;
The first &#039;&#039;&#039;vendor:product&#039;&#039;&#039; tuple is the signature of an unsupported headset,&lt;br /&gt;
the second tuple is the signature of an already supported headset.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;vendor&#039;&#039; and &#039;&#039;product&#039;&#039; are plain 4 digit hex numbers without a &amp;quot;0x&amp;quot; prefix, up to 6 maps can be specified separated by a comma.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
If there is for example a new Jabra headset with ID a34a which is very similar to the &#039;&#039;Jabra SUPREME UC&#039;&#039; with ID a346 &#039;&#039;&#039;&amp;lt;map&amp;gt;&#039;&#039;&#039; would be&lt;br /&gt;
&lt;br /&gt;
  0b0e:a34a=0b0e:a346&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;0b0e&#039;&#039; ist the Jabra vendor ID.&lt;br /&gt;
&lt;br /&gt;
* An Example how to detect the correct ID:&lt;br /&gt;
&lt;br /&gt;
If we know a Jabra Speak 510 with ID 0420 and the ID of the unsupported device is xxxx the correct command would be&lt;br /&gt;
&lt;br /&gt;
  config add KEYS0 /hid-map 0b0e:xxxx=0b0e:0420&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
  vars create KEYS0/HID-MAP p 0b0e:xxxx=0b0e:0420&lt;br /&gt;
&lt;br /&gt;
How to find xxxx? Unplug Headset, Clear trace buffer, Plug Headset, take a trace, look for a line like&lt;br /&gt;
&lt;br /&gt;
  USB-DEVICE vendor=0b0e &#039;Jabra&#039; product=xxxx &#039;Jabra Speak 510&#039; release=0118&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Known Problems ===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Jabra EVOLVE 20&#039;&#039;&#039;====&lt;br /&gt;
*The product ID 0303 is not built in the driver and a mapping to ID 0302 seemed to fail, this happens if Jabra Control Center have the following option: &amp;quot;Target Softphone for outgoing calls: Softphones supported by Jabra PC Suite&amp;quot;. We should change this to &amp;quot;Auto-detect&amp;quot; to work properly.&lt;br /&gt;
&lt;br /&gt;
[[Image:Jabra_control_center.png]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Plantronics D100-A ID=ab01&#039;&#039;&#039;====&lt;br /&gt;
*This signature is identical to the D100 signature but the D100-A does not accept the vendor requests. Thus a pseudo device with ID d64a was defined to permit mapping of the D110-A to this pseudo device via:&lt;br /&gt;
&lt;br /&gt;
 !config add KEYS0 /hid-map 047f:ab01=047f:d64a&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
Beware: to make an old D100 working again on this phone the hack must be undone via&lt;br /&gt;
&lt;br /&gt;
 !config rem KEYS0 /hid-map&lt;br /&gt;
 !config write&lt;br /&gt;
 !config activate&lt;br /&gt;
&lt;br /&gt;
==3rd Party tested Headsets ==&lt;br /&gt;
&lt;br /&gt;
These are reports we received from customers.  We provide those &amp;quot;as is&amp;quot; (that is, we did not verify the data and this is in no way a promise that such headsets would work).&lt;br /&gt;
&lt;br /&gt;
{{Template:3rd Party Input}}&lt;br /&gt;
&lt;br /&gt;
=== Jabra BIZ 2300 USB Duo ===&lt;br /&gt;
A Jabra BIZ 2300 USB Duo with ID 0xc024 was reported to work with the settings provided for the BIZ 2300 USB UC Mono&amp;lt;br/&amp;gt;&lt;br /&gt;
This mapping is included in firmware since v9hotfix43/v10sr17&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Plantronics Blackwire C310 / C320 ===&lt;br /&gt;
The following headsets were reported to work with the settings provided for the Blackwire C320 PN 85619-02, ID 0xc00f:&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C320 - Binaural - Firmware H4.HM, ID 0xc024)&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C310 - Monaural - Firmware E4.GM, ID 0xc022)&amp;lt;br/&amp;gt;&lt;br /&gt;
Blackwire C310 - Monaural - Firmware L3.GK, ID 0xc00e)&amp;lt;br/&amp;gt;&lt;br /&gt;
These mappings are included in firmware since v9hotfix43/v10sr17&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Plantronics Blackwire C520 ID 0xc01b ===&lt;br /&gt;
&lt;br /&gt;
 vars create KEYS0/HID-MAP p 047f:c01b=047f:c017&lt;br /&gt;
&lt;br /&gt;
Test results: none&lt;br /&gt;
&lt;br /&gt;
=== Jabra speak 510 MS with part number 7510-109 ===&lt;br /&gt;
&lt;br /&gt;
 vars create KEYS0/HID-MAP p 0b0e:0422=0b0e:0420&lt;br /&gt;
&lt;br /&gt;
Test results&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Headset&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Jabra link 230 (USB to QD) with part number 230-09 (0b0e:2315) ===&lt;br /&gt;
works with:&lt;br /&gt;
 vars create KEYS0/HID-MAP p 0b0e:2315=0b0e:9350&lt;br /&gt;
&lt;br /&gt;
Test results&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| unplug-action&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Jabra link 230 (USB to QD) with Type BIZ 2400 (0b0e:090e) ===&lt;br /&gt;
works with:&lt;br /&gt;
 vars create KEYS0/HID-MAP p 0b0e:090e=0b0e:0910&lt;br /&gt;
&lt;br /&gt;
Test results&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;10&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Operation&#039;&#039;&#039;&lt;br /&gt;
! align=&amp;quot;center&amp;quot; style=&amp;quot;background:#f0f0f0;&amp;quot;|&#039;&#039;&#039;Phone&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| Open phone line on target phone&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Answer incoming call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| End current call&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
| Volume&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| unplug-action&lt;br /&gt;
| style=&amp;quot;text-align:center&amp;quot; | YES&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r1:Concept_myPBX&amp;diff=49020</id>
		<title>Reference11r1:Concept myPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r1:Concept_myPBX&amp;diff=49020"/>
		<updated>2018-01-18T11:25:39Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* PBX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myPBX]]&lt;br /&gt;
= Overview =&lt;br /&gt;
myPBX is the UC client of the innovaphone PBX. It is intended for assisting typical phone users with their everyday tasks. It consists of two parts:&lt;br /&gt;
* A &#039;&#039;&#039;web application&#039;&#039;&#039; that runs in any modern web browser. It provides the functionality needed for audio telephony, instant messaging, monitoring peoples statuses and more.&lt;br /&gt;
* The &#039;&#039;&#039;myPBX launcher&#039;&#039;&#039; is a Windows application that integrates the myPBX web application into the Windows desktop and adds some interesting additional features like video telephony and Outlook integration.&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
The main user interface is an HTML5 application that runs in a web browser. It communicates with the PBX using HTTP-Requests (AJAX). The actual session logic is implemented inside the PBX.&lt;br /&gt;
&lt;br /&gt;
The picture shows how call control is done. The myPBX session has access to the phone registration as they are both located in the same PBX. Thus it can monitor and create or modify calls.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The version 11 web application also includes a [[{{NAMESPACE}}:Concept myPBX WebRTC Softwarephone|WebRTC Softwarephone]] that works with some browsers.&lt;br /&gt;
&lt;br /&gt;
== myPBX launcher ==&lt;br /&gt;
The launcher is a tool for integrating myPBX into the Windows desktop. It is not needed in order to use myPBX but it adds some convenient functions that are not available otherwise.&lt;br /&gt;
* Automatically open the myPBX web application on startup.&lt;br /&gt;
* Desktop notifications.&lt;br /&gt;
* Integrating external applications.&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myPBX_Video|Video telephony]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Office Integration|Office Integration]]&lt;br /&gt;
* Hotkey for dialing numbers out of any Windows application.&lt;br /&gt;
* Set the status depending on user activity.&lt;br /&gt;
* Switch to a standby PBX if the main PBX is down.&lt;br /&gt;
* Write trace files.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
===PBX===&lt;br /&gt;
* myPBX license&lt;br /&gt;
* Reporting installation (for seeing recent calls in the history), although no reporting license is needed (as opposed to V9)&lt;br /&gt;
&lt;br /&gt;
===Web browser===&lt;br /&gt;
* Current version&lt;br /&gt;
* JavaScript enabled&lt;br /&gt;
* HTML5 XMLHttpRequest (AJAX) enabled&lt;br /&gt;
* HTML5 Web Storage (DOMStorage) enabled&lt;br /&gt;
* HTML5 Cross-document messaging (postMessage) enabled&lt;br /&gt;
&lt;br /&gt;
If Microsoft&#039;s Internet Explorer is used, it must be IE9 or up. &#039;&#039;Note: The launcher always uses Microsoft Internet Explorer for opening the web application. It does not use the configured standard browser.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The chat does not work in Safari on iPhone/iPad. This is because the browser does not support applications running in multiple windows.&lt;br /&gt;
&lt;br /&gt;
===Launcher===&lt;br /&gt;
* Windows 7 or higher&lt;br /&gt;
* .NET 4&lt;br /&gt;
* Microsoft Visual C++ 2013 Redistributable (x86)&lt;br /&gt;
&lt;br /&gt;
===Email addresses===&lt;br /&gt;
myPBX builds an email address of a user with the name (H323) and the System Name of the PBX.&amp;lt;br&amp;gt;&lt;br /&gt;
So if the System Name is &#039;&#039;&#039;innovaphone.com&#039;&#039;&#039; and the name (H323) of the user is &#039;&#039;&#039;test&#039;&#039;&#039;, the resulting email address is &#039;&#039;&#039;test@innovaphone.com&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
So for every user an email address with this combination should exist.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This email address should be the primary SMTP address in your Exchange Server.&amp;lt;br&amp;gt;&lt;br /&gt;
If this can&#039;t be done, make sure, that there is a SIP address on your Exchange user, which matches this email address.&lt;br /&gt;
&lt;br /&gt;
See [[Reference7:Configure_Active_Directory_Replication#Notes_on_replicating_the_new-in-V10_email_User_Attribute]] for details on replicating the email attribute from &#039;&#039;Active Directory&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Related technology ==&lt;br /&gt;
* myPBX uses the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] as a database for call lists. Alternatively the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]].&lt;br /&gt;
* The [[{{NAMESPACE}}:Concept_Exchange_Calendar_Connector|Exchange Calendar Connector]] sets the presence of PBX users depending on their Exchange Calendar. myPBX can display that presence.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* Make sure you have installed the appropriate licenses.&lt;br /&gt;
** &#039;&#039;myPBX&#039;&#039; for the web application.&lt;br /&gt;
** &#039;&#039;Video&#039;&#039; for video telephony.&lt;br /&gt;
* Activate the licenses for the inidiviual user objects (&#039;&#039;License&#039;&#039; tab). This can also be done using config templates.&lt;br /&gt;
** Note: The license information must be available in the PBX at the time of the registration of the phone. &lt;br /&gt;
* Enable myPBX on the page &#039;&#039;PBX/Config/myPBX&#039;&#039;.&lt;br /&gt;
* To support call lists at the client, configure the &#039;&#039;Call List Service&#039;&#039; in [[{{NAMESPACE}}:PBX/Config/myPBX#Call_List_Service|&#039;&#039;PBX/Config/myPBX&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039; Additional hints &#039;&#039;&#039;&lt;br /&gt;
* Only users with a password can login to myPBX.&lt;br /&gt;
* There should be a dedicated device configured at the user object for each phone registration.&lt;br /&gt;
* To use mobile phones, the mobility device must have a name in the fork config at the user object.&lt;br /&gt;
* The LDAP configuration is taken from the phone config at the user object.&lt;br /&gt;
* The dialling location has to be configured at the phone config of the user object.&lt;br /&gt;
* Phones should be registered using the PBX password so that user can change their login password without affecting the phone registrations.&lt;br /&gt;
* If federation is used (&amp;quot;use as domain&amp;quot; checked), the user names and the PBX system name should match the email addresses of people.&lt;br /&gt;
&lt;br /&gt;
== Launcher ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* The configuration dialog is located in the context menu of the tray icon.&lt;br /&gt;
* Configure the &#039;&#039;URL&#039;&#039; in the myPBX tab (e.g. &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/client.htm&amp;lt;/code&amp;gt;).&lt;br /&gt;
* From v10 beta1 to beta4 the URL was &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/mypbx10.htm&amp;lt;/code&amp;gt;. From v10 beta5 the normal URL (&amp;lt;code&amp;gt;client.htm&amp;lt;/code&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Deployment &#039;&#039;&#039;&lt;br /&gt;
* Administrators can specify a default configuration using MSI parameters when deploying the software.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; - The primary URL.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL2&amp;lt;/code&amp;gt; - The secondary URL (standby PBX).&lt;br /&gt;
** &amp;lt;code&amp;gt;TRACE&amp;lt;/code&amp;gt; - Write trace files (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICETRACE&amp;lt;/code&amp;gt; - Enable Office Presence Logging (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOSTART&amp;lt;/code&amp;gt; - Autostart myPBX (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOAPPEAROFFLINE&amp;lt;/code&amp;gt; - Detect user activity on the computer in order to set the IM status (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, or the number of minutes).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPNAME&amp;lt;/code&amp;gt; - The display name of the external application.&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPATH&amp;lt;/code&amp;gt; - The path to the executable or the URI of the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPARAMS&amp;lt;/code&amp;gt; - The command line parameters for the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPAUTOSTART&amp;lt;/code&amp;gt; - Start automatically on call.&lt;br /&gt;
** Please refer to the [[Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config|corresponding article]] for more information.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR3:&lt;br /&gt;
** &amp;lt;code&amp;gt;SHOWINTASKBAR&amp;lt;/code&amp;gt; - Show the myPBX launcher in the Windows Task Bar (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;STARTMINIMIZED&amp;lt;/code&amp;gt; - Start the myPBX launcher minimized (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;DOCKING&amp;lt;/code&amp;gt; - The docking mode of the launcher window (&amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEY&amp;lt;/code&amp;gt; - The hotkey number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYMOD&amp;lt;/code&amp;gt; - The hotkey modifier number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYACTION&amp;lt;/code&amp;gt; - (&amp;lt;code&amp;gt;copy&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;show&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEO&amp;lt;/code&amp;gt; - Enable video telephony and application sharing (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOACTIVE&amp;lt;/code&amp;gt; - If active the default call type is Audio-video, otherwise it is Audio (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOPROXY&amp;lt;/code&amp;gt; - Proxy server for the video websocket connection.&lt;br /&gt;
** &amp;lt;code&amp;gt;NOTIFICATIONS&amp;lt;/code&amp;gt; - Turns desktop notification on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;SOUNDS&amp;lt;/code&amp;gt; - Turns notification sounds on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; - A two-letter language code.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR6:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPROVIDER&amp;lt;/code&amp;gt; - Set office presence provider (default &amp;lt;code&amp;gt;myPBX&amp;lt;/code&amp;gt;, empty string none, otherwise e.g. &amp;lt;code&amp;gt;Communicator&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR7:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPRESENCE&amp;lt;/code&amp;gt; - false: removes the office presence provider feature from myPBX (default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V11:&lt;br /&gt;
** &amp;lt;code&amp;gt;SOFTWAREPHONEAUTOSTART&amp;lt;/code&amp;gt; - If &amp;quot;true&amp;quot;, the Softwarephone will be started and stopped together with myPBX. Also, the PBX and User Parameters (GK IP-Address, GK-ID, Username and Password) are copied from the myPBX Client into the SoftwarePhone (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Command line parameters &#039;&#039;&#039;&lt;br /&gt;
* The following command line parameters can be used to specify special options for running the launcher. For example the parameters are useful for starting many instances on the same computer for demonstration purposes.&lt;br /&gt;
** &amp;lt;code&amp;gt;/url [URL]&amp;lt;/code&amp;gt; - Overrides the URL from the configuration&lt;br /&gt;
** &amp;lt;code&amp;gt;/user [USER NAME]&amp;lt;/code&amp;gt; - Starts the web application with the given user name&lt;br /&gt;
** &amp;lt;code&amp;gt;/password [PASSWORD]&amp;lt;/code&amp;gt; - Starts the web application with the given password&lt;br /&gt;
** &amp;lt;code&amp;gt;/multi&amp;lt;/code&amp;gt; - &#039;&#039;&#039;This parameter is for testing purposes, only. Do not use in a productive environment.&#039;&#039;&#039; It allows to start multiple instances of the launcher. You may want to combine this option with other configuration options such as &amp;lt;code&amp;gt;/url&amp;lt;/code&amp;gt; to use different configurations without the need to re-configure.  The parameter also disables saving the configuration to the registry. So changing the configuration in the configuration dialog does not work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Type of Service (ToS) &#039;&#039;&#039;&lt;br /&gt;
* The settings of the ToS values for video RTP and signalling packets can be done using Policy-based Quality of Service (QoS), as described in this wiki article:&lt;br /&gt;
** [[Howto:Set Type of Service %28ToS%29 DiffServ DSCP Values for innovaphone Windows Applications %28SoftwarePhone%2C myPBX_Video%29]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Registry Paths &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX stores its settings at the following locations:&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The acutal location where windows stores the settings may vary due to windows conventions and settings.&lt;br /&gt;
&lt;br /&gt;
See also: [[Reference10:Concept_myPBX_Office2010_Integration#Outlook_doesn.27t_recognize_myPBX_as_presence_provider]]&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
When started in a web browser, the following URL parameters can be used to do a basic configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;lang=fr&amp;lt;/code&amp;gt; - Give a two-letter language code to change the language of the user interface&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=false&amp;lt;/code&amp;gt; - Loads the version for use with mouse and keyboard.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=true&amp;lt;/code&amp;gt; - Loads the version for touch devices.&lt;br /&gt;
* &amp;lt;code&amp;gt;phys=&amp;lt;/code&amp;gt;&#039;&#039;location&#039;&#039; - Forces the PBX to assume the physical location of the WebRTC client used in this instance has the specified [[{{NAMESPACE}}:PBX_Locations#The_physical-location | physical location ]]&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== Login ==&lt;br /&gt;
* The short name (H.323-ID) of the user object is used as the login user name.&lt;br /&gt;
* The password of the user object is used as the login password.&lt;br /&gt;
* Users without a password cannot use myPBX.&lt;br /&gt;
* The local session information is stored in the DOMStorage of the web browser. It is deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
In a multi PBX scenario myPBX must be connected to the same PBX as the phone. Therefore after login the user is redirected like follows:&lt;br /&gt;
* PBXes accept the login if they are in charge.&lt;br /&gt;
* Slaves redirect to the master if they are not in charge.&lt;br /&gt;
* The master redirects to the slave that is in charge.&lt;br /&gt;
* Inactive standby PBXes redirect to the master.&lt;br /&gt;
* Active standby PBXes accept the login.&lt;br /&gt;
Additionally you can configure an alternative URL in the myPBX launcher that shall be used when myPBX can&#039;t connect to the primary URL.&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
The different phones of the user are addressed by the device of the user object where they are registered at. Therefore there should be no more than a single registration per device. Mobile phones can be integrated using the mobility object. It is mandatory that the mobility has a device name in the fork configuration.&lt;br /&gt;
&lt;br /&gt;
== SIP URIs ==&lt;br /&gt;
* The &#039;&#039;use as domain&#039;&#039; checkmark on the page &#039;&#039;PBX/Config/General&#039;&#039; enables addressing users across PBXes using SIP URIs.&lt;br /&gt;
** The system name of the PBX is used as the domain-part.&lt;br /&gt;
** The short name (H.323-ID) of the user object is used as the local-part.&lt;br /&gt;
* The constructed URI looks like an email address (user@example.com) and it should only contain characters that would also be allowed for email addresses.&lt;br /&gt;
* In myPBX the URI can be used for telephony and instant messaging. For local users the domain-part can be omitted (&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;user@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Presence ==&lt;br /&gt;
* In the innovaphone PBX there are different possible sources of user presence, called &#039;&#039;contacts&#039;&#039;.&lt;br /&gt;
** &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; - Phone presence&lt;br /&gt;
** &amp;lt;code&amp;gt;calendar:&amp;lt;/code&amp;gt; - Presence set by the Exchange Calendar Connector&lt;br /&gt;
* myPBX sets the presence for the &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; contact. &lt;br /&gt;
* The displayed user presence is a mixed presence that is derived from the indiviual presence sources by the PBX. It consists of the following information:&lt;br /&gt;
** Acitivty (&amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;away&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;busy&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lunch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vacation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Note&lt;br /&gt;
** Phone status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
** IM status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
* The activity &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; (do not distrurb) has a special meaning. If it is set, myPBX rejects all incoming chat messages. The phones can also be configured to reject incoming calls, if &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; is set.&lt;br /&gt;
&lt;br /&gt;
== Visibility ==&lt;br /&gt;
For presence and dialog monitoring access rights (visibility rules) have to be configured at the individual user objects. The admin can do that in the &amp;quot;Access&amp;quot; dialog. Templates can be used to configure rights at many user objects at a time. In myPBX users can change the values given by the administrator and add their own rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules refer to&#039;&#039;&#039;&lt;br /&gt;
* A user (by name, &amp;lt;code&amp;gt;alice&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;alice@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* All users of a domain (by domain suffix, &amp;lt;code&amp;gt;@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* or all active users of a group (by group name). Group rules can only be added by the administrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules turn the following rights on or off&#039;&#039;&#039;&lt;br /&gt;
* Online status (phone and IM status, see chapter Presence)&lt;br /&gt;
* Presence (activity and note, see chapter Presence)&lt;br /&gt;
* Busy state (if the user has phone calls or not)&lt;br /&gt;
* IDs (the remote name and number of phone calls)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a user is member of a group, all active members of that group have implicit access rights. These rights can be configured as the &amp;quot;Group Default Visibility&amp;quot; at the PBX. If there is no matching rule (implicit or explicit) the monitoring party does not see any information.&lt;br /&gt;
&lt;br /&gt;
Administrators should configure default visibility rules that match the companies privacy policy. Typical users should not have to change the visibility settings. It is recommended to use a template that defines at least a rule for the local domain. If users shall be able to configure the visibility for certain groups, a default rule for each of that groups should also be added.&lt;br /&gt;
&lt;br /&gt;
== Favourites ==&lt;br /&gt;
The user can add up to 32 phone numbers or SIP URIs as favourites. The favourites appear in myPBX for quick access. Also the presence and the calls are monitored and displayed, if possible. The user can create multiple lists of favourites and switch between them.&lt;br /&gt;
&lt;br /&gt;
== Directory search ==&lt;br /&gt;
Users can search for phone numbers and other information in an internal and an external LDAP directory. The directories are configured in the phone config that is stored at the user object in the PBX. Templates can be used to share the same configuration across multiple users.&lt;br /&gt;
&lt;br /&gt;
The directory is also used for resolving the names of external callers.&lt;br /&gt;
&lt;br /&gt;
Some LDAP servers do not return any results if non-existing name or number attributes are configured. Attribute names are case sensitive.&lt;br /&gt;
&lt;br /&gt;
== Instant messaging ==&lt;br /&gt;
myPBX is a chat client that can handle live chats between users. The PBX does not store chat messages, so both users have to be online at the same time.&lt;br /&gt;
&lt;br /&gt;
Chat conferences can be started by adding more people. In this case received text messages are relayed to the other participants. Also the list of participants is transmitted to each endpoint.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smileys&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX displays emoticons in the text of chat messages as smileys. Here are the text codes that are supported.&lt;br /&gt;
&lt;br /&gt;
  [[Image:Emo happy.png]] happy      :-)    :)    (-:    (:&lt;br /&gt;
  [[Image:Emo normal.png]] normal     :-|    :|    |-:    |:&lt;br /&gt;
  [[Image:Emo sad.png]] sad        :-(    :(    )-:    ):&lt;br /&gt;
  [[Image:Emo mixed.png]] mixed      :-/    :/    :-\    :\    \-:    \:&lt;br /&gt;
  [[Image:Emo twinkle.png]] twinkle    ;-)    ;)    (-;    (;&lt;br /&gt;
  [[Image:Emo lol.png]] lol        :-D    :D &lt;br /&gt;
  [[Image:Emo tongue.png]] tongue     :-p    :p    :-P    :P    q:    q-:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Typing indications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX transmits a notification when a user is typing a chat message. This can be seen by the other participants of the chat session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Starting a related phone call&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If there is a single other participant in a chat session, the chat windows shows a call button to start a phone call to the other person. The call button is hidden if the own phone is not registered.&lt;br /&gt;
&lt;br /&gt;
== Application sharing ==&lt;br /&gt;
Support for external application sharing is deprecated in version 11, since we now have integrated [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]] in the myPBX launcher.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The history shows recent calls. The calls are retrieved from an instance of the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] service or alternatively the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]]. The call details include the call flow before and after the user was connected. When a user calls someone back from the history, the call is marked as answered in the reporting database. As this is done using the conference ID of the call even other users can see who called back at what time.&lt;br /&gt;
&lt;br /&gt;
When using [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] history shows the last 20 calls that were made and when we click in the &amp;quot;arrow&amp;quot; button the next 20 calls are appended to the list, if we use the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]] the number calls displayed it&#039;s set on the configuration menu.&lt;br /&gt;
&lt;br /&gt;
== Tracing and logging ==&lt;br /&gt;
myPBX can write session information to the syslog of the PBX. Check the &amp;quot;myPBX&amp;quot; checkmark on the page Maintenance/Diagnostics/Logging in order to turn it on.&lt;br /&gt;
&lt;br /&gt;
If the checkmark &amp;quot;Write trace&amp;quot; is enabled in the launcher configuration, the launcher writes a rotation of trace files to the folder &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Roaming\innovaphone\myPBX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Interfaces for integration =&lt;br /&gt;
The myPBX launcher has a number of generic interfaces that can be used to integrate it with other applications.&lt;br /&gt;
&lt;br /&gt;
== Protocol handlers ==&lt;br /&gt;
During installation myPBX registers protocol handlers for the following URI types:&lt;br /&gt;
;tel: start a phone call&lt;br /&gt;
;sip: start a phone call&lt;br /&gt;
;sips: start a phone call&lt;br /&gt;
;phone: start a phone call&lt;br /&gt;
;im: start a chat&lt;br /&gt;
&lt;br /&gt;
They can be used to start calls and chats in myPBX from external applications.&lt;br /&gt;
&lt;br /&gt;
=== Dialing from the Windows command prompt ===&lt;br /&gt;
Execute the following command to dial the number 012345.&lt;br /&gt;
  start tel:012345&lt;br /&gt;
&lt;br /&gt;
Execute the following command to call user@example.com.&lt;br /&gt;
  start sip:user@example.com&lt;br /&gt;
&lt;br /&gt;
Execute the following command to start a chat with user@example.com&lt;br /&gt;
  start im:user@example.com&lt;br /&gt;
&lt;br /&gt;
=== Dialing from a web page ===&lt;br /&gt;
This HTML link dials the number 012345, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;tel:012345&amp;quot;&amp;gt;012345&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link calls user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;sip:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link starts a chat with user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;im:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hotkey ==&lt;br /&gt;
A hotkey can be configured that copies selected phone numbers from most applications to myPBX. There is can be used for dialing, call transfer and so on.&lt;br /&gt;
&lt;br /&gt;
== Starting an external application for a call ==&lt;br /&gt;
myPBX can start an external application for a call. Both web applications and applications that are installed on the client PC can be configured. This configuration can be done in the launcher in the tab &amp;quot;External application&amp;quot; or using MSI parameters during installation.&lt;br /&gt;
&lt;br /&gt;
The following settings can be done:&lt;br /&gt;
* &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; - The name of the application as it should appear in myPBX.&lt;br /&gt;
* &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; - The path of the applicaiton. This can be an URL (&amp;lt;code&amp;gt;http://crm.example.com/customer-by-number/$n&amp;lt;/code&amp;gt;) or the path to a local application (&amp;lt;code&amp;gt;C:\crm\application.exe&amp;lt;/code&amp;gt;).&lt;br /&gt;
* &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; - The command line parameters of the application. This field can be left empty for web applications.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; may contain placeholders that are replaced by phone call information.&lt;br /&gt;
* &amp;lt;code&amp;gt;$n&amp;lt;/code&amp;gt; - phone number of the caller as seen&lt;br /&gt;
* &amp;lt;code&amp;gt;$N&amp;lt;/code&amp;gt; - phone number of the caller, normalized to national number format, e.g. 070317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$I&amp;lt;/code&amp;gt; - phone number of the caller, normalized to international number format, e.g. +4970317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$u&amp;lt;/code&amp;gt; - uri of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$d&amp;lt;/code&amp;gt; - display name of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$c&amp;lt;/code&amp;gt; - conference ID (a global ID for the call)&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; are configured, an additional button will appear in myPBX at phone calls that starts the application.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Connection problems / Refreshes ==&lt;br /&gt;
Symptom: When in idle state, the myPBX web application reloads every 30 seconds. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This might be a problem with the [http://msdn.microsoft.com/en-us/library/aa918417.aspx TCP/IP settings of the PC].  You should set &amp;lt;code&amp;gt;ReceiveTimeOut&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;KeepAliveTimeout&amp;lt;/code&amp;gt; to the default settings if they have been changed to smaller values.  Please note that the values must be specified in milliseconds!&lt;br /&gt;
&lt;br /&gt;
== Loss of DOM Storage Information ==&lt;br /&gt;
Symptom: myPBX is asking for username and password each time it is started.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Howto:MyPBX and roaming Profiles (e.g. Citrix) - myPBX forgetting login info]] for a possible resolution.&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
===Office application crashes===&lt;br /&gt;
If you have Lync installed and installed myPBX afterwards and you wanted to use Lync/Communicator as Office presence provider, an office application might have crashed.&amp;lt;br&amp;gt;&lt;br /&gt;
The MSI parameter OFFICEPRESENCE allows you to disable all office presence related installation, so a Lync installation won&#039;t be broken. You can&#039;t use myPBX as presence provider anymore in this case, but Lync will still work correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
If your installation is already broken, you can simply repair your Lync installation and Office won&#039;t crash anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use myPBX as presence provider, reinstall myPBX without the MSI parameter.&lt;br /&gt;
&lt;br /&gt;
== CPU usage ==&lt;br /&gt;
Connected myPBX sessions need additional resources on the PBX. When all extensions die myPBX, you can have approximately a 1/3 the amount of users per box than without using it.&lt;br /&gt;
&lt;br /&gt;
== Network traffic ==&lt;br /&gt;
In idle state the web application needs an empty message exchange every 30 seconds in order to keep the session alive. This messages take about 800 bytes. So per session the minimum network traffic is approximately:&lt;br /&gt;
* 1600 B/min&lt;br /&gt;
* 94 kB/h&lt;br /&gt;
* 2.2 MB/d&lt;br /&gt;
&lt;br /&gt;
== Included open source software ==&lt;br /&gt;
The myPBX web application contains the following open source software:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rc4.js&#039;&#039;&#039;&lt;br /&gt;
   * RC4 symmetric cipher encryption/decryption&lt;br /&gt;
   * Copyright (c) 2006 by Ali Farhadi.&lt;br /&gt;
   * released under the terms of the Gnu Public License.&lt;br /&gt;
   * see the GPL for details.&lt;br /&gt;
   *&lt;br /&gt;
   * Email: ali[at]farhadi[dot]ir&lt;br /&gt;
   * Website: http://farhadi.ir/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sha1.js&#039;&#039;&#039;&lt;br /&gt;
   *  Secure Hash Algorithm (SHA1)&lt;br /&gt;
   *  http://www.webtoolkit.info/&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V11r2_V12r1&amp;diff=48570</id>
		<title>Howto:Firmware Upgrade V11r2 V12r1</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Firmware_Upgrade_V11r2_V12r1&amp;diff=48570"/>
		<updated>2017-11-30T13:24:56Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Flash Memory Considerations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applies To ==&lt;br /&gt;
This information applies to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- * All V11 capable innovaphone devices --&amp;gt;&lt;br /&gt;
* All PBX devices&lt;br /&gt;
* All DECT devices&lt;br /&gt;
* Linux Application Platform&lt;br /&gt;
&lt;br /&gt;
== Migration Policy ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configuration Changes ==&lt;br /&gt;
=== Automatic Media Relay ===&lt;br /&gt;
Up and including v12r2, the PBX and relay have done &#039;&#039;media-relay&#039;&#039; for all calls between &#039;&#039;public&#039;&#039; and &#039;&#039;private&#039;&#039; network addresses.  From v12r1 on, this is done only if &#039;&#039;Media Relay&#039;&#039; explicitly set to &amp;lt;code&amp;gt;Auto&amp;lt;/code&amp;gt; in the PBX or in a gateway interface.&lt;br /&gt;
&amp;lt;internal&amp;gt;communote: https://communote.innovaphone.com/microblog/global/portal/topics/12r1/notes/45172&amp;lt;/internal&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux Application Platform and its applications ==&lt;br /&gt;
xx11/11xx gateways can host a LinuxPlatform as well.&lt;br /&gt;
First LinuxImage which as well fits for the new hardware types is V10sr32 (Build 100210).&lt;br /&gt;
This build contains TWO linux images labeled &lt;br /&gt;
*Image-6010-3.4.10 - for old hardware types&lt;br /&gt;
*Image-IPx11-4.4.0 - for new hardware types (xx11/11xx)&lt;br /&gt;
Pay attention to the definition of used &amp;quot;Linux Kernel file&amp;quot; at Linux/General - especially when moving configuration files from &amp;quot;old&amp;quot; to &amp;quot;new&amp;quot; hardware types.&lt;br /&gt;
&lt;br /&gt;
Please note that there is no v12 version of the linux application platform, so you still will be using [http://download.innovaphone.com/ice/10.00/#linux Linux Application Platform V10.00]!&lt;br /&gt;
&lt;br /&gt;
==Known Problems==&lt;br /&gt;
=== Main Memory (RAM) Considerations ===&lt;br /&gt;
New firmware always has more features which in turn requires more resources. Growing firmware will thus consume both more flash and RAM for sure.  A given system configuration will run flawlessly after a firmware largely only if there is still enough memory left after boot.  As a rough rule of thumb, a v12r1 release will consume 1.5MB RAM and 0.8MB flash more compared to a v11r2 firmware.&lt;br /&gt;
&lt;br /&gt;
Standard configurations which are according [[Howto:How_to_implement_large_PBXs#Recommended__number_of_users_supported | to spec ]] will run on all supported hardware.  However, unusual configurations may not.  It is a good idea to examine both flash and RAM memory left on high load situations in your existing configuration to see if there is enough resources left for an upgrade.  Please find details in [[Reference:Device Health Check]].&lt;br /&gt;
&lt;br /&gt;
Special care has to be taken for old devices with less memory than suggested by current specs.  Most notably, these are the older IP30x models (hardware build 306 or less, which had 16MB RAM as opposed to 32MB in the current models). We do not recommend to upgrade such old hardware to a current firmware version unless it has been determined  that the configuration in question will work.&lt;br /&gt;
&lt;br /&gt;
=== Flash Memory Considerations ===&lt;br /&gt;
New firmware comes with new code for new features which consumes more flash memory for the firmware image. For this reason, the IP800/IP22/IP24/IP38/IP302/IP305 may run out of flash memory during upgrade to v12r1.  Here is the recommended procedure for upgrade on such devices:&lt;br /&gt;
&lt;br /&gt;
* save entire configuration&lt;br /&gt;
* reset to factory defaults&lt;br /&gt;
* load saved configuration (this will reorganize flash memory usage)&lt;br /&gt;
* upgrade to new firmware&lt;br /&gt;
&lt;br /&gt;
When there is still not enough flash memory available to store the new firmware, the web GUI will issue a &#039;&#039;Firmwareupdate failed:no space&#039;&#039; during firmware upload.  If the firmware upload is done using the update client, a &#039;&#039;Error 0x00130001 Major FLASHMAN0 no space&#039;&#039; event will occur. &lt;br /&gt;
&lt;br /&gt;
With the new firmware, the amount of flash memory allocatable for the LDAP directory (that is, PBX config and call lists) is less than before to accommodate for the larger requirements.  It is reduced from 3200kB to 2816kB on the IP800 and from 3200kB to 2560kB on the IP22/IP24/IP38/IP302/IP305.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On older IP110, IP200a, IP230 and IP240 phones, the PPP module has been removed from the firmware to keep the flash memory allocatable for the LDAP directory (that is, local phone book and call lists) unchanged. &lt;br /&gt;
Following file naming applies:&lt;br /&gt;
* &amp;lt;code&amp;gt;ip110,ip200a,ip230,ip240.bin&amp;lt;/code&amp;gt; support H.323 w/o PPP&lt;br /&gt;
* &amp;lt;code&amp;gt;ip110,ip200a,ip230,ip240&amp;lt;/code&amp;gt;&#039;&#039;&#039;-sip&#039;&#039;&#039;.bin support SIP w/o PPP&lt;br /&gt;
* &amp;lt;code&amp;gt;xxx-no-ppp.bin&amp;lt;/code&amp;gt; files are obsolete&lt;br /&gt;
&lt;br /&gt;
=== No  /DRIVE/CX0 any more ===&lt;br /&gt;
The  /DRIVE/CX0 announcement file encoder has been removed.  Use [https://www.innovaphone.com/en/support/convert.html the web based converter] instead.&lt;br /&gt;
&lt;br /&gt;
=== SIP Digest Authentication ===&lt;br /&gt;
We have implemented protection against [https://tools.ietf.org/html/rfc2069#section-3.2 Replay Attacks] for the [https://tools.ietf.org/html/rfc3261#section-22.4 SIP Digest Authentication].&lt;br /&gt;
&lt;br /&gt;
In v12 (or later) we exercise the &amp;quot;one-time digests&amp;quot; strategy.&lt;br /&gt;
A formally correct Digest Response is not accepted a second time.&lt;br /&gt;
A client is required to increment the &amp;quot;nc&amp;quot; parameter if it issues another request.&lt;br /&gt;
&lt;br /&gt;
If the client does not support this requirement the PBX will reject the registration.&lt;br /&gt;
There is a config option to disable the protection.&lt;br /&gt;
&#039;&#039;&#039;But it is not recommended to disable this feature. It&#039;s a security feature.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
 http://ip-of-pbx/!config change SIP /disable-digest-replay-check &lt;br /&gt;
 http://ip-of-pbx/!config write&lt;br /&gt;
 http://ip-of-pbx/!config activate&lt;br /&gt;
&lt;br /&gt;
You get a hint with the SIP/2.0 401 Unauthorized message (wireshark pcap)&lt;br /&gt;
&lt;br /&gt;
 SIP/2.0 401 Unauthorized&lt;br /&gt;
 Via: SIP/2.0/UDP 192.168.88.142:5060;branch=z9hG4bK5d7b5284edaa9bed3e3a323dc78f4022;rport=5060;received=192.168.88.142&lt;br /&gt;
 From: &amp;lt;sip:111@192.168.88.134&amp;gt;;tag=2469966351&lt;br /&gt;
 To: &amp;lt;sip:111@192.168.88.134&amp;gt;;tag=1151509663&lt;br /&gt;
 Call-ID: 3129114392@192_168_88_142&lt;br /&gt;
 CSeq: 1903 REGISTER&lt;br /&gt;
 Content-Length: 0&lt;br /&gt;
 Date: Fri, 06 May 2016 13:54:31 GMT&lt;br /&gt;
 &#039;&#039;&#039;Warning: Digest replay attack detected&#039;&#039;&#039;&lt;br /&gt;
 WWW-Authenticate: Digest realm=&amp;quot;192.168.88.134&amp;quot;,nonce=&amp;quot;859b13f3852c5701116600903340032b&amp;quot;,qop=&amp;quot;auth&amp;quot;,algorithm=MD5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have added a new option to the SIP module. If you have problems to register your SIP client with an authentication. Please use the latest available version V12r1.&lt;br /&gt;
&lt;br /&gt;
 http://ip-of-pbx/!config [^] change SIP /no-authentication-info &lt;br /&gt;
 http://ip-of-pbx/!config [^] write&lt;br /&gt;
 http://ip-of-pbx/!config [^] activate&lt;br /&gt;
&lt;br /&gt;
Some SIP clients did not support it or did not work well. So you have to disable the authentication-info.&lt;br /&gt;
&lt;br /&gt;
The client has to support the &lt;br /&gt;
&lt;br /&gt;
 RFC-2617:&lt;br /&gt;
   nonce-count&lt;br /&gt;
     This MUST be specified if a qop directive is sent (see above), and&lt;br /&gt;
     MUST NOT be specified if the server did not send a qop directive in&lt;br /&gt;
     the WWW-Authenticate header field. The nc-value is the hexadecimal&lt;br /&gt;
     count of the number of requests (including the current request)&lt;br /&gt;
     that the client has sent with the nonce value in this request. For&lt;br /&gt;
     example, in the first request sent in response to a given nonce&lt;br /&gt;
     value, the client sends &amp;quot;nc=00000001&amp;quot;. The purpose of this&lt;br /&gt;
     directive is to allow the server to detect request replays by&lt;br /&gt;
     maintaining its own copy of this count - if the same nc-value is&lt;br /&gt;
     seen twice, then the request is a replay.&lt;br /&gt;
&lt;br /&gt;
=== Special Precaution required when upgrading IPxx11 Gateways from pre-V11r2 sr13 or any V12r1 preview ===&lt;br /&gt;
There is an issue with cache coherency when multiple device drivers access the internal flash memory. In particular, if the SSD is used (by Linux or WebDAV), wrong data may be read from the internal flash (resulting in lost PBX objects for example). This issue has been fixed in V11r2 SR14.&lt;br /&gt;
&lt;br /&gt;
However, during a firmware upgrade, this may result in corruption of some inherent device information such as the device&#039;s MAC address.&lt;br /&gt;
&lt;br /&gt;
See [[Support:Special Precaution required when upgrading IPxx11 Gateways from pre-SR14 Firmware Versions]]!&lt;br /&gt;
&lt;br /&gt;
== Related Articles ==&lt;br /&gt;
*[[Howto:Guideline V5 to V6 upgrade]]&lt;br /&gt;
*[[Howto:Upgrade Issues V5 to V6]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V6 V7]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V7 V8]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V8 V9]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V9 V10]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V10 V11r1]]&lt;br /&gt;
*[[Howto:Firmware Upgrade V11r1 V11r2]]&lt;br /&gt;
*[[Support:Special_Precaution_required_when_upgrading_IPxx11_Gateways_from_pre-SR14_Firmware_Versions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords:  --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Blacklist_for_external_Numbers&amp;diff=47611</id>
		<title>Howto:Blacklist for external Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Blacklist_for_external_Numbers&amp;diff=47611"/>
		<updated>2017-08-18T14:08:46Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some customers want a blacklist for the whole company. With this easy method you can disconnect up to 30 incoming external numbers, no matter which subscriber number they wanted to call.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create a new map in the current route between the trunk interface (PRI1;BRI1;SIP1..) to the trunk registration / object (RP1;RS1...).&lt;br /&gt;
This new created map points from the trunk interface to the disconnect (DISC) interface and should be added as the first map before the previous ones.&lt;br /&gt;
As cause code you have to enter &#039;&#039;&#039;16&#039;&#039;&#039; (e.g. as normal call clearing).&lt;br /&gt;
Please note that the “verify CGPN” box has to be ticked.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:blacklist_route.jpg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now you can write down the external Numbers which you want to be disconnected as CGPN Maps in the “Number In” field. &lt;br /&gt;
Don’t forget that you don’t need to add the trunk “0” at the beginning of the external number.&lt;br /&gt;
It’s important, that there’s always &#039;&#039;&#039;at least one number&#039;&#039;&#039; entered in the incoming number map.&lt;br /&gt;
If there’s no external number, &#039;&#039;&#039;all calls&#039;&#039;&#039; will be mapped to the DISC Interface.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:map.jpg]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Different_voice_and_data_VLANs_with_innovaphone_ip_phones_IEEE_802.1Q&amp;diff=47373</id>
		<title>Howto:Different voice and data VLANs with innovaphone ip phones IEEE 802.1Q</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Different_voice_and_data_VLANs_with_innovaphone_ip_phones_IEEE_802.1Q&amp;diff=47373"/>
		<updated>2017-07-28T05:02:27Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
Many installations choose to run IP phones in a separate VLAN from the one used for PCs. For PCs connected to the IP phones &amp;quot;PC&amp;quot; switch port, special care has to be taken.&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* all innovaphone IP phones with 2 Ethernet ports&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
===Problem Details===&lt;br /&gt;
In this configuration, both the Ethernet packets to/from IP phone and those to/from the PC will flow through the same switch port.  Normally, the PC will only send &#039;&#039;untagged frames&#039;&#039; (frames without specific VLAN ID).&lt;br /&gt;
&lt;br /&gt;
===System Requirements===&lt;br /&gt;
The innovaphone IP phones internal Ethernet switch will not touch the traffic from/to the PC, so the switch must support and be configured for mixed tagged/untagged Ethernet packets on a single port and needs to convert the VLAN id for untagged packets into the designated PC VLAN in order for this scenario to work.&lt;br /&gt;
&lt;br /&gt;
===Configuration===&lt;br /&gt;
You need to configure a VLAN tag on the IP phones (either manually or by DHCP). The phones will send every frame with this configured tag (&#039;&#039;tagged frames&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
The switch needs to be configured such that  &lt;br /&gt;
* inbound tagged packets (arriving at the terminal port) are left &amp;quot;as is&amp;quot;.  Such packets come from the IP phone and already have the right (Voice) VLAN tag&lt;br /&gt;
* inbound untagged packets are tagged with the designated PC VLAN&lt;br /&gt;
* outbound tagged packets with a PC VLAN tag have the VLAN tag removed (so the PCs will receive untagged frames)&lt;br /&gt;
* all other outbound packets are left unchanged&lt;br /&gt;
&lt;br /&gt;
Please note that all IP phones as well as the innovaphone PBXs and gateways have to be in the Voice VLAN (that’s also nice because the innovaphone PBX can then work as DHCP server for for the phones only).  Even more, all voice servers (such as 3rd party voice mail etc.) receiving voice media streams must be in the same (non-PC!) VLAN so that they can receive the media.&lt;br /&gt;
&lt;br /&gt;
You have then two different networks (VLANs) on one port.&lt;br /&gt;
&lt;br /&gt;
If you configure your whole local network like this, then you can connect your phone to every switch port and you are always in the right VLAN.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The DHCP Server on PC VLAN should be configured with innovaphone DHCP-Option 206 VLAN ID matching the voice VLAN. This way you can connect new phones without configuring the VLAN and don&#039;t have problems with DHCP-leases left from phones connected to the PC VLAN before switching them to the Voice VLAN manually. If your PC VLAN DHCP Server sends the innovaphone option 206 the phone will not accept the DHCP Offer and switch to the received VLAN ID.&lt;br /&gt;
&lt;br /&gt;
For more details on using DHCP in this scenario, see [[Howto:How to use the innovaphone DHCP client]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Fine_grained_function_hiding&amp;diff=47215</id>
		<title>Reference12r1:Concept Fine grained function hiding</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_Fine_grained_function_hiding&amp;diff=47215"/>
		<updated>2017-07-06T09:39:41Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept11|{{PAGENAME}}]]&lt;br /&gt;
This function hides certain phone functions and is used in scenarios where heavyweighted &amp;quot;Hide Complete Configuration at Phone&amp;quot; and	&amp;quot;Hide Administration Configuration at Phone&amp;quot; do not exactly match the hiding principles and requirements of a customer organisation.&lt;br /&gt;
	&lt;br /&gt;
==Applies To==&lt;br /&gt;
&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
*IP232 V11&lt;br /&gt;
*IP222 V11&lt;br /&gt;
*IP111 V11&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
The bitmask hides certain phone functions.&lt;br /&gt;
Use the WEB user interface and insert a hexadecimal value into the field marked &amp;quot;Phone/Protect/Fine grained Function Hiding&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The same information can be entered by config upload&#039;ing the following command line:&lt;br /&gt;
&lt;br /&gt;
 config change PHONE ADMIN-UI /hide-mask &amp;lt;hide-mask&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on the user interface version, the available bit masks vary.  The &#039;&#039;old user interface&#039;&#039; is available on all phones up to and including firmware version 10.  The &#039;&#039;new user interface&#039;&#039; is available for the IP222, IP232 and IP111 from version 11r1 on.  Other phone models continue to use the &#039;&#039;old user interface&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Currently the following functions can be hidden:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| Function || Bit mask || Impact on &#039;&#039;old user interface&#039;&#039; || Impact on &#039;&#039;new user interface&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_ADMIN_INFO_MAC ||0x01000000  ||  hide serial/mac from admin-&amp;gt;info screen || hide serial/mac from info screen&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_ADMIN_CONFIG ||0x10000000  ||  hide config entries from admin-menu (keep admin-&amp;gt;info only) || hide config entries from admin-menu&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_USER_LIST ||0x20000000  ||  hide user-list entry from main-menu || hide account-list entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_USER_SETTINGS ||0x80000000  ||  hide user-settings entry from main-menu || hide account-settings entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_PHONE_SETTINGS ||0x40000000  ||  hide phone-settings entry from main-menu || hide phone-settings entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_ADMIN ||0x08000000  ||  hide admin entry from main-menu (hide from main-menu) || hide admin entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_FAVORITES ||0x04000000  ||  - || hide favorites entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_PHONEBOOK ||0x00800000  ||  - || hide phonebook entry from main-menu&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_MM_INFORMATION ||0x00400000||  - || hide information entry from main-menu (v11r2 sr2 or later)&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_US_PREFERENCES ||0x00000100  ||  hide preferences from user-list || hide language and clock-format from account-settings&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_US_RING_MELODY ||0x00000200  ||  hide ring melody from user-list || hide ring melody from account-settings&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_US_REGISTRATION ||0x00001000  ||  hide registration entry from user-list || hide registration config from account-list&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_CALL_SETTINGS ||0x00000001  ||  - || hide call-settings menu on APP_PHONE&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_PRESENCE_CONTROL ||0x00000002  ||  - || hide presence-control from home-screen&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_FKEYS ||0x00000004  ||  - || hide fkeys (v11r2 sr2 or later)&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_APP_HOME ||0x00000008  ||  - || hide home-app (v11r2 sr2 or later)&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_APP_FAVS ||0x00000010  ||  - || hide favs-app&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_APP_CONFIG ||0x00000020  ||  - || hide config-app (v11r2 sr2 or later)&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_APP_LIST ||0x00000040  ||  - || hide list-app (v11r2 sr2 or later)&lt;br /&gt;
|-&lt;br /&gt;
| PHONE_HIDE_APP_DIR ||0x00000080  ||  - || hide dir-app (v11r2 sr2 or later)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
To hide all the functions from main menu:&lt;br /&gt;
&lt;br /&gt;
   0x20000000 (hide account-list entry from main-menu)&lt;br /&gt;
 + 0x80000000 (hide account-settings entry from main-menu)&lt;br /&gt;
 + 0x40000000 (hide phone-settings entry from main-menu)&lt;br /&gt;
 + 0x08000000 (hide admin entry from main-menu)&lt;br /&gt;
 + 0x04000000 (hide favorites entry from main-menu)&lt;br /&gt;
 + 0x02000000 (hide visibility entry from main-menu)&lt;br /&gt;
 + 0x00800000 (hide phonebook entry from main-menu)&lt;br /&gt;
 ============&lt;br /&gt;
   0xEE800000 &amp;lt;---- hide-mask&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To hide all functions except basic telephony:&lt;br /&gt;
&lt;br /&gt;
   0x00000010 (hide APP_FAVS)&lt;br /&gt;
 + 0x00000020 (hide APP_CONFIG)&lt;br /&gt;
 + 0x00000040 (hide APP_LIST)&lt;br /&gt;
 + 0x00000080 (hide APP_DIR)&lt;br /&gt;
 + 0x00000008 (hide APP_HOME)&lt;br /&gt;
 + 0x00000001 (hide call-settings menu from remaining APP_PHONE)&lt;br /&gt;
 ============&lt;br /&gt;
   0x000000f9 &amp;lt;---- hide-mask&lt;br /&gt;
 &lt;br /&gt;
 [[Image:Hide_all.png]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Administration screen can not actually be hidden, the main manu entry &amp;quot;Administration&amp;quot; will always leave the &amp;quot;Information&amp;quot; submenu available&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Hide Complete Configuration at Phone&amp;quot; from Phone/Protect Menu is identical with hide-mask 0xFFFFFFFF.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Hide Administration Configuration at Phone&amp;quot; from Phone/Protect Menu is identical with hide-mask 0x10000000.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords&lt;br /&gt;
Protect, Hide Restricted Access, Block Functions, lock-mask, pinlock-mask, Funktionen blocken, Leistungsmerkmale sperren, hide-mask --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
*[[Reference9:Administration/Phone/Protect]]&lt;br /&gt;
*[[Howto:Disable Messaging on the Phone]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:Adjust_Speaker_volume_on_IP241_IP222_IP232&amp;diff=47179</id>
		<title>Howto talk:Adjust Speaker volume on IP241 IP222 IP232</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:Adjust_Speaker_volume_on_IP241_IP222_IP232&amp;diff=47179"/>
		<updated>2017-07-03T12:00:18Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: New page: Do these settings also apply to the IP112? I could not hear any changes on the IP112&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Do these settings also apply to the IP112?&lt;br /&gt;
I could not hear any changes on the IP112&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Download_Server_Structure&amp;diff=47150</id>
		<title>Howto:Download Server Structure</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Download_Server_Structure&amp;diff=47150"/>
		<updated>2017-06-29T05:00:32Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;innovaphone firmware/software downloads can be found on http://download.innovaphone.com.  Currently, you need a valid download account and password (which you will learn when you do the [http://www.innovaphone.com/en/partner/training.html training]).  &lt;br /&gt;
&lt;br /&gt;
The overall structure is very simple and explained on the server&#039;s home page.  Essentially, download pages are structured by firmware version.   However, there are multiple packages, not only firmware.  You will find all those packages listed with their most recent build on the individual &#039;&#039;version pages&#039;&#039; (e.g. http://download.innovaphone.com/ice/10.00/ has packages &#039;&#039;exchange&#039;&#039;, &#039;&#039;faxserver&#039;&#039;, &#039;&#039;firmware&#039;&#039;, &#039;&#039;linux&#039;&#039; and &#039;&#039;reporting&#039;&#039;).  Different version pages can have different packages (the version 8 page for example has &#039;&#039;apps&#039;&#039;, &#039;&#039;firmware&#039;&#039; and &#039;&#039;iqm&#039;&#039;).  While most of the package names should be self-explaining, the &#039;&#039;apps&#039;&#039; page might not be.  It is simply a container for &#039;&#039;everything left over which did not fit in the other packages :-)&lt;br /&gt;
&lt;br /&gt;
Unfortunately, some of the downloads do not fit in to this scheme nicely.  Consider for example the downloadable [[Howto:Configure the innovaphone Voicemail|voice mail]].  It is part of the &#039;&#039;apps&#039;&#039; package. This software will certainly run on the current firmware (V10 as of this writing), so why is there no &#039;&#039;apps&#039;&#039; package in the [http://download.innovaphone.com/ice/10.00/ V10 download page]?  The reason is that &#039;&#039;all non-firmware products (such as voice mail, iqm, tapi, ...) are published on the download page for the oldest firmware version they run with&#039;&#039;.  As the voicemail (as of this writing) runs down to firmware version 6, it can be found in the version 6 download page&#039;s [http://download.innovaphone.com/ice/6.00/#apps &#039;&#039;apps&#039;&#039; package]!  Likewise, the current TAPI driver is compatible down to version 8 firmware, so it can be found in the version 8 [http://download.innovaphone.com/ice/8.00/#apps &#039;&#039;apps&#039;&#039; package].&lt;br /&gt;
&lt;br /&gt;
So to locate a desired download:&lt;br /&gt;
* if it is firmware, just download the &#039;&#039;firmware&#039;&#039; package from the appropriate version page&lt;br /&gt;
* otherwise find out the &#039;&#039;oldest&#039;&#039; version your desired software product runs with&lt;br /&gt;
* go to the appropriate download page and look for a matching package&lt;br /&gt;
* if there is none, look in to the content of the &#039;&#039;apps&#039;&#039; package&lt;br /&gt;
* if it is not obvious in the &#039;&#039;apps&#039;&#039; package, locate the &#039;&#039;tools.zip&#039;&#039; and see if it is there&lt;br /&gt;
&lt;br /&gt;
As of Jan 2015, here are the most recent application software downloads along with the package they are included in:&lt;br /&gt;
* Voicemail: [http://download.innovaphone.com/ice/6.00/#apps V6 apps package]&lt;br /&gt;
* wireshark-dlls: [http://download.innovaphone.com/ice/6.00/#apps V6 apps package] (&#039;&#039;tools&#039;&#039; folder)&lt;br /&gt;
* Operator: [http://download.innovaphone.com/ice/9.00/#apps V9 apps package]&lt;br /&gt;
* TAPI: [http://download.innovaphone.com/ice/8.00/#apps V8 apps package]&lt;br /&gt;
* IQM: [http://download.innovaphone.com/ice/8.00/#iqm V8 iqm package]&lt;br /&gt;
* Voice Recording: [http://download.innovaphone.com/ice/10.00/#recording V10 VoiceRecording package]&lt;br /&gt;
* Wireless (i.e. DECT) Handset Software: [http://download.innovaphone.com/ice/9.00/#wireless V9 wireless package]&lt;br /&gt;
&lt;br /&gt;
V11r1 update (Feb 2015):&lt;br /&gt;
* The Linux application platform as well as the linux applications to be used with v11r1 (and later) are still V10.  As a result, they can (still and only) be found on the V10 download page.&lt;br /&gt;
&lt;br /&gt;
Wiki to go (updated weekly):&lt;br /&gt;
* An offline copy of inno-wiki: [http://download.innovaphone.com/ice/7.00/#wikitogo wiki2go]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r2:PBX/Objects/Gateway&amp;diff=46104</id>
		<title>Reference12r2:PBX/Objects/Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r2:PBX/Objects/Gateway&amp;diff=46104"/>
		<updated>2017-03-15T07:52:38Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Gateway Object specific Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;Gateway&#039;&#039; PBX object is used to register a gateway with the PBX. A Gateway object in contrast to a User object allows additional dialing digits to be sent. Also for incoming calls the incoming calling party number is passed on.&lt;br /&gt;
&lt;br /&gt;
== Gateway Object specific Configuration ==&lt;br /&gt;
&lt;br /&gt;
;Enblock Count: If this number of digits is dialed after the number of the Gateway object itself, the call is sent out as enblock call. This is useful to connect to gateway which are not capable of overlap receiving.&lt;br /&gt;
&lt;br /&gt;
;Enblock as Diverting No: If this checkmark is set, the called party number is transmitted as diverting leg2 information. As called party number the number of the gateway object is sent or no number if the Prefix checkmark is set. This is useful with Microsoft Exchange since this expects the number of the mailbox as diverting number.&lt;br /&gt;
&lt;br /&gt;
;Prefix: If this checkmark is set, the number of the Gateway object itself is removed from the called party number for outgoing calls and added to the calling party number for incoming calls&lt;br /&gt;
&lt;br /&gt;
;Domain: Route calls with matching domain part in the destination to this object.&lt;br /&gt;
&lt;br /&gt;
;Loop Detect: If checked outgoing calls are blocked if a call with identical source and destination addresses already exists.&lt;br /&gt;
&lt;br /&gt;
;International Match: If a call is received with an international calling party number, it is compared to this number. If there is a match (head match) this number is removed from the calling party number, so that only additional digits remain. If the calling party number does not match, it is removed completely. e.g. on an incoming call from a registration on this Gateway object the CGPN I49703173009123 will be mapped to 123.&lt;br /&gt;
&lt;br /&gt;
;National Match: Same as &#039;International Match&#039; only for national calling party number. e.g. on an incoming call from a registration on this Gateway object the CGPN N703173009123 will be mapped to 123.&lt;br /&gt;
&lt;br /&gt;
;Subscriber Match: Same as &#039;International Match&#039; only for subscriber calling party number. e.g. on an incoming call from a registration on this Gateway object with the CGPN S73009123 will be mapped to 123.&lt;br /&gt;
&lt;br /&gt;
;Internal Destination: If this checkmark is set, all calls from devices registered at this object are marked as Internal (Numbering plan set to private). This is usefull if systems are registered to this object, which cannot send calls with the private numbering plan but should be regarded as internal (e.g. voicemail systems).&lt;br /&gt;
&lt;br /&gt;
:The device registering with a gateway object is normally expected to send local extension numbers as calling party number (i.e. extensions local to the PBX and &#039;behind&#039; the gateways own number).  However, if it sends these numbers as full numbers (that is, including the various prefixes such as county code, are code, trunk, etc.), these can be stripped using the next 3 fields:&lt;br /&gt;
&lt;br /&gt;
;Outgoing Calls No Name: If set no calling Name is sent with outgoing calls&lt;br /&gt;
&lt;br /&gt;
;Outgoing Calls No URL: If set no src-URL is sent with outgoing calls&lt;br /&gt;
&lt;br /&gt;
;No Presence/Dialog Subscribe: If set no subscribe sessions are forwarded thru this gateway object&lt;br /&gt;
&lt;br /&gt;
;No Inband Disconnect: 	If this checkmark is set, a call disconnect with inband information will not be forwarded to the endpoint registered to the user, but the call will be cleared immediatelly without the inband information beeing sent..&lt;br /&gt;
&lt;br /&gt;
;Fax License: TBD.&lt;br /&gt;
&lt;br /&gt;
;Filter: The filter configured here restricts the numbers which may be called by through this object.&lt;br /&gt;
&lt;br /&gt;
== Multiple Gateway Registrations ==&lt;br /&gt;
&lt;br /&gt;
If multiple Gateways are registered to a Gateway object, Gateways registered to the same device config are used round-robin. The gateways registered to different devices are used in the sequence of the configured devices.&lt;br /&gt;
&lt;br /&gt;
== Call Diversions ==&lt;br /&gt;
;CFU: If configured a CFU is executed, so calls to the Gateways object are diverted.&lt;br /&gt;
;CFB: A CFB is executed if a call is rejected with &#039;&#039;User Busy&#039;&#039; by remote destination&lt;br /&gt;
;CFNR: A CFNR is executed if a call is rejected because of a local problem (&#039;&#039;no channel&#039;&#039;, &#039;&#039;no gatway registered&#039;&#039;, ...)&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Phone/User/Preferences&amp;diff=46103</id>
		<title>Reference12r1:Phone/User/Preferences</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Phone/User/Preferences&amp;diff=46103"/>
		<updated>2017-03-15T07:47:59Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Language&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The dialog language to be used for the telephone display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Time format&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The format to be used for date and time display in the bottom line of the telephone display.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Call waiting&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defines if incoming calls should be accepted when the phone is busy with another call and how such calls should be indicated to the user.&lt;br /&gt;
An accepted call is put in alerting state and the calling party receives a call-waiting indication. &lt;br /&gt;
* enabled - default tone:  The country-specific call waiting tone sequence is played. &lt;br /&gt;
* enabled - beep once: A short alerting tone is played once. &lt;br /&gt;
* enabled - silent: No alerting tone is played, i.e. there is only the visible indication for the waiting call. &lt;br /&gt;
* disabled: The call is rejected.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hide own number&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hide the calling party number in outbound calls (CLIR - Calling Line Identification Restriction).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable call intrusion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Permit a partner to take part in an already active call. Dependent on the partners configuration the partner listens only to the communication (silent monitoring mode) or takes part as in a conference call (conference mode).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Visual Ringing Indication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If set, the phone lamp will blink during ringing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Announcement calls&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Announcement calls are set up with the &#039;&#039;Dial&#039;&#039; Function key with the &#039;&#039;Announcement&#039;&#039; checkmark set.&lt;br /&gt;
 &lt;br /&gt;
Incoming announcement calls are usually connected automatically. If the phone is idle an incoming announcement call is connected in handsfree mode. If the phone is busy with another call this call is put on hold and the announcement call is connected in the currently active mode (handsfree/handset/headset).&lt;br /&gt;
In either case the microphone is disabled. It is enabled aqain when the microphone key is pressed or when the mode is changed for example from handset to handsfree. Incoming announcement calls are acoustically signaled by a short standard tone or if the phone is idle by the ring melody configured under &#039;&#039;Ring Tones&#039;&#039;.&lt;br /&gt;
  &lt;br /&gt;
*Incoming&lt;br /&gt;
** Reject: Reject any announcement call. &lt;br /&gt;
** Reject if Busy: Reject an announcement call if the phone is busy with another call. &lt;br /&gt;
** Micro on: Switch the microphone on when the call is connected. This permits a response without pressing any key before.&lt;br /&gt;
** Audible Signal Off: Connect the call silently without any acoustical indication. 	&lt;br /&gt;
** Treat any Call as Announcement: All incoming calls will be treated as announcement calls, i.e. incoming calls are automatically connected.  &lt;br /&gt;
&lt;br /&gt;
*Outgoing:&lt;br /&gt;
**Allow: Allow to set up outgoing announcement calls. If not checked the &#039;&#039;Announcement&#039;&#039; checkmark of a &#039;&#039;Dial&#039;&#039; Function key has no effect. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ring tones&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For acoustical identification of the different types of incoming calls (internal, external...) specific ring tones and volumes can be defined. The ring tones are listed under [[Reference9:Phone/Ring-Tones]], may be played on the telephone, and further ring tones can be loaded.&lt;br /&gt;
&lt;br /&gt;
The ring tones for &#039;&#039;Announcement Calls&#039;&#039; and &#039;&#039;Multicast Announcements&#039;&#039;  must be additionally enabled under [[Reference9:Phone/Preferences]], with option &#039;&#039;Play Configured Ring Melody before Automatically Connecting an Announcement Call&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ring filter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Up to five calling parties (for example VIP numbers) or groups may get own ring tones assigned here. &lt;br /&gt;
* Number: Calling party/group number. &lt;br /&gt;
* Name: Calling party/group name. &lt;br /&gt;
* Type: Type of calls to be checked for a matching identification. &lt;br /&gt;
** Any: Check calling party number/name of any call. &lt;br /&gt;
** External: Check calling party number/name of external calls only. &lt;br /&gt;
** Group: Check number/name (diverting number/name) of diverted calls. Example: Waiting Queue/Call Broadcast Name/Number.&lt;br /&gt;
* Volume: The volume to be used when playing the ring melody. &lt;br /&gt;
* Melody: The ring melody to be played.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not disturb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This function allows you to respond in a particular way to incoming calls. The incoming calls are choosen under&lt;br /&gt;
&lt;br /&gt;
*Apply to &lt;br /&gt;
**internal calls &lt;br /&gt;
**external calls &lt;br /&gt;
**any call&lt;br /&gt;
 &lt;br /&gt;
For the choosen type of incoming calls, the possible responses can be defined as&lt;br /&gt;
*Action &lt;br /&gt;
**do not ring: Calls are silently accepted (put to alerting state) but not signaled acoustically. &lt;br /&gt;
**reject call (busy): Calls are immediately rejected with cause &#039;&#039;User Busy&#039;&#039;. The caller receives a busy signal. &lt;br /&gt;
**ignore call (no response): No response is sent to the caller and thus after a timeout the caller will get a disconnect with cause &amp;quot;No User Responding&amp;quot;.&lt;br /&gt;
**out of office (ignore call and send absence message): Instead of a response to the call a predefined absence message is sen to the caller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Favourite diversions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Call forward can be set either using the [[Reference7:Configuration/Registration/Function-Keys/Call-Forwarding | Call Forwarding ]] function key or the &#039;&#039;Menu / User Setup / Call Diversion&#039;&#039; menu directly on the phone.  For the latter, default forward targets can be defined here.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Favourite List Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;TBD&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Call Media&#039;&#039;&#039;&lt;br /&gt;
* Autostart Video:&#039;&#039;  TBD&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:IQM_Statistical_Excel_Data_for_Agent_and_Queue&amp;diff=44447</id>
		<title>Howto:IQM Statistical Excel Data for Agent and Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:IQM_Statistical_Excel_Data_for_Agent_and_Queue&amp;diff=44447"/>
		<updated>2016-10-10T09:44:03Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Detail information statistical Queue data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From Build 80176 on this feature is no longer available.&lt;br /&gt;
&lt;br /&gt;
Use CSV Data instead, see&lt;br /&gt;
&lt;br /&gt;
[[Howto:IQM_Statistical_CSV_Data_for_Agent_and_Queue]]&lt;br /&gt;
&lt;br /&gt;
From Build 80160 on the Excel Logging will not be longer continued. Excel, in his continuously development on different OS and versions on top of different languages and wrong user handling causes in some cases problems. For compatibility reasons the Excel logging is not switched off, but for all new installations or installations with problems in Excel logging the new format is recommended. Support and fixes will be done just on the new format. &lt;br /&gt;
&lt;br /&gt;
For compatibility reasons this article is available and the relative setup in the iQM software can be activated.&lt;br /&gt;
See Related Articles for the description of the new logging mode or follwo this link&lt;br /&gt;
&lt;br /&gt;
[[Howto:IQM_Statistical_CSV_Data_for_Agent_and_Queue]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
iQM version 2.00 RC10 or higher&lt;br /&gt;
&lt;br /&gt;
Excel Office 2007 or higher (since build 80021)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: iQM,queue monitor,monitor,queue,PBX-Queue,call center,contact center,waiting queue,agent,wrap-up,wrap up,wrapup,innovaphone queue monitor,queuemonitor,queue-monitor,queue_monitor,Queue Monitor--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
iQM can record statistical data for each Agent and general statistical data of the Waiting Queue. &lt;br /&gt;
The Feature can be switched on or off.&lt;br /&gt;
Once activated the data will be transmitted automatically each month or, if the customer prefer, each day (at midnight). &lt;br /&gt;
Calls going “over “midnight (beginning one day and terminating another) will be spitted regarding the duration while in the number of calls will be a count in each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iQM provide two type of statistical data, data regarding individual Agents and data regarding the general status of the WQ.&lt;br /&gt;
The usage is different: while individual Agent data are used to evaluate the operating of the single Agents, the WQ data are used for resource planning. See more details and explanation in the following chapters.&lt;br /&gt;
&lt;br /&gt;
Statistical data are transmitted via Email to the supervisor automatically (daily or monthly).&lt;br /&gt;
The can also be requested manually pressing the relative button on the iQM server:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM214.png‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If requested on demand the actual data of today of cause will be just from midnight until the moment of the request.&lt;br /&gt;
During transmission the relative buttons will shown:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM215.png‎]]&lt;br /&gt;
&lt;br /&gt;
Please not that MS has timeouts in all applications and therefore it could require some minute until you will find the statistic in your mailbox.&lt;br /&gt;
&lt;br /&gt;
Note: if in the setup a valid IP-Adress is indicated in the e-mail server (iQM does no control if not) iQM performs a ping check before processing the email.&lt;br /&gt;
If like in the example the Ping result is negative warning message is displayed, each 20 seconds are done further checks.&lt;br /&gt;
&lt;br /&gt;
[[image:IQM209.png‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The e-mails are buffered (max. 6), also in case of other email error a relative warning message is displayed (and stored in the log file).&lt;br /&gt;
&lt;br /&gt;
Note: The Source Excel files containing the statistical data are transmitted via email to the user. Direct access to those files can cause different problems, up to a loss of data. Do never access directly to the statistic Excel files, a least make a copy of them and open the copy. So do not open the source files. The basic problem is that an opened Excel file cannot be modified, so if iQM shall access to store data errors will follow. Remember that iQM is working in real time mode and cannot simply “wait” storing or loading data.&lt;br /&gt;
&lt;br /&gt;
iQM send Excel files containing the statistical data. A file contains always data of one month, so 12 files a year for Agents and 12 files a year for the Queue are created. The format of those files is a standard MS-Office Excel. This files are created inside of the iQM software and includes also formula. Different target languages in formulas are supported. &lt;br /&gt;
&lt;br /&gt;
Each Excel file contains a top page and one sheet for each day of the month (so from day 1 up to 28 - 31). The top page (first page) will show the sum of the month, so off all daily pages. &lt;br /&gt;
&lt;br /&gt;
The Agent statistical files are named &amp;quot;iQM_AGNT_yyyy_mm.xlsx&amp;quot; where yyyy is the year and mm the month.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;quot;iQM_AGNT_2012_08.xlsx&amp;quot; contains the Agent statistical data of the month August 2012.&lt;br /&gt;
&lt;br /&gt;
The object of the email will be “IQM-Report Statistic Agents”, the Text “Automatic generated report - Do NOT answer!” while the Excel File is attached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Queue statistical files are named &amp;quot;iQM_STAT_yyyy_mm.xlsx&amp;quot; where yyyy is the year and mm the month.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;quot;iQM_STAT_2012_08.xlsx&amp;quot; contains the statistical Queue data of August 2012.&lt;br /&gt;
&lt;br /&gt;
The object of the email will be “IQM-Report Statistic WQ”, the Text “Automatic generated report - Do NOT answer!” while the Excel File is attached.&lt;br /&gt;
&lt;br /&gt;
The received Excel Files can be manipulated as you like, so feel free to add formulas, modify layout, add graphics etc. &lt;br /&gt;
&lt;br /&gt;
Please note that if a daily transmitting is requested during the month always the same file will be transmitted, of cause with each day more and more data in. If you open the file the sheet of the actual (or past) day will be selected automatically.&lt;br /&gt;
&lt;br /&gt;
Observe that the name of the first sheet indicate Year and Month, in the example the July  2012 while the other sheets are the days (1-28, 1 to 29, 1 to 30 or 1 to 31).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM200.png‎]]&lt;br /&gt;
&lt;br /&gt;
Contend of all sheet is identically, the only different of the first page is that there are no data in but just formulas (showing summarize of all sheets).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Detail information statistical Agent Excel data==&lt;br /&gt;
&lt;br /&gt;
The excel file contains operating data of each Agent. The following article explains how it works and the meaning of the singe cells.&lt;br /&gt;
In first page is indicated the date of creation of the File/Data Sheet (cell A1) and the date until there are data in (cell B1):&lt;br /&gt;
&lt;br /&gt;
[[image:IQM201.png‎]]&lt;br /&gt;
&lt;br /&gt;
In the example the file was created the first of June and contains data until the 31, so data of the full month. This is typical for automatic generated files while a manual dump will show the date when the request was done. If you start up a new iQM during the month and the file is created that data will appear in A1. &lt;br /&gt;
&lt;br /&gt;
A Excel day sheet contains data for each Agent in one line.&lt;br /&gt;
&lt;br /&gt;
Line 1 to 3 are reserved for description of the columns, line 4 display the total of each column, form line 5 on the Agent data are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:IQM202.png‎]]&lt;br /&gt;
&lt;br /&gt;
The following list explains the singe columns:&lt;br /&gt;
&lt;br /&gt;
A:	Name of the Agent&lt;br /&gt;
&lt;br /&gt;
B:	Number of incoming calls&lt;br /&gt;
&lt;br /&gt;
C:	Number of outgoing calls&lt;br /&gt;
&lt;br /&gt;
D: 	Total Number of calls (B+C)&lt;br /&gt;
&lt;br /&gt;
E:	Total Ringing time of the Agent set in seconds&lt;br /&gt;
&lt;br /&gt;
F:	Number of abandoned Ring. Please note that this value has nothing to do with the abandoned calls indicated in the iQM. Abandoned Rings are calls yet delivered to the Agent (his set is ringing) but he did not answer. &lt;br /&gt;
&lt;br /&gt;
G:	Average Time to answer = Ringing time / number of incoming calls (E/B)&lt;br /&gt;
&lt;br /&gt;
H:	Duration in minutes of incoming calls (duration under 0.5 minutes are indicated as “0”, but if you select the cell you can see the duration)&lt;br /&gt;
&lt;br /&gt;
I:	Duration in minutes of outgoing calls&lt;br /&gt;
&lt;br /&gt;
J:	Total Agent speaking time (H+I)&lt;br /&gt;
&lt;br /&gt;
K:	Average incoming conversation time (H/B) in seconds&lt;br /&gt;
&lt;br /&gt;
L:	Average outgoing conversation time (H/B) in seconds&lt;br /&gt;
&lt;br /&gt;
M:	Average conversation time (D/J) in seconds&lt;br /&gt;
&lt;br /&gt;
N:	Time in wrap up status (in seconds)&lt;br /&gt;
&lt;br /&gt;
O:	Time logged in minutes. Note that this time excludes the wrap up time. So the overall time while an Agent was working is N+O.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not shown in the example is column “Q”, showing the quantity of ringing threshold overflow.&lt;br /&gt;
&lt;br /&gt;
The ring threshold in seconds is set in the setup of the iQM server (Tab “Agent Excel Logging”, filed “Ring TH”). &lt;br /&gt;
&lt;br /&gt;
Each time a call rings more than xx seconds this counter is increased. The time to answer is an average counter over all calls while this feature shows single long unattended calls. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each time you stop correctly iQM all the statistical data will be saved and loaded again after start up. Just data during down-time are going lost.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===New Agents===&lt;br /&gt;
Agents are displayed in an alphabetical order in the Excel sheet. But if during the month you add a new Agent and restart iQM his data will be shown in the last line.&lt;br /&gt;
In column P (new) the creation date is indicated:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:IQM203.png‎]]&lt;br /&gt;
&lt;br /&gt;
Of cause if you compare total data of that agent with his colleagues he will have probably a minor amount of processed calls etc. &lt;br /&gt;
&lt;br /&gt;
In the following month he will appear again in the alphabetical list like the other Agents.&lt;br /&gt;
&lt;br /&gt;
==Detail information statistical Queue data ==&lt;br /&gt;
&lt;br /&gt;
The excel Queue file contains the operating data of the Waiting queue in 15 minute time frames.&lt;br /&gt;
&lt;br /&gt;
Those data typically are used to plan resources. It could be interesting for example how many calls comes in during the morning and when. If for example in the time span from 7:00 to 8:00 300 calls comes in, it could be that from 7:00 to 7:30 just 20 calls arrive, while from 7:30 to 8:00 the rest needs to be served. So for reaching a good performance value it could be a good idea increase the number of agents from 7:30 on. While it would be wasted activate additional agent from 7:00 to 7:30. For that reason 15 Minutes timeframe in contact center are common time span for statistics.&lt;br /&gt;
&lt;br /&gt;
In the main window of the iQM server the 15 minute time span counters are displayed.&lt;br /&gt;
&lt;br /&gt;
The time span indicator shows the 15 minute interval, so for example from 10:00 to 11:00 it will be displayed 10:00, 10:15, 10:30 and 10:45. When a time interval ends the counters are stored in the Excel file and reset to zero. &lt;br /&gt;
&lt;br /&gt;
[[image:IQM212.png‎]]&lt;br /&gt;
&lt;br /&gt;
14:30 means that the counter shows data are from 14:30 on.&lt;br /&gt;
&lt;br /&gt;
The numbers of incoming calls are the calls coming in the WQ while the numbers of outgoing calls are calls done by the Agents. If a call came to an Agent, he answer and transfer this call, it is counted as a single incoming call (and not as an incoming + outgoing call).&lt;br /&gt;
&lt;br /&gt;
So while calls (in/out/abandoned) are simple items, the number of logged Agents is not so simple to calculate and should be explained. Of cause also an Agent is in or out, but during the time period this value can change. If for example for 2 minutes 10 Agents are logged, then for 8 minutes just 1, than again 3 etc. an average has to be considered. To solve this problem iQM is doing a scan each second how many Agents are logged, and calculate the average. &lt;br /&gt;
Where “1.49” is displayed “1” and “1.51” as “2”. Please note that this calculation is not done in the Total row of the single day.&lt;br /&gt;
&lt;br /&gt;
The following example shows the first page of the Excel statistical queue data. (HF6 Build 8015701)&lt;br /&gt;
&lt;br /&gt;
[[image:IQM217.png‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following list explains the singe columns:&lt;br /&gt;
&lt;br /&gt;
A:	Time period&lt;br /&gt;
&lt;br /&gt;
B: 	Number of incoming calls &lt;br /&gt;
&lt;br /&gt;
C:      Number of transferred calls. Transferred calls are calls from the WQ answered by an Agent but then not simply terminated but transferred to another extension. The transferred calls are a subset of the incoming calls. In the example there where 7 incoming calls, 2 of them where transferred.&lt;br /&gt;
&lt;br /&gt;
D:      Total calls are the sum of the incoming calls + the transferred calls. Please note that in the example where just 7 calls coming in, but two of them causes an additional call or workload. Please note also that the peak value for transferred calls is not calculated.&lt;br /&gt;
&lt;br /&gt;
E:	Number of abandoned calls &lt;br /&gt;
&lt;br /&gt;
F:	Percentage of served calls (E/B)&lt;br /&gt;
&lt;br /&gt;
G:	Number of Logged Agents&lt;br /&gt;
&lt;br /&gt;
H:	Number necessary only for doing correct calculation&lt;br /&gt;
&lt;br /&gt;
I:      Served calls is the opposite value of the abandoned calls, so I = 100%-F&lt;br /&gt;
&lt;br /&gt;
J:      Average waiting time in seconds&lt;br /&gt;
&lt;br /&gt;
K:      Peak waiting time in second&lt;br /&gt;
&lt;br /&gt;
L:      Threshold waiting overflow in events. In the setup of the iQM Server a threshold time in seconds can be defined. If a call waits longer than this value, this counter will be increased.&lt;br /&gt;
&lt;br /&gt;
3: line peak: peak value (except for transferred calls and valid periods(n.a.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: While individual Agent data are stored and reloaded in case of shut done, the Queue statistica data of the current 15 minute time frame are not stored nor loaded in start-up. Therefore if you stop the iQM server the data of the 15 minute period are lost.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: In the setup of the iQM Server can be defined a threshold in seconds defining “short calls”. Short Calls are not counted as abandoned calls at all (not just in this WQ statistic but also in all other circumstances). “Wrong” calls or calls that anyway could not be served can be excluded using this feature.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
&lt;br /&gt;
To switch on the feature just enable in the setup in the Panel “AGENT LOGGING” the option “Logging ON” and, if required also the option “Send Agent Data each day””. Of cause a valid e-mail account must also be indicated in the Panel “DATA LOGGING”.&lt;br /&gt;
&lt;br /&gt;
Please note that if excel is not present on the iQM server PC the relative setup section is disabled and a warning message is displayed:&lt;br /&gt;
&lt;br /&gt;
[[image:IQM204.png‎]]&lt;br /&gt;
&lt;br /&gt;
Note: for this statistic feature a constant and correct date and time on the iQM server PC is essential. Changing Data can cause incorrect data or loss of data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
Doesn&#039;t work with versions previous to Excel 2007.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
[[Howto:Queue_Monitor_-_Overview]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:IQM_Statistical_CSV_Data_for_Agent_and_Queue]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44446</id>
		<title>Howto talk:IQM Statistical CSV Data for Agent and Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44446"/>
		<updated>2016-10-10T09:36:57Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo,&lt;br /&gt;
in der Spalte J der Queue-Statistik &amp;quot;Number of agents logged in the group&amp;quot;, wird hier der Max-, Min- oder Durchschnittswert für die vergangene Viertel Stunde verwendet?&lt;br /&gt;
Gruß Roland&lt;br /&gt;
&lt;br /&gt;
See http://wiki.innovaphone.com/index.php?title=Howto:IQM_Statistical_Excel_Data_for_Agent_and_Queue&lt;br /&gt;
&lt;br /&gt;
&amp;quot;So while calls (in/out/abandoned) are simple items, the number of logged Agents is not so simple to calculate and should be explained. Of cause also an Agent is or in or out, but during the time period this value can change. If for example for 2 minutes 10 Agents are logged, then for 8 minutes just 1, than again 3 etc. an average has to be considered. To solve this problem iQM is doing a scan each second how many Agents are logged, and calculate the average. Where “1.49” is displayed “1” and “1.51” as “2”. Please note that this calculation is not done in the Total row of the single day.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Softwarephone_recommended_settings&amp;diff=44403</id>
		<title>Howto:Softwarephone recommended settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Softwarephone_recommended_settings&amp;diff=44403"/>
		<updated>2016-09-30T11:03:49Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
* innovaphone Softwarephone&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: softphone, softwarephone, settings, protocol, tcp, h.323, qos, quality --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registration Settings==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
The Softwarephone needs to setup a signaling connection to the PBX. With H323 (UDP), the signaling needs several ports and they are opened on demand for each action. Sometimes it can happen that the port opening takes too long on some Windows machines and the Softwarephone doesn&#039;t respond to any requests. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
From v11, please use H323/TCP or H323/TLS for signaling protocol. With TCP, there is one permanent session open and this prevents any Windows Session timeouts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==QoS Settings==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
Because the Softwarephone is a Realtime Communication Client, the Softwarephones network traffic must have a higher network priority than other Applications (Like all VoIP Traffic). If it is not prioritized, you can have Problems with bad Audio Quality.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Policy-based QoS must be configured on Windows Machines where the Softwarephone is running.&lt;br /&gt;
&lt;br /&gt;
For a more detailed description, see [[Howto:Set Type of Service (ToS) DiffServ DSCP Values for innovaphone Windows Applications (SoftwarePhone, myPBX Video)]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Policy-basedQoS.jpg]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Set_Type_of_Service_(ToS)_DiffServ_DSCP_Values_for_innovaphone_Windows_Applications&amp;diff=44401</id>
		<title>Howto:Set Type of Service (ToS) DiffServ DSCP Values for innovaphone Windows Applications</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Set_Type_of_Service_(ToS)_DiffServ_DSCP_Values_for_innovaphone_Windows_Applications&amp;diff=44401"/>
		<updated>2016-09-30T08:59:23Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Applies To==&lt;br /&gt;
This information applies to all innovaphone Windows Applications sending the RTP Data (this is currently the SoftwarePhone (audio) and the myPBX launcher (video))&lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
In contrast to the innovaphone devices, that allows you to [[Reference9:IP4/General/Settings|specify the IP v4 TOS header field value]] used for voice and signalling IP packets, the MS Windows based applications like SoftwarePhone and myPBX do not have any possibility to set ToS Values on the RTP packets due restriction of the Microsoft Windows operating system.&lt;br /&gt;
&lt;br /&gt;
Instead to set the ToS Value in the Application the [http://technet.microsoft.com/en-us/library/dd919203%28WS.10%29.aspx Policy-based Quality of Service (QoS)] provided by the MS Windows operating system can be used to mark the IP packets.&lt;br /&gt;
&lt;br /&gt;
Usually the configuration of the Policy-based Quality of Service is done by defining a [http://technet.microsoft.com/en-us/library/hh831689.aspx Group Policy Object (GPO) in the Group Policy Management Console (GPMC)]. This could be done for a single computer or distributed to a number of computers via the domain controller.&lt;br /&gt;
&lt;br /&gt;
In the Windows 8 and Server 2012 it is possible to use [http://technet.microsoft.com/en-us/scriptcenter/powershell.aspx PowerShell] to configure the values with the [http://technet.microsoft.com/en-us/library/hh967471.aspx Set-NetQosPolicy] Cmdlet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;4&amp;quot; cellpadding=&amp;quot;3&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse;empty-cells:show;&amp;quot;&lt;br /&gt;
|+ Microsoft Windows QoS Policy Mappings for innovaphone Applications&lt;br /&gt;
!Policy Name!!Application Path!!Protocol!!Source Port!!Destination Port!!Source IP / Mask!!Destination IP / Mask!!DSCP Value!!Throttling Rate&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone myPBX Video RTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||UDP||50000:50100||*||*||*||34||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone myPBX Signalling HTTP||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||80||*||*||26||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone myPBX Signalling HTTPS||%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe||TCP||*||443||*||*||26||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone SoftwarePhone Audio RTP||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||16384:32767||*||*||*||46||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone SoftwarePhone Signalling RAS||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||UDP||*||1718:1719||*||*||26||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone SoftwarePhone Signalling H225||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||TCP||*||2048:59999||*||*||26||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone SoftwarePhone Signalling SIP||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe||TCP/UDP||*||5060||*||*||26||-1&lt;br /&gt;
|-&lt;br /&gt;
| innovaphone SoftwarePhone Signalling SIPS||%programfiles(x86)%\\innovaphone\\SoftwarePhone\\softwarephone.exe|| TCP||*||5061||*||*||26||-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The DSCP Values in the above example are default DSCP values used by innovaphone devices, according to the Wiki article [[Howto:Calculate Values for Type of Service %28ToS%29 from DiffServ or DSCP Values]]. You may change this values to meet requirements on your traffic prioritisation and routing equipment.&lt;br /&gt;
&lt;br /&gt;
The GPO is stored on the local computer in the registry. The following registry export file could be used to setup QoS Values on the local computer:&lt;br /&gt;
&lt;br /&gt;
 Windows Registry Editor Version 5.00&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS]&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone myPBX Signalling HTTP]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\myPBX\\\\myPBX.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;TCP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;80&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone myPBX Signalling HTTPS]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\myPBX\\\\myPBX.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;TCP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;443&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone myPBX Video RTP]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\innovaphone\\myPBX\\myPBX.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;UDP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;50000:50100&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;34&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone SoftwarePhone Audio RTP]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;C:\\Program Files (x86)\\innovaphone\\SoftwarePhone\\softwarephone.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;UDP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;16384:32767&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;46&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone SoftwarePhone Signalling H225]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\SoftwarePhone\\\\softwarephone.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;TCP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;2048:59999&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone SoftwarePhone Signalling RAS]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\SoftwarePhone\\\\softwarephone.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;UDP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;1718:1719&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone SoftwarePhone Signalling SIP]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\SoftwarePhone\\\\softwarephone.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;5060&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\QoS\innovaphone SoftwarePhone Signalling SIPS]&lt;br /&gt;
 &amp;quot;Version&amp;quot;=&amp;quot;1.0&amp;quot;&lt;br /&gt;
 &amp;quot;Application Name&amp;quot;=&amp;quot;%programfiles(x86)%\\\\innovaphone\\\\SoftwarePhone\\\\softwarephone.exe&amp;quot;&lt;br /&gt;
 &amp;quot;Protocol&amp;quot;=&amp;quot;TCP&amp;quot;&lt;br /&gt;
 &amp;quot;Local Port&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Local IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote Port&amp;quot;=&amp;quot;5061&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;Remote IP Prefix Length&amp;quot;=&amp;quot;*&amp;quot;&lt;br /&gt;
 &amp;quot;DSCP Value&amp;quot;=&amp;quot;26&amp;quot;&lt;br /&gt;
 &amp;quot;Throttle Rate&amp;quot;=&amp;quot;-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
* [[Howto:Calculate Values for Type of Service (ToS) from DiffServ or DSCP Values]]&lt;br /&gt;
* [[Howto:Firmware Upgrade V6 V7 and later#Default ToS Values]]&lt;br /&gt;
* [[Howto:The IPv4 TOS field and DiffServ]]&lt;br /&gt;
* [[Reference9:IP4/General/Settings]]&lt;br /&gt;
* [[Reference:Configuration/IP/Settings]]&lt;br /&gt;
* [[Howto:Softphone recommended settings]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto_talk:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44320</id>
		<title>Howto talk:IQM Statistical CSV Data for Agent and Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto_talk:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44320"/>
		<updated>2016-09-27T05:25:20Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: New page: Hallo, in der Spalte J der Queue-Statistik &amp;quot;Number of agents logged in the group&amp;quot;, wird hier der Max-, Min- oder Durchschnittswert für die vergangene Viertel Stunde verwendet? Gruß Rolan...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hallo,&lt;br /&gt;
in der Spalte J der Queue-Statistik &amp;quot;Number of agents logged in the group&amp;quot;, wird hier der Max-, Min- oder Durchschnittswert für die vergangene Viertel Stunde verwendet?&lt;br /&gt;
Gruß Roland&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44319</id>
		<title>Howto:IQM Statistical CSV Data for Agent and Queue</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:IQM_Statistical_CSV_Data_for_Agent_and_Queue&amp;diff=44319"/>
		<updated>2016-09-27T05:18:39Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Queue Data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In previous releases (before build 80160) the iQM server did a data logging using Excel sheets. While this method has the great advantage that the output is a ready to use Excel Chart including formulas, front pages and different sheets there are also some limitations. For example it is very difficult support all kind of OS and all kind of Excel and Office Versions on the iQM Server while the real typically is done on “normal” PC´s where Excel is installed.&lt;br /&gt;
&lt;br /&gt;
Therefore the Data logging is done writing data in a CSV format. This format can be natively loaded from Excel. The difference is that there are no single sheets for days, but all data are of a month in one single Excel Sheet. Also Formulas or filter if required can be added, but there are not included in the source file.&lt;br /&gt;
&lt;br /&gt;
==Applies To==&lt;br /&gt;
This information applies to&lt;br /&gt;
&lt;br /&gt;
iQM Build 80160 or higher&lt;br /&gt;
&lt;br /&gt;
Excel is not required on the iQM Server&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: iQM,queue monitor,monitor,queue,PBX-Queue,call center,contact center,waiting queue,agent,wrap-up,wrap up,wrapup,innovaphone queue monitor,queuemonitor,queue-monitor,queue_monitor,Queue Monitor--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More information==&lt;br /&gt;
QM provide two type of statistical data, data regarding individual Agents and data regarding the general status of the WQ. The usage is different: while individual Agent data are used to evaluate the operating of the single Agents, the WQ data are used for resource planning. See more details and explanation in the following chapters.&lt;br /&gt;
Statistical data are transmitted via Email to the supervisor automatically (daily or monthly). The can also be requested manually pressing the relative button on the iQM server:&lt;br /&gt;
&lt;br /&gt;
[[image:IQM214.png‎]]&lt;br /&gt;
&lt;br /&gt;
If requested on demand the actual data of today of cause will be just from midnight until the moment of the request. During transmission the relative buttons will shown:&lt;br /&gt;
&lt;br /&gt;
[[image:IQM215.png‎]]&lt;br /&gt;
&lt;br /&gt;
Please not that MS has timeouts in all applications and therefore it could require some minute until you will find the statistic in your mailbox.&lt;br /&gt;
Note: if in the setup a valid IP-Adress is indicated in the e-mail server (iQM does no control if not) iQM performs a ping check before processing the email. If like in the example the Ping result is negative warning message is displayed, each 20 seconds are done further checks.&lt;br /&gt;
 &lt;br /&gt;
[[image:IQM209.png‎]]&lt;br /&gt;
&lt;br /&gt;
The e-mails are buffered (max. 6), also in case of other email error a relative warning message is displayed (and stored in the log file).&lt;br /&gt;
Statistical data can also be transmitted automatically each day at midnight and at the end of the month.&lt;br /&gt;
Please note that a IQM Server tracks always data form “his” primary WQ while the data of the second WQ and processed by the second iQM Server.&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
Each time a file is send, regardless if automatically or requested by a user, a copy of the original file is stored in a directory created automatically by the iQM server. The directory named “CSV” is a sub-directory where the log files are in.&lt;br /&gt;
&lt;br /&gt;
Example: if Your logfile path is “c:\asdf\“ the CSV data are stored in “c:\asdf\CSV”&lt;br /&gt;
&lt;br /&gt;
Please note that a copy of files is done even if no email address is indicated. &lt;br /&gt;
&lt;br /&gt;
Therefore also a logging without email is possible, just working with files. &lt;br /&gt;
&lt;br /&gt;
As usual it is recommended to work only with the file in the CSV subdirectory and not with the original files in the log directory.&lt;br /&gt;
&lt;br /&gt;
The files stored in the CSV subdirectory and received via email can be opened with any software, in the following examples we open with Excel for further processing.&lt;br /&gt;
&lt;br /&gt;
Please note that the csv files in the logging directory should not be opened and they have a write protection switched on while the files in the CSV subdirectory and the one attached to the emails have no write protection.&lt;br /&gt;
&lt;br /&gt;
Once opened the file could be processed, modified, stored and renamed as you like, see later chapters.&lt;br /&gt;
&lt;br /&gt;
===File Names===&lt;br /&gt;
&lt;br /&gt;
The filename of automatic generated files (typically at the beginning of the month) is the following: &lt;br /&gt;
&lt;br /&gt;
The CSV filename has the format “iQM_SS_L_YYYY_MM_DD_HHMMSS.csv” where:&lt;br /&gt;
&lt;br /&gt;
SS = source (“AG” for agent and “WQ” for Waiting queue”)&lt;br /&gt;
&lt;br /&gt;
L = Labe of the iQM sever&lt;br /&gt;
&lt;br /&gt;
YYYY =  Year&lt;br /&gt;
&lt;br /&gt;
MM = month&lt;br /&gt;
&lt;br /&gt;
DD = Day &lt;br /&gt;
&lt;br /&gt;
HHMMSS = hour, minute, second&lt;br /&gt;
&lt;br /&gt;
If a file is send automatically by email the file name of the attached file is “iQM_SS_ll_YYYY_MM.csv”, so no day and timestamp is in the filename.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
“iQM_AG_MyFinanceGroup_2016_04_18_152709.csv” filename of the file stored in the CSV subdirectory at time 15:27:09. &lt;br /&gt;
&lt;br /&gt;
“iQM_AG_MyFinanceGroup_2016_04.csv”  automatic created file attached to the email&lt;br /&gt;
&lt;br /&gt;
“iQM_AG__2016_04_000009.csv” filename of the file stored in the CSV subdirectory. Note that there is no label in this example and the 00:00:09 indicated that this file was stored automatically at midnight at the end of the month.&lt;br /&gt;
&lt;br /&gt;
===e-mail format===&lt;br /&gt;
&lt;br /&gt;
The email shows in the object field the type and source of the Statistic in the format iQM-Report, “AG” for the Agent Statistics and “WQ” for the Waiting queue Statistic. On top the name of the iQM server is in the object, usefully if more iQM are operating.&lt;br /&gt;
&lt;br /&gt;
Example of email Subject:&lt;br /&gt;
&lt;br /&gt;
“iQM-Report Statistic WQ MyFinanceGroup” data of the Waiting Queue of the iQM Server “MyFinanceGroup”&lt;br /&gt;
&lt;br /&gt;
iQM-Report Statistic AG MyFinanceGroup” data of the Agent of the iQM Server “MyFinanceGroup”&lt;br /&gt;
&lt;br /&gt;
The e-mail body shows the source path of the attached file and name of the attached file.&lt;br /&gt;
&lt;br /&gt;
Example for email body:&lt;br /&gt;
&lt;br /&gt;
C:\asdf\iQM_AG_Myxlabel_2016_04.csv&lt;br /&gt;
Automatic generated report - Do NOT answer!&lt;br /&gt;
&lt;br /&gt;
The CSV Data Files are attached in the mail.&lt;br /&gt;
&lt;br /&gt;
===Manual data dump===&lt;br /&gt;
&lt;br /&gt;
If a statistic File is dumped (requested) manually the data are partial. If for example Agent data are requested in day 6.12 at 14:00, data will be complete for the days 1-6, but data of the day 6 are just logged from 00:00 to 14:00. Similar happens to the queue data: if a request is done at 12:35 the quarterly hour from 12:30 to 12:45 will contain partial data.&lt;br /&gt;
&lt;br /&gt;
Note: In agent data, where for each day a line for each agent is stored, a manual dump cause double lines in the day where the system starts up the very first time. On further days this will not happen.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
“iQM_AG_MyFinanceGroup_2016_04_18_152709.csv” indicate that the request was done day 18, hour 15:27:09&lt;br /&gt;
&lt;br /&gt;
In the Queue Table the minute of the snapshot is indicated:&lt;br /&gt;
&lt;br /&gt;
[[image:iQMcsv01.png‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the example the data dump was done at 15:33 and therefore line 4 contains partial data.&lt;br /&gt;
&lt;br /&gt;
==Excel Import==&lt;br /&gt;
&lt;br /&gt;
The CSV Data can be imported in Excel, the CSV character is semi column (“;”). &lt;br /&gt;
&lt;br /&gt;
===Agent Data===&lt;br /&gt;
&lt;br /&gt;
The headline (localized, in all examples in English) indicates the following columns:&lt;br /&gt;
&lt;br /&gt;
[[image:iQMcsv02.png‎]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A: Day of month&lt;br /&gt;
&lt;br /&gt;
B: Month&lt;br /&gt;
&lt;br /&gt;
C: Name of Agent&lt;br /&gt;
&lt;br /&gt;
D: Number of incoming calls (1) (2)&lt;br /&gt;
&lt;br /&gt;
E: Number of outgoing calls&lt;br /&gt;
&lt;br /&gt;
F: Time to answer in seconds (1) (3)&lt;br /&gt;
&lt;br /&gt;
G: Number of abandoned calls (4)&lt;br /&gt;
&lt;br /&gt;
H: Conversation time in seconds of incoming calls (1) (2)&lt;br /&gt;
&lt;br /&gt;
I: Conversation time in seconds of outgoing calls&lt;br /&gt;
&lt;br /&gt;
J: Wrap up Time in seconds&lt;br /&gt;
&lt;br /&gt;
K: Time in seconds being in Group &lt;br /&gt;
&lt;br /&gt;
L: Number of threshold overflow (5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
(1)	If in the setup of the iQM server is flagged “log only calls from WQ” just incoming calls form the Waiting Queue are counted: if not checked all calls (even if not from the Waiting Queue) are counted.&lt;br /&gt;
&lt;br /&gt;
(2)	Numbers in a line regards one single agent: a call is counted as such if the phone of the agent rings: not if a call is in the queue. &lt;br /&gt;
&lt;br /&gt;
(3)	The Time to answer in this table is the time span from ringing of the phone to the moment when the Agents answers the calls or the caller gives up. Not counted are calls giving up during waiting in the WQ while the phone of the agent is not jet ringing. &lt;br /&gt;
&lt;br /&gt;
(4)	Abandoned calls are calls not answered by the agent phone. This means that the phone has to ring and the agent did not answer. If a caller gives up during the queuing in the Waiting queue this is not counted. Therefore the abandoned calls counter in the iQM Server cannot be compared with this counter.&lt;br /&gt;
&lt;br /&gt;
(5)	Each time a calls waits longer than the seconds indicated in the iQM Setup “Ring TH” (the agent phone is ringing longer than) this counter is increased. &lt;br /&gt;
&lt;br /&gt;
Please note that the format of the counters is generally well done, for example the value “month” is in two digit format (in the example “04”): but the view in Excel depends on the setup of your Excel sheet.&lt;br /&gt;
&lt;br /&gt;
====Formulas====&lt;br /&gt;
&lt;br /&gt;
Being native Excel sheets any type of formulas (for example sums) can be added and also Filter can be applied with a few klick (marking all and adding “Filter”).&lt;br /&gt;
&lt;br /&gt;
In the Excel format there are some columns not available automatically in the CSV logging, but it is easy to add a column with the relative formulas. &lt;br /&gt;
&lt;br /&gt;
Here some example for additional formulas:&lt;br /&gt;
&lt;br /&gt;
Time in Minutes = time in Seconds / 60&lt;br /&gt;
&lt;br /&gt;
Average Time to Answer = F: Time to answer in seconds / D: Number of incoming calls&lt;br /&gt;
&lt;br /&gt;
Average duration of incoming calls = H: Conversation time in seconds of incoming calls / D: Number of incoming calls&lt;br /&gt;
&lt;br /&gt;
Average duration of outgoing calls = I: Conversation time in seconds of outgoing calls / E: Number of outgoing calls&lt;br /&gt;
&lt;br /&gt;
Average duration of calls = (H: Conversation time in seconds of incoming calls + I: Conversation time in seconds of outgoing calls) / ( D: Number of incoming calls + E: Number of outgoing calls)&lt;br /&gt;
&lt;br /&gt;
===Queue Data===&lt;br /&gt;
&lt;br /&gt;
Queue data are stored in 15 Minutes intervals. Therefore each hour has 4 entries: 00, 15, 30 and 45. Please note that always the past quarter is indicated. For example in “10:00” are data from 09:45 to 10:00, in “10:15” are in data from “10:00” to “10:15”.&lt;br /&gt;
&lt;br /&gt;
If a queue report is requested manually an odd timestamp will appear (for example “10:04”) indicating the snapshot time for the current quarter.&lt;br /&gt;
&lt;br /&gt;
The headline (localized, in the example in English) indicates the following columns:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[image:iQMcsv03.png‎]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A: Day of month&lt;br /&gt;
&lt;br /&gt;
B: Month&lt;br /&gt;
&lt;br /&gt;
C: Hour &lt;br /&gt;
&lt;br /&gt;
D: Minute &lt;br /&gt;
&lt;br /&gt;
E: Number of incoming calls&lt;br /&gt;
&lt;br /&gt;
F: Number of abandoned calls&lt;br /&gt;
&lt;br /&gt;
G: Percentage of served calls&lt;br /&gt;
&lt;br /&gt;
H: Percentage of abandoned calls&lt;br /&gt;
&lt;br /&gt;
I: Waiting time in seconds&lt;br /&gt;
&lt;br /&gt;
J: Number of agents logged in the group&lt;br /&gt;
&lt;br /&gt;
K: Number of transferred calls (2)&lt;br /&gt;
&lt;br /&gt;
L: Peak call duration in seconds&lt;br /&gt;
&lt;br /&gt;
M: Average duration of calls in seconds&lt;br /&gt;
&lt;br /&gt;
N: Number of threshold overflow (1)&lt;br /&gt;
&lt;br /&gt;
From Build 80178:&lt;br /&gt;
&lt;br /&gt;
O: Number of active calls done from the agents&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
(1)	Each time a calls waits longer than the seconds indicated in the iQM Setup “Waiting TH” this counter is increased.&lt;br /&gt;
 &lt;br /&gt;
(2)     If an Agent does not terminate the call but is doing a call transfer this counter is incremented.&lt;br /&gt;
&lt;br /&gt;
(3)     Active calls are done from the agent.&lt;br /&gt;
&lt;br /&gt;
===Known Problems===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Related Articles == --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
&lt;br /&gt;
[[Howto:IQM_Statistical_Excel_Data_for_Agent_and_Queue]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Queue_Monitor_-_Overview]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference11r1:Concept_myPBX&amp;diff=42296</id>
		<title>Reference11r1:Concept myPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference11r1:Concept_myPBX&amp;diff=42296"/>
		<updated>2016-05-27T08:04:39Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Launcher */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myPBX]]&lt;br /&gt;
= Overview =&lt;br /&gt;
myPBX is the UC client of the innovaphone PBX. It is intended for assisting typical phone users with their everyday tasks. It consists of two parts:&lt;br /&gt;
* A &#039;&#039;&#039;web application&#039;&#039;&#039; that runs in any modern web browser. It provides the functionality needed for audio telephony, instant messaging, monitoring peoples statuses and more.&lt;br /&gt;
* The &#039;&#039;&#039;myPBX launcher&#039;&#039;&#039; is a Windows application that integrates the myPBX web application into the Windows desktop and adds some interesting additional features like video telephony and Outlook integration.&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
The main user interface is an HTML5 application that runs in a web browser. It communicates with the PBX using HTTP-Requests (AJAX). The actual session logic is implemented inside the PBX.&lt;br /&gt;
&lt;br /&gt;
The picture shows how call control is done. The myPBX session has access to the phone registration as they are both located in the same PBX. Thus it can monitor and create or modify calls.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The version 11 web application also includes a [[{{NAMESPACE}}:Concept myPBX WebRTC Softwarephone|WebRTC Softwarephone]] that works with some browsers.&lt;br /&gt;
&lt;br /&gt;
== myPBX launcher ==&lt;br /&gt;
The launcher is a tool for integrating myPBX into the Windows desktop. It is not needed in order to use myPBX but it adds some convenient functions that are not available otherwise.&lt;br /&gt;
* Automatically open the myPBX web application on startup.&lt;br /&gt;
* Desktop notifications.&lt;br /&gt;
* Integrating external applications.&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myPBX_Video|Video telephony]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Office Integration|Office Integration]]&lt;br /&gt;
* Hotkey for dialing numbers out of any Windows application.&lt;br /&gt;
* Set the status depending on user activity.&lt;br /&gt;
* Switch to a standby PBX if the main PBX is down.&lt;br /&gt;
* Write trace files.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
===PBX===&lt;br /&gt;
* myPBX license&lt;br /&gt;
* Reporting installation (for seeing recent calls in the history), although no reporting license is needed (as opposed to V9)&lt;br /&gt;
&lt;br /&gt;
===Web browser===&lt;br /&gt;
* Current version&lt;br /&gt;
* JavaScript enabled&lt;br /&gt;
* HTML5 XMLHttpRequest (AJAX) enabled&lt;br /&gt;
* HTML5 Web Storage (DOMStorage) enabled&lt;br /&gt;
* HTML5 Cross-document messaging (postMessage) enabled&lt;br /&gt;
&lt;br /&gt;
If Microsoft&#039;s Internet Explorer is used, it must be IE9 or up. &#039;&#039;Note: The launcher always uses Microsoft Internet Explorer for opening the web application. It does not use the configured standard browser.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The chat does not work in Safari on iPhone/iPad. This is because the browser does not support applications running in multiple windows.&lt;br /&gt;
&lt;br /&gt;
===Launcher===&lt;br /&gt;
* Windows 7 or higher&lt;br /&gt;
* .NET 4&lt;br /&gt;
* Microsoft Visual C++ 2013 Redistributable (x86)&lt;br /&gt;
&lt;br /&gt;
===Email addresses===&lt;br /&gt;
myPBX builds an email address of a user with the name (H323) and the System Name of the PBX.&amp;lt;br&amp;gt;&lt;br /&gt;
So if the System Name is &#039;&#039;&#039;innovaphone.com&#039;&#039;&#039; and the name (H323) of the user is &#039;&#039;&#039;test&#039;&#039;&#039;, the resulting email address is &#039;&#039;&#039;test@innovaphone.com&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
So for every user an email address with this combination should exist.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This email address should be the primary SMTP address in your Exchange Server.&amp;lt;br&amp;gt;&lt;br /&gt;
If this can&#039;t be done, make sure, that there is a SIP address on your Exchange user, which matches this email address.&lt;br /&gt;
&lt;br /&gt;
See [[Reference7:Configure_Active_Directory_Replication#Notes_on_replicating_the_new-in-V10_email_User_Attribute]] for details on replicating the email attribute from &#039;&#039;Active Directory&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Related technology ==&lt;br /&gt;
* myPBX uses the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] as a database for call lists. Alternatively the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]].&lt;br /&gt;
* The [[{{NAMESPACE}}:Concept_Exchange_Calendar_Connector|Exchange Calendar Connector]] sets the presence of PBX users depending on their Exchange Calendar. myPBX can display that presence.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* Make sure you have installed the appropriate licenses.&lt;br /&gt;
** &#039;&#039;myPBX&#039;&#039; for the web application.&lt;br /&gt;
** &#039;&#039;Video&#039;&#039; for video telephony.&lt;br /&gt;
* Activate the licenses for the inidiviual user objects (&#039;&#039;License&#039;&#039; tab). This can also be done using config templates.&lt;br /&gt;
* Enable myPBX on the page &#039;&#039;PBX/Config/myPBX&#039;&#039;.&lt;br /&gt;
* To support call lists at the client, configure the &#039;&#039;Call List Service&#039;&#039; in [[{{NAMESPACE}}:PBX/Config/myPBX#Call_List_Service|&#039;&#039;PBX/Config/myPBX&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039; Additional hints &#039;&#039;&#039;&lt;br /&gt;
* Only users with a password can login to myPBX.&lt;br /&gt;
* There should be a dedicated device configured at the user object for each phone registration.&lt;br /&gt;
* To use mobile phones, the mobility device must have a name in the fork config at the user object.&lt;br /&gt;
* The LDAP configuration is taken from the phone config at the user object.&lt;br /&gt;
* The dialling location has to be configured at the phone config of the user object.&lt;br /&gt;
* Phones should be registered using the PBX password so that user can change their login password without affecting the phone registrations.&lt;br /&gt;
* If federation is used (&amp;quot;use as domain&amp;quot; checked), the user names and the PBX system name should match the email addresses of people.&lt;br /&gt;
&lt;br /&gt;
== Launcher ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* The configuration dialog is located in the context menu of the tray icon.&lt;br /&gt;
* Configure the &#039;&#039;URL&#039;&#039; in the myPBX tab (e.g. &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/client.htm&amp;lt;/code&amp;gt;).&lt;br /&gt;
* From v10 beta1 to beta4 the URL was &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/mypbx10.htm&amp;lt;/code&amp;gt;. From v10 beta5 the normal URL (&amp;lt;code&amp;gt;client.htm&amp;lt;/code&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Deployment &#039;&#039;&#039;&lt;br /&gt;
* Administrators can specify a default configuration using MSI parameters when deploying the software.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; - The primary URL.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL2&amp;lt;/code&amp;gt; - The secondary URL (standby PBX).&lt;br /&gt;
** &amp;lt;code&amp;gt;TRACE&amp;lt;/code&amp;gt; - Write trace files (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICETRACE&amp;lt;/code&amp;gt; - Enable Office Presence Logging (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOSTART&amp;lt;/code&amp;gt; - Autostart myPBX (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOAPPEAROFFLINE&amp;lt;/code&amp;gt; - Detect user activity on the computer in order to set the IM status (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, or the number of minutes).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPNAME&amp;lt;/code&amp;gt; - The display name of the external application.&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPATH&amp;lt;/code&amp;gt; - The path to the executable or the URI of the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPARAMS&amp;lt;/code&amp;gt; - The command line parameters for the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPAUTOSTART&amp;lt;/code&amp;gt; - Start automatically on call.&lt;br /&gt;
** Please refer to the [[Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config|corresponding article]] for more information.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR3:&lt;br /&gt;
** &amp;lt;code&amp;gt;SHOWINTASKBAR&amp;lt;/code&amp;gt; - Show the myPBX launcher in the Windows Task Bar (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;STARTMINIMIZED&amp;lt;/code&amp;gt; - Start the myPBX launcher minimized (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;DOCKING&amp;lt;/code&amp;gt; - The docking mode of the launcher window (&amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEY&amp;lt;/code&amp;gt; - The hotkey number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYMOD&amp;lt;/code&amp;gt; - The hotkey modifier number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYACTION&amp;lt;/code&amp;gt; - (&amp;lt;code&amp;gt;copy&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;show&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEO&amp;lt;/code&amp;gt; - Enable video telephony and application sharing (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOACTIVE&amp;lt;/code&amp;gt; - If active the default call type is Audio-video, otherwise it is Audio (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOPROXY&amp;lt;/code&amp;gt; - Proxy server for the video websocket connection.&lt;br /&gt;
** &amp;lt;code&amp;gt;NOTIFICATIONS&amp;lt;/code&amp;gt; - Turns desktop notification on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;SOUNDS&amp;lt;/code&amp;gt; - Turns notification sounds on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; - A two-letter language code.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR6:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPROVIDER&amp;lt;/code&amp;gt; - Set office presence provider (default &amp;lt;code&amp;gt;myPBX&amp;lt;/code&amp;gt;, empty string none, otherwise e.g. &amp;lt;code&amp;gt;Communicator&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR7:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPRESENCE&amp;lt;/code&amp;gt; - false: removes the office presence provider feature from myPBX (default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V11:&lt;br /&gt;
** &amp;lt;code&amp;gt;SOFTWAREPHONEAUTOSTART&amp;lt;/code&amp;gt; - If &amp;quot;true&amp;quot;, the Softwarephone will be started and stopped together with myPBX. Also, the PBX and User Parameters (GK IP-Address, GK-ID, Username and Password) are copied from the myPBX Client into the SoftwarePhone (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Command line parameters &#039;&#039;&#039;&lt;br /&gt;
* The following command line parameters can be used to specify special options for running the launcher. For example the parameters are useful for starting many instances on the same computer for demonstration purposes.&lt;br /&gt;
** &amp;lt;code&amp;gt;/url [URL]&amp;lt;/code&amp;gt; - Overrides the URL from the configuration&lt;br /&gt;
** &amp;lt;code&amp;gt;/user [USER NAME]&amp;lt;/code&amp;gt; - Starts the web application with the given user name&lt;br /&gt;
** &amp;lt;code&amp;gt;/password [PASSWORD]&amp;lt;/code&amp;gt; - Starts the web application with the given password&lt;br /&gt;
** &amp;lt;code&amp;gt;/multi&amp;lt;/code&amp;gt; - &#039;&#039;&#039;This parameter is for testing purposes, only. Do not use in a productive environment.&#039;&#039;&#039; It allows to start multiple instances of the launcher. You may want to combine this option with other configuration options such as &amp;lt;code&amp;gt;/url&amp;lt;/code&amp;gt; to use different configurations without the need to re-configure.  The parameter also disables saving the configuration to the registry. So changing the configuration in the configuration dialog does not work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Type of Service (ToS) &#039;&#039;&#039;&lt;br /&gt;
* The settings of the ToS values for video RTP and signalling packets can be done using Policy-based Quality of Service (QoS), as described in this wiki article:&lt;br /&gt;
** [[Howto:Set Type of Service %28ToS%29 DiffServ DSCP Values for innovaphone Windows Applications %28SoftwarePhone%2C myPBX_Video%29]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Registry Paths &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX stores its settings at the following locations:&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The acutal location where windows stores the settings may vary due to windows conventions and settings.&lt;br /&gt;
&lt;br /&gt;
See also: [[Reference10:Concept_myPBX_Office2010_Integration#Outlook_doesn.27t_recognize_myPBX_as_presence_provider]]&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
When started in a web browser, the following URL parameters can be used to do a basic configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;lang=fr&amp;lt;/code&amp;gt; - Give a two-letter language code to change the language of the user interface&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=false&amp;lt;/code&amp;gt; - Loads the version for use with mouse and keyboard.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=true&amp;lt;/code&amp;gt; - Loads the version for touch devices.&lt;br /&gt;
* &amp;lt;code&amp;gt;phys=&amp;lt;/code&amp;gt;&#039;&#039;location&#039;&#039; - Forces the PBX to assume the physical location of the WebRTC client used in this instance has the specified [[{{NAMESPACE}}:PBX_Locations#The_physical-location | physical location ]]&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== Login ==&lt;br /&gt;
* The short name (H.323-ID) of the user object is used as the login user name.&lt;br /&gt;
* The password of the user object is used as the login password.&lt;br /&gt;
* Users without a password cannot use myPBX.&lt;br /&gt;
* The local session information is stored in the DOMStorage of the web browser. It is deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
In a multi PBX scenario myPBX must be connected to the same PBX as the phone. Therefore after login the user is redirected like follows:&lt;br /&gt;
* PBXes accept the login if they are in charge.&lt;br /&gt;
* Slaves redirect to the master if they are not in charge.&lt;br /&gt;
* The master redirects to the slave that is in charge.&lt;br /&gt;
* Inactive standby PBXes redirect to the master.&lt;br /&gt;
* Active standby PBXes accept the login.&lt;br /&gt;
Additionally you can configure an alternative URL in the myPBX launcher that shall be used when myPBX can&#039;t connect to the primary URL.&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
The different phones of the user are addressed by the device of the user object where they are registered at. Therefore there should be no more than a single registration per device. Mobile phones can be integrated using the mobility object. It is mandatory that the mobility has a device name in the fork configuration.&lt;br /&gt;
&lt;br /&gt;
== SIP URIs ==&lt;br /&gt;
* The &#039;&#039;use as domain&#039;&#039; checkmark on the page &#039;&#039;PBX/Config/General&#039;&#039; enables addressing users across PBXes using SIP URIs.&lt;br /&gt;
** The system name of the PBX is used as the domain-part.&lt;br /&gt;
** The short name (H.323-ID) of the user object is used as the local-part.&lt;br /&gt;
* The constructed URI looks like an email address (user@example.com) and it should only contain characters that would also be allowed for email addresses.&lt;br /&gt;
* In myPBX the URI can be used for telephony and instant messaging. For local users the domain-part can be omitted (&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;user@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Presence ==&lt;br /&gt;
* In the innovaphone PBX there are different possible sources of user presence, called &#039;&#039;contacts&#039;&#039;.&lt;br /&gt;
** &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; - Phone presence&lt;br /&gt;
** &amp;lt;code&amp;gt;calendar:&amp;lt;/code&amp;gt; - Presence set by the Exchange Calendar Connector&lt;br /&gt;
* myPBX sets the presence for the &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; contact. &lt;br /&gt;
* The displayed user presence is a mixed presence that is derived from the indiviual presence sources by the PBX. It consists of the following information:&lt;br /&gt;
** Acitivty (&amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;away&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;busy&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lunch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vacation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Note&lt;br /&gt;
** Phone status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
** IM status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
* The activity &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; (do not distrurb) has a special meaning. If it is set, myPBX rejects all incoming chat messages. The phones can also be configured to reject incoming calls, if &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; is set.&lt;br /&gt;
&lt;br /&gt;
== Visibility ==&lt;br /&gt;
For presence and dialog monitoring access rights (visibility rules) have to be configured at the individual user objects. The admin can do that in the &amp;quot;Access&amp;quot; dialog. Templates can be used to configure rights at many user objects at a time. In myPBX users can change the values given by the administrator and add their own rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules refer to&#039;&#039;&#039;&lt;br /&gt;
* A user (by name, &amp;lt;code&amp;gt;alice&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;alice@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* All users of a domain (by domain suffix, &amp;lt;code&amp;gt;@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* or all active users of a group (by group name). Group rules can only be added by the administrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules turn the following rights on or off&#039;&#039;&#039;&lt;br /&gt;
* Online status (phone and IM status, see chapter Presence)&lt;br /&gt;
* Presence (activity and note, see chapter Presence)&lt;br /&gt;
* Busy state (if the user has phone calls or not)&lt;br /&gt;
* IDs (the remote name and number of phone calls)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a user is member of a group, all active members of that group have implicit access rights. These rights can be configured as the &amp;quot;Group Default Visibility&amp;quot; at the PBX. If there is no matching rule (implicit or explicit) the monitoring party does not see any information.&lt;br /&gt;
&lt;br /&gt;
Administrators should configure default visibility rules that match the companies privacy policy. Typical users should not have to change the visibility settings. It is recommended to use a template that defines at least a rule for the local domain. If users shall be able to configure the visibility for certain groups, a default rule for each of that groups should also be added.&lt;br /&gt;
&lt;br /&gt;
== Favourites ==&lt;br /&gt;
The user can add up to 32 phone numbers or SIP URIs as favourites. The favourites appear in myPBX for quick access. Also the presence and the calls are monitored and displayed, if possible. The user can create multiple lists of favourites and switch between them.&lt;br /&gt;
&lt;br /&gt;
== Directory search ==&lt;br /&gt;
Users can search for phone numbers and other information in an internal and an external LDAP directory. The directories are configured in the phone config that is stored at the user object in the PBX. Templates can be used to share the same configuration across multiple users.&lt;br /&gt;
&lt;br /&gt;
The directory is also used for resolving the names of external callers.&lt;br /&gt;
&lt;br /&gt;
Some LDAP servers do not return any results if non-existing name or number attributes are configured. Attribute names are case sensitive.&lt;br /&gt;
&lt;br /&gt;
== Instant messaging ==&lt;br /&gt;
myPBX is a chat client that can handle live chats between users. The PBX does not store chat messages, so both users have to be online at the same time.&lt;br /&gt;
&lt;br /&gt;
Chat conferences can be started by adding more people. In this case received text messages are relayed to the other participants. Also the list of participants is transmitted to each endpoint.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smileys&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX displays emoticons in the text of chat messages as smileys. Here are the text codes that are supported.&lt;br /&gt;
&lt;br /&gt;
  [[Image:Emo happy.png]] happy      :-)    :)    (-:    (:&lt;br /&gt;
  [[Image:Emo normal.png]] normal     :-|    :|    |-:    |:&lt;br /&gt;
  [[Image:Emo sad.png]] sad        :-(    :(    )-:    ):&lt;br /&gt;
  [[Image:Emo mixed.png]] mixed      :-/    :/    :-\    :\    \-:    \:&lt;br /&gt;
  [[Image:Emo twinkle.png]] twinkle    ;-)    ;)    (-;    (;&lt;br /&gt;
  [[Image:Emo lol.png]] lol        :-D    :D &lt;br /&gt;
  [[Image:Emo tongue.png]] tongue     :-p    :p    :-P    :P    q:    q-:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Typing indications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX transmits a notification when a user is typing a chat message. This can be seen by the other participants of the chat session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Starting a related phone call&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If there is a single other participant in a chat session, the chat windows shows a call button to start a phone call to the other person. The call button is hidden if the own phone is not registered.&lt;br /&gt;
&lt;br /&gt;
== Application sharing ==&lt;br /&gt;
Support for external application sharing is deprecated in version 11, since we now have integrated [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]] in the myPBX launcher.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The history shows recent calls and chat sessions.&lt;br /&gt;
&lt;br /&gt;
The calls are retrieved from an instance of the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] service. The call details include the call flow before and after the user was connected. When a user calls someone back from the history, the call is marked as answered in the reporting database. As this is done using the conference ID of the call even other users can see who called back at what time.&lt;br /&gt;
&lt;br /&gt;
Chat sessions are stored with the login in the DOMStorage of the Browser. They are deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
== Tracing and logging ==&lt;br /&gt;
myPBX can write session information to the syslog of the PBX. Check the &amp;quot;myPBX&amp;quot; checkmark on the page Maintenance/Diagnostics/Logging in order to turn it on.&lt;br /&gt;
&lt;br /&gt;
If the checkmark &amp;quot;Write trace&amp;quot; is enabled in the launcher configuration, the launcher writes a rotation of trace files to the folder &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Roaming\innovaphone\myPBX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Interfaces for integration =&lt;br /&gt;
The myPBX launcher has a number of generic interfaces that can be used to integrate it with other applications.&lt;br /&gt;
&lt;br /&gt;
== Protocol handlers ==&lt;br /&gt;
During installation myPBX registers protocol handlers for the following URI types:&lt;br /&gt;
;tel: start a phone call&lt;br /&gt;
;sip: start a phone call&lt;br /&gt;
;sips: start a phone call&lt;br /&gt;
;phone: start a phone call&lt;br /&gt;
;im: start a chat&lt;br /&gt;
&lt;br /&gt;
They can be used to start calls and chats in myPBX from external applications.&lt;br /&gt;
&lt;br /&gt;
=== Dialing from the Windows command prompt ===&lt;br /&gt;
Execute the following command to dial the number 012345.&lt;br /&gt;
  start tel:012345&lt;br /&gt;
&lt;br /&gt;
Execute the following command to call user@example.com.&lt;br /&gt;
  start sip:user@example.com&lt;br /&gt;
&lt;br /&gt;
Execute the following command to start a chat with user@example.com&lt;br /&gt;
  start im:user@example.com&lt;br /&gt;
&lt;br /&gt;
=== Dialing from a web page ===&lt;br /&gt;
This HTML link dials the number 012345, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;tel:012345&amp;quot;&amp;gt;012345&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link calls user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;sip:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link starts a chat with user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;im:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hotkey ==&lt;br /&gt;
A hotkey can be configured that copies selected phone numbers from most applications to myPBX. There is can be used for dialing, call transfer and so on.&lt;br /&gt;
&lt;br /&gt;
== Starting an external application for a call ==&lt;br /&gt;
myPBX can start an external application for a call. Both web applications and applications that are installed on the client PC can be configured. This configuration can be done in the launcher in the tab &amp;quot;External application&amp;quot; or using MSI parameters during installation.&lt;br /&gt;
&lt;br /&gt;
The following settings can be done:&lt;br /&gt;
* &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; - The name of the application as it should appear in myPBX.&lt;br /&gt;
* &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; - The path of the applicaiton. This can be an URL (&amp;lt;code&amp;gt;http://crm.example.com/customer-by-number/$n&amp;lt;/code&amp;gt;) or the path to a local application (&amp;lt;code&amp;gt;C:\crm\application.exe&amp;lt;/code&amp;gt;).&lt;br /&gt;
* &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; - The command line parameters of the application. This field can be left empty for web applications.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; may contain placeholders that are replaced by phone call information.&lt;br /&gt;
* &amp;lt;code&amp;gt;$n&amp;lt;/code&amp;gt; - phone number of the caller as seen&lt;br /&gt;
* &amp;lt;code&amp;gt;$N&amp;lt;/code&amp;gt; - phone number of the caller, normalized to national number format, e.g. 070317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$I&amp;lt;/code&amp;gt; - phone number of the caller, normalized to international number format, e.g. +4970317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$u&amp;lt;/code&amp;gt; - uri of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$d&amp;lt;/code&amp;gt; - display name of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$c&amp;lt;/code&amp;gt; - conference ID (a global ID for the call)&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; are configured, an additional button will appear in myPBX at phone calls that starts the application.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Connection problems / Refreshes ==&lt;br /&gt;
Symptom: When in idle state, the myPBX web application reloads every 30 seconds. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This might be a problem with the [http://msdn.microsoft.com/en-us/library/aa918417.aspx TCP/IP settings of the PC].  You should set &amp;lt;code&amp;gt;ReceiveTimeOut&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;KeepAliveTimeout&amp;lt;/code&amp;gt; to the default settings if they have been changed to smaller values.  Please note that the values must be specified in milliseconds!&lt;br /&gt;
&lt;br /&gt;
== Loss of DOM Storage Information ==&lt;br /&gt;
Symptom: myPBX is asking for username and password each time it is started.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Howto:MyPBX and roaming Profiles (e.g. Citrix) - myPBX forgetting login info]] for a possible resolution.&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
===Office application crashes===&lt;br /&gt;
If you have Lync installed and installed myPBX afterwards and you wanted to use Lync/Communicator as Office presence provider, an office application might have crashed.&amp;lt;br&amp;gt;&lt;br /&gt;
The MSI parameter OFFICEPRESENCE allows you to disable all office presence related installation, so a Lync installation won&#039;t be broken. You can&#039;t use myPBX as presence provider anymore in this case, but Lync will still work correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
If your installation is already broken, you can simply repair your Lync installation and Office won&#039;t crash anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use myPBX as presence provider, reinstall myPBX without the MSI parameter.&lt;br /&gt;
&lt;br /&gt;
== CPU usage ==&lt;br /&gt;
Connected myPBX sessions need additional resources on the PBX. When all extensions die myPBX, you can have approximately a 1/3 the amount of users per box than without using it.&lt;br /&gt;
&lt;br /&gt;
== Network traffic ==&lt;br /&gt;
In idle state the web application needs an empty message exchange every 30 seconds in order to keep the session alive. This messages take about 800 bytes. So per session the minimum network traffic is approximately:&lt;br /&gt;
* 1600 B/min&lt;br /&gt;
* 94 kB/h&lt;br /&gt;
* 2.2 MB/d&lt;br /&gt;
&lt;br /&gt;
== Included open source software ==&lt;br /&gt;
The myPBX web application contains the following open source software:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rc4.js&#039;&#039;&#039;&lt;br /&gt;
   * RC4 symmetric cipher encryption/decryption&lt;br /&gt;
   * Copyright (c) 2006 by Ali Farhadi.&lt;br /&gt;
   * released under the terms of the Gnu Public License.&lt;br /&gt;
   * see the GPL for details.&lt;br /&gt;
   *&lt;br /&gt;
   * Email: ali[at]farhadi[dot]ir&lt;br /&gt;
   * Website: http://farhadi.ir/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sha1.js&#039;&#039;&#039;&lt;br /&gt;
   *  Secure Hash Algorithm (SHA1)&lt;br /&gt;
   *  http://www.webtoolkit.info/&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_myPBX&amp;diff=42295</id>
		<title>Reference12r1:Concept myPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r1:Concept_myPBX&amp;diff=42295"/>
		<updated>2016-05-27T08:04:11Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Launcher */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myPBX]]&lt;br /&gt;
= Overview =&lt;br /&gt;
myPBX is the UC client of the innovaphone PBX. It is intended for assisting typical phone users with their everyday tasks. It consists of two parts:&lt;br /&gt;
* A &#039;&#039;&#039;web application&#039;&#039;&#039; that runs in any modern web browser. It provides the functionality needed for audio telephony, instant messaging, monitoring peoples statuses and more.&lt;br /&gt;
* The &#039;&#039;&#039;myPBX launcher&#039;&#039;&#039; is a Windows application that integrates the myPBX web application into the Windows desktop and adds some interesting additional features like video telephony and Outlook integration.&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
The main user interface is an HTML5 application that runs in a web browser. It communicates with the PBX using HTTP-Requests (AJAX). The actual session logic is implemented inside the PBX.&lt;br /&gt;
&lt;br /&gt;
The picture shows how call control is done. The myPBX session has access to the phone registration as they are both located in the same PBX. Thus it can monitor and create or modify calls.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The web application also includes a [[{{NAMESPACE}}:Concept myPBX WebRTC Softwarephone|WebRTC Softwarephone]] that works with some browsers.&lt;br /&gt;
&lt;br /&gt;
== myPBX launcher ==&lt;br /&gt;
The launcher is a tool for integrating myPBX into the Windows desktop. It is not needed in order to use myPBX but it adds some convenient functions that are not available otherwise.&lt;br /&gt;
* Automatically open the myPBX web application on startup.&lt;br /&gt;
* Desktop notifications.&lt;br /&gt;
* Integrating external applications.&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myPBX_Video|Video telephony]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Office Integration|Office Integration]]&lt;br /&gt;
* Hotkey for dialing numbers out of any Windows application.&lt;br /&gt;
* Set the status depending on user activity.&lt;br /&gt;
* Switch to a standby PBX if the main PBX is down.&lt;br /&gt;
* Write trace files.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
===PBX===&lt;br /&gt;
* myPBX license&lt;br /&gt;
* Reporting installation (for seeing recent calls in the history), although no reporting license is needed (as opposed to V9)&lt;br /&gt;
&lt;br /&gt;
===Web browser===&lt;br /&gt;
* Current version&lt;br /&gt;
* JavaScript enabled&lt;br /&gt;
* HTML5 XMLHttpRequest (AJAX) enabled&lt;br /&gt;
* HTML5 Web Storage (DOMStorage) enabled&lt;br /&gt;
* HTML5 Cross-document messaging (postMessage) enabled&lt;br /&gt;
&lt;br /&gt;
If Microsoft&#039;s Internet Explorer is used, it must be IE9 or up. &#039;&#039;Note: The launcher always uses Microsoft Internet Explorer for opening the web application. It does not use the configured standard browser.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Launcher===&lt;br /&gt;
* Windows 7 or higher&lt;br /&gt;
* .NET 4&lt;br /&gt;
* Microsoft Visual C++ 2013 Redistributable (x86)&lt;br /&gt;
&lt;br /&gt;
===Email addresses===&lt;br /&gt;
myPBX builds an email address of a user with the name (H323) and the System Name of the PBX.&amp;lt;br&amp;gt;&lt;br /&gt;
So if the System Name is &#039;&#039;&#039;innovaphone.com&#039;&#039;&#039; and the name (H323) of the user is &#039;&#039;&#039;test&#039;&#039;&#039;, the resulting email address is &#039;&#039;&#039;test@innovaphone.com&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
So for every user an email address with this combination should exist.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This email address should be the primary SMTP address in your Exchange Server.&amp;lt;br&amp;gt;&lt;br /&gt;
If this can&#039;t be done, make sure, that there is a SIP address on your Exchange user, which matches this email address.&lt;br /&gt;
&lt;br /&gt;
See [[Reference7:Configure_Active_Directory_Replication#Notes_on_replicating_the_new-in-V10_email_User_Attribute]] for details on replicating the email attribute from &#039;&#039;Active Directory&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Related technology ==&lt;br /&gt;
* myPBX uses the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] as a database for call lists. Alternatively the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]].&lt;br /&gt;
* The [[{{NAMESPACE}}:Concept_Exchange_Calendar_Connector|Exchange Calendar Connector]] sets the presence of PBX users depending on their Exchange Calendar. myPBX can display that presence.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* Make sure you have installed the appropriate licenses.&lt;br /&gt;
** &#039;&#039;myPBX&#039;&#039; for the web application.&lt;br /&gt;
** &#039;&#039;Video&#039;&#039; for video telephony.&lt;br /&gt;
* Activate the licenses for the inidiviual user objects (&#039;&#039;License&#039;&#039; tab). This can also be done using config templates.&lt;br /&gt;
* Enable myPBX on the page &#039;&#039;PBX/Config/myPBX&#039;&#039;.&lt;br /&gt;
* To support call lists at the client, configure the &#039;&#039;Call List Service&#039;&#039; in [[{{NAMESPACE}}:PBX/Config/myPBX#Call_List_Service|&#039;&#039;PBX/Config/myPBX&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039; Additional hints &#039;&#039;&#039;&lt;br /&gt;
* Only users with a password can login to myPBX.&lt;br /&gt;
* There should be a dedicated device configured at the user object for each phone registration.&lt;br /&gt;
* To use mobile phones, the mobility device must have a name in the fork config at the user object.&lt;br /&gt;
* The LDAP configuration is taken from the phone config at the user object.&lt;br /&gt;
* The dialling location has to be configured at the phone config of the user object.&lt;br /&gt;
* Phones should be registered using the PBX password so that user can change their login password without affecting the phone registrations.&lt;br /&gt;
* If federation is used (&amp;quot;use as domain&amp;quot; checked), the user names and the PBX system name should match the email addresses of people.&lt;br /&gt;
&lt;br /&gt;
== Launcher ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* The configuration dialog is located in the context menu of the tray icon.&lt;br /&gt;
* Configure the &#039;&#039;URL&#039;&#039; in the myPBX tab (e.g. &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/client.htm&amp;lt;/code&amp;gt;).&lt;br /&gt;
* From v10 beta1 to beta4 the URL was &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/mypbx10.htm&amp;lt;/code&amp;gt;. From v10 beta5 the normal URL (&amp;lt;code&amp;gt;client.htm&amp;lt;/code&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Deployment &#039;&#039;&#039;&lt;br /&gt;
* Administrators can specify a default configuration using MSI parameters when deploying the software.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; - The primary URL.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL2&amp;lt;/code&amp;gt; - The secondary URL (standby PBX).&lt;br /&gt;
** &amp;lt;code&amp;gt;TRACE&amp;lt;/code&amp;gt; - Write trace files (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICETRACE&amp;lt;/code&amp;gt; - Enable Office Presence Logging (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOSTART&amp;lt;/code&amp;gt; - Autostart myPBX (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOAPPEAROFFLINE&amp;lt;/code&amp;gt; - Detect user activity on the computer in order to set the IM status (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, or the number of minutes).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPNAME&amp;lt;/code&amp;gt; - The display name of the external application.&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPATH&amp;lt;/code&amp;gt; - The path to the executable or the URI of the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPARAMS&amp;lt;/code&amp;gt; - The command line parameters for the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPAUTOSTART&amp;lt;/code&amp;gt; - Start automatically on call.&lt;br /&gt;
** Please refer to the [[Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config|corresponding article]] for more information.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR3:&lt;br /&gt;
** &amp;lt;code&amp;gt;SHOWINTASKBAR&amp;lt;/code&amp;gt; - Show the myPBX launcher in the Windows Task Bar (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;STARTMINIMIZED&amp;lt;/code&amp;gt; - Start the myPBX launcher minimized (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;DOCKING&amp;lt;/code&amp;gt; - The docking mode of the launcher window (&amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEY&amp;lt;/code&amp;gt; - The hotkey number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYMOD&amp;lt;/code&amp;gt; - The hotkey modifier number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYACTION&amp;lt;/code&amp;gt; - (&amp;lt;code&amp;gt;copy&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;show&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEO&amp;lt;/code&amp;gt; - Enable video telephony and application sharing (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOPROXY&amp;lt;/code&amp;gt; - Proxy server for the video websocket connection.&lt;br /&gt;
** &amp;lt;code&amp;gt;NOTIFICATIONS&amp;lt;/code&amp;gt; - Turns desktop notification on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;SOUNDS&amp;lt;/code&amp;gt; - Turns notification sounds on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; - A two-letter language code.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR6:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPROVIDER&amp;lt;/code&amp;gt; - Set office presence provider (default &amp;lt;code&amp;gt;myPBX&amp;lt;/code&amp;gt;, empty string none, otherwise e.g. &amp;lt;code&amp;gt;Communicator&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR7:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPRESENCE&amp;lt;/code&amp;gt; - false: removes the office presence provider feature from myPBX (default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V11:&lt;br /&gt;
** &amp;lt;code&amp;gt;SOFTWAREPHONEAUTOSTART&amp;lt;/code&amp;gt; - If &amp;quot;true&amp;quot;, the Softwarephone will be started and stopped together with myPBX. Also, the PBX and User Parameters (GK IP-Address, GK-ID, Username and Password) are copied from the myPBX Client into the SoftwarePhone (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Command line parameters &#039;&#039;&#039;&lt;br /&gt;
* The following command line parameters can be used to specify special options for running the launcher. For example the parameters are useful for starting many instances on the same computer for demonstration purposes.&lt;br /&gt;
** &amp;lt;code&amp;gt;/url [URL]&amp;lt;/code&amp;gt; - Overrides the URL from the configuration&lt;br /&gt;
** &amp;lt;code&amp;gt;/user [USER NAME]&amp;lt;/code&amp;gt; - Starts the web application with the given user name&lt;br /&gt;
** &amp;lt;code&amp;gt;/password [PASSWORD]&amp;lt;/code&amp;gt; - Starts the web application with the given password&lt;br /&gt;
** &amp;lt;code&amp;gt;/multi&amp;lt;/code&amp;gt; - &#039;&#039;&#039;This parameter is for testing purposes, only. Do not use in a productive environment.&#039;&#039;&#039; It allows to start multiple instances of the launcher. You may want to combine this option with other configuration options such as &amp;lt;code&amp;gt;/url&amp;lt;/code&amp;gt; to use different configurations without the need to re-configure.  The parameter also disables saving the configuration to the registry. So changing the configuration in the configuration dialog does not work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Type of Service (ToS) &#039;&#039;&#039;&lt;br /&gt;
* The settings of the ToS values for video RTP and signalling packets can be done using Policy-based Quality of Service (QoS), as described in this wiki article:&lt;br /&gt;
** [[Howto:Set Type of Service %28ToS%29 DiffServ DSCP Values for innovaphone Windows Applications %28SoftwarePhone%2C myPBX_Video%29]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Registry Paths &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX stores its settings at the following locations:&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The acutal location where windows stores the settings may vary due to windows conventions and settings.&lt;br /&gt;
&lt;br /&gt;
See also: [[Reference10:Concept_myPBX_Office2010_Integration#Outlook_doesn.27t_recognize_myPBX_as_presence_provider]]&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
When started in a web browser, the following URL parameters can be used to do a basic configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;lang=fr&amp;lt;/code&amp;gt; - Give a two-letter language code to change the language of the user interface&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=false&amp;lt;/code&amp;gt; - Loads the version for use with mouse and keyboard.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=true&amp;lt;/code&amp;gt; - Loads the version for touch devices.&lt;br /&gt;
* &amp;lt;code&amp;gt;phys=&amp;lt;/code&amp;gt;&#039;&#039;location&#039;&#039; - Forces the PBX to assume the physical location of the WebRTC client used in this instance has the specified [[{{NAMESPACE}}:PBX_Locations#The_physical-location | physical location ]]&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== PBX stored password ===&lt;br /&gt;
&lt;br /&gt;
* The short name (H.323-ID) of the user object is used as the login user name.&lt;br /&gt;
* The password of the user object is used as the login password.&lt;br /&gt;
* Users without a password cannot use myPBX.&lt;br /&gt;
* The local session information is stored in the DOMStorage of the web browser. It is deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
In a multi PBX scenario myPBX must be connected to the same PBX as the phone. Therefore after login the user is redirected like follows:&lt;br /&gt;
* PBXes accept the login if they are in charge.&lt;br /&gt;
* Slaves redirect to the master if they are not in charge.&lt;br /&gt;
* The master redirects to the slave that is in charge.&lt;br /&gt;
* Inactive standby PBXes redirect to the master.&lt;br /&gt;
* Active standby PBXes accept the login.&lt;br /&gt;
Additionally you can configure an alternative URL in the myPBX launcher that shall be used when myPBX can&#039;t connect to the primary URL.&lt;br /&gt;
&lt;br /&gt;
=== Netlogon ===&lt;br /&gt;
&lt;br /&gt;
See [[Reference12r1:Concept_Netlogon_and_myPBX_Windows_Authentication]]&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
The different phones of the user are addressed by the device of the user object where they are registered at. Therefore there should be no more than a single registration per device. Mobile phones can be integrated using the mobility object. It is mandatory that the mobility has a device name in the fork configuration.&lt;br /&gt;
&lt;br /&gt;
== SIP URIs ==&lt;br /&gt;
* The &#039;&#039;use as domain&#039;&#039; checkmark on the page &#039;&#039;PBX/Config/General&#039;&#039; enables addressing users across PBXes using SIP URIs.&lt;br /&gt;
** The system name of the PBX is used as the domain-part.&lt;br /&gt;
** The short name (H.323-ID) of the user object is used as the local-part.&lt;br /&gt;
* The constructed URI looks like an email address (user@example.com) and it should only contain characters that would also be allowed for email addresses.&lt;br /&gt;
* In myPBX the URI can be used for telephony and instant messaging. For local users the domain-part can be omitted (&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;user@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Presence ==&lt;br /&gt;
* In the innovaphone PBX there are different possible sources of user presence, called &#039;&#039;contacts&#039;&#039;.&lt;br /&gt;
** &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; - Phone presence&lt;br /&gt;
** &amp;lt;code&amp;gt;calendar:&amp;lt;/code&amp;gt; - Presence set by the Exchange Calendar Connector&lt;br /&gt;
* myPBX sets the presence for the &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; contact. &lt;br /&gt;
* The displayed user presence is a mixed presence that is derived from the indiviual presence sources by the PBX. It consists of the following information:&lt;br /&gt;
** Acitivty (&amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;away&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;busy&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lunch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vacation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Note&lt;br /&gt;
** Phone status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
** IM status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
* The activity &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; (do not distrurb) has a special meaning. If it is set, myPBX rejects all incoming chat messages. The phones can also be configured to reject incoming calls, if &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; is set.&lt;br /&gt;
&lt;br /&gt;
== Visibility ==&lt;br /&gt;
For presence and dialog monitoring access rights (visibility rules) have to be configured at the individual user objects. The admin can do that in the &amp;quot;Access&amp;quot; dialog. Templates can be used to configure rights at many user objects at a time. In myPBX users can change the values given by the administrator and add their own rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules refer to&#039;&#039;&#039;&lt;br /&gt;
* A user (by name, &amp;lt;code&amp;gt;alice&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;alice@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* All users of a domain (by domain suffix, &amp;lt;code&amp;gt;@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* or all active users of a group (by group name). Group rules can only be added by the administrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules turn the following rights on or off&#039;&#039;&#039;&lt;br /&gt;
* Online status (phone and IM status, see chapter Presence)&lt;br /&gt;
* Presence (activity and note, see chapter Presence)&lt;br /&gt;
* Busy state (if the user has phone calls or not)&lt;br /&gt;
* IDs (the remote name and number of phone calls)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a user is member of a group, all active members of that group have implicit access rights. These rights can be configured as the &amp;quot;Group Default Visibility&amp;quot; at the PBX. If there is no matching rule (implicit or explicit) the monitoring party does not see any information.&lt;br /&gt;
&lt;br /&gt;
Administrators should configure default visibility rules that match the companies privacy policy. Typical users should not have to change the visibility settings. It is recommended to use a template that defines at least a rule for the local domain. If users shall be able to configure the visibility for certain groups, a default rule for each of that groups should also be added.&lt;br /&gt;
&lt;br /&gt;
== Favourites ==&lt;br /&gt;
The user can add up to 32 phone numbers or SIP URIs as favourites. The favourites appear in myPBX for quick access. Also the presence and the calls are monitored and displayed, if possible. The user can create multiple lists of favourites and switch between them.&lt;br /&gt;
&lt;br /&gt;
== Directory search ==&lt;br /&gt;
Users can search for phone numbers and other information in an internal and an external LDAP directory. The directories are configured in the phone config that is stored at the user object in the PBX. Templates can be used to share the same configuration across multiple users.&lt;br /&gt;
&lt;br /&gt;
The directory is also used for resolving the names of external callers.&lt;br /&gt;
&lt;br /&gt;
Some LDAP servers do not return any results if non-existing name or number attributes are configured. Attribute names are case sensitive.&lt;br /&gt;
&lt;br /&gt;
== Instant messaging ==&lt;br /&gt;
myPBX is a chat client that can handle live chats between users. The PBX does not store chat messages, so both users have to be online at the same time.&lt;br /&gt;
&lt;br /&gt;
Chat conferences can be started by adding more people. In this case received text messages are relayed to the other participants. Also the list of participants is transmitted to each endpoint.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smileys&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX displays emoticons in the text of chat messages as smileys. Here are the text codes that are supported.&lt;br /&gt;
&lt;br /&gt;
  [[Image:Emo happy.png]] happy      :-)    :)    (-:    (:&lt;br /&gt;
  [[Image:Emo normal.png]] normal     :-|    :|    |-:    |:&lt;br /&gt;
  [[Image:Emo sad.png]] sad        :-(    :(    )-:    ):&lt;br /&gt;
  [[Image:Emo mixed.png]] mixed      :-/    :/    :-\    :\    \-:    \:&lt;br /&gt;
  [[Image:Emo twinkle.png]] twinkle    ;-)    ;)    (-;    (;&lt;br /&gt;
  [[Image:Emo lol.png]] lol        :-D    :D &lt;br /&gt;
  [[Image:Emo tongue.png]] tongue     :-p    :p    :-P    :P    q:    q-:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Typing indications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX transmits a notification when a user is typing a chat message. This can be seen by the other participants of the chat session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Starting a related phone call&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If there is a single other participant in a chat session, the chat windows shows a call button to start a phone call to the other person. The call button is hidden if the own phone is not registered.&lt;br /&gt;
&lt;br /&gt;
== Application sharing ==&lt;br /&gt;
Support for external application sharing is deprecated, since we now have integrated [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]] in the myPBX launcher.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The history shows recent calls and chat sessions.&lt;br /&gt;
&lt;br /&gt;
The calls are retrieved from an instance of the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] service. The call details include the call flow before and after the user was connected. When a user calls someone back from the history, the call is marked as answered in the reporting database. As this is done using the conference ID of the call even other users can see who called back at what time.&lt;br /&gt;
&lt;br /&gt;
Chat sessions are stored with the login in the DOMStorage of the Browser. They are deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
== Tracing and logging ==&lt;br /&gt;
myPBX can write session information to the syslog of the PBX. Check the &amp;quot;myPBX&amp;quot; checkmark on the page Maintenance/Diagnostics/Logging in order to turn it on.&lt;br /&gt;
&lt;br /&gt;
If the checkmark &amp;quot;Write trace&amp;quot; is enabled in the launcher configuration, the launcher writes a rotation of trace files to the folder &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Roaming\innovaphone\myPBX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Interfaces for integration =&lt;br /&gt;
The myPBX launcher has a number of generic interfaces that can be used to integrate it with other applications.&lt;br /&gt;
&lt;br /&gt;
== Protocol handlers ==&lt;br /&gt;
During installation myPBX registers protocol handlers for the following URI types:&lt;br /&gt;
;tel: start a phone call&lt;br /&gt;
;sip: start a phone call&lt;br /&gt;
;sips: start a phone call&lt;br /&gt;
;phone: start a phone call&lt;br /&gt;
;im: start a chat&lt;br /&gt;
&lt;br /&gt;
They can be used to start calls and chats in myPBX from external applications.&lt;br /&gt;
&lt;br /&gt;
=== Dialing from the Windows command prompt ===&lt;br /&gt;
Execute the following command to dial the number 012345.&lt;br /&gt;
  start tel:012345&lt;br /&gt;
&lt;br /&gt;
Execute the following command to call user@example.com.&lt;br /&gt;
  start sip:user@example.com&lt;br /&gt;
&lt;br /&gt;
Execute the following command to start a chat with user@example.com&lt;br /&gt;
  start im:user@example.com&lt;br /&gt;
&lt;br /&gt;
=== Dialing from a web page ===&lt;br /&gt;
This HTML link dials the number 012345, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;tel:012345&amp;quot;&amp;gt;012345&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link calls user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;sip:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link starts a chat with user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;im:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hotkey ==&lt;br /&gt;
A hotkey can be configured that copies selected phone numbers from most applications to myPBX. There is can be used for dialing, call transfer and so on.&lt;br /&gt;
&lt;br /&gt;
== Starting an external application for a call ==&lt;br /&gt;
myPBX can start an external application for a call. Both web applications and applications that are installed on the client PC can be configured. This configuration can be done in the launcher in the tab &amp;quot;External application&amp;quot; or using MSI parameters during installation.&lt;br /&gt;
&lt;br /&gt;
The following settings can be done:&lt;br /&gt;
* &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; - The name of the application as it should appear in myPBX.&lt;br /&gt;
* &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; - The path of the applicaiton. This can be an URL (&amp;lt;code&amp;gt;http://crm.example.com/customer-by-number/$n&amp;lt;/code&amp;gt;) or the path to a local application (&amp;lt;code&amp;gt;C:\crm\application.exe&amp;lt;/code&amp;gt;).&lt;br /&gt;
* &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; - The command line parameters of the application. This field can be left empty for web applications.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; may contain placeholders that are replaced by phone call information.&lt;br /&gt;
* &amp;lt;code&amp;gt;$n&amp;lt;/code&amp;gt; - phone number of the caller as seen&lt;br /&gt;
* &amp;lt;code&amp;gt;$N&amp;lt;/code&amp;gt; - phone number of the caller, normalized to national number format, e.g. 070317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$I&amp;lt;/code&amp;gt; - phone number of the caller, normalized to international number format, e.g. +4970317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$u&amp;lt;/code&amp;gt; - uri of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$d&amp;lt;/code&amp;gt; - display name of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$c&amp;lt;/code&amp;gt; - conference ID (a global ID for the call)&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; are configured, an additional button will appear in myPBX at phone calls that starts the application.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Connection problems / Refreshes ==&lt;br /&gt;
Symptom: When in idle state, the myPBX web application reloads every 30 seconds. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This might be a problem with the [http://msdn.microsoft.com/en-us/library/aa918417.aspx TCP/IP settings of the PC].  You should set &amp;lt;code&amp;gt;ReceiveTimeOut&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;KeepAliveTimeout&amp;lt;/code&amp;gt; to the default settings if they have been changed to smaller values.  Please note that the values must be specified in milliseconds!&lt;br /&gt;
&lt;br /&gt;
== Loss of DOM Storage Information ==&lt;br /&gt;
Symptom: myPBX is asking for username and password each time it is started.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Howto:MyPBX and roaming Profiles (e.g. Citrix) - myPBX forgetting login info]] for a possible resolution.&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
===Office application crashes===&lt;br /&gt;
If you have Lync installed and installed myPBX afterwards and you wanted to use Lync/Communicator as Office presence provider, an office application might have crashed.&amp;lt;br&amp;gt;&lt;br /&gt;
The MSI parameter OFFICEPRESENCE allows you to disable all office presence related installation, so a Lync installation won&#039;t be broken. You can&#039;t use myPBX as presence provider anymore in this case, but Lync will still work correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
If your installation is already broken, you can simply repair your Lync installation and Office won&#039;t crash anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use myPBX as presence provider, reinstall myPBX without the MSI parameter.&lt;br /&gt;
&lt;br /&gt;
== CPU usage ==&lt;br /&gt;
Connected myPBX sessions need additional resources on the PBX. When all extensions die myPBX, you can have approximately a 1/3 the amount of users per box than without using it.&lt;br /&gt;
&lt;br /&gt;
== Network traffic ==&lt;br /&gt;
In idle state the web application needs an empty message exchange every 30 seconds in order to keep the session alive. This messages take about 800 bytes. So per session the minimum network traffic is approximately:&lt;br /&gt;
* 1600 B/min&lt;br /&gt;
* 94 kB/h&lt;br /&gt;
* 2.2 MB/d&lt;br /&gt;
&lt;br /&gt;
== Included open source software ==&lt;br /&gt;
The myPBX web application contains the following open source software:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rc4.js&#039;&#039;&#039;&lt;br /&gt;
   * RC4 symmetric cipher encryption/decryption&lt;br /&gt;
   * Copyright (c) 2006 by Ali Farhadi.&lt;br /&gt;
   * released under the terms of the Gnu Public License.&lt;br /&gt;
   * see the GPL for details.&lt;br /&gt;
   *&lt;br /&gt;
   * Email: ali[at]farhadi[dot]ir&lt;br /&gt;
   * Website: http://farhadi.ir/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sha1.js&#039;&#039;&#039;&lt;br /&gt;
   *  Secure Hash Algorithm (SHA1)&lt;br /&gt;
   *  http://www.webtoolkit.info/&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_myPBX&amp;diff=42291</id>
		<title>Reference12r2:Concept myPBX</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Reference12r2:Concept_myPBX&amp;diff=42291"/>
		<updated>2016-05-25T07:48:43Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Launcher */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Concept|myPBX]]&lt;br /&gt;
= Overview =&lt;br /&gt;
myPBX is the UC client of the innovaphone PBX. It is intended for assisting typical phone users with their everyday tasks. It consists of two parts:&lt;br /&gt;
* A &#039;&#039;&#039;web application&#039;&#039;&#039; that runs in any modern web browser. It provides the functionality needed for audio telephony, instant messaging, monitoring peoples statuses and more.&lt;br /&gt;
* The &#039;&#039;&#039;myPBX launcher&#039;&#039;&#039; is a Windows application that integrates the myPBX web application into the Windows desktop and adds some interesting additional features like video telephony and Outlook integration.&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
The main user interface is an HTML5 application that runs in a web browser. It communicates with the PBX using HTTP-Requests (AJAX). The actual session logic is implemented inside the PBX.&lt;br /&gt;
&lt;br /&gt;
The picture shows how call control is done. The myPBX session has access to the phone registration as they are both located in the same PBX. Thus it can monitor and create or modify calls.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_overview.png]]&lt;br /&gt;
&lt;br /&gt;
The web application also includes a [[{{NAMESPACE}}:Concept myPBX WebRTC Softwarephone|WebRTC Softwarephone]] that works with some browsers.&lt;br /&gt;
&lt;br /&gt;
== myPBX launcher ==&lt;br /&gt;
The launcher is a tool for integrating myPBX into the Windows desktop. It is not needed in order to use myPBX but it adds some convenient functions that are not available otherwise.&lt;br /&gt;
* Automatically open the myPBX web application on startup.&lt;br /&gt;
* Desktop notifications.&lt;br /&gt;
* Integrating external applications.&lt;br /&gt;
* [[{{NAMESPACE}}:Concept_myPBX_Video|Video telephony]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]]&lt;br /&gt;
* [[{{NAMESPACE}}:Concept myPBX Office Integration|Office Integration]]&lt;br /&gt;
* Hotkey for dialing numbers out of any Windows application.&lt;br /&gt;
* Set the status depending on user activity.&lt;br /&gt;
* Switch to a standby PBX if the main PBX is down.&lt;br /&gt;
* Write trace files.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
===PBX===&lt;br /&gt;
* myPBX license&lt;br /&gt;
* Reporting installation (for seeing recent calls in the history), although no reporting license is needed (as opposed to V9)&lt;br /&gt;
&lt;br /&gt;
===Web browser===&lt;br /&gt;
* Current version&lt;br /&gt;
* JavaScript enabled&lt;br /&gt;
* HTML5 XMLHttpRequest (AJAX) enabled&lt;br /&gt;
* HTML5 Web Storage (DOMStorage) enabled&lt;br /&gt;
* HTML5 Cross-document messaging (postMessage) enabled&lt;br /&gt;
&lt;br /&gt;
If Microsoft&#039;s Internet Explorer is used, it must be IE9 or up. &#039;&#039;Note: The launcher always uses Microsoft Internet Explorer for opening the web application. It does not use the configured standard browser.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The chat does not work in Safari on iPhone/iPad. This is because the browser does not support applications running in multiple windows.&lt;br /&gt;
&lt;br /&gt;
===Launcher===&lt;br /&gt;
* Windows 7 or higher&lt;br /&gt;
* .NET 4&lt;br /&gt;
* Microsoft Visual C++ 2013 Redistributable (x86)&lt;br /&gt;
&lt;br /&gt;
===Email addresses===&lt;br /&gt;
myPBX builds an email address of a user with the name (H323) and the System Name of the PBX.&amp;lt;br&amp;gt;&lt;br /&gt;
So if the System Name is &#039;&#039;&#039;innovaphone.com&#039;&#039;&#039; and the name (H323) of the user is &#039;&#039;&#039;test&#039;&#039;&#039;, the resulting email address is &#039;&#039;&#039;test@innovaphone.com&#039;&#039;&#039;.&amp;lt;br&amp;gt;&lt;br /&gt;
So for every user an email address with this combination should exist.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This email address should be the primary SMTP address in your Exchange Server.&amp;lt;br&amp;gt;&lt;br /&gt;
If this can&#039;t be done, make sure, that there is a SIP address on your Exchange user, which matches this email address.&lt;br /&gt;
&lt;br /&gt;
See [[Reference7:Configure_Active_Directory_Replication#Notes_on_replicating_the_new-in-V10_email_User_Attribute]] for details on replicating the email attribute from &#039;&#039;Active Directory&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Related technology ==&lt;br /&gt;
* myPBX uses the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] as a database for call lists. Alternatively the local [[{{NAMESPACE}}:Services/Call-Lists|call list service]].&lt;br /&gt;
* The [[{{NAMESPACE}}:Concept_Exchange_Calendar_Connector|Exchange Calendar Connector]] sets the presence of PBX users depending on their Exchange Calendar. myPBX can display that presence.&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
&lt;br /&gt;
== PBX ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* Make sure you have installed the appropriate licenses.&lt;br /&gt;
** &#039;&#039;myPBX&#039;&#039; for the web application.&lt;br /&gt;
** &#039;&#039;Video&#039;&#039; for video telephony.&lt;br /&gt;
* Activate the licenses for the inidiviual user objects (&#039;&#039;License&#039;&#039; tab). This can also be done using config templates.&lt;br /&gt;
* Enable myPBX on the page &#039;&#039;PBX/Config/myPBX&#039;&#039;.&lt;br /&gt;
* To support call lists at the client, configure the &#039;&#039;Call List Service&#039;&#039; in [[{{NAMESPACE}}:PBX/Config/myPBX#Call_List_Service|&#039;&#039;PBX/Config/myPBX&#039;&#039;]]&lt;br /&gt;
&#039;&#039;&#039; Additional hints &#039;&#039;&#039;&lt;br /&gt;
* Only users with a password can login to myPBX.&lt;br /&gt;
* There should be a dedicated device configured at the user object for each phone registration.&lt;br /&gt;
* To use mobile phones, the mobility device must have a name in the fork config at the user object.&lt;br /&gt;
* The LDAP configuration is taken from the phone config at the user object.&lt;br /&gt;
* The dialling location has to be configured at the phone config of the user object.&lt;br /&gt;
* Phones should be registered using the PBX password so that user can change their login password without affecting the phone registrations.&lt;br /&gt;
* If federation is used (&amp;quot;use as domain&amp;quot; checked), the user names and the PBX system name should match the email addresses of people.&lt;br /&gt;
&lt;br /&gt;
== Launcher ==&lt;br /&gt;
&#039;&#039;&#039; Basic configuration &#039;&#039;&#039;&lt;br /&gt;
* The configuration dialog is located in the context menu of the tray icon.&lt;br /&gt;
* Configure the &#039;&#039;URL&#039;&#039; in the myPBX tab (e.g. &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/client.htm&amp;lt;/code&amp;gt;).&lt;br /&gt;
* From v10 beta1 to beta4 the URL was &amp;lt;code&amp;gt;http://x.x.x.x/PBX0/MY/mypbx10.htm&amp;lt;/code&amp;gt;. From v10 beta5 the normal URL (&amp;lt;code&amp;gt;client.htm&amp;lt;/code&amp;gt;) is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Deployment &#039;&#039;&#039;&lt;br /&gt;
* Administrators can specify a default configuration using MSI parameters when deploying the software.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL&amp;lt;/code&amp;gt; - The primary URL.&lt;br /&gt;
** &amp;lt;code&amp;gt;URL2&amp;lt;/code&amp;gt; - The secondary URL (standby PBX).&lt;br /&gt;
** &amp;lt;code&amp;gt;TRACE&amp;lt;/code&amp;gt; - Write trace files (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICETRACE&amp;lt;/code&amp;gt; - Enable Office Presence Logging (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOSTART&amp;lt;/code&amp;gt; - Autostart myPBX (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;AUTOAPPEAROFFLINE&amp;lt;/code&amp;gt; - Detect user activity on the computer in order to set the IM status (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, or the number of minutes).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPNAME&amp;lt;/code&amp;gt; - The display name of the external application.&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPATH&amp;lt;/code&amp;gt; - The path to the executable or the URI of the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPPARAMS&amp;lt;/code&amp;gt; - The command line parameters for the external application (may contain placeholders).&lt;br /&gt;
** &amp;lt;code&amp;gt;APPAUTOSTART&amp;lt;/code&amp;gt; - Start automatically on call.&lt;br /&gt;
** Please refer to the [[Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config|corresponding article]] for more information.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR3:&lt;br /&gt;
** &amp;lt;code&amp;gt;SHOWINTASKBAR&amp;lt;/code&amp;gt; - Show the myPBX launcher in the Windows Task Bar (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;STARTMINIMIZED&amp;lt;/code&amp;gt; - Start the myPBX launcher minimized (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;DOCKING&amp;lt;/code&amp;gt; - The docking mode of the launcher window (&amp;lt;code&amp;gt;none&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;left&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;right&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEY&amp;lt;/code&amp;gt; - The hotkey number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYMOD&amp;lt;/code&amp;gt; - The hotkey modifier number (see registry of configured launcher).&lt;br /&gt;
** &amp;lt;code&amp;gt;HOTKEYACTION&amp;lt;/code&amp;gt; - (&amp;lt;code&amp;gt;copy&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;show&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEO&amp;lt;/code&amp;gt; - Enable video telephony and application sharing (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;VIDEOPROXY&amp;lt;/code&amp;gt; - Proxy server for the video websocket connection.&lt;br /&gt;
** &amp;lt;code&amp;gt;NOTIFICATIONS&amp;lt;/code&amp;gt; - Turns desktop notification on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;SOUNDS&amp;lt;/code&amp;gt; - Turns notification sounds on or off (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
** &amp;lt;code&amp;gt;LANG&amp;lt;/code&amp;gt; - A two-letter language code.&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR6:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPROVIDER&amp;lt;/code&amp;gt; - Set office presence provider (default &amp;lt;code&amp;gt;myPBX&amp;lt;/code&amp;gt;, empty string none, otherwise e.g. &amp;lt;code&amp;gt;Communicator&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V10 SR7:&lt;br /&gt;
** &amp;lt;code&amp;gt;OFFICEPRESENCE&amp;lt;/code&amp;gt; - false: removes the office presence provider feature from myPBX (default &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
* Additional parameters from V11:&lt;br /&gt;
** &amp;lt;code&amp;gt;SOFTWAREPHONEAUTOSTART&amp;lt;/code&amp;gt; - If &amp;quot;true&amp;quot;, the Softwarephone will be started and stopped together with myPBX. Also, the PBX and User Parameters (GK IP-Address, GK-ID, Username and Password) are copied from the myPBX Client into the SoftwarePhone (&amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
* Additional parameters from 12r2:&lt;br /&gt;
** &amp;lt;code&amp;gt;CONFIGHIDEMASK&amp;lt;/code&amp;gt; - With that parameter the administrator can hide certain parts of the configuration dialog. To calculate the hide mask add the desired values:&lt;br /&gt;
*** 1 - Tab &amp;quot;myPBX&amp;quot;&lt;br /&gt;
*** 4 - Tab &amp;quot;Office integration&amp;quot;&lt;br /&gt;
*** 8 - Tab &amp;quot;Video and application sharing&amp;quot;&lt;br /&gt;
*** 16 - Tab &amp;quot;External application&amp;quot;&lt;br /&gt;
*** 32 - Link &amp;quot;Open trace folder&amp;quot;&lt;br /&gt;
** &amp;lt;code&amp;gt;DEFAULTUSERNAME&amp;lt;/code&amp;gt; - The default username for the login&lt;br /&gt;
** &amp;lt;code&amp;gt;DEFAULTPASSWORD&amp;lt;/code&amp;gt; - The default password for the login&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Command line parameters &#039;&#039;&#039;&lt;br /&gt;
* The following command line parameters can be used to specify special options for running the launcher. For example the parameters are useful for starting many instances on the same computer for demonstration purposes.&lt;br /&gt;
** &amp;lt;code&amp;gt;/url [URL]&amp;lt;/code&amp;gt; - Overrides the URL from the configuration&lt;br /&gt;
** &amp;lt;code&amp;gt;/user [USER NAME]&amp;lt;/code&amp;gt; - Starts the web application with the given user name&lt;br /&gt;
** &amp;lt;code&amp;gt;/password [PASSWORD]&amp;lt;/code&amp;gt; - Starts the web application with the given password&lt;br /&gt;
** &amp;lt;code&amp;gt;/multi&amp;lt;/code&amp;gt; - &#039;&#039;&#039;This parameter is for testing purposes, only. Do not use in a productive environment.&#039;&#039;&#039; It allows to start multiple instances of the launcher. You may want to combine this option with other configuration options such as &amp;lt;code&amp;gt;/url&amp;lt;/code&amp;gt; to use different configurations without the need to re-configure.  The parameter also disables saving the configuration to the registry. So changing the configuration in the configuration dialog does not work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Type of Service (ToS) &#039;&#039;&#039;&lt;br /&gt;
* The settings of the ToS values for video RTP and signalling packets can be done using Policy-based Quality of Service (QoS), as described in this wiki article:&lt;br /&gt;
** [[Howto:Set Type of Service %28ToS%29 DiffServ DSCP Values for innovaphone Windows Applications %28SoftwarePhone%2C myPBX_Video%29]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Registry Paths &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX stores its settings at the following locations:&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;HKEY_CURRENT_USER\Software\innovaphone\myPBX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The acutal location where windows stores the settings may vary due to windows conventions and settings.&lt;br /&gt;
&lt;br /&gt;
See also: [[Reference10:Concept_myPBX_Office2010_Integration#Outlook_doesn.27t_recognize_myPBX_as_presence_provider]]&lt;br /&gt;
&lt;br /&gt;
== Web application ==&lt;br /&gt;
When started in a web browser, the following URL parameters can be used to do a basic configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;lang=fr&amp;lt;/code&amp;gt; - Give a two-letter language code to change the language of the user interface&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=false&amp;lt;/code&amp;gt; - Loads the version for use with mouse and keyboard.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch=true&amp;lt;/code&amp;gt; - Loads the version for touch devices.&lt;br /&gt;
* &amp;lt;code&amp;gt;phys=&amp;lt;/code&amp;gt;&#039;&#039;location&#039;&#039; - Forces the PBX to assume the physical location of the WebRTC client used in this instance has the specified [[{{NAMESPACE}}:PBX_Locations#The_physical-location | physical location ]]&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== PBX stored password ===&lt;br /&gt;
&lt;br /&gt;
* The short name (H.323-ID) of the user object is used as the login user name.&lt;br /&gt;
* The password of the user object is used as the login password.&lt;br /&gt;
* Users without a password cannot use myPBX.&lt;br /&gt;
* The local session information is stored in the DOMStorage of the web browser. It is deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
In a multi PBX scenario myPBX must be connected to the same PBX as the phone. Therefore after login the user is redirected like follows:&lt;br /&gt;
* PBXes accept the login if they are in charge.&lt;br /&gt;
* Slaves redirect to the master if they are not in charge.&lt;br /&gt;
* The master redirects to the slave that is in charge.&lt;br /&gt;
* Inactive standby PBXes redirect to the master.&lt;br /&gt;
* Active standby PBXes accept the login.&lt;br /&gt;
Additionally you can configure an alternative URL in the myPBX launcher that shall be used when myPBX can&#039;t connect to the primary URL.&lt;br /&gt;
&lt;br /&gt;
=== Netlogon ===&lt;br /&gt;
&lt;br /&gt;
See [[Reference12r1:Concept_Netlogon_and_myPBX_Windows_Authentication]]&lt;br /&gt;
&lt;br /&gt;
== Devices ==&lt;br /&gt;
The different phones of the user are addressed by the device of the user object where they are registered at. Therefore there should be no more than a single registration per device. Mobile phones can be integrated using the mobility object. It is mandatory that the mobility has a device name in the fork configuration.&lt;br /&gt;
&lt;br /&gt;
== SIP URIs ==&lt;br /&gt;
* The &#039;&#039;use as domain&#039;&#039; checkmark on the page &#039;&#039;PBX/Config/General&#039;&#039; enables addressing users across PBXes using SIP URIs.&lt;br /&gt;
** The system name of the PBX is used as the domain-part.&lt;br /&gt;
** The short name (H.323-ID) of the user object is used as the local-part.&lt;br /&gt;
* The constructed URI looks like an email address (user@example.com) and it should only contain characters that would also be allowed for email addresses.&lt;br /&gt;
* In myPBX the URI can be used for telephony and instant messaging. For local users the domain-part can be omitted (&amp;lt;code&amp;gt;user&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;user@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Presence ==&lt;br /&gt;
* In the innovaphone PBX there are different possible sources of user presence, called &#039;&#039;contacts&#039;&#039;.&lt;br /&gt;
** &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; - Phone presence&lt;br /&gt;
** &amp;lt;code&amp;gt;calendar:&amp;lt;/code&amp;gt; - Presence set by the Exchange Calendar Connector&lt;br /&gt;
* myPBX sets the presence for the &amp;lt;code&amp;gt;tel:&amp;lt;/code&amp;gt; contact. &lt;br /&gt;
* The displayed user presence is a mixed presence that is derived from the indiviual presence sources by the PBX. It consists of the following information:&lt;br /&gt;
** Acitivty (&amp;lt;code&amp;gt;available&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;away&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;busy&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lunch&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vacation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Note&lt;br /&gt;
** Phone status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
** IM status (&amp;lt;code&amp;gt;open&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;closed&amp;lt;/code&amp;gt;, sometimes displayed as &amp;lt;code&amp;gt;online&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;offline&amp;lt;/code&amp;gt;)&lt;br /&gt;
* The activity &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; (do not distrurb) has a special meaning. If it is set, myPBX rejects all incoming chat messages. The phones can also be configured to reject incoming calls, if &amp;lt;code&amp;gt;dnd&amp;lt;/code&amp;gt; is set.&lt;br /&gt;
&lt;br /&gt;
== Visibility ==&lt;br /&gt;
For presence and dialog monitoring access rights (visibility rules) have to be configured at the individual user objects. The admin can do that in the &amp;quot;Access&amp;quot; dialog. Templates can be used to configure rights at many user objects at a time. In myPBX users can change the values given by the administrator and add their own rules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules refer to&#039;&#039;&#039;&lt;br /&gt;
* A user (by name, &amp;lt;code&amp;gt;alice&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;alice@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* All users of a domain (by domain suffix, &amp;lt;code&amp;gt;@example.com&amp;lt;/code&amp;gt;).&lt;br /&gt;
* or all active users of a group (by group name). Group rules can only be added by the administrator.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rules turn the following rights on or off&#039;&#039;&#039;&lt;br /&gt;
* Online status (phone and IM status, see chapter Presence)&lt;br /&gt;
* Presence (activity and note, see chapter Presence)&lt;br /&gt;
* Busy state (if the user has phone calls or not)&lt;br /&gt;
* IDs (the remote name and number of phone calls)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If a user is member of a group, all active members of that group have implicit access rights. These rights can be configured as the &amp;quot;Group Default Visibility&amp;quot; at the PBX. If there is no matching rule (implicit or explicit) the monitoring party does not see any information.&lt;br /&gt;
&lt;br /&gt;
Administrators should configure default visibility rules that match the companies privacy policy. Typical users should not have to change the visibility settings. It is recommended to use a template that defines at least a rule for the local domain. If users shall be able to configure the visibility for certain groups, a default rule for each of that groups should also be added.&lt;br /&gt;
&lt;br /&gt;
== Favourites ==&lt;br /&gt;
The user can add up to 32 phone numbers or SIP URIs as favourites. The favourites appear in myPBX for quick access. Also the presence and the calls are monitored and displayed, if possible. The user can create multiple lists of favourites and switch between them.&lt;br /&gt;
&lt;br /&gt;
== Directory search ==&lt;br /&gt;
Users can search for phone numbers and other information in an internal and an external LDAP directory. The directories are configured in the phone config that is stored at the user object in the PBX. Templates can be used to share the same configuration across multiple users.&lt;br /&gt;
&lt;br /&gt;
The directory is also used for resolving the names of external callers.&lt;br /&gt;
&lt;br /&gt;
Some LDAP servers do not return any results if non-existing name or number attributes are configured. Attribute names are case sensitive.&lt;br /&gt;
&lt;br /&gt;
== Instant messaging ==&lt;br /&gt;
myPBX is a chat client that can handle live chats between users. The PBX does not store chat messages, so both users have to be online at the same time.&lt;br /&gt;
&lt;br /&gt;
Chat conferences can be started by adding more people. In this case received text messages are relayed to the other participants. Also the list of participants is transmitted to each endpoint.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Smileys&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX displays emoticons in the text of chat messages as smileys. Here are the text codes that are supported.&lt;br /&gt;
&lt;br /&gt;
  [[Image:Emo happy.png]] happy      :-)    :)    (-:    (:&lt;br /&gt;
  [[Image:Emo normal.png]] normal     :-|    :|    |-:    |:&lt;br /&gt;
  [[Image:Emo sad.png]] sad        :-(    :(    )-:    ):&lt;br /&gt;
  [[Image:Emo mixed.png]] mixed      :-/    :/    :-\    :\    \-:    \:&lt;br /&gt;
  [[Image:Emo twinkle.png]] twinkle    ;-)    ;)    (-;    (;&lt;br /&gt;
  [[Image:Emo lol.png]] lol        :-D    :D &lt;br /&gt;
  [[Image:Emo tongue.png]] tongue     :-p    :p    :-P    :P    q:    q-:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Typing indications&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
myPBX transmits a notification when a user is typing a chat message. This can be seen by the other participants of the chat session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Starting a related phone call&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If there is a single other participant in a chat session, the chat windows shows a call button to start a phone call to the other person. The call button is hidden if the own phone is not registered.&lt;br /&gt;
&lt;br /&gt;
== Application sharing ==&lt;br /&gt;
Support for external application sharing is deprecated, since we now have integrated [[{{NAMESPACE}}:Concept myPBX Application Sharing|Application sharing]] in the myPBX launcher.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The history shows recent calls and chat sessions.&lt;br /&gt;
&lt;br /&gt;
The calls are retrieved from an instance of the [[{{NAMESPACE}}:Concept_Reporting|innovaphone Reporting]] service. The call details include the call flow before and after the user was connected. When a user calls someone back from the history, the call is marked as answered in the reporting database. As this is done using the conference ID of the call even other users can see who called back at what time.&lt;br /&gt;
&lt;br /&gt;
Chat sessions are stored with the login in the DOMStorage of the Browser. They are deleted when the user logs out.&lt;br /&gt;
&lt;br /&gt;
== Tracing and logging ==&lt;br /&gt;
myPBX can write session information to the syslog of the PBX. Check the &amp;quot;myPBX&amp;quot; checkmark on the page Maintenance/Diagnostics/Logging in order to turn it on.&lt;br /&gt;
&lt;br /&gt;
If the checkmark &amp;quot;Write trace&amp;quot; is enabled in the launcher configuration, the launcher writes a rotation of trace files to the folder &amp;lt;code&amp;gt;C:\Users\[UserName]\AppData\Roaming\innovaphone\myPBX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Interfaces for integration =&lt;br /&gt;
The myPBX launcher has a number of generic interfaces that can be used to integrate it with other applications.&lt;br /&gt;
&lt;br /&gt;
== Protocol handlers ==&lt;br /&gt;
During installation myPBX registers protocol handlers for the following URI types:&lt;br /&gt;
;tel: start a phone call&lt;br /&gt;
;sip: start a phone call&lt;br /&gt;
;sips: start a phone call&lt;br /&gt;
;phone: start a phone call&lt;br /&gt;
;im: start a chat&lt;br /&gt;
&lt;br /&gt;
They can be used to start calls and chats in myPBX from external applications.&lt;br /&gt;
&lt;br /&gt;
=== Dialing from the Windows command prompt ===&lt;br /&gt;
Execute the following command to dial the number 012345.&lt;br /&gt;
  start tel:012345&lt;br /&gt;
&lt;br /&gt;
Execute the following command to call user@example.com.&lt;br /&gt;
  start sip:user@example.com&lt;br /&gt;
&lt;br /&gt;
Execute the following command to start a chat with user@example.com&lt;br /&gt;
  start im:user@example.com&lt;br /&gt;
&lt;br /&gt;
=== Dialing from a web page ===&lt;br /&gt;
This HTML link dials the number 012345, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;tel:012345&amp;quot;&amp;gt;012345&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link calls user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;sip:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This HTML link starts a chat with user@example.com, when clicked.&lt;br /&gt;
  &amp;lt;a href=&amp;quot;im:user@example.com&amp;quot;&amp;gt;user@example.com&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hotkey ==&lt;br /&gt;
A hotkey can be configured that copies selected phone numbers from most applications to myPBX. There is can be used for dialing, call transfer and so on.&lt;br /&gt;
&lt;br /&gt;
== Starting an external application for a call ==&lt;br /&gt;
myPBX can start an external application for a call. Both web applications and applications that are installed on the client PC can be configured. This configuration can be done in the launcher in the tab &amp;quot;External application&amp;quot; or using MSI parameters during installation.&lt;br /&gt;
&lt;br /&gt;
The following settings can be done:&lt;br /&gt;
* &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; - The name of the application as it should appear in myPBX.&lt;br /&gt;
* &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; - The path of the applicaiton. This can be an URL (&amp;lt;code&amp;gt;http://crm.example.com/customer-by-number/$n&amp;lt;/code&amp;gt;) or the path to a local application (&amp;lt;code&amp;gt;C:\crm\application.exe&amp;lt;/code&amp;gt;).&lt;br /&gt;
* &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; - The command line parameters of the application. This field can be left empty for web applications.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;Parameters&amp;lt;/code&amp;gt; may contain placeholders that are replaced by phone call information.&lt;br /&gt;
* &amp;lt;code&amp;gt;$n&amp;lt;/code&amp;gt; - phone number of the caller as seen&lt;br /&gt;
* &amp;lt;code&amp;gt;$N&amp;lt;/code&amp;gt; - phone number of the caller, normalized to national number format, e.g. 070317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$I&amp;lt;/code&amp;gt; - phone number of the caller, normalized to international number format, e.g. +4970317300988&lt;br /&gt;
* &amp;lt;code&amp;gt;$u&amp;lt;/code&amp;gt; - uri of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$d&amp;lt;/code&amp;gt; - display name of the caller&lt;br /&gt;
* &amp;lt;code&amp;gt;$c&amp;lt;/code&amp;gt; - conference ID (a global ID for the call)&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;code&amp;gt;Name&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Path&amp;lt;/code&amp;gt; are configured, an additional button will appear in myPBX at phone calls that starts the application.&lt;br /&gt;
&lt;br /&gt;
= Troubleshooting =&lt;br /&gt;
== Connection problems / Refreshes ==&lt;br /&gt;
Symptom: When in idle state, the myPBX web application reloads every 30 seconds. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This might be a problem with the [http://msdn.microsoft.com/en-us/library/aa918417.aspx TCP/IP settings of the PC].  You should set &amp;lt;code&amp;gt;ReceiveTimeOut&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;KeepAliveTimeout&amp;lt;/code&amp;gt; to the default settings if they have been changed to smaller values.  Please note that the values must be specified in milliseconds!&lt;br /&gt;
&lt;br /&gt;
== Loss of DOM Storage Information ==&lt;br /&gt;
Symptom: myPBX is asking for username and password each time it is started.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
See [[Howto:MyPBX and roaming Profiles (e.g. Citrix) - myPBX forgetting login info]] for a possible resolution.&lt;br /&gt;
&lt;br /&gt;
= Appendix =&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
===Office application crashes===&lt;br /&gt;
If you have Lync installed and installed myPBX afterwards and you wanted to use Lync/Communicator as Office presence provider, an office application might have crashed.&amp;lt;br&amp;gt;&lt;br /&gt;
The MSI parameter OFFICEPRESENCE allows you to disable all office presence related installation, so a Lync installation won&#039;t be broken. You can&#039;t use myPBX as presence provider anymore in this case, but Lync will still work correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
If your installation is already broken, you can simply repair your Lync installation and Office won&#039;t crash anymore.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to use myPBX as presence provider, reinstall myPBX without the MSI parameter.&lt;br /&gt;
&lt;br /&gt;
== CPU usage ==&lt;br /&gt;
Connected myPBX sessions need additional resources on the PBX. When all extensions die myPBX, you can have approximately a 1/3 the amount of users per box than without using it.&lt;br /&gt;
&lt;br /&gt;
== Network traffic ==&lt;br /&gt;
In idle state the web application needs an empty message exchange every 30 seconds in order to keep the session alive. This messages take about 800 bytes. So per session the minimum network traffic is approximately:&lt;br /&gt;
* 1600 B/min&lt;br /&gt;
* 94 kB/h&lt;br /&gt;
* 2.2 MB/d&lt;br /&gt;
&lt;br /&gt;
== Included open source software ==&lt;br /&gt;
The myPBX web application contains the following open source software:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;rc4.js&#039;&#039;&#039;&lt;br /&gt;
   * RC4 symmetric cipher encryption/decryption&lt;br /&gt;
   * Copyright (c) 2006 by Ali Farhadi.&lt;br /&gt;
   * released under the terms of the Gnu Public License.&lt;br /&gt;
   * see the GPL for details.&lt;br /&gt;
   *&lt;br /&gt;
   * Email: ali[at]farhadi[dot]ir&lt;br /&gt;
   * Website: http://farhadi.ir/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sha1.js&#039;&#039;&#039;&lt;br /&gt;
   *  Secure Hash Algorithm (SHA1)&lt;br /&gt;
   *  http://www.webtoolkit.info/&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config&amp;diff=42238</id>
		<title>Howto:MyPBX - deploy Setup.msi to PCs already with correct config</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:MyPBX_-_deploy_Setup.msi_to_PCs_already_with_correct_config&amp;diff=42238"/>
		<updated>2016-05-13T10:42:04Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* 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;
*Innovaphone myPBX Windows launcher application V10&lt;br /&gt;
&lt;br /&gt;
to get an overview which parameters you can here configure, see [[Reference11r2:Concept_myPBX#Launcher_2 | myPBX MSI Parameters ]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Keywords: enter keywords, foreign translations and/or synoyms not appearing in the article here for better search results --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==More Information== &lt;br /&gt;
&lt;br /&gt;
===Problem Details===&lt;br /&gt;
&lt;br /&gt;
Deploying myPBX windows launcher to many PCs and set the right config manually to each PC takes a lot of time. Here is a solution for deploying the setup already with the right configuration in the PC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Resolution===&lt;br /&gt;
&lt;br /&gt;
* We can use the Microsoft Group Policy for myPBX deployment. - http://support.microsoft.com/kb/816102&lt;br /&gt;
&lt;br /&gt;
The [[Reference10:Concept_myPBX#Launcher_2|command line parameteres of myPBXsetup.msi]] can be used to deploy the configuration via a .mst transform file. In orca the parameters have to be set in the Property table. &amp;lt;br&amp;gt;&lt;br /&gt;
The values of the properties are &#039;&#039;&#039;case sensitive&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
for exampe you can use:&lt;br /&gt;
{| border=1&lt;br /&gt;
|+&lt;br /&gt;
|Property&lt;br /&gt;
|Value&lt;br /&gt;
|-&lt;br /&gt;
|URL &lt;br /&gt;
|http://xxx.xxx.xxx.xxx/PBX0/MY/client.htm&lt;br /&gt;
|-&lt;br /&gt;
|URL2 &lt;br /&gt;
|http://yyy.yyy.yyy.yyy/PBX0/MY/client.htm&lt;br /&gt;
|-&lt;br /&gt;
|TRACE &lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|OFFICETRACE &lt;br /&gt;
|false&lt;br /&gt;
|-&lt;br /&gt;
|AUTOSTART &lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|AUTOPRESENCE &lt;br /&gt;
|true&lt;br /&gt;
|-&lt;br /&gt;
|APPNAME &lt;br /&gt;
|zzz.exe&lt;br /&gt;
|-&lt;br /&gt;
|APPPATH &lt;br /&gt;
|c:\... or http://...&lt;br /&gt;
|-&lt;br /&gt;
|APPPARAMS &lt;br /&gt;
|whatever the app supports&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    AUTOPRESENCE - Detect user activity on the computer in order to set the IM status (true or false).&lt;br /&gt;
    APPNAME - The display name of the external application.&lt;br /&gt;
    APPPATH - The path to the executable or the URI of the external application (may contain placeholders).&lt;br /&gt;
    APPPARAMS - The command line parameters for the external application (may contain placeholders). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are searching for further hints how to use the Orca database editor to edit Windows Installer files have a look at the Microsoft support pages: http://support.microsoft.com/kb/255905/en-us&lt;br /&gt;
&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Adjusting_volume_parameters_on_IP111_and_IP112&amp;diff=40353</id>
		<title>Howto:Adjusting volume parameters on IP111 and IP112</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Adjusting_volume_parameters_on_IP111_and_IP112&amp;diff=40353"/>
		<updated>2016-02-11T09:17:20Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Related Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: Volume, Headsets, Headset, USB, DHSG, IP111, Plantronics, Jabra  --&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
* IP111 with V11r1 and above&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
* Customers might need control over the microphone sensitivity to lower background noise pickup&lt;br /&gt;
* Customers might need higher speaker volume of handset or loudspeaker than configurable on the phone&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
The microphone sensitivity of the handset can be controlled with a sequence of commands along the lines&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config add AC-DSP0 HANDSET /ADC_Gain 21&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Presently 21 is the default. Decreasing the value by 4 decreases the sensitivity by 6 dB. The allowed range of the ADC_Gain parameter is 0..31. The same command can be applied for speakerphone mode with name SPEAKER instead of HANDSET.&lt;br /&gt;
&lt;br /&gt;
Higher speaker volume can be achieved by a command&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config add AC-DSP0 HANDSET /Coder_Output_Gain 34,32,30,28,26,24,22,20,18,16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where each value of the comma separated list (default shown) corresponds to one of the volume steps. Decreasing each by 4 increases the volume by 6 dB. The permitted range of the values is 0..63. The same command can be applied for speakerphone mode with name SPEAKER instead of HANDSET.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;To avoid hearing damage, please be careful with the values!&#039;&#039;&#039; Increase the values step by step. You hear the difference after the !config activate&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
Clipping may occur for high audio levels from the peer if the speaker volume has been increased.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are satisfied with the settings, type:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config write&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, the values are stored in the config.&lt;br /&gt;
&lt;br /&gt;
Please note, that the default values might change without notice in future DSP code updates and also the actual sound pressure corresponsing to these values might change. Please re-evaluate tweaks after firmware update and assert the commands above again.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Howto:Adjust Speaker volume on IP241 IP222 IP232]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:How to adjust the volume parameters on IP110, IP200A and IP230 in Version 6 Firmware]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Adjusting_the_volume_parameters_on_IP200A%2C_IP110%2C_IP230_and_IP150_in_Version_6_and_later_Firmware]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Adjust_Speaker_volume_on_IP241_IP222_IP232&amp;diff=40352</id>
		<title>Howto:Adjust Speaker volume on IP241 IP222 IP232</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Adjust_Speaker_volume_on_IP241_IP222_IP232&amp;diff=40352"/>
		<updated>2016-02-11T09:16:42Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Related Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- keywords: Volume, Headsets, Headset, USB, DHSG, IP241, IP222, IP232, IP2x2, Plantronics, Jabra  --&amp;gt;&lt;br /&gt;
==Applies To==&lt;br /&gt;
* IP241, IP222, IP232 with V9 and above&lt;br /&gt;
&lt;br /&gt;
==Problem==&lt;br /&gt;
* Headsets from different manufacturer respond different (too loud or too quiet) on the default volume setting at the USB or DHSG Ports.&lt;br /&gt;
* customer need higher speaker volume of handset, loudspeaker then configurable on phone&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
It&#039;s possible to turn down or turn up the volume individual within the phone configuration. The values are &#039;&#039;offsets&#039;&#039;, which means that 0 is not off, it&#039;s the default value of the firmware.&lt;br /&gt;
&lt;br /&gt;
The headset volume can be adjusted with &amp;lt;nowiki&amp;gt;http://addr/dsp.xml&amp;lt;/nowiki&amp;gt; -&amp;gt; Volume&lt;br /&gt;
&lt;br /&gt;
The other levels can be adjusted on the command line, the level is specified in db.&lt;br /&gt;
 config add AC-DSP0 HANDSET /mic-volume&lt;br /&gt;
 config add AC-DSP0 HANDSET /spk-volume&lt;br /&gt;
 config add AC-DSP0 SPEAKER /mic-volume&lt;br /&gt;
 config add AC-DSP0 SPEAKER /spk-volume&lt;br /&gt;
 config add AC-DSP0 HEADSET /mic-volume&lt;br /&gt;
 config add AC-DSP0 HEADSET /spk-volume&lt;br /&gt;
The default is restored by a corresponding&lt;br /&gt;
 config rem AC-DSP0 ...&lt;br /&gt;
command.&lt;br /&gt;
&lt;br /&gt;
You can set the speaker volume /spk-volume and the microphone volume /mic-volume. Normally the headsets microphone volume must not be changed, because the user adapts the loudness of his own voice from situation to situation. The common problem is the speaker volume. &lt;br /&gt;
&lt;br /&gt;
Example to turn up the speaker volume a bit:&lt;br /&gt;
   &lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config add AC-DSP0 HEADSET /spk-volume 2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example to turn up the speaker volume a bit more:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config add AC-DSP0 HEADSET /spk-volume 4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;To avoid hearing damage, please be careful with the values!&#039;&#039;&#039; Increase the values step by step. You hear the difference after the !config activate&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&lt;br /&gt;
The values are between -32 and +32, out of range values will be converted to the higher limit.&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example to turn down the speaker volume a bit:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config add AC-DSP0 HEADSET /spk-volume -2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example to restore default behaviour:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config rem AC-DSP0 HEADSET /spk-volume &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config activate&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you satisfied with the settings, type:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;http://ip-adress-of-the-phone/!config write&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, the values are in the config.&lt;br /&gt;
&lt;br /&gt;
Please also note, that it&#039;s possible for future DSP code updates, that the default value can be changed (what means that &amp;quot;0&amp;quot; can be louder or quieter) and it&#039;s possible that updates of the headset manufacturer can change the volume, too.&lt;br /&gt;
So after doing a firmware update on the phone or on the headset, it&#039;s necessary to do the steps above again.&lt;br /&gt;
&lt;br /&gt;
==Related Articles==&lt;br /&gt;
[[Howto:How to adjust the volume parameters on IP110, IP200A and IP230 in Version 6 Firmware]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Adjusting_volume_parameters_on_IP111]]&lt;br /&gt;
&lt;br /&gt;
[[Howto:Adjusting_the_volume_parameters_on_IP200A%2C_IP110%2C_IP230_and_IP150_in_Version_6_and_later_Firmware]]&lt;br /&gt;
[[Category:Howto|{{PAGENAME}}]]&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40218</id>
		<title>Howto:Integrate External Apps in innovaphone UC clients</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40218"/>
		<updated>2016-01-28T07:17:54Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Outlook Journal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Howto]]&lt;br /&gt;
==Applies to==&lt;br /&gt;
 &lt;br /&gt;
myPBX External Application&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Version==&lt;br /&gt;
We tested with: &lt;br /&gt;
&lt;br /&gt;
innovaphone: 10.x&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
External applications can be integrated in myPBX. Both web applications and applications that are installed on the client PC can be configured. If this feature is activated, myPBX shows additional buttons at phone calls, in the history and in desktop notifications for incoming calls. Clicking that button opens the application with optional parameters from the call.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
 &lt;br /&gt;
* Right Click on myPBX – Configuration – External Application&lt;br /&gt;
* Enter the name of the external app (which will be seen as tooltip of the external app button). &lt;br /&gt;
* Paste the path of the external app into the field “Path”. It can be both the URL of a web application (http://crm.example.com/customer-by-number/$n) or the path of a desktop application installed on the local computer (C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)&lt;br /&gt;
* Optionally specify command line parameters for Desktop Apps into the field “Parameters”.&lt;br /&gt;
* Save the changes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_Konfigurationen1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The Path and the Parameters may contain placeholders that are replaced by phone call information.&lt;br /&gt;
&lt;br /&gt;
    $n - phone number of the caller&lt;br /&gt;
    $u - uri of the caller&lt;br /&gt;
    $d - display name of the caller&lt;br /&gt;
    $c - conference ID (a global ID for the call) &lt;br /&gt;
&lt;br /&gt;
Now you will get the &amp;quot;start external application&amp;quot; button in every conversation or interaction field. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eigener Screenshot_mit Buttonhinweis_EN.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{3rd Party Input}}&lt;br /&gt;
&lt;br /&gt;
===Outlook Journal===&lt;br /&gt;
Tested with: myPBX V11 / Outlook 2010&lt;br /&gt;
&lt;br /&gt;
    Path: ...\Microsoft Office\Office14\OUTLOOK.EXE&lt;br /&gt;
    Parameters:  /c ipm.activity /m bla?subject=Telefongespräch%20mit%20$n&lt;br /&gt;
&lt;br /&gt;
===Firefox===&lt;br /&gt;
Tested with: myPBX V11 / Firefox V.38&lt;br /&gt;
&lt;br /&gt;
    Path: ...\Mozilla Firefox\firefox.exe&lt;br /&gt;
    Parameters e.G.:  http://xxxx/$n/xxxx&lt;br /&gt;
&lt;br /&gt;
===Notepad===&lt;br /&gt;
Tested with: myPBX V11 / Windows 7&lt;br /&gt;
&lt;br /&gt;
    Path: ...\Windows\notepad.exe&lt;br /&gt;
    Parameters e.G.:  C:\$d.txt&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40217</id>
		<title>Howto:Integrate External Apps in innovaphone UC clients</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40217"/>
		<updated>2016-01-28T06:10:31Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Outlook Journal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Howto]]&lt;br /&gt;
==Applies to==&lt;br /&gt;
 &lt;br /&gt;
myPBX External Application&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Version==&lt;br /&gt;
We tested with: &lt;br /&gt;
&lt;br /&gt;
innovaphone: 10.x&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
External applications can be integrated in myPBX. Both web applications and applications that are installed on the client PC can be configured. If this feature is activated, myPBX shows additional buttons at phone calls, in the history and in desktop notifications for incoming calls. Clicking that button opens the application with optional parameters from the call.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
 &lt;br /&gt;
* Right Click on myPBX – Configuration – External Application&lt;br /&gt;
* Enter the name of the external app (which will be seen as tooltip of the external app button). &lt;br /&gt;
* Paste the path of the external app into the field “Path”. It can be both the URL of a web application (http://crm.example.com/customer-by-number/$n) or the path of a desktop application installed on the local computer (C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)&lt;br /&gt;
* Optionally specify command line parameters for Desktop Apps into the field “Parameters”.&lt;br /&gt;
* Save the changes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_Konfigurationen1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The Path and the Parameters may contain placeholders that are replaced by phone call information.&lt;br /&gt;
&lt;br /&gt;
    $n - phone number of the caller&lt;br /&gt;
    $u - uri of the caller&lt;br /&gt;
    $d - display name of the caller&lt;br /&gt;
    $c - conference ID (a global ID for the call) &lt;br /&gt;
&lt;br /&gt;
Now you will get the &amp;quot;start external application&amp;quot; button in every conversation or interaction field. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eigener Screenshot_mit Buttonhinweis_EN.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{3rd Party Input}}&lt;br /&gt;
&lt;br /&gt;
===Outlook Journal===&lt;br /&gt;
Tested with: myPBX V11 / Outlook 2010&lt;br /&gt;
&lt;br /&gt;
    Path: ...\Microsoft Office\Office14\OUTLOOK.EXE&lt;br /&gt;
    Parameters:  /c ipm.activity /m bla?subject=Telefongespräch%20mit%20$n&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
	<entry>
		<id>https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40216</id>
		<title>Howto:Integrate External Apps in innovaphone UC clients</title>
		<link rel="alternate" type="text/html" href="https://wiki.innovaphone.com/index.php?title=Howto:Integrate_External_Apps_in_innovaphone_UC_clients&amp;diff=40216"/>
		<updated>2016-01-28T06:08:56Z</updated>

		<summary type="html">&lt;p&gt;Rotodt: /* Outlook Journal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Howto]]&lt;br /&gt;
==Applies to==&lt;br /&gt;
 &lt;br /&gt;
myPBX External Application&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Version==&lt;br /&gt;
We tested with: &lt;br /&gt;
&lt;br /&gt;
innovaphone: 10.x&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==More Information==&lt;br /&gt;
&lt;br /&gt;
External applications can be integrated in myPBX. Both web applications and applications that are installed on the client PC can be configured. If this feature is activated, myPBX shows additional buttons at phone calls, in the history and in desktop notifications for incoming calls. Clicking that button opens the application with optional parameters from the call.&lt;br /&gt;
&lt;br /&gt;
==Configuration==&lt;br /&gt;
 &lt;br /&gt;
* Right Click on myPBX – Configuration – External Application&lt;br /&gt;
* Enter the name of the external app (which will be seen as tooltip of the external app button). &lt;br /&gt;
* Paste the path of the external app into the field “Path”. It can be both the URL of a web application (http://crm.example.com/customer-by-number/$n) or the path of a desktop application installed on the local computer (C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)&lt;br /&gt;
* Optionally specify command line parameters for Desktop Apps into the field “Parameters”.&lt;br /&gt;
* Save the changes.&lt;br /&gt;
&lt;br /&gt;
[[Image:Mypbx_Konfigurationen1.jpg]]&lt;br /&gt;
&lt;br /&gt;
The Path and the Parameters may contain placeholders that are replaced by phone call information.&lt;br /&gt;
&lt;br /&gt;
    $n - phone number of the caller&lt;br /&gt;
    $u - uri of the caller&lt;br /&gt;
    $d - display name of the caller&lt;br /&gt;
    $c - conference ID (a global ID for the call) &lt;br /&gt;
&lt;br /&gt;
Now you will get the &amp;quot;start external application&amp;quot; button in every conversation or interaction field. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Eigener Screenshot_mit Buttonhinweis_EN.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
{{3rd Party Input}}&lt;br /&gt;
&lt;br /&gt;
===Outlook Journal===&lt;br /&gt;
Tested with: myPBX V11 / Outlook 2003&lt;br /&gt;
&lt;br /&gt;
    Path: ...\Microsoft Office\Office14\OUTLOOK.EXE&lt;br /&gt;
    Parameters:  /c ipm.activity /m bla?subject=Telefongespräch%20mit%20$n&lt;/div&gt;</summary>
		<author><name>Rotodt</name></author>
	</entry>
</feed>